(modifié le 6 mai 2020 à 1:09)

Je vous propose de suivre le compteur d'abonnés twitter (followers) directement dans domoticz.

Domoticz va ainsi suivre vos followers en vous proposant un joli graphique d'historique comme pour une sonde classique (température ou autre). Le tout sans utiliser l'API twitter 1.1 car trop lourde pour si peu.

Création du capteur virtuel

Dans Réglages > Matériel ajouter un périphérique de type "dummy" (factice en anglais), sans délai d'attente des données.

Nommez-le "Bouton virtuel" et faire ajouter :

domoticz-chacon-bouton-virtuel-ajout

Puis créer un capteur virtuel :

domoticz-chacon-bouton-virtuel-creer

Entrer :

  • nom : "twitter" (ou votre pseudo twitter)
  • type de capteur : "custom sensor"
  • nom de l'axe : "followers"

Notez bien l'identifiant "idx" du compteur nous allons en avoir besoin pour la suite.

Personnaliser l'icone avec le logo twitter

Pour que ce soit plus sympa vous pouvez personnaliser l'icône avec celle du logo twitter.

Et voici le script (bash)

C'est un script en bash qui va récupérer le nombre d'abonnés à intervalle régulier et l'injecter dans notre sonde domoticz correspondant au nombre d'abonnés (followers).

L'API twitter étant une vraie usine à gaz j'utilise celle de twimg, qui appartient maintenant à twitter et qui permet de lire le nombre d'abonnés en JSON depuis une simple URL sans token ni clé d'authentification.

Récupérez le script ▶️ sur mon github (raw).

Ce script sera exécuté par l'utilisateur pi (qui n'est pas root) à l'emplacement suivant :

/home/pi/scripts/twitter_xhark.sh

Rendre le script exécutable (chmod +x *.sh) puis testez-le pour vérifier le nombre de followers est bien injecté dans le capteur virtuel.

Ajout dans crontab

Pour exécuter ce script toutes les 6h nous ajoutons une entrée dans le crontab de l'utilisateur pi avec :

crontab -e

Choisir nano si le choix de l'éditeur est demandé.

Et ajouter :

# maj twitter followers xhark (toutes les 6h00)
0 */6 * * * /home/pi/scripts/twitter.sh >> /dev/null 2>&1

Vérifiez que le crontab met bien à jour dans domoticz en regardant la date de dernière mise à jour de notre fake capteur. Vous pouvez lancer le crontab toutes les minutes pour vos tests, il suffit alors de mettre 5 étoiles :

* * * * * /home/pi/scripts/twitter.sh >> /dev/null 2>&1

Si tout fonctionne pensez à bien redescendre la fréquence d'exécution à 6h, ou plus fréquemment si vous souhaitez avec un graphique plus fin.

Bonus

Vous trouverez dans le script une méthode alternative qui tient en une ligne :

Elle tape directement dans le code source, elle est donc susceptible de moins tenir sur la durée, mais comme twitter renvoie du json-ld dans le code source elle reste fiable sur interprétation des balises :

URL="https://twitter.com/${TWITTERNAME}"
ABO=$(curl -G -s -L --connect-timeout 5 $URL | grep -Po 'followers_count":\K[[:digit:]]*')

Pour l'utiliser commentez la méthode classique et dé-commentez celle-ci.

Conclusion

J'espère que ce tutoriel vous donnera des idées pour d'autres compteurs.

Je vous proposerai d'autres compteurs de réseaux sociaux à l'avenir : youtube, instagram et facebook.

note : merci au blog letmeknow chez qui j'ai trouvé la piste de l'API twimg

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter