Intégration domotique Rainforest Eagle, gratuite et open source

Non officiel : Rainforest Eagle-200/Eagle-3 en local : puissance et index du compteur.
Intégration non officielle, sans lien avec Rainforest Automation. Elle lit votre passerelle d'énergie Rainforest Eagle-200 ou Eagle-3 (la passerelle Zigbee qui lit le compteur électrique communicant de nombreux fournisseurs aux États-Unis et au Canada) sur votre réseau local, par son API locale (HTTP), avec le Cloud ID et le code d'installation imprimés sur son étiquette, sans cloud.
Jamais testé avec un vrai appareil : l'intégration a été écrite d'après la bibliothèque aioeagle (celle de Home Assistant), sans Eagle sous la main. L'Eagle-3 devrait répondre comme l'Eagle-200 (même API locale), ce n'est pas vérifié. L'ancien Eagle-100 (une autre API) n'est pas pris en charge. Vos retours sont les bienvenus.
Lecture seule
L'intégration ne fait que lire (les commandes device_list et
device_query de l'API locale). Elle ne change jamais rien sur la passerelle
ni sur le compteur (ni prix, ni confirmation de message, ni réglage).
Ce que vous obtenez
Un appareil par compteur électrique lu par l'Eagle (nommé « Eagle meter » et
son adresse matérielle, ex. 0x00abcd123) :
- puissance (W) : la demande instantanée du compteur, négative quand la maison envoie de l'énergie au réseau (solaire) ;
- index de consommation (kWh) : l'énergie que le compteur a fournie à la maison, pour le suivi énergétique de Gladys (Gladys en calcule elle-même la consommation et le coût) ;
- énergie envoyée au réseau (kWh, total) : un simple capteur, jamais compté comme une consommation. Elle n'est jamais envoyée à 0 : sans panneaux solaires (rien n'est jamais envoyé au réseau), elle reste vide, c'est normal.
Suivi énergétique
L'index de consommation est l'énergie prise au réseau, mesurée par le compteur de votre fournisseur. Si une autre intégration envoie déjà ce même compteur à Gladys (une autre passerelle, un compte fournisseur), ne gardez qu'une source, sinon la consommation est comptée deux fois. L'intégration n'envoie jamais de consommation journalière.
Prérequis
- Gladys 5.2.0 ou plus récent.
- L'Eagle sur le même réseau que Gladys, son API locale joignable en HTTP (port 80), déjà appairé à votre compteur (voir son application).
- Le Cloud ID (6 caractères) et le code d'installation (16 caractères) : sur l'étiquette sous la passerelle.
Configuration
- Installez l'intégration depuis le store de Gladys.
- Adresse IP de l'Eagle : son adresse sur votre réseau (avec
:portseulement si ce n'est pas 80). Donnez-lui de préférence une adresse fixe dans votre box (le nomeagle-<cloud id>.localne se résout en général pas dans un conteneur). - Cloud ID : jamais journalisé.
- Code d'installation : gardé par Gladys dans sa base, jamais réaffiché ; envoyé seulement à l'Eagle (dans l'en-tête de ses requêtes), jamais journalisé.
- Intervalle de lecture : 30 s par défaut, de 30 à 300 s (à chaque lecture : la liste des appareils, puis une petite requête par compteur, à une seconde d'intervalle : deux requêtes pour un compteur).
- Après la première lecture, créez l'appareil du compteur depuis l'onglet Découverte.
Le bouton Tester la connexion lit l'Eagle une fois si l'intervalle est écoulé ; sinon il affiche la dernière lecture et l'heure de la prochaine possible.
Rythme des lectures
Rien ne lit l'Eagle plus vite que l'intervalle : ni le bouton de test, ni
l'onglet Découverte, ni une reconnexion à Gladys, ni l'enregistrement d'une
configuration inchangée, ni un redémarrage du conteneur (l'heure de la
dernière lecture est gardée dans /data, écrite au plus une fois par minute :
après un redémarrage, la première lecture attend l'intervalle plus une
minute). Une nouvelle adresse ou de nouveaux identifiants sont essayés tout de
suite.
Index retenu
Gladys compte chaque hausse d'un index en entier. Pour ne jamais compter une énergie fictive, l'index de consommation passe par une garde :
- une valeur à 0 n'est jamais envoyée ;
- une baisse, ou une hausse plus rapide que 100 kW en moyenne, est retenue : la dernière valeur acceptée est renvoyée, et l'état de l'intégration l'affiche. Ni le temps ni la répétition ne la confirment (elle reste retenue après un redémarrage) ;
- si elle est juste, cliquez deux fois sur Accepter l'index retenu : le premier clic liste ce qui est retenu sans rien accepter, le second, de 3 secondes à 5 minutes plus tard, accepte exactement ce qui a été listé (un saut est alors compté d'un coup, une baisse ne compte rien). Enregistrer la configuration n'accepte rien.
Erreurs
- Identifiants refusés (HTTP 401/403 de la liste des appareils) : les
lectures s'arrêtent et ne reprennent jamais seules (un mauvais code
d'installation n'est jamais essayé en boucle) ; cet arrêt est gardé dans
/dataaprès un redémarrage. Enregistrer d'autres identifiants les essaie tout de suite ; Tester la connexion fait un essai par clic. Pour reconnaître des identifiants refusés après un redémarrage,/datagarde une empreinte salée de la paire refusée seulement (jamais d'une paire qui fonctionne), effacée à la première lecture réussie. - Une réponse HTTP 429 (à n'importe quelle requête) ou 5xx de la liste des
appareils met l'Eagle en pause de 1 minute à 6 heures, gardée dans
/data. Une autre erreur de lecture d'un compteur laisse seulement ce compteur de côté : les autres sont publiés. - Les appareils de l'Eagle qui ne sont pas des compteurs électriques, ou dont l'adresse matérielle est illisible, sont ignorés ; l'état en donne le nombre.
- Un Eagle injoignable est réessayé après 1 minute, puis 2, jusqu'à 15 minutes, jamais plus vite que l'intervalle.
- Chaque lecture commence par la liste des appareils, avec les identifiants de l'étiquette : un autre Eagle qui prendrait l'adresse (DHCP) les refuse et ne donne rien ; un autre appareil répond autre chose qu'une réponse d'Eagle, rien n'est publié.
- Un compteur que l'Eagle ne joint plus (pas « Connected ») ne publie rien (ses valeurs seraient périmées) ; l'état le dit.
Confidentialité
Rien ne sort de votre réseau : l'intégration ne parle qu'à l'Eagle, en HTTP local, et ne suit aucune redirection. Le code d'installation circule en clair sur votre réseau local (HTTP Basic), comme pour tout client de cette API locale.
Paramètres de configuration
Voici les paramètres demandés par Rainforest Eagle dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Rainforest Eagle | section | Non | Connecteur non officiel, sans lien avec Rainforest Automation. Il lit votre passerelle d'énergie Rainforest Eagle-200 ou Eagle-3 (compteurs communicants des États-Unis et du Canada) par son API locale (HTTP sur votre réseau, sans cloud), avec le Cloud ID et le code d'installation imprimés sur son étiquette, toutes les 30 secondes : la puissance de la maison et l'index d'énergie du compteur pour le suivi énergétique de Gladys, et l'énergie envoyée au réseau. Lecture seule : il ne change jamais rien sur la passerelle ni sur le compteur. Jamais testé avec un vrai Eagle. |
| Adresse IP de l'Eagle | string | Oui | L'adresse de l'Eagle sur votre réseau, avec :port seulement s'il n'est pas 80. Donnez-lui de préférence une adresse fixe dans votre box. |
| Cloud ID | string | Oui | Imprimé sur l'étiquette sous l'Eagle (6 caractères). C'est le nom d'utilisateur de l'API locale ; jamais journalisé. |
| Code d'installation | secret | Oui | Imprimé sur l'étiquette sous l'Eagle (16 caractères). C'est le mot de passe de l'API locale. Gardé par Gladys dans sa base, jamais réaffiché ; envoyé seulement à l'Eagle, dans l'en-tête de ses requêtes de lecture, jamais journalisé. |
| Intervalle de lecture (s) | number | Non | Fréquence de lecture de l'Eagle (la liste des appareils, puis une petite requête par compteur, à une seconde d'intervalle) : 30 s par défaut, plus si vous le souhaitez. Rien ne le lit plus vite, pas même le bouton de test. |
Comment installer Rainforest Eagle dans Gladys
- Dans Gladys, ouvrez Intégrations : Rainforest Eagle apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/lm1lc3n7/gladys-rainforest-eagle:0.1.2), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-rainforest-eagle.
Rainforest Eagle nécessite Gladys >=5.2.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Rainforest Eagle est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par LM1LC3N7, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation