Modifier le multiplicateur mesure d'intensité pour module disjoncteur Zigbee TOB9Z-M

Bonjour,
je suis totalement débutant avec HA, et je m’équipe progressivement en modules Zigbee.
J’ai récemment acquis un disjoncteur Zigbee sur AliExpress, qui a été reconnu sans aucun problème avec ZHA. En revanche, si les mesures de puissance, sommation d’énergie électrique et tension s’affichent dans les bonnes unités, l’affichage du courant est ×1000 (visiblement le module mesure en mA, mais l’interface ZHA l’affiche en A) :

Sauriez-vous comment palier ce souci ? Notamment, s’il faut créer un sensor manuellement, j’avoue humblement n’y connaître strictement rien :disappointed:

Ma configuration :


version core-2024.5.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.6.28-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 12.3
update_channel stable
supervisor_version supervisor-2024.05.1
agent_version 1.6.0
docker_version 25.0.5
disk_total 109.3 GB
disk_used 7.1 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.14.0), Tailscale (0.18.0), Mosquitto broker (6.4.0), Piper (1.5.0), Whisper (2.0.0), File editor (5.8.0)
Dashboards
dashboards 3
resources 2
views 5
mode storage
Recorder
oldest_recorder_run 11 mai 2024 à 19:19
current_recorder_run 12 mai 2024 à 00:03
estimated_db_size 220.14 MiB
database_engine sqlite
database_version 3.44.2
Spotify
api_endpoint_reachable ok

Bonjour

Tu dois pouvoir créer un capteur modèle dans paramètres/appareils et services/entrées

Avec un template de ce type :

{{ (state_attr('sensor.courant', 'courant') | float /1000 ) | round(1) }}

J’ai fait cela pour un capteur de température.
Exemple:

Merci pour ta réponse Pascal, mais quand je vais dans « Créer une entrée », je n’ai pas le choix « capteur de modèle » :man_shrugging:
Comme je disais, je ne maitrise pas vraiment HA… :sweat_smile:
Mais ne serait-ce pas possible avec « Gérer l’appareil Zigbee » depuis ZHA ?
Par exemple, en choisissant le cluster ElectricalMesurement, j’ai un attribut « ac_current_divisor (id: 0x0603) » mais je ne suis jamais parvenu à y coller une valeur en écriture…
EDIT : j’ai finalement trouvé comment réaliser ta proposition , mais cela ne change pas l’affichage dans ZHA, et c’est ce que j’aurais voulu

Bonjour,

C’est template ( ils ont pas traduit ) et après capteur de modèle:

1 « J'aime »

Tu dois utiliser un client mqtt pour aller écrire la bonne valeur avec par exemple mqtt explorer

C’est ZHA, il peu ecrire dans les clusters directement ou utiliser ZHA toolkits.

Je n’ai pas de matériel sous ZHA, donc je ne sais pas si c’est possible.

Dans ZHA je ne peux pas te dire, par contre, tu peux utiliser la valeur corrigée dans tes cartes.

Mais peut-être que quelqu’un du forum pourra t’apporter une solution qui correspond plus à ce que tu veus faire.

Que je suis nul :person_facepalming: effectivement pas de mqtt :neutral_face:

1 « J'aime »

Surement… le souci, c’est que je n’ai pas réussi à faire en sorte que la méthode de Pascal fonctionne chez moi (quand je vous dis que je suis n…l :sweat_smile:).
Alors, j’ai récupéré l’ID d’identité depuis ZHA pour mon disjoncteur : sensor.disjoncteur_piscine_courant
Ensuite, dans Paramètres>Appareils et services>Entrées je crée une entrée Template>Modéliser un capteur, mais c’est là que je dois ne pas bien comprendre :


Que mets-je dans Nom ? Ce que je veux ?
Dans Modèle d'état, j’écris :

{{ (state_attr('sensor.disjoncteur_piscine_courant', 'courant') | float /1000 ) | round(1) }}

Mais là, j’ai un gros doute, le second paramètre de state_attr doit-il avoir une syntaxe particulière ou je garde courant ?

Unité de mesure : je mets « A »
Classe d'appareil : « Courant »
Classe d'état : « Mesure »

Mais le capteur de modèle reste Indisponible :

Je bloque…

Merci de vos retours :+1:

ton entité sensor.disjoncteur_piscine_courant a sa valeur dans l’état et pas l’attribut.

le bon template est comme telle:

{{ (states('sensor.disjoncteur_piscine_courant') | float(0) /1000 ) | round(1) }}

Oui, ce que tu veux.

Oui. ( CF screenshot )

Merci beaucoup !
Effectivement, j’ai bien une lecture de valeur divisée par 1000 maintenant. Mais n’y a-t-il pas moyen de réécrire la valeur de cet état dans la variable, de façon à ce que ce soit répercuté dans l’affichage de ZHA ?
Si j’ai compris le principe, cette nouvelle entité créée agit comme une variable qui est actualisée en fonction du contenu de sensor.disjoncteur_piscine_courant ?
C’est d’autant plus étrange que toutes les autres mesures affichées sont correctes…


Ça m’arrache les yeux une telle intensité :joy: !

Tu peu coller des images directement dans ton message. Pas besoin d’utiliser un hébergeur externe.

oui, faudrais un quirk qui fix le problème. il y a eu des issues sur github, mais le matériel tuya change tellement qui doit falloir un nouveau quirk a jour.

Autre solution, passer sur Zigbee2MQTT :wink:

Merci WarC0zes pour tes infos.
Est-ce génant si les captures sont hébergées sur un serveur tiers ?

Lorsque tu dis « passer sur Zigbee2MQTT », cela n’entraînera pas de conflit avec ZHA (tous mes autres périphériques Zigbee sont gérés via ZHA) ?
Et comme je suis un véritable débutant, en quoi (et comment) le fait de passer a Z2MQTT me permettra-t-il de régler ce souci d’affichage ?
Merci d’avance pour ta réponse.

En soit non, mais ca oblige a ce connecter sur le site tiers pour voir l’image en grand. Tandis que si tu la mets directement sur le forum , c’est directe.

Si, faut tout réappairer si tu passe sur Z2M.

Ca l’avantage d’avoir beaucoup plus de matériel pris en charge. L’ajout de nouveau matériel est plus rapide. Mais je ne t’oblige en rien, ZHA j’ai commencer dessus et je suis vite passer a Z2M et ne regrette pas mon choix.

1 « J'aime »

Bonjour,
A part pour la beauté du geste, j’ai du mal à comprendre l’intérêt de vouloir corriger la valeur sur cet affichage.
Normalement, personne à part toi n’utilise cet écran, et j’imagine que lorsque tu utilises les valeurs pour les utilisateurs tu les mets sur un dashboard, don tu peux utiliser le nouveau sensor corrigé.
Sur l’affichage de l’appareil, tu peux je pense modifier le nom du sensor et son unité (du moins je peux le faire sur mes prises connectées sur ZHA), que tu peux passer en mA il me semble. Du coup, l’affichage sera correct.

2 « J'aime »

Bonsoir Gille,
Effectivement sur l’affichage je peux passer en mA… du coup 1 090 A deviennent … 1 090 000 mA, ce qui me choque tout autant :rofl:.
Je vais donc passer outre cette mesure erronée et si nécessaire je passerai par le « script » qui fait la correction. :man_shrugging: en espérant qu’une mise à jour permettra de corriger cela.