Désactiver rapports sur equipement Zigbee

Bonjour,

Le contexte en rapide : J’essaie de voir pour debug un module Zigbee qui fait n’importe quoi et j’ai vu une analyse (coté HA) qui indiquait qu’en désactivant les rapports il n’avait plus de soucis.

Comment faire pour le désactiver, je n’ai jamais manipuler à cet endroit :

Note : il y a 2 endpoint et des rapports sont envoyés aux 2 pour des attributs différents.

Quelle est la technique svp ?

Zigbee Beta : 2021-12-04 01:03:30
Jeedom : 4.1.27

Merci,

Bison

  1. Les « rapports » ne sont pas envoyés aux end points mais l’inverse. Ce sont eux qui reportent vers le coordinateur et donc la box domotique.
  2. Dis nous quels sont les rapports automatiques qui te posent pb car invalider certains rapports va créer d’autres pbs surtout si tu coupes les infos fonctionnelles ou celles nécessaires à la gestion du réseau
  3. Au passage donne nous les caractéristiques de l’équipement incriminé (marque, modèle , json)

Merci Yves.

Je me suis trompé dans ce que j’ai écris mais oui bien sûr ce sont les modules qui envoient au contrôleur.

C’est une sonde ZigBee de température, hygrométrie et Luminosité compatible Tuya, Lidl, eedomus, Jeedom, HA, etc
Modèle : TYZB01_kvwjujy9.TS0222 (Moes)

{
    "ieee": "cc:86:ec:ff:fe:9a:57:9e",
    "nwk": 47383,
    "status": 2,
    "lqi": "120",
    "rssi": "-70",
    "last_seen": "1639073893.1299064",
    "node_descriptor": "02:40:80:02:10:52:52:00:00:2c:52:00:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 262,
            "profile_id": 260,
            "manufacturer": "_TYZB01_kvwjujy9",
            "model": "TS0222",
            "output_clusters": [
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                },
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 3
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 75
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 0
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 1
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "_TYZB01_kvwjujy9"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "TS0222"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": ""
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 3
                        }
                    ]
                },
                {
                    "id": 1,
                    "name": "Power Configuration",
                    "attributes": [
                        {
                            "id": 33,
                            "name": "battery_percentage_remaining",
                            "value": 200
                        }
                    ]
                },
                {
                    "id": 1024,
                    "name": "Illuminance Measurement",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "measured_value",
                            "value": 10793
                        }
                    ]
                }
            ]
        },
        {
            "id": 2,
            "status": 1,
            "device_type": 770,
            "profile_id": 260,
            "manufacturer": null,
            "model": null,
            "output_clusters": [],
            "input_clusters": [
                {
                    "id": 1026,
                    "name": "Temperature Measurement",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "measured_value",
                            "value": 1984
                        }
                    ]
                },
                {
                    "id": 1029,
                    "name": "Relative Humidity Measurement",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "measured_value",
                            "value": 4531
                        }
                    ]
                }
            ]
        }
    ],
    "signature": {
        "manufacturer": "_TYZB01_kvwjujy9",
        "model": "TS0222",
        "node_desc": {
            "logical_type": 2,
            "complex_descriptor_available": 0,
            "user_descriptor_available": 0,
            "reserved": 0,
            "aps_flags": 0,
            "frequency_band": 8,
            "mac_capability_flags": 128,
            "manufacturer_code": 4098,
            "maximum_buffer_size": 82,
            "maximum_incoming_transfer_size": 82,
            "server_mask": 11264,
            "maximum_outgoing_transfer_size": 82,
            "descriptor_capability_field": 0
        },
        "endpoints": {
            "1": {
                "profile_id": 260,
                "device_type": 262,
                "input_clusters": [
                    0,
                    1,
                    1024
                ],
                "output_clusters": [
                    25,
                    10
                ]
            },
            "2": {
                "profile_id": 260,
                "device_type": 770,
                "input_clusters": [
                    1026,
                    1029
                ],
                "output_clusters": []
            }
        }
    },
    "class": "zigpy.device"
}

Voir ce post pour les problèmes : MOES smart thermomether non fiable (ne pas acheter) - #7 par Bison

Donc en gros j’aimerais voir en désactivant l’envoi du rapport luminosité puis peut-être température et humidité si je vois qu’il ne se passe rien de mieux.

Tu peux si tu penses que ce sont les remontées automatiques de mesures qui posent pb régler tous les clusters inputs des deux end points à une valeur très élevée de reporting.
Il y a un attribut id 6 bizarre dans le cluster serveur id 0. Peut être est ce lui qui pose pb. Ce cluster n’est pas sensé faire de l’auto reporting mais répondre uniquement sur requête du réseau. Essaie aussi de le mettre soit sur une valeur très élevée soit sur changement.

Un truc comme ça ? C’est dans quelle unité le délais ? En secondes ? minutes ?

Le plug in Zigbee n’est pas ma tasse de thé. Mais il me semble que les unités proposées sont celles de la mesure effectuée par le cluster.
Je ne sais pas où régler le min et max time reporting avec ce plug in mais ce n’est probablement pas ici.
Ces réglages doivent juste permettre de déclencher des remontées de valeurs lorsque la mesure se situe entre un min et un max ou sur changement de la mesure.

Ah … zut bon ben je vais attendre que quelqu’un sache où ça se trouve alors et si c’est possible.

Merci j’ai déjà une piste, c’est pas où je pensais :grinning_face_with_smiling_eyes:

Je tente de relancer parce que l’appareil affiche des un icône de batterie… En même pas 24h

@Loic, désolé de te solliciter mais je pense que tu maîtrises suffisamment pour m’aider à desactiver les rapports d’un équipement Zigbee stp ?

Je ne comprends pas comment faire :confused:.

Bonjour,
Honnêtement je sais pas faire, j’en ai encore jamais eu besoin, je suis meme pas sur que zigpy ait la fonction pour faire ca…

La fonction est la zigpy/zigpy/zcl at 1d69fc4d5aa724ce652cf002364879a25d30677c · zigpy/zigpy · GitHubinit.py#L433 je ne vois pas de possibilité de le désactiver ni de fonction permettant de le faire. Peut etre qu’il faut envoyer des paramètres spécifique en min/max/change pour le désactiver mais je ne les connais pas

Voila la doc officiel zigbee :

A tester (tu peux le faire depuis l’interface de jeedom onglet action de mémoire dans la configuration du module)

1 « J'aime »

Ah merci bcp !

J’ai tenté 0xffff pour minimum maximum et j’ai tenté 0 ou 0xffff pour changement mais j’ai une erreur.

On ne peux pas laisser un champ vide et ne saisir que 0xffff dans maximum par exemple.

Erreur lors de la requete : http://127.0.0.1:8089/device/reportConfig(PUT), data : {"ieee":"cc:86:ec:ff:fe:9a:57:9e","attributes":[{"endpoint":1,"cluster":1024,"cluster_type":"in","attributes":[{"name":"measured_value","min_report_int":65535,"max_report_int":65535,"reportable_change":0}]}]} erreur : {"state":"error","result":"[0xb917:1:0x0400]: Message send failure","code":0}

Il faut que le min et le max soient différents et le min inférieur au max.
Essaie avec -1 dans le champ maxi uniquement

Le champ minimum indique que l’équipement ne doit pas reporter plus tôt que le délai prescrit.
Le champ maximum indique que l’équipement ne doit pas reporter plus tard que le délai prescrit

-1 uniquement dans maximum donne une erreur (chaque champ doit être rempli).

J’ai mis :
65534 dans minimum
65535 dans maximum
0 dans changement

C’est passé … A voir ce que ça donne.

Tu en penses quoi ? D’après la doc que Loïc a donné c’est pas vraiment ce qu’ils indiquent pour désactiver le report.

Moi j’aurais fait :
min : 65534
max : 0
changement : 0

Et moi pour bien sur mettre un peu plus de flou j’aurais fait
max = -1
min : vide
changement : vide

Entre le strois il doit bien y en avoir un qui va marcher :slight_smile:

Non ce n’est pas possible je disais

Ah oui j’avais la tête ailleurs.
Donc plutôt une valeur non nulle alors dans le min et 0 dans le changement

Avec -1 dans max (et d’autres valeurs) j’ai "-1 is an unsigned 16 bit integer.

Faut oublier le négatif.

Non ça ne marche pas ces valeurs.

Je tente avec ce que j’avais mis mais pour température et humidité aussi parce que ça n’a pas déconné au bout de 50 secondes après le changement de luminosité mais un peu plus tard donc je me dis que c’était peut être sur un autre report.

Edit : crotte ça n’accepte plus avec 65534, 65535, 0 c’est bien pourtant ce que j’avais mis :thinking:

Edit2 : ah j’ai trouvé pourquoi !
Il fallait appuyer sur le bouton du module pour le réveiller et qu’il choppe ce que le contrôleur était en train de lui pousser.

J’ai mis :
Minimum : 0
Maximum : 65535
Changement : 0

Pour le moment ça fait 5mn qu’il n’a pas déconné en faisant son refresh !

A suivre …

Bon c’est mieux mais ça merdouille toute les heures maintenant.

Je vais retenter avec 65535, 0, 0 > pas mieux

Avec 65534, 0, 0 > pas mieux

J’ai été regarder la batterie et l’heure où il y a eu le refresh qui balance les lux à 0 tombe lors du refresh batterie (sûrement chaque heure).


Une super idée ? :exploding_head:

Je vais tenter de l’exclure voir si le module se comporte de la même façon sans être lié au contrôleur Zigbee…