(modifié le 14 mai 2020 à 0:50)

Après le compteur Twitter et le compteur Youtube , je vous propose de créer un compteur d'abonnés Instagram (subscribers) dans une sonde virtuelle domoticz.

Bien-sûr cela fonctionne avec n'importe quel compte Instagram, qu'il s'agisse du votre ou non.

Création du capteur virtuel

Si vous avez déjà réalisé cette étape lors du tutoriel du compter Twitter passez au point suivant.

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 le nom "twitter" (ou votre pseudo twitter) et choisir le type "custom sensor".

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

Personnaliser l'icone avec le logo Instagram

Pour que ce soit plus sympa vous pouvez personnaliser l'icone avec celle du logo Instgram.

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 Instagram (followers).

Comme pour twitter nous lisons le nombre d'abonnés en JSON depuis une simple URL sans token ni clé d'authentification, le tout parsé avec JQ.

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

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

/home/pi/scripts/instagram.sh

Rendre le script exécutable : chmod +x *.sh puis exécutez-le pour vérifier le nombre d'abonnés est bien injecté dans le capteur virtuel.

Ajout dans crontab

Pour exécuter ce script toutes les 30 minutes 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 abonnes insta(toutes les 30min)
*/30 * * * * /home/pi/scripts/instagram.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.

Pour lancer le crontab toutes les minutes et ainsi faciliter vos tests il suffit de saisir mettre 5 "*" :

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

Si tout fonctionne pensez à bien repasser la fréquence d'exécution à un minimum de 30min pour éviter d'avoir trop d'appels inutiles.

Bonus : une version en PHP

Et voici une version PHP au cas où (source) :

<?php
$instaname = "xhark";
$url = "http://www.instagram.com/". $instaname ."/?__a=1";
$subscribers = file_get_contents($url);
$data = json_decode($subscribers, true);
$count = intval($data['graphql']['user']['edge_followed_by']['count']);
echo "Le compte ". $instaname. " a " . $count. "abonnés :)";
?>

Avec l'API

Conclusion

J'espère que l'ajout de ce compteur vous sera utile, que ce soit pour faire clignoter vos lampes Hue quand vous passerez le cap des 100 000 ou bien pour suivre la progression de chaines YouTube qui vous plaisent.

J'essaierai de vous proposer un compteur pour instagram et facebook si le temps me le permet.

Auteur : Mr Xhark

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