Aller au contenu principal

Intégration domotique Opower (US utilities), gratuite et open source

Intégration Opower (US utilities) pour Gladys Assistant

Consommation, coût et prévision de facture des fournisseurs américains sur Opower (PG&E, ConEd…).

Amène dans Gladys la consommation d'électricité et de gaz de votre compte chez un fournisseur américain : la consommation de la veille, du mois en cours, son coût, et la prévision de facture de la période de facturation. L'électricité alimente aussi le suivi d'énergie de Gladys 5.2, heure par heure, à l'heure où elle a vraiment été consommée.

De nombreux fournisseurs américains affichent votre consommation par la même plateforme, Opower (Oracle). Cette intégration se connecte au site de votre fournisseur avec votre propre compte, comme le fait son application mobile.

Sans lien avec Oracle Opower ni avec les fournisseurs. Developed without the hardware: feedback welcome — développée sans compteur ni compte : vos retours sont les bienvenus (issues GitHub ou forum Gladys). Les connexions sont portées de la bibliothèque libre utilisée par Home Assistant, mais n'ont pas pu être essayées sur les vrais sites.

Présentation​

  • Un appareil Gladys par compteur : électricité et gaz, si votre compte a les deux.
  • Électricité : la consommation, datée heure par heure (ou jour par jour), part dans le suivi d'énergie de Gladys ; plus le dernier jour complet, le mois en cours et la prévision de facture, en kWh et en dollars.
  • Gaz : les mêmes bilans, en mètres cubes (m³) et en dollars.
  • Un widget de tableau de bord, deux déclencheurs de scène et une action de scène.
  • Les données sont lues toutes les 12 heures. Les fournisseurs les publient avec un ou deux jours de retard.

Fournisseurs pris en charge​

La connexion diffère pour chaque fournisseur. Ceux-ci sont pris en charge :

FournisseurConnexion
AEP Ohioidentifiant et mot de passe
AEP Texasidentifiant et mot de passe
Appalachian Poweridentifiant et mot de passe
Atlantic City Electriccode de vérification (e-mail ou SMS)
Baltimore Gas and Electric (BGE)code de vérification (e-mail ou SMS)
Commonwealth Edison (ComEd)code de vérification (e-mail ou SMS)
Consolidated Edison (ConEd)mot de passe, et la clé d'authentification si la double authentification est active
Delmarva Powercode de vérification (e-mail ou SMS)
Duquesne Light Company (DQE)identifiant et mot de passe
Indiana Michigan Poweridentifiant et mot de passe
Kentucky Poweridentifiant et mot de passe
Orange & Rockland Utilities (O&R)mot de passe, et la clé d'authentification si la double authentification est active
Pacific Gas and Electric Company (PG&E)mot de passe, parfois un code de vérification (e-mail ou SMS)
PECO Energy Company (PECO)code de vérification (e-mail ou SMS)
Potomac Electric Power Company (Pepco)code de vérification (e-mail ou SMS)
Public Service Company of Oklahoma (PSO)identifiant et mot de passe
Puget Sound Energy (PSE)identifiant et mot de passe (expérimental : l'essai réel d'un faux compte a fini sur une page d'erreur)
Southwestern Electric Power Company (SWEPCO)identifiant et mot de passe

Pas encore pris en charge​

Ces fournisseurs Opower sont connus de la bibliothèque de référence mais pas encore portés : AES Indiana, Burbank Water and Power (BWP), Clark Public Utilities, City of Austin Utilities, Evergy, Eversource, Glendale Water and Power (GWP), Northern Indiana Public Service Company (NIPSCO), Rhode Island Energy, Seattle City Light (SCL), Southern Maryland Electric Cooperative (SMECO), Sacramento Municipal Utility District (SMUD), Southwest Gas. Duke Energy et Portland General Electric ne sont pas non plus servis par la bibliothèque de référence. Demandez le vôtre sur GitHub : chacun a sa propre connexion.

Prérequis​

  • Gladys 5.2.0 ou plus récent.
  • Un compte en ligne chez votre fournisseur (celui de son site), avec un compteur communicant pour l'électricité heure par heure. Sans compteur communicant, le fournisseur ne sert que des chiffres journaliers ou mensuels.
  • Gladys doit accéder à Internet (le site du fournisseur et opower.com).

Configuration​

  1. Dans Intégrations → Installer depuis GitHub, installez https://github.com/guim31/gladys-opower.
  2. Dans l'onglet Configuration, choisissez votre fournisseur, saisissez l'identifiant (ou l'e-mail) et le mot de passe de son site.
  3. Choisissez l'historique à importer : les jours d'électricité envoyés au suivi d'énergie à la première lecture (30 jours par défaut, jusqu'à un an). L'augmenter plus tard importe l'historique plus long à la lecture suivante.
  4. Choisissez la langue des noms d'appareils (français par défaut) : les noms sont fixés à l'ajout d'un compteur.
  5. Enregistrez. L'intégration se connecte, puis liste vos compteurs dans l'onglet Découverte : ajoutez-les.

L'action Se connecter et rafraîchir lit tout tout de suite au lieu d'attendre le prochain cycle de 12 heures (pas plus d'une fois par quart d'heure).

Code de vérification (PG&E, Exelon)​

PG&E et les sociétés Exelon (ComEd, PECO, BGE, Pepco, Delmarva, Atlantic City Electric) peuvent demander un code envoyé par e-mail ou SMS. L'écran de configuration affiche alors « Code de vérification requis » et liste où le code peut partir.

  1. Utilisez l'action Envoyer le code de vérification, et choisissez E-mail ou SMS.
  2. Quand le code arrive, utilisez Saisir le code dans les 10 minutes.

L'intégration garde alors ce que le fournisseur donne pour reconnaître cet appareil (dans /data), et les connexions suivantes n'ont plus besoin de code. Les sociétés Exelon demandent toujours un code la première fois, puis donnent un jeton renouvelé à chaque lecture ; si elles ne l'acceptent plus (après un long arrêt), un nouveau code est demandé. Le déclencheur de scène Connexion au fournisseur à refaire vous prévient.

Clé d'authentification (ConEd, O&R)​

Les comptes ConEd et O&R à double authentification par application ont besoin de la clé secrète d'authentification : la clé en texte affichée lors de l'installation de l'application (pas un code à 6 chiffres). L'intégration calcule les codes elle-même. Si vous n'avez plus la clé, réinstallez la double authentification sur coned.com et copiez la clé qu'il affiche.

Appareils​

Chaque compteur est un appareil nommé d'après le fournisseur, le type de compteur et les derniers chiffres du compte, par exemple « PG&E Électricité …0003 ».

Compteur d'électricité​

FonctionnalitéUnitéCe que c'est
ConsommationkWhLa consommation par 30 minutes, datée, pour le suivi d'énergie (lectures horaires coupées en deux moitiés)
Consommation journalièrekWhÀ la place de la précédente, pour un compteur lu au jour
Consommation du dernier jourkWhLe dernier jour complet publié par le fournisseur
Coût du dernier jour$Son coût, quand le fournisseur donne les coûts
Consommation du moiskWhLe mois calendaire en cours, jours complets seulement
Coût du mois$Son coût, seulement quand chacun de ses jours a un coût
Consommation prévue (facture)kWhLa consommation prévue par le fournisseur pour la période de facturation
Prévision de facture$La facture prévue par le fournisseur pour la période de facturation

Un logement en autoconsommation (net metering, solaire) peut afficher une consommation négative un jour où il a injecté plus qu'il n'a consommé.

Compteur de gaz​

Les mêmes bilans, sans la fonctionnalité de consommation : dernier jour, mois et consommation prévue en m³, leurs coûts en dollars. Gladys n'a ni unité therm ni CCF, les volumes de gaz sont donc convertis :

  • CCF (100 pieds cubes) : × 2,832 m³, exact ;
  • therm (une unité d'énergie) : × 2,731 m³, par le pouvoir calorifique moyen du gaz naturel livré aux foyers américains (1 037 Btu par pied cube, EIA). Votre gaz peut différer de quelques pour cent : votre facture indique le coefficient de votre fournisseur.

Suivi d'énergie​

Gladys 5.2 sait importer une consommation datée dans le passé : l'intégration envoie chaque demi-heure à son heure réelle, par le point d'entrée dédié du cœur, et renvoie les trois derniers jours à chaque lecture (les fournisseurs corrigent leurs données récentes ; Gladys n'écrit que ce qui change). Les graphiques d'énergie et le coût calculé d'après votre contrat sont donc justes même si les données arrivent avec un ou deux jours de retard.

Aucun index cumulé n'est publié, volontairement : Gladys transformerait un index reçu avec un jour de retard en une seule demi-heure de consommation.

Pour que Gladys calcule les coûts, choisissez la fonctionnalité Consommation de votre compteur d'électricité comme compteur principal dans les réglages d'énergie et créez-y votre contrat. Les fonctionnalités Prévision de facture et coût viennent de votre fournisseur et ne dépendent pas de ce contrat.

Le gaz n'est pas envoyé au suivi d'énergie : Gladys 5.2 ne valorise que l'électricité, et une consommation de gaz s'ajouterait à l'électricité.

Widget de tableau de bord​

Bilan énergie fournisseur affiche, pour un compteur (le premier compteur d'électricité si vous n'en choisissez pas) : le dernier jour complet et sa date, le mois en cours, le coût du mois, la prévision de facture (orange quand elle dépasse la même période l'an dernier), les 14 derniers jours en barres, et le coût du dernier jour, la consommation prévue, le chiffre de l'an dernier et la période de facturation. Quand la connexion vous attend, le widget dit pourquoi.

Déclencheurs et action de scène​

  • Nouvelle journée de consommation (déclencheur) : le fournisseur a publié une nouvelle journée complète pour un compteur, souvent avec un ou deux jours de retard. Choisissez éventuellement le compteur. Variables : le jour (date, AAAA-MM-JJ), sa consommation, son unité et son coût, la consommation et le coût du mois, la prévision de facture. Déclenché une fois par nouveau jour ; la première lecture après l'installation ne fait que fixer le point de départ.
  • Connexion au fournisseur à refaire (déclencheur) : le fournisseur demande un code de vérification, ou refuse le mot de passe. Les relevés s'arrêtent jusqu'à votre intervention. Filtrez éventuellement sur la raison (code, mot de passe). Déclenché une fois par problème.
  • Lire le bilan d'un compteur (action) : donne le dernier jour complet, sa consommation et son coût, la consommation et le coût du mois et la prévision de facture d'un compteur, pour les actions suivantes de la scène. Un chiffre inconnu reste vide.

Exemples de scènes​

  • Bilan quotidien : déclencheur Nouvelle journée de consommation (compteur d'électricité) → envoyer un message « {{triggerEvent.data.date}} : {{triggerEvent.data.usage}} kWh, {{triggerEvent.data.cost}} $. Facture prévue : {{triggerEvent.data.forecast_cost}} $. »
  • Surveillance de la facture : déclencheur Nouvelle journée de consommation, condition sur la fonctionnalité Prévision de facture supérieure à votre budget → notification.
  • Ne pas perdre les données : déclencheur Connexion au fournisseur à refaire → envoyer un message « Opower attend un code de vérification : ouvrir Intégrations → Opower ».
  • Bilan hebdomadaire : une scène planifiée chaque semaine → Lire le bilan d'un compteur → envoyer le coût du mois et la prévision dans un message.

Rafraîchissement et quotas​

  • Une lecture toutes les 12 heures (le rythme de l'intégration Home Assistant), nouvel essai au bout d'une heure quand le fournisseur ne répond pas. Chaque lecture se reconnecte (les sessions des fournisseurs durent quelques minutes).
  • Une lecture coûte quelques requêtes par compteur : la consommation horaire du mois (deux requêtes), les coûts journaliers (une), la prévision (une par compte), et la connexion elle-même. La première lecture importe l'historique choisi : jusqu'à 15 requêtes pour un an d'heures.
  • L'intégration s'interroge elle-même : elle ne dépend pas du sondage de Gladys.
  • Les conditions d'utilisation du fournisseur s'appliquent à votre compte : cette intégration ne lit que vos propres données, lentement.

Dépannage​

  • « Le fournisseur refuse la connexion » : vérifiez l'identifiant et le mot de passe sur le site du fournisseur. Un compte ConEd/O&R a aussi besoin de la clé d'authentification. Trop d'échecs peuvent bloquer le compte chez le fournisseur.
  • « Code de vérification requis » : voir Code de vérification ci-dessus. Le cycle de 12 heures ne redemande pas de code pendant qu'un code est attendu (10 minutes).
  • « Fournisseur injoignable » : le site ou opower.com n'a pas répondu ; nouvel essai toutes les heures. Si cela dure, le fournisseur a peut-être changé sa connexion : ouvrez une issue GitHub avec les journaux.
  • Aucun compteur listé : le compte n'a aucun compteur d'électricité ou de gaz servi par Opower (l'eau n'est pas prise en charge).
  • Le dernier jour date d'avant-hier : normal, les fournisseurs publient en retard.
  • Journaux : mettez LOG_LEVEL=debug pour voir chaque lecture. Les journaux ne montrent jamais le mot de passe, les codes ni les jetons.

Limites​

  • Developed without the hardware: feedback welcome — développée sans compteur ni compte. Les connexions suivent la bibliothèque de référence et ses tests, pas les sites réels : les premiers essais réels peuvent révéler des différences.
  • Les données ont un ou deux jours de retard : pas de puissance instantanée, pas de « aujourd'hui ».
  • Les lectures horaires sont coupées en deux demi-heures égales.
  • Autoconsommation : le suivi d'énergie compte une heure d'injection pour 0 ; les bilans gardent les chiffres nets.
  • Le gaz est en m³ (therms convertis par une moyenne) et hors du suivi d'énergie.
  • Plusieurs comptes : une connexion par intégration. Les sociétés Exelon ne lisent que le compte par défaut de la connexion.
  • Les fonctionnalités de coût sont les chiffres du fournisseur, en dollars. Le coût que Gladys calcule dans le suivi d'énergie vient du contrat que vous créez dans Gladys, pas du fournisseur.
  • Les compteurs d'eau ne sont pas pris en charge.

Confidentialité et données​

Le mot de passe et la clé d'authentification restent dans la configuration de Gladys. Le fichier /data/opower-state.json garde ce qui évite le code de vérification (cookies d'appareil, jeton de rafraîchissement Exelon), et pour chaque compteur jusqu'où le suivi d'énergie a été alimenté. Il n'est lisible que par l'intégration. Rien n'est envoyé ailleurs qu'au site de votre fournisseur, à opower.com et à votre Gladys.

Crédits​

Les connexions et les appels à l'API Opower sont portés de tronikos/opower (Apache-2.0), la bibliothèque de l'intégration Opower de Home Assistant (Apache-2.0) ; ses tests ont fourni les formes de réponses utilisées dans les tests ici.

Paramètres de configuration​

Voici les paramètres demandés par Opower (US utilities) dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre compte fournisseursectionNonConnectez-vous avec l’identifiant et le mot de passe du site de votre fournisseur. Les données arrivent avec un ou deux jours de retard et sont lues toutes les 12 heures. Sans lien avec Oracle Opower ni les fournisseurs.
FournisseurselectOuiSeuls les fournisseurs listés sont pris en charge pour l’instant.
Identifiant ou e-mailstringOui
Mot de passesecretOui
Clé secrète d’authentification (ConEd, O&R)secretNonSeulement pour les comptes ConEd et O&R à double authentification par application : la clé affichée lors de son installation.
Historique à importerselectNonJours d’électricité envoyés au suivi d’énergie de Gladys à la première lecture.
Langue des noms d’appareilsselectNonLes noms sont fixés à l’ajout d’un compteur dans Gladys.
Code de vérification (PG&E, Exelon)sectionNonPG&E et les sociétés Exelon (ComEd, PECO, BGE, Pepco, Delmarva, ACE) peuvent demander un code envoyé par e-mail ou SMS : utilisez les deux actions ci-dessous, « Envoyer le code de vérification » puis « Saisir le code ». La connexion est ensuite mémorisée.

Comment installer Opower (US utilities) dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Opower (US utilities) apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-opower:1.0.1), 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).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-opower.

Opower (US utilities) 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​

Opower (US utilities) 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 guim31, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂