Module d'énergie _TZE200_rks0sgb7 sous ZHA

Bonjour les gens,

J’essaie de faire fonctionner le module _TZE200_rks0sgb7 sous ZHA avec un quirk custom.

Problème : le quirk n’est jamais appliqué.

J’avais déjà intégré l’appareil au home assistant par le passé, et même en le supprimant, il reprend le même nom à chaque fois. Est-ce que le problème pourrait venir de là ?

Je précise qu’il n’y a plus aucune entité quand je le supprime.

J’ai ajouté ça ces 3 dernières lignes à la configuration dans la partie zha :

zha:
  zigpy_config:
    ota:
      otau_directory: /config/zigpy_ota
      ikea_provider: true                        # Auto update Trådfri devices
      ledvance_provider: true                    # Auto update LEDVANCE/OSRAM devices
      salus_provider: true                       # Auto update SALUS/Computime devices
      inovelli_provider: true                    # Auto update INOVELLI devices
      thirdreality_provider: true                # Auto update 3REALITY devices
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks
  database_path: /config/zigbee.db

Et dans mon répertoire custom_zha_quirks j’ai deux fichiers:

_init_.py (vide)
ts0601_clamp.py (mon quirk)

Et le modèle correspond normalement :

signature = {
    MODELS_INFO: [("_TZE200_rks0sgb7", "TS0601")],
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: 0x0051,  # Smart plug générique
            INPUT_CLUSTERS: [0x0000, 0x0004, 0x0005, 0xEF00],
            OUTPUT_CLUSTERS: [0x000A, 0x0019],
        },
    },
}

Je suis perdu :frowning:

Edit : je précise bien sous ZHA, je ne veux pas installer Z2M.

Edit2: dans le fichier homeassistant.log, si je cherche “/config/custom_zha_quirks” je ne trouve rien. Est-ce que ça veut dire que malgré ma configuration ça ne se charge pas ?
J’ai ça par contre : 2025-08-19 09:46:25.513 WARNING (SyncWorker_5) [zhaquirks] Loaded custom quirks. Please contribute them to GitHub - zigpy/zha-device-handlers: ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.

Bonjour,
tu as juste besoin du fichier du quirk xxxx.py , pas besoin de mettre un int.py.
Ensuite ton quirk ne contient que ce que tu a mis dans ton sujet ?
car il manque des choses alors.

Ok, mais sous Z2M, tu n’aurais pas de bidouillage à faire, il est supporté. Quand tu vois le temps qu’il faut pour ajouter des nouveaux appareils sur ZHA, j’ai abandonné au bout de 8 mois d’utilisation a mes débuts sur HA. Depuis je suis sous Z2M et je n’est jamais eu de problème .

Oui mais passer sous Z2M ça veut dire TOUT migrer, refaire TOUTES mes automatisations.
J’y pense mais la giga flemme …
J’ai plus d’une centaine d’appareils (volets, télécommandes, capteurs, etc.).

Sinon j’ai réussi à appliquer le quirk via l’aide de chatgpt, il me manquait une donnée dans la signature :

from zigpy.profiles import zha
from zigpy.quirks import CustomDevice
from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.tuya import TuyaManufCluster


class TuyaClampMeterCluster(TuyaManufCluster):
    """Cluster manufacturer Tuya pour pince double canal."""

    def handle_message(self, hdr, args):
        dp = args[0]
        value = args[1]

        if dp == 1:
            self.endpoint.device.channel_1_current = value / 1000  # en A
        elif dp == 2:
            self.endpoint.device.channel_2_current = value / 1000
        elif dp == 3:
            self.endpoint.device.voltage = value / 10.0  # en V
        elif dp == 4:
            self.endpoint.device.channel_1_power = value  # en W
        elif dp == 5:
            self.endpoint.device.channel_2_power = value
        elif dp == 6:
            self.endpoint.device.channel_1_energy = value / 1000  # en kWh
        elif dp == 7:
            self.endpoint.device.channel_2_energy = value / 1000
        return super().handle_message(hdr, args)


class TuyaClampMeter(CustomDevice):
    """Quirk pour pince ampèremétrique Tuya TS0601 _TZE200_rks0sgb7."""

    signature = {
        MODELS_INFO: [("_TZE200_rks0sgb7", "TS0601")],
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: 0x0051,  # Smart plug générique
                INPUT_CLUSTERS: [0x0000, 0x0004, 0x0005, 0xEF00, 0xFF66],
                OUTPUT_CLUSTERS: [0x000A, 0x0019],
            },
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: 0x0051,
                INPUT_CLUSTERS: [
                    0x0000,
                    0x0004,
                    0x0005,
                    0xFF66,
                    TuyaClampMeterCluster,
                ],
                OUTPUT_CLUSTERS: [0x000A, 0x0019],
            },
        },
    }

Par contre comme ça je n’ai pas d’entité.

Si j’essaie d’ajouter des valeurs dans le quirk il ne s’applique pas.

ok, j’avais vu ce PR avec un quick v2

Si ton quirk est bien chargé, il te faut supprimer ton appareil et le réappairer pour que le quirk fonctionne bien et bien voir les entités.

Ca n’a pas l’air de fonctionner, ce quirk n’est pas pris en compte, même en créant les deux fichiers (init et l’autre).

Perso je suis passé à Z2M je ne regrette pas. As-tu besoin de la table de DP Tuya complète?

test ce quirk :

créer un fichier ts0601.py et colle le quirk.

tu utilises quelle méthode pour créer les dossiers et coller le fichier ?
si tu utilises file editor le dossier /config/ = /homeassistant/

Nope malheureusement pas de succès.

Dès que le quirk essaie de récupérer des valeurs il n’est pas pris en compte.

J’imagine qu’il n’y a pas de façon simple de migrer que de tout refaire ?

Non, il faut tout réappairer et au pire remettre les mêmes noms d’appareils pour eviter de refaire des automatisation.
Plus tu attends et rajoutes des équipements sur ZHA, plus ca va être long …
Surtout avec le matériel Tuya, qui change de manufacture tout les 4/6 mois pour le même appreil.

Ok merci mais je laisse tomber pour le moment ça me gonfle :sweat_smile: .

Si jamais je trouve une solution je posterai ici.

1 « J'aime »

Il y a un addon ou je ne sais quoi qui fait du rename pour cela. Il faut un peu chercher je peux regarder ce soir.

C”est à dire ? Ca change le modèle reconnu ?

Je n’ai peut être pas bien compris. Si tu veux passer de ZHA à Z2M sans t’énerver quelqu’un a fait un script de rename pour conserver les friednly names. Je ne le trouve plus comme ça je vais cherher. Mais sion il y a cet article qui fait la même chose avec des scripts:

il te manque un slash a la fin du chemin pour le quirk :

zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks/
  1. Activez le quirks dans le configuration.yaml
  2. Supprimez tous les appareils censés utiliser les nouvelles fonctionnalités
  3. Redémarrer Home Assistant
  4. Associez à nouveau les appareils

Aucune incidence avec le slash car le quirk s’applique bien dans sa version “basique”. Mais dès que j’ajoutais des paramètres pour avoir des entités ça ne fonctionnait plus. Pareil pour les quirks que tu m’avais fourni précédemment.
J’ai l’impression que ce modèle spécifique pose problème.
Cf. sur cette page ts0601_energy_meter quirk for Tuya power meter devices (v2 quirk) by jeverley · Pull Request #3824 · zigpy/zha-device-handlers · GitHub où le modèle que j’ai n’a pas de rond vert devant.

Edit : je viens de voir qu’il y a de nouveaux capteurs sur domadoo https://www.domadoo.fr/fr/suivi-energie/8165-bituo-technik-compteur-consommation-ou-production-energie-zigbee.html

Mais je ne trouve pas d’info sur une éventuelle compatibilité ZHA :(.

D’après les détails du produit, il le serait compatible avec ZHA.


Au pire, tu les appelles pour confirmer.
Encore un gros moins pour ZHA, tu n’as pas de liste de compatibilité officielle, contrairement à Z2M.

J’avais envoyé un mail mais pas de réponse pour savoir s’il était compatible ZHA.

Du coup j’ai commandé et reçu à l’instant.

Il n’est pas compatible ZHA.

Dieu que ça me gonfle le zigbee par moment :sweat_smile: .

Je vais tenter Z2M. Mais pour ça je vais prendre un deuxième dongle histoire de faire des tests dessus.

J’ai vu le SMLIGHT SLZB-06M qui est une version plus récente du SMLIGHT SLZB-06 mais avec apparemment le support Matter en plus ? Ce n’est pas écrit sur le site de domadoo mais c’est ce que je trouve sur Internet.

Quelqu’un sais s’il est bien ?

Bonjour,

La différence entre le SMLIGHT-06 et le SMLIGHT-06M n’est pas une histoire de date de création (plus récent ou non), c’est la puce qui est différente.

Si tu cherches un coordinateur capable de faire du zigbee2mqtt et du matter simultanément, il vaut mieux partir sur un modèle avec deux puces distinctes, SMLIGHT SLZB-MR1 par exemple

https://www.domadoo.fr/fr/produits-de-domotique/7773-smlight-slzb-mr1-adaptateur-usb-ethernet-poe-zigbee-thread-matter.html

1 « J'aime »

Ah oui ça me parait mieux ça, merci :slight_smile: