Prise avec mesure d'energie (série TZ3000) - Faire un reset

Je dispose d’une formidable prise commandée, qui fait la mesure de tension, de courant et d’énergie, achetée à vil prix chez Tonton Ali.

(Elle est belle ma prise, hein ? Dîtes qu’elle est belle !)

L’installation sous HA (ZHA) s’est déroulée sans accro, fonctionne nickel, c’est top !!

Seulement, cette prise, je la branche sur différents appareils pour voir ‹ comment ils consomment ›…

"Elle"¹ affiche le cumul d’énergie, et j’aimerais bien pouvoir le remettre a zéro…
(¹ en vrai, je commence à douter, c’est la prise qui fait le cumul ou HA…?)

J’ai trouvé un script, dans ce sujet « Prise TS011F ZIGBEE faire un reset KWh » sur HACF , j’ai un peu batailler pour arriver à le faire fonctionner², mais « ça pas marche » !!!

² j’ai eu un peu de soutien de @daf et @DomDom sur Discord

Voici le script l’automation en question :

alias: Reset KWh Prise
description: Réinitialise la consommation cumulée de la prise pilotée.
triggers: []
conditions: []
actions:
  - action: zha.issue_zigbee_cluster_command
    data:
      cluster_id: 0
      command: 0
      command_type: server
      ieee: 70:b3:d5:2b:60:0b:a2:c4
      endpoint_id: 1
      args: []
mode: single

(Il est beau mon code ? Hein qu’il est beau ? ||C’est le premier que je fais, forcément qu’il est beau !||)

Quand je l’execute, j’ai :

Erreur : Failed to issue cluster command with status: <Status.UNSUP_CLUSTER_COMMAND: 129>
Résultat :

params:
  domain: zha
  service: issue_zigbee_cluster_command
  service_data:
    cluster_id: 0
    command: 0
    command_type: server
    ieee: 70:b3:d5:2b:60:0b:a2:c4
    endpoint_id: 1
    args: []
  target: {}
running_script: false

Alors j’ai farfouillé dans le panneau ‹ gérer l’appareil ›, et si je me trompe pas dans ce que je crois que le script devrait faire si je me goure pas (même moi je ne comprend pas cette phrase) un truc dans le genre : envoyer une commande ‹ 0 › vers le endpoint 1 à l’adresse 0

ça correspondrait plus ou moins à ça

Bon, en partant sur cette base, je me suis dis que mon modèle était pas foutu pareil…

J’ai bien trouvé une piste…


Et justement, la cumul affiché de la prise est bien 14.13 KW.h !!

Sauf que là, si j’essaye de mettre ‹ 0 › en code de remplacement et de faire ‹ écrire ›, ben ça mârche pô non plus…

Z’auriez une piste à proposer ?

Salut tu as regardé ça :
How to Reset Device Energy Total in Z2M and ZHA - SmartHomeScene

1 « J'aime »

Le plus simple et le mieux est de crée un utility_meter et après tu peut faire un reset (manuel et/ou via une automatisation)
exemple de code dans une automatisation :

action:
  - service: utility_meter.calibrate
    data:
      value: "0"
    target:
      entity_id: sensor.lave_vaisselle_power_cycle

plus d’info et explication dans ce sujet : Gestion de lave-vaisselle dans Home assistant

Ôla !!
Et bien j’ai visiblement raté les notifications…

Donc la méthode pour « écrire » sur la prise ne fonctionne décidément pas, et oui, c’est plus ou moins celle que l’on retrouve partout.

Je reproduit parfaitement la même erreur en interrogeant le device, dans le endpoint 1 cluster 0, en poussant manuellement la valeur. (j’ai essayé d’envoyer 0 comme le script, puis 1, puis -1… idem)

Sinon, créer un utility meter, c’est un contournement pas idiot, mais ça reste un contournement :smiley:

Peut-être quand j’aurai fait la bascule avec MQTT/Z2M !

Edit : après avoir recoupé plusieures sources, il semble que la méthode de pousser le reset dans la prise focntionne pour les précédentes génréation et que tout ceux qui rencontrent des problèmes ont des version « TZ3000 »

En gros, je pense que je vais l’avoir dans l’os et que finallement l’Utility Meter soit à peu près la seule méthode qui puisse faire le job.
C’est plus lourd à gérer, mais bon, ça présente aussi des avantages de pouvoir collecter l’info soit de la prise ou quelle soit, soit de l’équipement si on désire changer la prise. (si par exemple elle venait à lacher, ou si on l’utilise temporairement pour un autre appareil)