Comme vous le savez maintenant, la box eedomus est capable de suivre la consommation mais aussi la production d'électricité, puisque le principe est le même, que vous utilisiez un module téléinfo ou des pinces ampéres métriques.
Pour ma part, j'utilise le module téléinfo sans fils de Cartelectronic que nous avions vu ici: son avantage est d'être sans fil, et de pouvoir suivre deux compteurs à la fois. Je suis donc mon compteur de consommation et mon compteur de production, de facon précise, puisqu'ils s'agit des infos du compteur lui même.
Seulement, jusqu'à maintenant, j'étais capable de voir la production instantanée de mes panneaux, et voir l'index du compteur:
Mais impossible de connaitre de facon simple la production cumulée de la journée. Pour cela il fallait que je fasse un calcul manuel, l'eedomus n'ayant pas la possibilité de faire des calculs entre valeurs.
C'était sans compter sur Mickael, de Planète Domotique, qui a réalisé une classe PHP, dont vous trouverez le détail sur son blog. Ceux qui s'y connaissent un peu en développement php pourront facilement l'utiliser. Pour les autres, Mickael a eu la bonne idée de mettre à disposition une API qui s'appelle très facilement.
Je vous propose ici un exemple concret pour suivre sa production photovoltaique.
I. Principe
Grâce au script de Mickael, nous allons pouvoir faire des opérations sur des valeurs de l'eedomus, chose impossible jusque là.
L'utilisation est très simple. On va appeler l'adresse http://eedomus.ts-box.fr/op.php
Ensuite, nous avons des arguments à passer à la suite de cette URL:
?api_user=API_USER&api_secret=API_SECRET&p1=ID1&p2=ID2&pr=ID_CIBLE&operator=OPERATION
L'API_USER et l'API_SECRET sont donnés par l'eedomus, pour pouvoir utiliser son API. Si vous ne les avais jamais demandés, il suffit d'aller dans Configuration, Mon Compte, et de cliquer sur “Envoyer”. Vous recevrez vos codes par email.
L'ID1 et l'ID2 sont les codes API des devices dont vous souhaitez utiliser la valeur. Chaque device a un code visible sur son paramétrage. Ici, par exemple je récupère le code API du device température de mon capteur 4-1:
Petite note: l'ID_2 peut être remplacé par l'argument p2_val, dans lequel nous indiquerons une valeur fixe si on ne veut pas faire une opération entre deux devices.
L'ID_CIBLE est le code API du device dans lequel on souhaite stocker le résultat de notre calcul. En général ce sera un device “Etat” que nous aurons créé manuellement.
Enfin, OPERATION est le type d'opération qu'on souhaite effectuer sur nos deux devices. Cette opération peut être egal, plus, moins, multi, ou div.
Un exemple:
http://eedomus.ts-box.fr/op.php?api_user=xxxxx&api_secret=xxxxxx&p1=100&p2=9469&pr=2520&operator=moins
Ici, nous faisons une soustraction entre le device 100 et le device 9469, et nous le stockons dans le device 2520.
Nous allons donc voir maintenant un exemple concret et relativement complet pour bien utiliser cette API.
II. Suivi de sa production photovoltaique
1. Devices nécessaires
Ici, j'utilise un module téléinfo relié en Usb à ma box eedomus. Depuis une récente mise à jour, il est possible de récupérer d'autres valeurs en complément de la production / conso instantanées. Celle qui nous intéresse tout particulièrement est l'index du compteur, configuré de cette facon:
Pour nos opérations, il va falloir récupèrer l'index chaque jour à minuit (ou lorsque la nuit est tombée, vu que cette valeur ne bougera plus dans le cas des panneaux solaires).
Cette valeur va être récupérée dans un Etat que nous appelerons “PV – Relevé Minuit”.
Ensuite, il faudra stocker la production du jour (différence entre l'index à minuit et l'index J-1) dans un autre Etat, que nous appellerons “PV – Production du jour”.
Cette production étant en watts, je la divise pour la mettre en Kw. Le résultat est stocké dans un autre Etat “PV – Production du Jour (Kw).
Pour avoir une idée du revenu généré, je multiplie cette production par le prix de revente, ici 0.57€, et je stocke cette valeur dans un autre Etat, “PV – Revenu du jour”.
Si nous récapitulons, il faut donc créer 4 Etats virtuels:
Enfin, c'est l'eedomus qui va appeler l'API. Cela va se faire via un autre device, cette fois un “HTTP – Actionneur”, qui est un device capable d'appeler une URL. Chez moi je l'ai appelé “Calcul”.
Il faut donc commencer par créer ces différents devices, en récupérant au passage le code API de chacun. Je vous conseille de noter le nom et le code API de chaque device dans un fichier excel, ce sera plus simple et cela vous évitera de devoir retourner dans chaque device plus tard.
2. Opérations
Sur notre device “HTTP – Actionneur”, nous allons maintenant créer différentes valeurs, qui sont les appels à l'URL destinés à faire les calculs.
Tout d'abord, un appel pour récupérer l'index de production à minuit. Il s'agit juste d'une recopie de la valeur d'un device dans un autre, donc nous utiliserons l'opération “egal”. P2 est à 0 car il n'est pas utile ici:
http://eedomus.ts-box.fr/op.php?api_user=USER&api_secret=SECRET&p1=8925&p2=0&pr=13082&operator=egal
Sur l'eedomus, cela se présente ainsi:
Ensuite, il faut faire une soustraction entre l'index relevé à minuit et l'actuel:
http://eedomus.ts-box.fr/op.php?api_user=USER&api_secret=SECRET&p1=8925&p2=13082&pr=13083&operator=moins
Cette valeur est divisée par 1000 pour la transformer en Kw. Dans ce cas je n'utilise pas p2, mais p2_val pour indiquer une valeur “en dur”:
http://eedomus.ts-box.fr/op.php?api_user=USER&api_secret=SECRET&p1=13083&p2_val=1000&pr=13132&operator=div
Enfin, je multiplie cette valeur par 0.57 pour obtenir mon revenu du jour en Euro. Là aussi je passe une valeur fixe avec p2_val:
http://eedomus.ts-box.fr/op.php?api_user=USER&api_secret=SECRET&p1=13132&p2_val=0.57&pr=13129&operator=multi
3. Programmation
Il n'y a plus qu'à automatiser ces opérations. Pour plus de facilité, j'ai créé une macro sur le device Calcul:
J'ai mis un espacement d'1 minute entre chaque appel à l'API, histoire de ne pas être embêté avec les temps de réponse.
Il n'y a plus qu'à faire une règle qui lance cette macro:
Comme c'est pour suivre ici la production photovoltaique, et que celle ci ne bouge plus une fois le soleil couché, je lance donc la macro chargée des calculs après le coucher du soleil, sans attendre minuit.
J'ai mis les différents devices intermédiaires dans une pièce “Calculs”, de facon à ne voir que les deux qui m'intéressent:
Ces valeurs, en plus d'être consultables rapidement, permettent également d'avoir une représentation graphique sur le temps, puisque les devices “virtuels” bénéficient des mêmes fonctions que les autres:
On peut également récupérer ces valeurs pour d'autres évènements. Par exemple avec l'application eedomus installée sur mon Karotz, mon lapin me dit chaque jour combien j'ai produit dans la journée, en récupérant simplement la valeur calculée sur l'eedomus:
Ainsi je suis toujours au courant de ma production :p
III. Conclusion
Il s'agit ici d'un exemple assez simple, pour vous donner une idée de ce qu'il est possible de faire avec l'API de Planète Domotique.
On pourrait aller plus loin en faisant un bilan complet, par semaine, par mois, etc… dans des devices qui seraient mis à jour à des périodes différentes.
J'ai appliqué le même principe pour ma consommation, en doublant le nombre de devices, puisqu'il faut suive indépendamment les heures creuses et les heures pleines. A la fin, je fais une addition des deux pour avoir ma consommation totale de la journée, en Kw et en Euros:
Voilà. Ca peut sembler peu de choses au départ, ces quatre opérateurs. Mais ils permettent réellement d'étendre les capacités de la box. Un grand MERCI donc à Mickael !
Un autre exemple d'utilisation a été expliqué ici par David pour suivre sa consommation d'eau.
Pour ma part, je vais en profiter pour remettre en place le suivi des chasses d'eau, sur le même principe que je vous avais déjà expliqué :p
Et vous, quelle utilisation allez vous en faire ?
Bonjour,
pour profiter de ce fonctionnement il faut absolument être abonné premium chez eedomus, est-ce bien cela ?
Existe il une alternative sans abonnement mensuel avec une autre box ?
merci