Remise à zéro de compteurs d’énergie cumulée
Bonjour à tous, nouveau tutoriel en relation avec une question qui revient très régulièrement sur le forum jeedom.
Je vais traiter aujourd’hui la remise à zéro de compteurs d’énergie cumulée. Cette valeur ce retrouve sur la majorité des prises commandées et un bon nombre de micro-modules.
Classe de Commande Meter
Pour rester fidèle à mes habitudes, je vais en premier lieu vous parler de la classe de commande qui sera utilisée.
La classe de commande de compteur (Meter) définit les commandes nécessaires pour lire de façon automatique les valeurs accumulées dans les unités physiques comme un compteur d’eau ou d’appareils de mesure du gaz ou de l’électricité.
Mesures à disposition
- Mesure de l’énergie cumulée, un compteur est utilisé pour surveiller une ressource. Le compteur accumule le flux de cette ressource au fil du temps. C’est ce qu’on appelle la consommation.
- Mesure précédente, remonte la lecture précédente et le temps qui s’est écoulé depuis le dernier rapport de mesure. Cette mesure existe seulement si votre compteur implémente la version 2 de la classe de commande Meter.
- Mesure instantanée, un compteur peut également être en mesure de signaler le flux de ressources actuelles. Exemple, la valeur instantanée de la puissance.
Tableau des différentes mesures de la classe de commande compteur avec disponibilité selon leur version de l’implémentation de la classe de commande.
Type de mesure | Unité de mesure | CC Version |
Compteur électrique | kWh | 1 |
kVAh | 2 | |
W | 2 | |
Pulse count | 2 | |
V | 3 | |
A | 3 | |
Power Factor | 3 | |
Compteur de gaz | Cubic meters | 1 |
Cubic feet | 2 | |
Pulse count | 2 | |
Compteur d’eau | Cubic meters | 1 |
Cubic feet | 1 | |
US gallons | 1 | |
Pulse count | 2 | |
Chauffage | kWh | 5 |
Climatisation | kWh | 5 |
Les compteurs permettent de mesurer autant la production que la consommation d’énergie.
Un compteur peut aussi être utilisé pour mesurer les deux ensembles : la production et la consommation d’énergie. C’est un cas de figure intéressant lorsque vous équipez une maison de panneaux solaires.
La valeur accumulée sur un intervalle arbitraire peut être calculée en soustrayant une valeur accumulée précédente de la valeur cumulée actuelle. En sauvegardant par exemple dans une variable en début de journée, en début de semaine, en début de mois et année il vous est facilement possible d’avoir des rapports de consommation sur une période de votre choix. Un équipement virtuel vous permettra de faire ce delta.
La valeur de la mesure d’énergie cumulée démarre à 0 lors de la mise en service de l’équipement et augmente au fil du temps comme c’est une valeur cumulée. On peut choisir à tout moment d’effectuer une remise à zéro du cumule d’énergie. On arrive donc enfin au but de ce tutoriel.
Remise à zéro du compteur
Pour pouvoir effectuer une remise à zéro d’un cumul d’énergie mesurée, votre compteur doit implémenter la version 2 de la classe de commande Meter. Cette information est en général disponible dans les fiches techniques de votre module. Si elle est implémentée elle sera aussi visible dans l’onglet Systèmes de votre module.
La commande de remise à zéro (Reset) du compteur est utilisée pour réinitialiser toutes les valeurs accumulées, stockées pour une instance spécifique de votre compteur.
On lance la remise à zéro en sélectionnant « Presser ».
Certains équipements ont plusieurs instances de classe de commande compteur, comme par exemple les HEM (Home Energy Meter) en version triphasées on aura 4 instances. Soit une par phase et un total de 3 phases.
Automatiser la remise à zéro d’un compteur
La domotique est à votre service et non l’inverse. Si vous souhaitez effectuer à fréquence régulière une remise à zéro de vos compteurs d’énergie, il vous faudra ajouter une nouvelle commande action.
Cette commande sera calquée sur les informations que l’on retrouve dans l’onglet système.
Depuis l’écran de l’équipement, aller dans onglet de commandes, aussi appelé commands mapping.
- Ajouter une commande, elle sera de type Action.
- Nommer la, « RAZ Consommation» pour remise à zéro de la consommation.
- La classe de la commande correspond au n° de la Classe de commande Meter soit 50.
- L’instance correspond au numéro d’instance de votre compteur. Sur un WallPlug on a une seule instance le numéro est 1.
- L’index sera 0.
- Et pour finir la partie plus difficile, la commande : type=buttonaction&action=press
La commande donne:
En général ce genre de commande ne sera pas visible sur le dashboard, elle sera lancée via un scénario ou autre automatisme au sein de jeedom.
Une fois sauvegardée si vous lancez la commande via le test de commande, le plugin Z-Wave effectue la commande pour réaliser une remise à zéro de votre compteur.
Via l’écran de configuration du module, onglet Valeurs, on peut constater que…
Mais non j’ai encore la même mesure !
Pour certains modules, il faut attendre un nouveau rapport de mesure avant que la valeur retournée par le compteur soit actualisée.
Nous allons donc remédier à ce problème.
Rapport de mesure
Les compteurs conservent en mémoire les valeurs cumulées. Il n’est en général pas prioritaire d’avoir rapidement ces rapports, un rapport au 15 minutes est en général plus que suffisant.
La fréquence d’envoi de rapport est propre à chaque module.
- Configurable, la majorité des modules ont un jeu de paramètres afin de définir une fréquence d’envoi ou un seuil d’envoi entre deux mesures.
- Fixée par le fabricant, dans de rare cas, le constructeur a déterminé cette fréquence d’envoi de rapport.
- A la demande, pour finir certains modules n’envoient jamais d’eux-mêmes ces rapports d’énergie. Il faut leur demander via une actualisation manuelle. Le plugin Z-Wave vous permet justement de faire des demandes d’actualisation de valeurs aux 5 minutes.
Pour connaître la fréquence d’envoi de rapport du compteur, consulter la documentation de votre module.
Forcer un rapport de mesure
Comme nous l’avons vu, suite à une remise à zéro d’un compteur, un nouveau rapport n’est pas nécessairement envoyé par le compteur.
Si on ne force pas l’actualisation, vous devrez attendre le prochain rapport prévu par le module. Le rapport sera même de 0 plus la nouvelle valeur d’énergie cumulée.
Il nous faudra donc demander un rapport forcé. Le bouton « Forcer l’actualisation » dans l’onglet Valeurs permet de demander d’envoyer toutes les valeurs d’une instance d’une commande classe.
Suite à cette demande la date et l’heure de la dernière mise à jour sera modifiée ainsi que les valeurs relatives. De cette façon on reçoit dans jeedom immédiatement rapport du cumul d’énergie avec 0.
Notre but est d’automatiser et non de faire à la main.
Pour forcer l’actualisation d’un rapport d’un compteur d’énergie il vous faudra ajouter une autre commande Action dans votre mapping de commande afin de demander cette actualisation.
Comment faire :
- Ajouter une nouvelle commande, elle sera encore de type Action.
- Nommer la, « Refresh Consommation».
- La classe de la commande correspond encore au n° de la Classe de commande Meter soit 50.
- L’instance correspond au numéro de l’instance de votre compteur, ici le 1.
- L’index sera 0. Ici on a possiblement plusieurs valeurs rattachées à notre classe de commande. L’index 0 correspond à l’énergie cumulée.
Pour connaître les valeurs de la Classe, Instance et de l’Index il faut toujours se référer à l’onglet Valeurs.
- Pour finir la commande : type=refreshData
Ici aussi j’ai préféré ne pas afficher cette commande, comme elle ne sera utile que via un scénario.
Utilisation
Via un scénario, déclenché une fois par mois le premier à minuit, nous allons lancer la remise à zéro ainsi que l’actualisation de notre compteur.
On ajoute un scénario, je le nomme « Monthly Meter Reset »
Il sera de type programmé, à l’aide de l’assistant cron sélectionner une récurrence chaque mois, le premier à minuit :
Donner une description pour plus de clarté.
Ajouter un bloc Action, pour lequel on a créé 2 actions.
- En premier le lancement de la commande action de la remise à zéro du compteur.
Puis la commande de mise à jour forcée d’un rapport de consommation.
Pas besoin d’ajouter de délai entre les 2 commandes, elles seront exécutées successivement par le contrôleur.
Autres applications
La commande d’actualisation de la demande peut être adaptée pour toutes les autres classes de commandes ou de valeurs.
Par exemple si vous souhaitez demander une mise à jour de la valeur mesurée de puissance instantanée, on ajoute une nouvelle commande action pratiquement identique à la précédente, mais cette fois l’Index de la valeur est 8 au lieu de 0.
S’il s’agit d’une valeur d’une autre classe de commande il faudra aussi adapter le numéro de la classe de commande.
Pour un module avec plusieurs instances, il faut penser à choisir la bonne instance.
Il est aussi possible de lancer une commande action sur un module sur pile, mais celle-ci sera exécutée seulement au prochain réveil du module.
Si l’on souhaite actualiser une fois par mois le niveau de la pile de modules qui ne sont pas très bavards.
Vous l’avez compris on fera une commande d’actualisation de la CC 128, instance 1 index 0.
En résumé l’onglet Valeurs est votre ami, c’est toujours d’un 1 pour 1 avec ce qui est affiché, pour la Classe de commande, l’instance et l’index.
Conclusion
Comme je souhaite cibler le tutoriel sur la remise à zéro d’un compteur je ne vais pas aller plus loin avec d’autres extensions de ces commandes action sur d’autres utilisations. Ça pourra venir dans des futurs articles si vous en exprimez la demande.
Alors j’attends vos commentaires, et à tout bientôt.
Bonjour,
Merci pour cet article très intéressant et qui me permet de comprendre certaines astuces, pour créer de nouvelles commandes supplémentaires.
Comme tu l’indique, j’ai fait l’essai en manuel.
« Presser » puis « Actualisation »
Sauf que la valeur ne repasse pas à 0.
Le module sur lequel j’ai fait l’essai est un Qubino ZMNHAD1 avec le firmware S5.
Aurais-je oublié quelques choses ?
Lorsque tu dis Actualisation, c’est bien sur la valeur Energy de l’onglet valeur ? si oui c’est bien ce qu’il faut faire. Par contre, j’ai déjà entendue parlé de WallPlug pour le quel le Reset du compteur n’a donné aucun résultat. Je ne sais pas si c’est le cas pour ton module. Jusqu’a maintenant sur tout les modules que j’ai testé chez moi ça eux fonctionné. Lorsque tu fais Actualisation, tu as au minimum la date qui est actualisé? faut voir si lorsque le module va envoyer un prochaine rapport de lui si le reset c’est fait. Tiens moi au courant
Bonjour,
Je confirme que qu’il s’agit bien de la valeur Energy de l’onglet valeur et la date et l’heure sont bien celle de quand je clique sur actualiser, à voir à la prochaine actualisation.
Super ton tuto, c’est exactement ce que je voulais faire !
Merci.