Support radiateurs Equation Leroy Merlin ( Enki )
Support radiateurs Equation Leroy Merlin ( Enki )
Salut
J'ai fait l'acquisition de deux rad électriques Equation Virtuoso 2 chez Leroy.
Ils sont équipés de modules EnOcean et sont compatibles nativement avec leur box Enki .
J'essaye de pairer sans succès ces modèles avec Jeedom et le plugin EnOcean fraîchement acheté.
A mon avis le profil n'est pas reconnu.
A savoir ca devrait être un peu équivalent aux modules Advisen fil pilote ( profil D2-01-0C ).
Mais je n'arrive pas à faire le pairage, en mode inclusion rien ne s'ajoute coté Jeedom.
D'ailleurs il semble que le module EnOcean du radiateur attende de recevoir une commande avant d'envoyer ses trames de pairage, car je ne vois rien passer sur DolphinView malgré que le radiateur soit en attente de pairage ( Rf Init ) .
Je suis allé emprunter une box Enki pour vérifier que ca marche bien avec, ce qui est le cas. J'ai aussi pu vérifier que ma clef USB300 est opérationnelle, je vois bien des trames passer une fois la Enki et radiateur pairé. J'en vois aussi passer au paraige, c'est la Enki qui envoie la premiere trame.
Est ce qu'il y a quelque chose que je peux faire pour aider à l'intégration de ces modules ?
J'ai fait l'acquisition de deux rad électriques Equation Virtuoso 2 chez Leroy.
Ils sont équipés de modules EnOcean et sont compatibles nativement avec leur box Enki .
J'essaye de pairer sans succès ces modèles avec Jeedom et le plugin EnOcean fraîchement acheté.
A mon avis le profil n'est pas reconnu.
A savoir ca devrait être un peu équivalent aux modules Advisen fil pilote ( profil D2-01-0C ).
Mais je n'arrive pas à faire le pairage, en mode inclusion rien ne s'ajoute coté Jeedom.
D'ailleurs il semble que le module EnOcean du radiateur attende de recevoir une commande avant d'envoyer ses trames de pairage, car je ne vois rien passer sur DolphinView malgré que le radiateur soit en attente de pairage ( Rf Init ) .
Je suis allé emprunter une box Enki pour vérifier que ca marche bien avec, ce qui est le cas. J'ai aussi pu vérifier que ma clef USB300 est opérationnelle, je vois bien des trames passer une fois la Enki et radiateur pairé. J'en vois aussi passer au paraige, c'est la Enki qui envoie la premiere trame.
Est ce qu'il y a quelque chose que je peux faire pour aider à l'intégration de ces modules ?
Dernière édition par KipK le 16 janv. 2019, 18:18, édité 2 fois.
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Voilà les trames que j'ai capturé avec DolphinView pendant le pairage entre la box Enki ( adresse: 050E20B5 ) et un radiateur Equation ( adresse: 05030634 ) :
Code : Tout sélectionner
<Telegram Timestamp="2019-01-16 18:05:20.942" Direction="Incoming" Port="COM8" RORG="35" Data="30 8B 00 00 00 41 CB 38 E6" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="2" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:20.942" Direction="Incoming" Port="COM8" Type="01" Data="35 30 8B 00 00 00 41 CB 38 E6 05 0E 20 B5 80" OptionalData="02 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:20.956" Direction="Incoming" Port="COM8" RORG="35" Data="40 04 1C F1 AD F4 A3 85 B7" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="2" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:20.956" Direction="Incoming" Port="COM8" Type="01" Data="35 40 04 1C F1 AD F4 A3 85 B7 05 0E 20 B5 80" OptionalData="02 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:20.972" Direction="Incoming" Port="COM8" RORG="35" Data="80 1C 0C DC 7B" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:20.972" Direction="Incoming" Port="COM8" Type="01" Data="35 80 1C 0C DC 7B 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:21.150" Direction="Incoming" Port="COM8" RORG="D2" Data="10 00 02 80" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="2" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:21.150" Direction="Incoming" Port="COM8" Type="01" Data="31 BE B1 2F 3E 6B 78 49 C6 05 0E 20 B5 80" OptionalData="02 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:21.182" Direction="Incoming" Port="COM8" RORG="BE" Data="2E 2F 3C 6B E5 83 57 E5 EE" Status="00" ID="05030634" dBm="-61" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:21.182" Direction="Incoming" Port="COM8" Type="01" Data="31 BE 2E 2F 3C 6B E5 83 57 E5 EE 05 03 06 34 00" OptionalData="01 FF FF FF FF 3D 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:21.213" Direction="Incoming" Port="COM8" RORG="45" Data="E0 E4 14 32 FC 39 0A 7E D7" Status="00" ID="05030634" dBm="-61" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:21.213" Direction="Incoming" Port="COM8" Type="01" Data="31 45 E0 E4 14 32 FC 39 0A 7E D7 05 03 06 34 00" OptionalData="01 FF FF FF FF 3D 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:21.325" Direction="Incoming" Port="COM8" RORG="D2" Data="0F 00 00" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:21.325" Direction="Incoming" Port="COM8" Type="01" Data="31 45 6B E4 14 F6 00 14 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:22.142" Direction="Incoming" Port="COM8" RORG="D2" Data="10 00 02 80" Status="80" ID="050E20B5" dBm="-67" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:22.142" Direction="Incoming" Port="COM8" Type="01" Data="31 2C 09 C9 5C FA D6 01 FE 05 0E 20 B5 80" OptionalData="01 05 03 06 34 43 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:22.174" Direction="Incoming" Port="COM8" RORG="2C" Data="96 C9 5E FA 87 D0 8F 6D 62" Status="00" ID="05030634" dBm="-60" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:22.174" Direction="Incoming" Port="COM8" Type="01" Data="31 2C 96 C9 5E FA 87 D0 8F 6D 62 05 03 06 34 00" OptionalData="01 FF FF FF FF 3C 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:22.845" Direction="Incoming" Port="COM8" RORG="D2" Data="10 00 02 80" Status="80" ID="050E20B5" dBm="-61" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="2" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:22.845" Direction="Incoming" Port="COM8" Type="01" Data="31 44 1E 62 82 42 30 F0 2B 05 0E 20 B5 80" OptionalData="02 05 03 06 34 3D 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:22.860" Direction="Incoming" Port="COM8" RORG="44" Data="81 62 80 42 C5 BB FD 1B ED" Status="00" ID="05030634" dBm="-60" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:22.860" Direction="Incoming" Port="COM8" Type="01" Data="31 44 81 62 80 42 C5 BB FD 1B ED 05 03 06 34 00" OptionalData="01 FF FF FF FF 3C 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:23.506" Direction="Incoming" Port="COM8" RORG="D2" Data="10 00 12 80" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:23.506" Direction="Incoming" Port="COM8" Type="01" Data="31 4D F1 B0 28 EC E2 E7 31 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:23.548" Direction="Incoming" Port="COM8" RORG="4D" Data="6E B0 3A EC 15 C1 7A 19 08" Status="00" ID="05030634" dBm="-60" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:23.548" Direction="Incoming" Port="COM8" Type="01" Data="31 4D 6E B0 3A EC 15 C1 7A 19 08 05 03 06 34 00" OptionalData="01 FF FF FF FF 3C 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:24.191" Direction="Incoming" Port="COM8" RORG="D2" Data="10 00 12 C0" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:24.191" Direction="Incoming" Port="COM8" Type="01" Data="31 9C 12 0B F7 E9 B1 7B 80 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:24.224" Direction="Incoming" Port="COM8" RORG="9C" Data="8D 0B E5 A9 DA D7 CE 21 B0" Status="00" ID="05030634" dBm="-61" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:24.224" Direction="Incoming" Port="COM8" Type="01" Data="31 9C 8D 0B E5 A9 DA D7 CE 21 B0 05 03 06 34 00" OptionalData="01 FF FF FF FF 3D 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:25.181" Direction="Incoming" Port="COM8" RORG="40" Data="80 00 0A 31 D0 AC 5B 64 EB" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:25.181" Direction="Incoming" Port="COM8" Type="01" Data="40 80 00 0A 31 D0 AC 5B 64 EB 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:25.204" Direction="Incoming" Port="COM8" RORG="40" Data="81 DA 1C 87 C4 B0" Status="80" ID="050E20B5" dBm="-64" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:25.204" Direction="Incoming" Port="COM8" Type="01" Data="40 81 DA 1C 87 C4 B0 05 0E 20 B5 80" OptionalData="01 05 03 06 34 40 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:25.181" Direction="IncomingVirtual" Port="Virtual" RORG="D2" Data="20 00 00 00 1D C0" Status="00" ID="050E20B5" dBm="-64" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="0" Tickcount="0" OptionalData="" >
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:25.228" Direction="Incoming" Port="COM8" RORG="D0" Data="03 5B 64 6B 91 7C 0C 09 81" Status="00" ID="05030634" dBm="-60" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:25.228" Direction="Incoming" Port="COM8" Type="01" Data="31 D0 03 5B 64 6B 91 7C 0C 09 81 05 03 06 34 00" OptionalData="01 FF FF FF FF 3C 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:06:54.974" Direction="Incoming" Port="COM8" RORG="1F" Data="09 3D 9F 40 B5 46 64 80 5D" Status="00" ID="05030634" dBm="-61" DestinationID="FFFFFFFF" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:06:54.974" Direction="Incoming" Port="COM8" Type="01" Data="31 1F 09 3D 9F 40 B5 46 64 80 5D 05 03 06 34 00" OptionalData="01 FF FF FF FF 3D 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:06:55.038" Direction="Incoming" Port="COM8" RORG="D2" Data="0F 00 00" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="3" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:06:55.038" Direction="Incoming" Port="COM8" Type="01" Data="31 1F C6 3D 9F CF 4C 11 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Pour le soucis de pairage j'ai un peu avancé, si j'envoie ces 3 trames au radiateur alors qu'il est en mode pairage ( RF: Init ) , le radiateur passe en RF: OK .
La Enki envoie des trames VLD D2 10 00 qui doivent correspondre à l'ordre de temperature du thermostat et le mode ( Eco, HG, Confort, Progr , OFF )
D2 10 00 02 80 05 0E 20 B5 80 / 01 05 03 06 34 43 00
D2 10 00 dans la doc enocean correspond à : Room control panel with Temp & fan speed Control , Room status Info & Time program.
Elle enoie aussi au rad des trames D2 20 00 ( Fan Control selon Enocean )
D2 20 00 00 00 1D C0 05 0E 20 B5 00
Le radiateur envoie des trames non adressées ( FFFFFF ) qui ont un RORG différent à chaque fois, a ressemble plus à une encryption. Il doit y avoir une histoire d'échange de clef quelque part, j'ai pas encore bien compris comment se passent les trames cryptées avec EnOcean.
Normalement il est censé renvoyer son état et température régulièrement.
Bon sinon j'ai approché l'équipe Enki voir si ils peuvent me filer plus d'infos sur les profils EPP utilisés, je devrais avoir des news la semaine prochaine.
Code : Tout sélectionner
<Telegram Timestamp="2019-01-16 18:05:20.942" Direction="Incoming" Port="COM8" RORG="35" Data="30 8B 00 00 00 41 CB 38 E6" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="2" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:20.942" Direction="Incoming" Port="COM8" Type="01" Data="35 30 8B 00 00 00 41 CB 38 E6 05 0E 20 B5 80" OptionalData="02 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:20.956" Direction="Incoming" Port="COM8" RORG="35" Data="40 04 1C F1 AD F4 A3 85 B7" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="2" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:20.956" Direction="Incoming" Port="COM8" Type="01" Data="35 40 04 1C F1 AD F4 A3 85 B7 05 0E 20 B5 80" OptionalData="02 05 03 06 34 41 00" />
</Telegram>
<Telegram Timestamp="2019-01-16 18:05:20.972" Direction="Incoming" Port="COM8" RORG="35" Data="80 1C 0C DC 7B" Status="80" ID="050E20B5" dBm="-65" DestinationID="05030634" SecurityLevel="0" SubtelegramCount="1" Tickcount="0" OptionalData="" >
<Packet Timestamp="2019-01-16 18:05:20.972" Direction="Incoming" Port="COM8" Type="01" Data="35 80 1C 0C DC 7B 05 0E 20 B5 80" OptionalData="01 05 03 06 34 41 00" />
</Telegram>
La Enki envoie des trames VLD D2 10 00 qui doivent correspondre à l'ordre de temperature du thermostat et le mode ( Eco, HG, Confort, Progr , OFF )
D2 10 00 02 80 05 0E 20 B5 80 / 01 05 03 06 34 43 00
D2 10 00 dans la doc enocean correspond à : Room control panel with Temp & fan speed Control , Room status Info & Time program.
Elle enoie aussi au rad des trames D2 20 00 ( Fan Control selon Enocean )
D2 20 00 00 00 1D C0 05 0E 20 B5 00
Le radiateur envoie des trames non adressées ( FFFFFF ) qui ont un RORG différent à chaque fois, a ressemble plus à une encryption. Il doit y avoir une histoire d'échange de clef quelque part, j'ai pas encore bien compris comment se passent les trames cryptées avec EnOcean.
Normalement il est censé renvoyer son état et température régulièrement.
Bon sinon j'ai approché l'équipe Enki voir si ils peuvent me filer plus d'infos sur les profils EPP utilisés, je devrais avoir des news la semaine prochaine.
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Je continue mon monologue un peu si ça peut aider
J'ai trouvé de la doc sur les frames 0x35 dans le processus de pairage utilisé: https://www.enocean.com/fileadmin/redak ... _page.html
Les 3 premières trames que j'ai posté plus haut correspondent bien à cette phase d’apprentissage. Tant que le gateway n'est pas identifé sur le radiateur ( message Rf OK ) , aucune trame n'est envoyée ou reconnues par ce dernier.
La longueur max d'une trame à l'air d'être de 15 bytes ( ou 22 en comptant les sub data que je note entre {...} )
En suivant la doc:
Trame 1 ( Box > Rad ): 35 30 8B 00 00 00 41 CB 38 E6 05 0E 20 B5 80 { 02 05 03 06 34 41 00 }
INFO = Unidirectional security teach-in procedure
Le SLF (8B) donne ça d'après Security_of_EnOcean_Radio_Networks.pdf
RLC_ALGO=2 (3 bytes long 24bits x=x+1), RLC_TX=0, Mac Algo=1 (AES128 3 byte), Data Enc=3 ( VAES – AES128)
Trame 2 ( Box > Rad): 35 40 04 1C F1 AD F4 A3 85 B7 05 0E 20 B5 80 {02 05 03 06 34 41 00}
(Deuxieme partie de la clef)
Trame 3 ( Box > Rad ): 35 80 1C 0C DC 7B 05 0E 20 B5 80 { 01 05 03 06 34 41 00}
(3eme partie de la clef)
1 byte 2bits 2 bits 2 bits 2 bits 4 bytes 4 bytes 1 byte
|--------------|-------|--------|---------|---------|------------------|--------------------|--------------|
| R-ORG = 0x35 | IDX=1 | unused | unused | unused | KEY=1C0CDC7B | SOURCE_ID=050E20B5 |STATUS = 0x80 | +
|--------------|-------|------- |---------|---------|------------------|--------------------|--------------|[/code]
La clef complete: 41CB38E6041CF1ADF4A385B71C0CDC7B, soit 16 bytes on est bon.
Le rolling code 000000 ( pourquoi un rolling code null ? bizarre)
Ensuite la communication entre la gateway et le rad est crypté dans des trames Rorg 0x31
Box vers rad:
Ce qui donne une fois décrypté par dolphinView une nouvelle trame D2 ( il fait ça automatiquement si il a sniffé un échange de clef)
Le profil D2 10 00 correspond à "Room Control Panels with Temperature & Fan speed control , Room status information and time program"
Si j'ai bien compris la leçon, la gateway envoie la valeur 2 au rad qui doit correspondre au mode Eco ( à vérifier dès j'arrive à lui envoyer des commandes )
Jusqu'ici tout va bien.
Ensuite les rad commencent à causer avec des trames 0x31 cryptées aussi, par ex:
J'en suis là pour l'instant, je sèche un peu.
J'ai trouvé de la doc sur les frames 0x35 dans le processus de pairage utilisé: https://www.enocean.com/fileadmin/redak ... _page.html
Les 3 premières trames que j'ai posté plus haut correspondent bien à cette phase d’apprentissage. Tant que le gateway n'est pas identifé sur le radiateur ( message Rf OK ) , aucune trame n'est envoyée ou reconnues par ce dernier.
La longueur max d'une trame à l'air d'être de 15 bytes ( ou 22 en comptant les sub data que je note entre {...} )
En suivant la doc:
Trame 1 ( Box > Rad ): 35 30 8B 00 00 00 41 CB 38 E6 05 0E 20 B5 80 { 02 05 03 06 34 41 00 }
Code : Tout sélectionner
Telegram 1
1 byte 2bits 2 bits 2 bits 2 bits 1 byte 3 bytes 4 bytes 4 bytes 1 byte
|--------------|-------|--------|---------|---------|---------|------------|-------------------|--------------------|--------------|
| R-ORG = 0x35 | IDX=0 | CNT=3 | TYPE=0 | INFO=0 | SLF=8B | RLC=000000 | KEY=41CB38E6 | SOURCE_ID=050E20B5 |STATUS = 0x80 | +
|--------------|-------|--------|---------|---------|---------|------------|-------------------|--------------------|--------------|
Le SLF (8B) donne ça d'après Security_of_EnOcean_Radio_Networks.pdf
RLC_ALGO=2 (3 bytes long 24bits x=x+1), RLC_TX=0, Mac Algo=1 (AES128 3 byte), Data Enc=3 ( VAES – AES128)
Trame 2 ( Box > Rad): 35 40 04 1C F1 AD F4 A3 85 B7 05 0E 20 B5 80 {02 05 03 06 34 41 00}
(Deuxieme partie de la clef)
Code : Tout sélectionner
1 byte 2bits 2 bits 2 bits 2 bits 8 bytes 4 bytes 1 byte
|--------------|-------|--------|---------|---------|------------------------|--------------------|--------------|
| R-ORG = 0x35 | IDX=1 | unused | unused | unused | KEY=041CF1ADF4A385B7 | SOURCE_ID=050E20B5 |STATUS = 0x80 | +
|--------------|-------|--------|---------|---------|------------------------|--------------------|--------------|
Trame 3 ( Box > Rad ): 35 80 1C 0C DC 7B 05 0E 20 B5 80 { 01 05 03 06 34 41 00}
(3eme partie de la clef)
1 byte 2bits 2 bits 2 bits 2 bits 4 bytes 4 bytes 1 byte
|--------------|-------|--------|---------|---------|------------------|--------------------|--------------|
| R-ORG = 0x35 | IDX=1 | unused | unused | unused | KEY=1C0CDC7B | SOURCE_ID=050E20B5 |STATUS = 0x80 | +
|--------------|-------|------- |---------|---------|------------------|--------------------|--------------|[/code]
La clef complete: 41CB38E6041CF1ADF4A385B71C0CDC7B, soit 16 bytes on est bon.
Le rolling code 000000 ( pourquoi un rolling code null ? bizarre)
Ensuite la communication entre la gateway et le rad est crypté dans des trames Rorg 0x31
Box vers rad:
Code : Tout sélectionner
31 BE B1 2F 3E 6B 78 49 C6 05 0E 20 B5 80 { 01 05 03 06 34 43 00}
Code : Tout sélectionner
D2 10 00 02 80 05 0E 20 B5 80
Le profil D2 10 00 correspond à "Room Control Panels with Temperature & Fan speed control , Room status information and time program"
Si j'ai bien compris la leçon, la gateway envoie la valeur 2 au rad qui doit correspondre au mode Eco ( à vérifier dès j'arrive à lui envoyer des commandes )
Jusqu'ici tout va bien.
Ensuite les rad commencent à causer avec des trames 0x31 cryptées aussi, par ex:
Code : Tout sélectionner
31 BE B1 2F 3E 6B 78 49 C6 05 0E 20 B5 80
J'en suis là pour l'instant, je sèche un peu.
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Salut KipK,
Désolé, mais dans l'immédiat, je n'ai pas de réponse pour ton problème.
Pour le moment on se renseigne sur le SDK officiel, et on attends de voir...
Désolé, mais dans l'immédiat, je n'ai pas de réponse pour ton problème.
Pour le moment on se renseigne sur le SDK officiel, et on attends de voir...
ßêta-Testeur / Développeur plugin / Modérateur du Forum EnOcean
En domotique ou en informatique, il n'y a pas de problème, mais seulement des solutions à trouver...
Pour contribuer au développement des plugins et tutos : Paypal
En domotique ou en informatique, il n'y a pas de problème, mais seulement des solutions à trouver...
Pour contribuer au développement des plugins et tutos : Paypal
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Merci de ta réponse. De mon coté j'épluche plus en détail la dernière version de la doc concernant la sécurité et ca commence déjà à être plus clair dans ma tête. Surtout le processus d'appairage.
https://www.enocean-alliance.org/wp-con ... s_v2.3.pdf
On utilise ici le teach-in unidirectionnel, cf la doc chapitre 4 . C'est la gateway qui envoie la premiere trame pour appairage.
Je vais regarder si j'ai moyen de coder/décoder des frames avec pycrypto, mais j'y connais pas grand chose pour l'instant. Ca va me prendre un peu de temps.
Aussi il va falloir les profils D2 10 00 et D2 20 00 qui sont utilisés une fois les trames 0x31 décodées.
On les retrouve dans le document EnOcean Equipment Profiles: https://www.enocean-alliance.org/wp-con ... public.pdf
Je n'ai pas réussis à decoder ce qui va du rad vers la gateway pour l'instant. Je ne sais pas quel est le profil du coup.
Normalement on doit y retrouver le retour d'état du thermostat, la température ambiante, et la consommation quotidienne.
Enfin bref, c'est pas gagné encore
https://www.enocean-alliance.org/wp-con ... s_v2.3.pdf
On utilise ici le teach-in unidirectionnel, cf la doc chapitre 4 . C'est la gateway qui envoie la premiere trame pour appairage.
Je vais regarder si j'ai moyen de coder/décoder des frames avec pycrypto, mais j'y connais pas grand chose pour l'instant. Ca va me prendre un peu de temps.
Aussi il va falloir les profils D2 10 00 et D2 20 00 qui sont utilisés une fois les trames 0x31 décodées.
On les retrouve dans le document EnOcean Equipment Profiles: https://www.enocean-alliance.org/wp-con ... public.pdf
Je n'ai pas réussis à decoder ce qui va du rad vers la gateway pour l'instant. Je ne sais pas quel est le profil du coup.
Normalement on doit y retrouver le retour d'état du thermostat, la température ambiante, et la consommation quotidienne.
Enfin bref, c'est pas gagné encore
-
- Timide
- Messages : 16
- Inscription : 15 oct. 2018, 09:03
Re: Support radiateurs Equation Leroy Merlin ( Enki )
super boulot ! du nouveau ?
Re: Support radiateurs Equation Leroy Merlin ( Enki )
non malheureusement j'ai lâché.
La partie encryption n'est pas supportée par la lib enocean utilisée, l'équipe leroy merlin a été d'une aide inexistante, et je me sens pas capable de m'y coller.
Je me suis fait une remora pour piloter tout mes rad en fil pilote du coup.
Je laisse mes recherches au suivant
La partie encryption n'est pas supportée par la lib enocean utilisée, l'équipe leroy merlin a été d'une aide inexistante, et je me sens pas capable de m'y coller.
Je me suis fait une remora pour piloter tout mes rad en fil pilote du coup.
Je laisse mes recherches au suivant
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Salut @KipK
d'abord un grand merci pour ton monologue, il m'a donné envie de continuer ton travail !
Je viens "fraîchement" d'acheter un paquet de radiateurs equation, et certes l'idée du fil pilote m'a effleuré, mais j'ai envie de tenter la suite
Les infos transmises par les rads sont intéressantes quand meme, et l'utilisation de la enki (offerte avec les rads le jour de l'achat des rads) est une abomination pour les gens comme moi... bref... elle servira de presse papier lumineux apres m'avoir aidé a avancer sur ce sujet !
Vu le travail que cela va demander, je vais démonter un des rads et le mettre dans le bureau pour les différents tests que je vais faire
Par contre, le monologue n'est pas mon fort donc si ça intéresse quelqu'un, qu'il le fasse savoir
si j'arrive a mes fins, j'essayerai de faire ajouter ça sur le plugin
d'abord un grand merci pour ton monologue, il m'a donné envie de continuer ton travail !
Je viens "fraîchement" d'acheter un paquet de radiateurs equation, et certes l'idée du fil pilote m'a effleuré, mais j'ai envie de tenter la suite
Les infos transmises par les rads sont intéressantes quand meme, et l'utilisation de la enki (offerte avec les rads le jour de l'achat des rads) est une abomination pour les gens comme moi... bref... elle servira de presse papier lumineux apres m'avoir aidé a avancer sur ce sujet !
Vu le travail que cela va demander, je vais démonter un des rads et le mettre dans le bureau pour les différents tests que je vais faire
Par contre, le monologue n'est pas mon fort donc si ça intéresse quelqu'un, qu'il le fasse savoir
si j'arrive a mes fins, j'essayerai de faire ajouter ça sur le plugin
Bobox59 - Le papa du plugin Arduidom
Jeedom sur Serveur Dell - RPi 2 (Dev) - RPi 1B (Dev,Tests)
Modules Radio DIY, Detecteurs IR Radio Electro-Depot & Tike-Securité, Prises Radio Eurodomest 972086 & SITE RCS-K02 (Action)
I<3JEEDOM
Jeedom sur Serveur Dell - RPi 2 (Dev) - RPi 1B (Dev,Tests)
Modules Radio DIY, Detecteurs IR Radio Electro-Depot & Tike-Securité, Prises Radio Eurodomest 972086 & SITE RCS-K02 (Action)
I<3JEEDOM
Re: Support radiateurs Equation Leroy Merlin ( Enki )
bon, heu, franchement, mes heures sombres s'éclaircissent un peu...
j'arrive ENFIN a décoder les trames cryptées du rad
reste a les comprendre...
j'arrive ENFIN a décoder les trames cryptées du rad
reste a les comprendre...
Bobox59 - Le papa du plugin Arduidom
Jeedom sur Serveur Dell - RPi 2 (Dev) - RPi 1B (Dev,Tests)
Modules Radio DIY, Detecteurs IR Radio Electro-Depot & Tike-Securité, Prises Radio Eurodomest 972086 & SITE RCS-K02 (Action)
I<3JEEDOM
Jeedom sur Serveur Dell - RPi 2 (Dev) - RPi 1B (Dev,Tests)
Modules Radio DIY, Detecteurs IR Radio Electro-Depot & Tike-Securité, Prises Radio Eurodomest 972086 & SITE RCS-K02 (Action)
I<3JEEDOM
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Bon ça n’intéresse personne visiblement, mais j'y suis parvenu.
j'ai bien bien galéré quelques dizaines d'heures, mais j'ai compris le cryptage utilisé, une partie des VLD
j'arrive bien a contrôler la consigne des radiateurs, récupérer leur température d'ambiance et même choisir l'affichage
par contre pas via le plugin, il faudrait adapter mon code (qui est en bordel et pas fini pour être dans les normes) avec le plugin jeedom
via quelques virtuels/scripts, tout passe
je met ça en test réel pour voir dans la durée
j'ai bien bien galéré quelques dizaines d'heures, mais j'ai compris le cryptage utilisé, une partie des VLD
j'arrive bien a contrôler la consigne des radiateurs, récupérer leur température d'ambiance et même choisir l'affichage
par contre pas via le plugin, il faudrait adapter mon code (qui est en bordel et pas fini pour être dans les normes) avec le plugin jeedom
via quelques virtuels/scripts, tout passe
je met ça en test réel pour voir dans la durée
Bobox59 - Le papa du plugin Arduidom
Jeedom sur Serveur Dell - RPi 2 (Dev) - RPi 1B (Dev,Tests)
Modules Radio DIY, Detecteurs IR Radio Electro-Depot & Tike-Securité, Prises Radio Eurodomest 972086 & SITE RCS-K02 (Action)
I<3JEEDOM
Jeedom sur Serveur Dell - RPi 2 (Dev) - RPi 1B (Dev,Tests)
Modules Radio DIY, Detecteurs IR Radio Electro-Depot & Tike-Securité, Prises Radio Eurodomest 972086 & SITE RCS-K02 (Action)
I<3JEEDOM
Re: Support radiateurs Equation Leroy Merlin ( Enki )
Ah bah si ca m'interesse
Je veux bien regarder ton code , et voir pour l'intégrer dans le plugin.
Très curieux de comprendre comment tu décryptes les frames, et comment tu es arrivé à tes fin.
Bravo. Même si mes controles par fils pilotes marchent niquel, pour la science je vais tester ça.
Ca m'avait fait mal aux fesses d'abandonner.
Je veux bien regarder ton code , et voir pour l'intégrer dans le plugin.
Très curieux de comprendre comment tu décryptes les frames, et comment tu es arrivé à tes fin.
Bravo. Même si mes controles par fils pilotes marchent niquel, pour la science je vais tester ça.
Ca m'avait fait mal aux fesses d'abandonner.
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité