tags : Linky Consommation Zlinky jeedom
ZLinkyTIC est un module Zigbee permettant de se connecter en temps réel à un compteur Linky pour récupérer les informations disponibles sur le bus télé-information du compteur.
Il récupère les informations « brutes » du compteur c’est à dire que rien n’est fourni nativement pour pouvoir analyser ces mesures. Mais comme souvent avec jeedom, tout est possible on va donc voir dans cet article comment interpréter ces infos.
Cet article à été basé sur le fonctionnement de ce module .
Si vous avez un autre système de récupération des informations de télé-information (un module USB filaire par exemple), la logique fonctionne aussi : une légère adaptation sera nécessaire.
La téléinformation c’est quoi ?
La téléinformation, c’est un bus et une norme permettant de faire communiquer un certain nombre d’appareils avec un compteur Enedis, principalement des analyseurs d’énergie.
Via le bus téléinformation des compteurs électroniques, il est possible de récupérer un grand nombre d’informations. Cependant il existe deux principaux modes de communication :
- Le mode historique : mis en place depuis les premières versions des compteurs électroniques (avant même les compteurs Linky) qui renvoi un certain nombre d’informations essentielles à l’analyse de la consommation.
- Le mode standard : c’est un nouveau mode de communication mis en place sur les compteurs Linky qui permettent d’envoyer un plus grand nombre d’informations. Cependant pour rester compatible avec les équipements existants, les Linky sont le plus souvent paramétrés avec le mode historique et peuvent être passés sur le mode standard sur demande.
Quel que soit le mode de actuel de votre compteur, la récupération des index et de la puissance apparente étant desfonctionnalités de base elle sont bien entendu présentes quel que soit le mode.
Il n’y a donc que pour une utilisation avancée que le mode de communication peut avoir une importance.
Le site Domotique Store propose sur sa section tutotiels une documentation très complète sur le module ZLINKY TIC. Y figurent aussi l’ensemble des commandes possibles si vous voulez aller plus loin 😃
Suivre sa consommation avec Jeedom
La puissance apparente
La puissance apparente, c’est la puissance telle que la mesure votre compteur mesurée en VA (VoltAmpère).
On ne va pas faire un cours d’électrotechnique ici, donc pour simplifier on va dire que les VA c’est assez proche des Watts, surtout en milieu domestique.
On va partir ici sur le principe que le module ZLinkyTIC est déjà inclus sur votre réseau Zigbee : il n’y a rien de spécifique dans cette inclusion qui s’effectue comme n’importe quel module Zigbee classique.
Dans Jeedom, on la retrouve sous la commande « Puissance apparente » qui utilise l’id Zigbee « 1::2820::1295 »
Restitution en temps réel
On peut commencer par paramétrer Jeedom pour afficher cette valeur dans les résumés.
Les résumés permettent de mettre en avant dans jeedom un certain nombre d’indicateurs :
- Soit pièce par pièce
- Soit au global dans la maison (nombre de fenêtres ouvertes, nombre de lumières allumées …)
Je vais donc ajouter la puissance apparente pour qu’elle apparaisse sur le résumé global.
Pour cela, il faut aller sur le menu Outils > Objets et sélectionner son objet « parent » qui chez moi s’appelle Maison (original n’est ce pas ? 😅)
On se rend sur l’onglet Résumé pour le paramétrer
- Dans Commande des résumés dans l’onglet qui nous intéresse, soit ici Puissance on ajoute la commande de la puissance apparente remontée par le Linky
- Dans Configuration des résumés on va cocher pour le résumé Puissance la case Remonter dans le résumé global
Une fois sauvegardé la puissance instantanée de votre compteur apparaitra en permanence sur votre jeedom en haut à droite quelque soit l’écran sur lequel vous vous trouvez comme ceci :
Historisation des valeurs
On vient de voir comment visualiser la donnée en temps réel .
Pour pouvoir suivre l’évolution de la consommation dans le temps via jeedom, on va activer l’historisation des valeurs.
Afin de régler finement le paramétrage, une fois retourné dans le paramétrage Zigbee et ouvert le module.
Cliquer sur l’icône permettant d’accéder au paramétrage avancé de la commande.
Dans le paramétrage de la commande, allez sur l’onglet Configuration puis sur la partie Historique
- Cocher la case Historiser. Nécessaire pour que jeedom enregistre dans sa base de données tous les changements d’état de cette commande avec son horodatage : cela va permettre de suivre l’évolution de notre consommation au fil du temps
- Mode de lissage : j’ai fait le choix de mettre aucun. Vous pouvez bien sur le paramétrer pour ne conserver que les moyennes si vous le souhaitez ce qui permettrait « d’alléger » la base de données de jeedom en conservant moins de mesures et donc en les regroupant sous forme de moyenne. Etant donné que je me sers de la puissance instantanée pour faire de l’analyse « fine » de ma conso, j’ai préféré conserver l’ensemble des valeurs et ne pas les lisser.
- Purge historique : c’est le délai au bout du quel Jeedom supprimera automatiquement les mesures de la base. Comme vu précédemment, vu que ça me sers à faire de l’analyse « fine » j’ai fait le choix de ne pas conserver ces mesures longtemps, elles sont donc effacées au bout d’un mois, j’aurais même pu mettre moins. Changer cette valeur si vous le préférez.
Et ne pas oublier de cliquer sur Sauvegarder sur cet écran.
Une fois les données historisées, et en attendant un peu que les historiques se remplissent, on va obtenir un affichage similaire à celui ci :
Ce graphique permet donc désormais simplement d’observer les pics de conso et de suivre sa consommation fine sur une journée. 👍
Analyse des index
Maintenant que l’on à vu comment visualiser sa consommation en temps réel et l’historique « fin » on va maintenant suivre les index de consommation.
Dans le cas d’un abonnement « classique », c’est à dire sans heures pleines / heures creuses, un seul index sera utilisé.
Si vous avez un abonnement spécifique, il y aura autant d’index que de périodes tarifaires.Concentrons-nous ici sur l’Index Base, c’est à dire celui qui cumule la somme des différents index.
Si on souhaite analyser de façon plus fine sa consommation par index, il suffira de renouveler les opérations décrites ci-dessous sur les différents index.
Dans Jeedom, on la retrouve sous la commande « Index Base » qui utilise l’id Zigbee « 1::1794::0 »
L’index, c’est ce qui est affiché « par défaut » sur un compteur : c’est le nombre de Wh (ou de kWh) qui ont été consommés depuis la mise en service du dit compteur.
Sur l’écran du compteur c’est affiché en kWh alors que la valeur récupérée via la téléinformation est en Wh, elle est donc plus précise.
Mais en l’état ce n’est pas tellement pratique pour suivre sa consommation.
On va donc se servir de cette donnée pour faire des calculs avec Jeedom.
Historisation des valeurs
Comme pour la puissance Instantanée, on va avoir besoin d’historiser les valeurs.
On va paramétrer l’historique sur la commande Index Base via le paramétrage avancé de la commande
Dans le paramétrage de la commande, il faut aller sur l’onglet Configuration puis sur la partie Historique
- Comme tout à l’heure, on commence par cocher la case Historiser, nécessaire pour que jeedom enregistre dans sa base de données tous les changements d’état de cette commande avec son horodatage.
- Mode de lissage : étant donné qu’on va récupérer des index de compteur, il ne faut pas moyenner ces informations donc il vaut mieux mettre aucun pour conserver les données brutes.
- Purge historique : c’est le délai au bout du quel Jeedom supprimera automatiquement les mesures de la base. Vu que nous allons créer un cumul de consommation, une fois les données d’une journée récupérées il sera inutile de conserver tous les index de compteur. Par sécurité, pour pouvoir revenir 2 ou 3 jours en arrière si besoin j’ai mis la purge à 7 jours mais en pratique une fois le cumul calculé on aura peu d’utilité à aller chercher des index anciens.
Et ne pas oublier de cliquer sur Sauvegarder sur cet écran.
Création d’un virtuel d’historique
Il est plus simple d’avoir une seule entrée d’historique , contenant le cumul de sa consommation journalière, plutôt que 120 mesures par jour.
L’actualisation des données se faisant par défaut toutes les 5 minutes.
On va créer un virtuel pour historiser une seule valeur qui cumulera la consommation totale de la journée.
On commence donc par créer un équipement virtuel. Pour ma part, et pour rester dans l’originalité, je l’ai nommé Conso Electrique et associé à l’objet Maison
On passe ensuite sur l’onglet commandes et on clique sur Ajouter une info virtuelle
- Nom de la commande : on saisit Conso veille
- Type : choisir numérique
- Afficher : on laisse coché
- Historiser : on laisse coché
- Unité : on saisit Wh (l’unité des index remontés par le plugin)
Et c’est tout (pour le moment) on ne remplit aucun des autres champs et on clique sur Sauvegarder
On à coché la case historique donc ce dernier est déjà activé. Mais une nouvelle fois on va aller paramétrer plus en détail l’historique via le paramétrage avancé de la commande.
- La case à cocher Historiser est déjà cochée car nous l’avons déjà fait à la création de la commande.
- Mode de lissage : on sélectionne Aucun. Vu que l’objectif est de n’avoir qu’un seul enregistrement par jour qui va récapituler la consommation de la journée, il est inutile de lisser les mesures.
- Purge historique : on sélectionne Jamais. Comme on ne va garder qu’une seule mesure par jour, l’historique sera relativement léger et j’ai donc fait le choix de le conserver sans limitation de durée.
Et ne pas oublier de cliquer sur Sauvegarder sur cet écran.
On à donc désormais une commande prête à recevoir notre calcul de consommation.
Création du scénario d’historisation
Pour pouvoir gérer l’historisation de la consommation quotidienne j’ai choisi de passer par un scénario. Il aurait été possible également de passer par les commandes natives de Jeedom et du plugin virtuel .
J’ai préféré cette méthode pour avoir des historiques tels que je les souhaite
On commence donc par créer un scénario, j’ai nommé le mien LinkyHistoIndex
Au niveau du déclencheur, il est de type programmé et relativement simple : un lancement tous les jours à 0h45 du matin.
On passe sur l’onglet Scénario et on va ajouter un bloc de type Code.
On ne panique pas sur le fait que ce soit du code, c’est relativement simple et chaque ligne est commentée 😉
$cmdIdCompteurIndex = 2199; // Id de la commande du compteur INDEX BASE (Equipement Zlinky) [a personnaliser]
$cmdIdCompteurHisto = 2228; // Id de la commande d'historisation de la conso journalière (Equipement Virtuel) [a personnaliser]
$debutJourVeille = date("Y-m-d 00:00:00", strtotime("Yesterday")); // Hier à 00h00
$finJourVeille = date("Y-m-d 23:59:59", strtotime("Yesterday")); // Hier à 23h59
$debutJourJ = date("Y-m-d 00:00:00", strtotime("Today")); // Ajourd'hui à 00h00
$finJourJ = date("Y-m-d 23:59:59", strtotime("Today")); // Aujourd'hui à 23h59
$indexJourVeille = history::getStatistique($cmdIdCompteurIndex, $debutJourVeille, $finJourVeille)["min"]; // On cherche l'index le plus bas dans l'historique sur J-1
$indexJourJ = history::getStatistique($cmdIdCompteurIndex, $debutJourJ, $finJourJ)["min"]; // On cherche l'index le plus bas dans l'historique sur J
$scenario->setLog("Index hier : ".$indexJourVeille); // On ajoute l'index de la veille aux logs du scénario
$scenario->setLog("Index aujourd'hui : ".$indexJourJ); // On ajoute l'index du jour aux logs du scénario
$delta = ($indexJourJ-$indexJourVeille); // Calcul du delta entre l'index de la veille au matin et celui de ce matin qui donnera la conso de la journée d'hier
$scenario->setLog("Delta : ".$delta); // On ajoute le detla entre les deux index aux logs du scénario
$histoconsojour = cmd::byId($cmdIdCompteurHisto);
$histoconsojour->addHistoryValue($delta,$finJourVeille); // Historisation du calcul du delta comme conso de la journée d'hier
Vous pouvez copier/coller ce code est l’insérer dans votre bloc.
Il faut impérativement personnaliser les deux premières lignes avec les ID des deux commandes :
- Celle de l’index sur l’équipement Zlinky et
- Celle de l’histo de conso sur le virtuel.
Pour les connaitre il faut aller sur les commandes et cliquer sur la roue crantée pour avoir le paramétrage avancé
L’id est affiché sur le premier onglet Informations il s’agit donc ici du 2199
Il faut donc modifier la première ligne pour mettre l’id correct et procéder de même avec le virtuel pour modifier la deuxième ligne.
Description détaillée du fonctionnement du scénario
Je vais chercher via les historiques (en utilisant history::getStatistique avec le paramètre min) l’index le plus bas sur la journée d’hier (dans notre exemple entre le 22/10/2022 00:00:00 et 22/10/2022 23:59:59) soit 8 515 149 Wh.
Je fais ensuite la même chose sur la journée en cours .(dans notre exemple entre le 23/10/2022 00:00:00 et 23/10/2022 23:59:59) soit 8 520 054 Wh.
En faisant la soustraction des deux, je vois que j’ai consommé hier 4 905 Wh.
Je vais donc prendre cette valeur et je vais demander à Jeedom de l’historiser dans mon virtuel (via la fonction addHistoryValue) à la date de la veille, précisément au 22/10/2022 23:59:59.
Résultat
On peut voir les logs d’exécution du scénario qui montrent que le calcul à bien été réalisé :
[2022-10-23 01:10:02][SCENARIO] -- Start : Scenario execute automatiquement sur programmation.
[2022-10-23 01:10:02][SCENARIO] - Exécution du sous-élément de type [action] : code
[2022-10-23 01:10:02][SCENARIO] Exécution d\'un bloc code
[2022-10-23 01:10:02][SCENARIO] Index hier : 8515149.00
[2022-10-23 01:10:02][SCENARIO] Index aujourd'hui : 8520054.00
[2022-10-23 01:10:02][SCENARIO] Delta : 4905
[2022-10-23 01:10:02][SCENARIO] Fin correcte du scénario<
Après le déclenchement du scénario, on à donc une commande sur notre virtuel qui va afficher le cumul de consommation de la veille.
Vu que cette commande est historisée, on va donc pouvoir simplement visualiser la consommation jour par jour.
(une fois que le scénario aura tourné plusieurs jours bien entendu).
Reporting
Création d’une vue
Dans Jeedom, les vues permettent d’afficher certains équipements ou graphiques de façon préconfigurée. On va donc en créer un dédié au suivi de la consommation électrique.
On crée donc la vue Conso électrique.
Commencer par ajouter une première zone de type Équipement que je vais nommer Linky
En cliquant sur Ajouter Équipement, on va insérer le module Zlinky.
On rajoute ensuite une seconde zone que l’on va nommer Conso journalière cette fois de type Graphique
On ajoute la courbe de notre visuel qu’on paramètre comme on le souhaite. De mon coté j’ai choisi l’échelle de temps Semaine un graphique de type Colonne avec l’échelle visible.
On va ensuite rajouter une troisième zone, toujours de type graphique qu’on va cette fois nommer Conso mensuelle.
On rajoute la même courbe qu’on va cette fois paramétrer différemment.
j’ai choisi l’échelle de temps Année avec un groupement Somme par mois
Le paramétrage de votre vue devrait donc ressembler au final à ceci :
On oublie pas de cliquer sur Sauvegarder et on peut maintenant admirer le rendu en cliquant sur Voir le résultat
Résultat
Et voilà on à désormais une vue synthétique qui nous permet de voir :
- Les informations « brutes » du Zlinky
- Le graphique d’évolution de la conso par jour sur la dernière semaine
- Le graphique d’évolution de la conso par mois sur la dernière année
C’est bien sur une base que vous pouvez ensuite adapter ou compléter comme vous le voulez 😀
Aurelien
Voir aussi
https://youdom.net/suivre-sa-consommation-de-gaz-avec-jeedom-et-le-lixee-zipulse-pour-votre-domotique-jeedom/