EnOcean partie 1: Premiers pas avec EnOcean

EnOcean partie 1: Premiers pas avec EnOcean

Préambule

Il y a quelques temps,  j’ai emménagé dans un nouvel appartement dans lequel était déjà pré-installé des volets roulants électriques et des éclairages commandés par des interrupteurs radio sans fils et sans pile. C’est plutôt cool vu que ça permet de mettre l’interrupteur là où on le désire très facilement. Ça fonctionne pas mal à condition de ne pas appuyer trop mollement sur le bouton afin que le système piezzo puisse générer assez d’énergie pour envoyer la trame radio.

Il y avait également dans l’armoire électrique une genre de passerelle avec une antenne et connectée en ethernet pour pouvoir piloter tout ça à distance, ça avait l’air cool… enfin ça avait l’air.
Pour l’utiliser, il fallait utiliser une application qui s’appelle Flexom, lente, très lente, utilisable que via le net donc pas en direct sur le réseau local, avec obligation de créer un compte en fournissant quelques données personnelles au passage sans parler du fait d’avoir le fil à la patte avec une société qui peut faire faillite du jour au lendemain et de se retrouver avec une apli qui ne fonctionne plus… bref le truc trop nul. Il suffit d’ailleurs de voir les commentaires sur les app store Android ou Apple.

Je m’attendais à avoir une genre d’API REST où c’est open-bar (avec néanmoins une authentification, c’est pas la fête non plus), pour ensuite pouvoir faire des scénarios avec mes différents objets connectés maison à base de nrf24.

La pêche aux infos

Je commence à m’intéresser au sujet de près, et là je découvre que EnOcean c’est super bien documenté, et que n’importe quel fabriquant peut rejoindre la EnOcean Alliance pour fabriquer des périphériques qui seront interopérables avec ceux des autres fabricants grâce à une normalisation des profils de communication (Profils d’équipement EnOcean ou EEP).

Si je comprend bien, en théorie, à partir du moment où j’ai un émetteur radio EnOcean, je peux piloter mes volets avec n’importe quoi : un port série, un arduino, un raspberry, en Wifi avec un ESP32 ? Récupérer leur état en faisant mon paquet radio moi-même et en comprenant ce qu’il y a dedans ? Faire une vraie API ? (Spoil : en pratique aussi c’est comme ça).

EnOcean-Equipment-Profiles-3-1
La documentation générale du protocole, des différents formats de paquets, des échanges entre appareils…

EnOcean_Equipment_Profiles_EEP_v2.6.8
Le détails des communications pour chaque profil EEP (EnOcean Equipment Profil).

 

Profile EEP

Le profile EEP indique à quel type d’appareil on a à faire. Il se compose de 3 octets en héxadécimal : RORG-FUNC-TYPE. Pour le trouver en règle générale c’est assez simple… c’est écrit dessus.

  • RORG  : Cette valeur indique le type de « telegram » c’est à dire de paquet radio (RPS, 1BS, 4BS, VLD…) on verra plus loin ce que ça signifie.
  • FUNC : La fonction de base des données (interrupteur, capteur de température, gradateur de luminaire…)
  • TYPE : Type précis de l’appareil dans la catégorie définie par FUNC.

Exemple 1 : F6-05-02

  • F6 : Télégramme RPS
  • 05 : détecteurs
  • 02 : de fumée

Exemple 2 : A5-04-02

  • A5 : Télégramme 4BS
  • 04 : capteur de température et d’humidité
  • 02 : Température de -20°C à +60°C humidité relative de 0% à 100%

 

Profiles compatibles

Un appareil avec un profil EEP donnée peut être compatible avec des télégrammes ayant un autre profile.
Par exemple D2-01-0E, un module contact sec un canal (pour allumer une lampe par exemple), il y a de très fortes chances qu’il soit compatibles avec les télégrammes RPS F6-02-01 provenant d’un interrupteur manuel ou bien d’un interrupteur à carte F6-04-02. En principe c’est marqué dans la notice.

 

Les différents télégrammes (RORG)

Le tableau est tiré de la documentation

Télégramme RORG Description
RPS F6 Repeated Switch Communication
1BS D5 1 Byte Communication
4BS A5 4 Byte Communication
VLD D2 Variable Length Data
MSC D1 Manufacturer Specific Communication
ADT A6 Addressing Destination Telegram
SM_LRN_REQ C6 SMART ACK Learn Request
SM_LRN_ANS C7 SMART ACK Learn Answer
SM_REC A7 SMART ACK Reclaim
SYS_EX C5 Remote Management
SEC 30 Secure telegram
SEC_ENCAPS 31 Secure telegram with RORG encapsulation
SEC_MAN 34 Maintenance Security message
SIGNAL D0 Signal telegram
UTE D4 Universal Teach In

L’adresse radio

Le EEP c’est bien, mais ça ne permet pas de différencier deux appareil EnOcean identiques dans le même logement… où même dans deux logements différents, ça serait bizarre de pouvoir allumer la lumière du voisin.

Chaque appareil possède donc une adresse sur 4 octets pour le différencier des autres qui bien souvent est écrite dessus également. Elle est transmise dans le paquet radio.

Par la suite on verra qu’il faut procéder à un appairage entre les appareils pour que par exemple une commande de volet roulant réagisse à l’appuie sur un interrupteur de commande.

Suite dans la partie 2 : EnOcean partie 2: Branchement du TCM310

One thought on “EnOcean partie 1: Premiers pas avec EnOcean

  1. Bonjour,

    Merci pour votre article,

     

    j’ai pour projet de monter un plug-in Enocean pour homebridge.io (Flexom c’est vraiment de la merde !),

     

    Si vous êtes intéressé par le projet, vous avez maintenant mon contact

     

    Cordialement

     

    Brian

Répondre à Brian PLUS Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *