Site icon Le blog des objets connectés

Intégration de Flukso dans Jeedom via MQTT

Les produits Flukso

Il y a déjà quelques années de cela, bien avant l”explosion de l’IOT (Internet Of Things), je m’étais équipé d’un fluksometer. Mon but était d’avoir un suivi de la production de mes panneaux photovoltaïques (à une époque où les onduleurs n’étaient pas encore connectés au web) et, au passage, de la consommation de ma climatisation. Je voulais aussi un système simple qui ne nécessitait pas d’intervenir sur l’installation électrique et le système de pinces ampèremétriques de Flukso le permettait. En outre, Flukso offrait la possibilité de suivre aussi sa consommation de gaz et d’eau, deux modules que je n’ai toutefois pas installé (n’ayant pas le gaz et le compteur d’eau n’étant pas compatible car il faut un compteur à impulsions).

Le coeur de Flukso, toujours en vente d’ailleurs, est ce petit routeur intelligent qu’on connecte au réseau local et qui mesure et envoie les données de consommation/production vers les serveurs de Flukso.

Les données de production ou de consommation électrique sont récupérées par l’installation de pince ampèremétriques. Avec ces pinces, pas besoin de couper la ligne électrique pour y installer quoique ce soit. Il suffit de placer la pince autour du fil électrique et de raccorder l’autre extrémité au routeur Flukso.

Après quelques réglages et configurations (qui ne sont pas l’objet de cet article mais qui sont assez bien détaillés dans le manuel d’installation), les appareils Flukso prennent des mesures toutes les 5 minutes et envoient les informations vers les serveurs Flukso. On peut alors s’y connecter au travers du site web et visualiser ses données sous forme graphique. Ici, par exemple, on voit les productions de mes deux séries de panneaux photovoltaïques (en bleu et en vert) et la consommation de ma climatisation (en rouge).

J’en étais donc resté là, depuis des années, consultant de temps à autre les graphiques. Mais il me manquait deux choses essentielles :

MQTT (Message Queuing Telemetry Transport)

Discutant avec un ami, il m’expliquait qu’il a connecté son Flukso avec son OpenHad via MQTT. C’était la bonne nouvelle : Flukso implémentait donc un protocole de communication, à savoir ici le MQTT = “Message Queuing Telemetry Transport”. Et je pourrais logiquement récupérer les données dans Jeedom.

Le site web de Flukso, de façon un peu cachée, confirmait d’ailleurs l’implémentation du protocole MQTT:

With the built-in MQTT broker the FLM provides an easy to use and easy to adapt capability to publish own sensor data beyond the FLM built in energy measurement.

MQTT est un protocole de communication sur IP, basé sur une architecture client/serveur et un mécanisme de souscription/publication. Il est léger, ouvert, simple, caractéristiques qui ont favorisées sa démocratisation dans la communication Machine to Machine (M2M) et l’internet des objets (IoT – Internet of Things).

Côté Jeedom, il suffisait de trouver un plugin, ce qui fût vite fait avec plugin, gratuit de surcroît : JMQTT 

L’installation de jMQTT sous Jeedom

L’installation du plugin jMQTTT sous Jeedom est la procédure classique d’installation des plugins, ce dernier étant sur le market officiel.

Paramétrer jMQTT dans Jeedom

Récupérer ses devices/capteurs Flukso

Une fois le broker configuré et opérationnel, il faut encore récupérer les capteurs et les mesures. Le plus facile est de le faire via la détection automatique appelée “Inclusion”

Dans le dashboard, on voit maintenant la production instantanée (W) et le chiffre de la production cumulée (en Wh) pour mes deux pinces ampèremétriques connectées à mes deux séries de panneaux. On voit aussi la consommation instantanée de la climatisation.

On notera que la production cumulée n’apparait pas pour la climatisation. La raison est simple : j’ai oublié de mettre le type “Numérique” à la commande correspondante. Cette modification faites, les données sont apparues dans le Dashboard.

Aller plus loin avec un virtuel, des variables et un scénario

Comme on le voit sur l’écran ci-dessus, la valeur de la consommation/production cumulée en Wh est peu parlante. Un compteur qui a démarré à zéro il y a des années et qui n’a fait que s’incrémenter dans le temps, cela donne un long chiffre peu lisible. Cela serait nettement plus sympa d’avoir la consommation/production par jour. Et, tant qu’à faire, pourquoi ne pas mettre une couche d’abstraction supplémentaire par l’usage d’un virtuel. Car, au cas où je changerais d’appareil de mesure (j’aime bien Flukso mais sait-on jamais), je ne perdrais comme cela pas mon historique.

Un objet virtuel est un objet que l’on construit. Ici, l’idée est de définir un objet qui calculera la production par jour de mes deux séries de panneaux photovoltaïques (la production séparée de chacune des séries de panneaux m’importe peu) et un second qui calculera la consommation par jour de ma climatisation.

Pour ce faire, trois étapes sont nécessaires dans Jeedom :

  1. créer des variables pour pouvoir stocker la production/consommation par jour
  2. créer un scénario pour remplir les variable créées ci-dessus en faisant un simple calcul :  production à minuit et une minute – la production un jour avant. Ce scénario sera lancé à minuit et une minute, une fois par jour.
  3. créer un virtuel qui contiendra la valeur des variables et les historisera.

Créer les variables

Créer le scénario

MaxBetween(#[Cave Garage][capteurs][Panneau 1 – Production Wh]#,yesterday 00:01, now) – MinBetween(#[Cave Garage][capteurs][Panneau 1 – Production Wh]#,yesterday 00:01, now)

Vous pouvez tester le calcul dans Outil / Testeur expression. Le résultat apparait 

Créer le virtuel

Variable(ProductionJournalierePanneau1)+Variable(ProductionJournalierePanneau2)

Ce que cela donne dans le Dashboard

Dans le Dashboard Jeedom, le virtuel est visible sous l’objet parent défini et affiche maintenant la production de la veille.

Quand on clique sur le virtuel, on a obtient un beau graphique avec la production totale des panneaux photovoltaïques, jour par jour.

Conclusion

Avec Flukso, on a une façon pas trop coûteuse et simple (pas besoin d’intervenir sur les circuits électriques) de mesurer finement ses consommations/productions électriques. Grâce au protocole MQTT et au plugin jMQTT, l’intégration dans Jeedom se fait aisément…et le nombre de possibilités offertes devient presque infinie. Je recommande ce matériel d’excellent qualité et qui tourne chez moi depuis des années sans le moindre soucis.

 

Quitter la version mobile