Intégration domotique Plugwise, gratuite et open source

Non officiel : Smile P1, Anna et Adam Plugwise en local : énergie, chauffage, prises.
Votre passerelle Plugwise dans Gladys, par l'API XML locale du Smile sur votre réseau, sans cloud :
- Smile P1 (compteur intelligent) : puissance prélevée et injectée toutes les 10 secondes, index de consommation (tarif plein + tarif creux) chaque minute pour le suivi énergétique de Gladys, index par tarif et injection en simples capteurs, gaz en m³, puissance et tension de chaque phase ;
- Anna et Adam (toutes les 30 secondes) : pour chaque zone (Adam) ou la pièce de l'Anna, température, consigne, état du chauffage, mode (programme, chauffage, arrêt), préréglage et programme actif ; pour la chaudière ou la pompe à chaleur, flamme, chauffage, eau chaude en cours, températures de l'eau, pression, modulation ; la température extérieure ; sur un Adam, les modes de la passerelle et de régulation, et la puissance et l'état des prises Plugwise.
Cette intégration n'a jamais été testée avec un vrai Smile. Cette première version a été écrite à partir de la bibliothèque python-plugwise (celle de Home Assistant) et testée seulement contre ses données de test et un faux Smile. Dites sur le forum de Gladys ce qui marche et ce qui ne marche pas.
Intégration non officielle, sans lien avec Plugwise.
Smile pris en charge
- Smile P1 firmware v4 (et un Smile P1 récent qui répond avec un élément
<gateway>), Anna firmware v4 (y compris l'Anna P1), Adam firmware v3. - Pas pris en charge : les anciens firmwares (Smile P1 v2/v3 sans
<gateway>, Anna v1/v3, Adam v2 : mettez-les à jour depuis l'app Plugwise), le Stretch, un Anna relié à un Adam (ajoutez l'Adam à la place). Le statut de l'intégration le dit clairement.
Configuration
- Adresse du Smile : son adresse IP sur votre réseau (
192.168.1.30), visible dans votre box ou dans l'app Plugwise ; un port peut suivre. Préférez l'adresse IP : un nom en.local(mDNS) ne se résout pas dans le conteneur de l'intégration. Donnez au Smile une adresse fixe dans votre box ; si elle change, saisissez la nouvelle : les appareils et leur historique sont gardés. L'API locale ne parle qu'en http simple : une adressehttps://est refusée avec un message clair. - ID du Smile : les 8 caractères imprimés au dos du Smile (aussi dans
l'app Plugwise). Gladys s'identifie avec l'identifiant
smileet cet ID. L'ID est gardé par Gladys dans sa base, jamais réaffiché, envoyé seulement au Smile, dans l'en-tête HTTP d'authentification (jamais dans une adresse, jamais dans un journal). Attention : le Smile n'a pas de https, l'ID traverse donc votre réseau local en clair, à chaque lecture. - Autoriser les commandes des thermostats et Autoriser la commande des prises : désactivées par défaut (voir Commandes).
- Langue des appareils : français (par défaut) ou anglais.
Ouvrez ensuite l'onglet Découverte et créez les appareils à suivre. Le bouton Tester la connexion lit le Smile tout de suite et liste ce qu'il montre.
Énergie (Smile P1, Anna P1)
- L'index de consommation (tarif plein + tarif creux, en kWh) est la seule valeur que le suivi énergétique de Gladys compte et facture. Il n'existe que si le compteur donne les deux tarifs au moment de la découverte ; sinon l'appareil n'a que de simples capteurs, sans suivi énergétique.
- Les index par tarif, l'injection et le gaz sont de simples capteurs : jamais comptés dans le suivi énergétique (le gaz serait facturé au prix de l'électricité). L'injection n'est jamais dans l'index de consommation.
- Un index n'est jamais publié à 0. Chaque tarif est vérifié : un tarif qui retombe à 0 ou qui baisse seul est un défaut de lecture, pas une baisse de l'index.
- Un saut de l'index (plus que ce qu'un foyer peut consommer depuis la
dernière valeur) ou une baisse est retenu : la dernière valeur
acceptée est renvoyée, l'état de l'intégration affiche le saut et son
nombre de kWh, et rien n'est facturé. S'il est juste (compteur remplacé,
index réel), cliquez sur Accepter l'index retenu dans la configuration :
seule la valeur affichée (plus ce que le foyer consomme d'ici la lecture
suivante) est prise. Ni le temps, ni la répétition, ni l'enregistrement de
la configuration ne l'acceptent. La valeur retenue est gardée dans
/dataaprès un redémarrage. - Si le Smile indique que le compteur n'est pas connecté (câble P1), ou si la puissance n'est plus relevée depuis 5 minutes, ces valeurs ne sont plus envoyées et l'état le dit.
Commandes
Par défaut, Gladys ne fait que lire. Une fois une option cochée, le tableau de bord, les scènes, les assistants vocaux (Siri / HomeKit, Alexa, Google Home) et le service Thermostat de Gladys peuvent agir.
- Autoriser les commandes des thermostats :
- la consigne d'une zone, de 4 à 30 °C et dans les bornes que le Smile donne pour la zone, au dixième de degré ; une valeur en dehors est refusée, jamais ramenée dans les bornes ;
- le préréglage d'une zone, parmi ceux du Smile (maison, nuit, absent, vacances, hors-gel…) ;
- sur un Adam, le mode de la passerelle (présent, absent, vacances) et le mode de régulation, seulement chauffage ou refroidissement (s'il existe) : l'arrêt de la régulation et les purges restent dans l'app Plugwise.
- Autoriser la commande des prises : seulement les prises réglées dans l'app Plugwise comme lampe, éclairage, TV, home cinéma, décodeur, enregistreur, console de jeux ou chargeur, et non verrouillées dans Plugwise. Une prise qui alimente une chaudière, une pompe de chauffage, une vanne, un chauffe-eau, un réfrigérateur, un congélateur, une box internet, un appareil en cours de cycle, une bouilloire, ou réglée comme « autre », n'est jamais commandée : son état est en lecture seule dans Gladys (pas un interrupteur), donc « éteins tout » ne la touche pas. Pour commander une prise, réglez son type dans l'app Plugwise et déverrouillez-la, puis supprimez et recréez son appareil dans Gladys.
- Le mode (programme / chauffage / arrêt) et le programme actif sont en lecture seule dans cette version ; l'eau chaude n'est jamais commandée.
- Juste avant d'agir, Gladys relit le Smile et décide sur cette lecture seulement : si la lecture échoue, si l'appareil a disparu, si une valeur manque, si la prise est verrouillée ou d'un type interdit, rien n'est envoyé ; si la valeur est déjà celle demandée, rien n'est envoyé non plus. L'option est vérifiée à l'arrivée de la commande et de nouveau juste avant l'envoi.
- Quand la commande ne peut pas être vérifiée en 3,5 s, rien n'est envoyé et Gladys affiche un échec (jamais d'action après un échec affiché). Une fois envoyée, Gladys répond au plus 4,3 s après votre commande : « envoyée, sans confirmation » si le Smile n'a pas encore répondu (la commande a pu être appliquée), « refusée » si le Smile l'a refusée. Le Smile est relu 5 s après chaque commande envoyée ; la valeur affichée est toujours celle que le Smile donne, jamais celle demandée.
- Les commandes passent une par une (un seul Smile).
Rafraîchissement et limites
- Un Smile P1 est lu toutes les 10 secondes (l'index chaque minute), un Anna ou un Adam toutes les 30 secondes. Seules les valeurs qui changent sont envoyées à Gladys (et chacune au moins toutes les 10 minutes).
- Les appareils sont reconnus par les identifiants Plugwise (32 caractères), pas par leur nom ni l'adresse du Smile.
- Les températures de l'eau de la chaudière sont des sondes : Gladys ne les compte pas dans la température de la pièce.
Problèmes de connexion
- Smile injoignable : tous les appareils apparaissent injoignables ; nouvel essai après 30 s, puis de plus en plus rarement jusqu'à toutes les 10 min (jamais plus vite que la lecture normale).
- ID refusé (HTTP 401) : Gladys ne réessaie pas seul, ni après une
reconnexion à Gladys, ni après un redémarrage (le refus est gardé dans
/data, sous forme d'empreinte, jamais l'ID lui-même). Corrigez l'ID puis enregistrez, ou appuyez sur Tester la connexion. - Smile surchargé (HTTP 429) : toutes les requêtes s'arrêtent de 1 minute à 6 heures, même après un redémarrage ; enregistrer la configuration ou appuyer sur Tester la connexion lève la pause.
- Les journaux ne contiennent ni l'ID du Smile ni le texte des réponses du Smile, seulement des codes (HTTP 500, pas de connexion…).
Limites
- Un seul Smile par intégration.
- Pas de commande d'eau chaude, de programme (activer / désactiver un programme), de décalage de température, ni de groupes de prises.
- Pas de Stretch, pas de module USB Plugwise (Stick).
- Jamais testée avec un vrai Smile.
Paramètres de configuration
Voici les paramètres demandés par Plugwise dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Fonctionnement | section | Non | Intégration non officielle, sans lien avec Plugwise. Gladys lit votre Smile Plugwise par son API locale, sur votre réseau, sans cloud : un Smile P1 (compteur : puissance prélevée et injectée toutes les 10 secondes, index d'électricité chaque minute pour le suivi énergétique de Gladys, index par tarif, gaz en simple capteur), un Anna ou un Adam (toutes les 30 secondes : température, consigne, préréglage, mode et programme de chaque zone, flamme de la chaudière, chauffage et eau chaude, température extérieure, puissance des prises Plugwise). Seulement les firmwares actuels (Smile P1 v4, Anna v4, Adam v3) ; pas le Stretch. Jamais testée avec un vrai Smile : voir la documentation. |
| Adresse du Smile | string | Oui | L'adresse IP (ou le nom) du Smile sur votre réseau, visible dans votre box ou l'app Plugwise. Donnez-lui une adresse fixe dans votre box : les appareils et leur historique sont gardés si elle change. En http simple : l'API locale du Smile n'a pas de https. |
| ID du Smile | secret | Oui | Les 8 caractères imprimés au dos du Smile (aussi dans l'app Plugwise), utilisés avec l'identifiant smile. Gardé par Gladys dans sa base, jamais réaffiché, envoyé seulement au Smile, dans un en-tête HTTP en clair sur votre réseau local (le Smile n'a pas de https). |
| Commandes (désactivées par défaut) | section | Non | Par défaut Gladys ne fait que lire. Une fois une option cochée, le tableau de bord, les scènes, les assistants vocaux (Siri / HomeKit, Alexa, Google Home) et le service Thermostat de Gladys peuvent agir. Chaque commande relit le Smile juste avant d'agir. La régulation du chauffage n'est jamais arrêtée et aucune purge n'est lancée depuis Gladys ; l'eau chaude n'est jamais commandée. |
| Autoriser les commandes des thermostats | boolean | Non | La consigne d'une zone (4 à 30 °C, dans les bornes que donne le Smile), son préréglage, et sur un Adam le mode de la passerelle (présent, absent, vacances) et le mode de régulation (chauffage ou refroidissement seulement). |
| Autoriser la commande des prises | boolean | Non | Seulement les prises réglées dans l'app Plugwise comme lampe, éclairage, TV, home cinéma, décodeur, enregistreur, console de jeux ou chargeur, et non verrouillées. Une prise qui alimente une chaudière, une pompe de chauffage, une vanne, un chauffe-eau, un réfrigérateur, un congélateur, une box ou tout autre appareil n'est jamais commandée depuis Gladys. |
| Langue des appareils | select | Non | Noms des appareils, des fonctionnalités et des options. |
Comment installer Plugwise dans Gladys
- Dans Gladys, ouvrez Intégrations : Plugwise 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-plugwise:0.1.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). - 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-plugwise.
Plugwise 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
Plugwise 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