plugin-ZIGBEE Beta

Merci de bien suivre les directives de loïc pour une intégration

1 « J'aime »

J’ai fais la mise à jour du plugin et relancé le demon avant de faire l’inclusion.

Le nom : RGBCCT LED Controller.

La photo :

Par contre, je n’ai pas de ref. J’ai acheté sur AliExpress.

Voici le json

{
    "ieee": "00:12:4b:00:21:3e:e8:38",
    "nwk": 31627,
    "status": 2,
    "lqi": "167",
    "rssi": "-73",
    "last_seen": "1604603307.0358849",
    "node_descriptor": "01:40:8e:00:00:50:a0:00:00:00:a0:00:00",
    "endpoints": [
        {
            "id": 11,
            "status": 1,
            "device_type": 528,
            "profile_id": 49246,
            "output_clusters": [],
            "input_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 1
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 1
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 2
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 1
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": "20131206"
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 1
                        },
                        {
                            "id": 16384,
                            "name": "sw_build_id",
                            "value": "3.0.0"
                        }
                    ]
                },
                {
                    "id": 3,
                    "name": "Identify",
                    "attributes": []
                },
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 5,
                    "name": "Scenes",
                    "attributes": []
                },
                {
                    "id": 6,
                    "name": "On\/Off",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "on_off",
                            "value": 0
                        }
                    ]
                },
                {
                    "id": 8,
                    "name": "Level control",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "current_level",
                            "value": 83
                        }
                    ]
                },
                {
                    "id": 768,
                    "name": "Color Control",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "current_hue",
                            "value": 38
                        }
                    ]
                }
            ]
        }
    ],
    "signature": {
        "manufacturer_name": "GLEDOPTO",
        "model": "GL-MC-001",
        "node_descriptor": {
            "byte1": 1,
            "byte2": 64,
            "mac_capability_flags": 142,
            "manufacturer_code": 0,
            "maximum_buffer_size": 80,
            "maximum_incoming_transfer_size": 160,
            "server_mask": 0,
            "maximum_outgoing_transfer_size": 160,
            "descriptor_capability_field": 0
        },
        "11": {
            "profileid": 49246,
            "deviceid": 528,
            "in_clusters": [
                0,
                3,
                4,
                5,
                6,
                8,
                768
            ],
            "out_clusters": []
        }
    },
    "class": "zhaquirks.gledopto.soposhgu10"
}

Merci de votre aide.

Parfait merci, J’en informe le dev pour que sa soir fait rapidement (Max 2 semaine)

Cdt
Thibaut

J’ai mis à jour mon post.

3 « J'aime »

Merci en effet zigbeed est réapparu

Bonsoir,

J’ai fait l’acquisition de plusieurs vannes eurotronic spirit Zigbee et ayant échoué à intégrer les vannes achetées récemment via DECONZ (plugin deconz) - comme beaucoup d’internautes qui constatent le meme probleme, à priori, non lié à JEEDOM - j’ai installé le plugin ZIGBEE en beta
(cf Mes vannes Eurotronic spirit zigbee ne communiquent pas avec deconz - #25 par Loic)
Les vannes sont bien remontées (quelques déconnexions assez inexpliquées comme l’a signalé @Loic, mais globalement ca fait le job).
Il manque par contre la possibilité de changer le mode de la vanne (on, off). commande qui existe bien coté plugin DECONZ.

Est-il possible de rajouter ceci ?

Merci

Norbert

Tu peut nous montrer les infos brut après détection ?
oublie pas d’utiliser le </> !

Bonjour @olive,

Voilà, voilà,

{
    "ieee": "00:15:8d:00:05:3d:26:b5",
    "nwk": 62659,
    "status": 2,
    "lqi": "167",
    "rssi": "-73",
    "last_seen": "1604650037.6935885",
    "node_descriptor": "02:40:80:37:10:7f:64:00:00:2c:64:00:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 769,
            "profile_id": 260,
            "output_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": []
                },
                {
                    "id": 1,
                    "name": "Power Configuration",
                    "attributes": []
                },
                {
                    "id": 3,
                    "name": "Identify",
                    "attributes": []
                },
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 513,
                    "name": "ThermostatCluster",
                    "attributes": []
                },
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                },
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 2
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 22
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 5
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 35
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "Eurotronic"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "SPZB0001"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": "20191014"
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 3
                        },
                        {
                            "id": 16384,
                            "name": "sw_build_id",
                            "value": "22190930"
                        }
                    ]
                },
                {
                    "id": 1,
                    "name": "Power Configuration",
                    "attributes": [
                        {
                            "id": 33,
                            "name": "battery_percentage_remaining",
                            "value": 140
                        },
                        {
                            "id": 62,
                            "name": "battery_alarm_state",
                            "value": 0
                        }
                    ]
                },
                {
                    "id": 3,
                    "name": "Identify",
                    "attributes": []
                },
                {
                    "id": 513,
                    "name": "ThermostatCluster",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "local_temp",
                            "value": 2000
                        },
                        {
                            "id": 8,
                            "name": "pi_heating_demand",
                            "value": 24
                        },
                        {
                            "id": 18,
                            "name": "occupied_heating_setpoint",
                            "value": 2000
                        },
                        {
                            "id": 20,
                            "name": "unoccupied_heating_setpoint",
                            "value": 1600
                        },
                        {
                            "id": 28,
                            "name": "system_mode",
                            "value": 4
                        },
                        {
                            "id": 16386,
                            "name": "errors",
                            "value": 0
                        },
                        {
                            "id": 16387,
                            "name": "current_temperature_setpoint",
                            "value": 2000
                        },
                        {
                            "id": 16392,
                            "name": "host_flags",
                            "value": 1
                        }
                    ]
                },
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                },
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                }
            ]
        }
    ],
    "signature": {
        "manufacturer_name": "Eurotronic",
        "model": "SPZB0001",
        "node_descriptor": {
            "byte1": 2,
            "byte2": 64,
            "mac_capability_flags": 128,
            "manufacturer_code": 4151,
            "maximum_buffer_size": 127,
            "maximum_incoming_transfer_size": 100,
            "server_mask": 11264,
            "maximum_outgoing_transfer_size": 100,
            "descriptor_capability_field": 0
        },
        "1": {
            "profileid": 260,
            "deviceid": 769,
            "in_clusters": [
                0,
                1,
                3,
                513,
                25,
                10
            ],
            "out_clusters": [
                0,
                1,
                3,
                4,
                513,
                25,
                10
            ]
        }
    },
    "class": "zhaquirks.eurotronic.spzb0001"
}

Ainsi que les commandes automatiquement créées. il y a bien une commande mode, mais en info, pas en action

Norbert

J’ai un soucis la ya pas de manufacturer ni de model ce qui fait que je peux pas faire de conf…

Tu peux essayer dans le write attribute de le changer mais pour moi c’est la vanne qui decide en fonction de la fenetre ouverte/ consigne

Merci pour le retour,

La vanne règle effectivement l’ouverture, mais tu as quand même 3 mode de gestion :
On : grand ouvert
Off : tout fermé
Auto : c’est la vanne qui gère (mode par défaut dès lors que l’on met une consigne)
ces modes sont bien présents dans le plugin deconz de mémoire.

Bonjour Loic,
Sur mon RPI 4 avec Jeedom, j’ai juste la conbee2 et votre plugin d’installé (pour le zigbee car sinon j’ai du Enocean et du mqtt), pas de plugin deconz
Pour l’exemple je vais prendre mon PTM215ZE de chez Enocean
https://www.enocean.com/en/products/enocean_modules_24ghz/ptm-215ze/user-manual-pdf/


un interrupteur sans fils sans pile avec un générateur type ECO200 intégré.

suivant la procédure pour le canal 11 pour l’inclusion, on a appuie long (>7sec) appuie court, et long
dans les log zigbeed de votre plugin on relève cette trame qui correspond au mode « commisionning »

[2020-11-06 09:38:34][DEBUG] : Frame received: 0x196d00280021000cba625001e00281f22a8e2bef13d5646c125b8cf57ffe347711a3e8d521130000

on retrouve la structure page 20 du pdf

puis par la suite on retrouve les trames classic gpd

0x196a0016000f008c309a2d51017a00000022470ba89a

Mac Header

19 contrôles de trame 2 octets pour identifier le type de trame, la version du protocole, l'adressage et le mode de sécurité

6a compteur d’envoie (en général un message est renvoyé 2 fois)

Mac Payload

8c30 Contrôle des télégrammes (2 octets) Le champ Contrôle des télégrammes est réglé sur 0x308C indiquant que le PTM 535Z utilise une signature de charge utile de 4 octets basée sur une clé unique de l'appareil et un compteur de séquence de 4 octets

9a2d5101 id de l’émetteur ici 01512d9a

7a000000 soit 00 00 00 7a compteur du message

22 data du message

[https://zigbeealliance.org/wp-content/uploads/2019/11/docs-09-5499-26-batt-zigbee-green-power-specification.pdf voir page 170](https://zigbeealliance.org/wp-content/uploads/2019/11/docs-09-5499-26-batt-zigbee-green-power-specification.pdf%20voir%20page%20170)

470ba89a Signature du télégramme (4 octets) Le champ Signature du télégramme sert à valider l'authenticité du télégramme. La signature du télégramme est calculée sur la base de la charge utile du télégramme en utilisant AES128

[2020-11-06 09:59:39][DEBUG] : Frame received: 0x19430016000f008c30ba625001241300001497063030
[2020-11-06 09:59:39][DEBUG] : Frame received: 0x19440016000f008c30ba625001241300001497063030
[2020-11-06 09:59:39][DEBUG] : Frame received: 0x19450016000f008c30ba625001241300001497063030
[2020-11-06 09:59:40][DEBUG] : Frame received: 0x19460016000f008c30ba62500125130000153901dcfd
[2020-11-06 09:59:40][DEBUG] : Frame received: 0x19470016000f008c30ba62500125130000153901dcfd
[2020-11-06 09:59:40][DEBUG] : Frame received: 0x19480016000f008c30ba62500125130000153901dcfd
[2020-11-06 09:59:41][DEBUG] : Frame received: 0x19490016000f008c30ba62500126130000223803dbef
[2020-11-06 09:59:41][DEBUG] : Frame received: 0x194a0016000f008c30ba62500126130000223803dbef
[2020-11-06 09:59:41][DEBUG] : Frame received: 0x194b0016000f008c30ba62500126130000223803dbef
[2020-11-06 09:59:42][DEBUG] : Frame received: 0x194c0016000f008c30ba625001271300002323463d31
[2020-11-06 09:59:42][DEBUG] : Frame received: 0x194d0016000f008c30ba625001271300002323463d31
[2020-11-06 09:59:42][DEBUG] : Frame received: 0x194e0016000f008c30ba625001271300002323463d31
[2020-11-06 09:59:48][DEBUG] : Frame received: 0x194f0016000f008c309a2d51011601000022250c4fc6
[2020-11-06 09:59:48][DEBUG] : Frame received: 0x19500016000f008c309a2d51011601000022250c4fc6
[2020-11-06 09:59:49][DEBUG] : Frame received: 0x19510016000f008c309a2d5101170100002363f4d0cd
[2020-11-06 09:59:49][DEBUG] : Frame received: 0x19520016000f008c309a2d5101170100002363f4d0cd

au besoin je pourrais vous faire parvenir un prototype de end-device gpd, mais pour ce, il faudrait que que puisse joindre « Denis ou Thomas » que je n’arrive pas à joindre cette semaine. Je ne doute pas un seul instant qu’ils soient occupé.
Mais au besoin mes prototypes sont à votre disposition.

Trame de commisionning GPD détaillé

0x196d00280021000cba625001e00281f22a8e2bef13d5646c125b8cf57ffe347711a3e8d521130000
...
Mac Header
0x19 contrôles de trame 2 octets pour identifier le type de trame, la version du protocole, l'adressage et le mode de sécurité
0x6d compteur d’envoie (en général un message est renvoyé 2 fois)
...

Mac Payload
0x0c Trame de Contrôle (1 byte) ici message standard non crypté
0xba625001 Source ID (4 bytes)  donc 015062ba
0xe0 Commande (1 byte) declaration du mode commissionning
0x02 Device Type (1 byte) identifie le PTM 215ZE comme un interrupteur ON / OFF  
0xF281 Device Options (2 byte) dit que le cryptage utilisé est un AES128 (CBC mode) 
0x.... Encrypted Device-unique Security Key (16 bytes) 
0x11a3e8d5 Security Key Validation (4 bytes) In order to ensure correct reception, an additional 4 byte validation value is provided. 
0x21130000 Sequence Counter (4 bytes)

Ok je vois pas simple j’ai bien une clef conbee mais elle est en channel 15 d’ou mon soucis de voir aucune trame à l’inclusion.

J’ai aussi une clef elelabs que je peux elle passer en channel 11 sans soucis mais elle a pas de cluster GreenPowerProxy donc je doute que ca marche.

Après j’ai bien un module PTM215ZE faut juste j’arrive à voir les trames.

Que te manque-t’il exactement (manufacturer, model)?
Ou se modifie le « write attribute » ?
Norbert

J’ai rien dit avec la elelabs en channel 11 j’ai bien des trames sans meme faire tout le truc d’inclusion (ca ressemble vraiment a du enocean la).

C’est normal ?

Ton module n’a en gros pas d’identification tu peux essayer dans l’onglet action de faire une mise à jour des info voir si ca remonte.

Pour le write c’est dans le meme onglet tu peux dans ton cas tester :
endpoint : 1
cluster : 513
attribute : 28
valeur : la 1, 2 3 ou 4 de mémoire

tu peux passer le ptm215ze sur le canal 15


appuie long court long court puis donc 4 appuie cout et tu enverra la trame de commissioning sur le canal 15

sinon je peux te donner en pv l’accès à mon Jeedom

Équipement / configuration / onglet Action