Intégration domotique Insteon, gratuite et open source

Réseau Insteon par le Hub 2245 : variateurs, interrupteurs, capteurs et boutons.
Cette intégration relie Gladys à un réseau Insteon par le Hub Insteon 2245, sur votre réseau local. Elle lit les appareils liés au hub et ce qu'ils signalent, et pilote les lumières et interrupteurs que vous déclarez sûrs.
Intégration non officielle, sans lien avec Insteon.
Jamais testée avec un vrai appareil : elle a été écrite à partir de la bibliothèque pyinsteon (celle de Home Assistant) et testée seulement avec un hub simulé. Vos retours sont bienvenus.
Ce que vous obtenez
| Appareil Insteon | Dans Gladys |
|---|---|
| Variateur (SwitchLinc, LampLinc, KeypadLinc, lumière du FanLinc…) déclaré sûr | une lumière : marche/arrêt et luminosité |
| Interrupteur, module ou relais encastré déclaré sûr | un interrupteur (ou une lumière) |
| Variateur ou interrupteur non déclaré sûr | son état (et son niveau), en lecture seule, et des boutons « Allumer » / « Éteindre », désactivés par défaut |
| Détecteur de mouvement | mouvement, pile faible |
| Détecteur d'ouverture | ouverture, pile faible (détecteurs de porte) |
| Détecteur de fuite | fuite |
| Smoke Bridge | fumée, monoxyde de carbone, pile faible |
| I/O Linc | l'entrée capteur et le relais, en lecture seule |
| Boutons de claviers, télécommandes, interrupteurs | le déclencheur de scène « Bouton Insteon » |
Pas encore pris en charge : thermostats, serrures (MorningLinc), commande du relais de l'I/O Linc (portes de garage), prises doubles (On/Off Outlet), volets, délesteurs, X10, les modems USB ou série (PowerLinc Modem) et l'ancien Hub 2242. Ils sont listés dans le statut de l'intégration.
Mise en place
- Donnez au hub une adresse IP fixe dans votre box.
- Dans Gladys, ouvrez l'intégration et saisissez :
- l'adresse du hub (son adresse IP) ;
- le nom d'utilisateur et le mot de passe imprimés sur l'étiquette sous le hub (pas votre compte Insteon). Le mot de passe est gardé par Gladys dans sa base, jamais réaffiché, envoyé seulement au hub, jamais écrit dans les journaux. Le hub ne parle qu'en HTTP simple : tout appareil qui lit votre réseau local peut le lire ;
- facultatif, l'adresse Insteon du hub (imprimée dessus). Vide, le hub trouvé à la première connexion est retenu.
- Enregistrez, puis cliquez sur Tester la connexion.
À la première connexion, l'intégration lit la base du hub (les appareils qui lui sont liés), puis demande à chaque appareil ce qu'il est. Les appareils sur pile (détecteurs, télécommandes) dorment et ne répondent pas : appuyez une fois sur leur bouton set, ou attendez leur prochain message (mouvement, porte ouverte…), et ils apparaissent. Ajoutez ensuite les appareils depuis l'onglet Découverte.
Lumières et interrupteurs : déclarez-les sûrs
Une lumière ou un interrupteur dans Gladys obéit à Google Home, Alexa, au MCP (« éteins tout ») et à toutes les scènes. Un interrupteur ou un variateur Insteon peut commander n'importe quoi : une lampe, mais aussi une pompe, un chauffage, un congélateur, une porte de garage. Un variateur ou un interrupteur n'est donc une lumière ou un interrupteur que si vous listez son adresse dans « Appareils déclarés sûrs », par exemple :
1A.2B.3C, 4D.5E.6F light
Un variateur est toujours une lumière ; un interrupteur est un interrupteur,
ou une lumière s'il est suivi de light. Les autres montrent leur état, et
deux boutons « Allumer » et « Éteindre » qui ne marchent qu'une fois cochée
l'option « Autoriser les boutons Allumer / Éteindre ». Quand vous
déclarez un appareil sûr plus tard, ses nouvelles fonctionnalités
apparaissent dans la Découverte ; supprimez les anciennes dont vous ne voulez
plus (leur historique part avec elles).
Commandes
Une commande part dans les 3,5 secondes ou pas du tout (« rien n'a été envoyé »). Elle n'est confirmée que si l'appareil répond le niveau demandé ; sinon Gladys affiche « envoyé, sans confirmation » et l'appareil est relu 2 secondes plus tard. Chaque commande est écrite dans les journaux de l'intégration.
Déclencheur de scène « Bouton Insteon »
Chaque appui sur un bouton de clavier, de télécommande ou sur un interrupteur (appareil lié au hub) déclenche avec :
address: l'adresse de l'appareil, en majuscules avec des points, comme sur son étiquette (1A.2B.3C) : elle est comparée telle quelle ;button: le bouton (groupe Insteon, 0 à 255) : 1 pour un interrupteur, 1 à 8 sur un clavier ; quelques appareils envoient le groupe 0 ;action:on,off,fast_on,fast_off(double appui),dim_start(maintenu),dim_stop(relâché).
La variable name donne le modèle de l'appareil (vide tant que son type
n'est pas connu). 120 événements par minute au plus.
Lectures et limites
- Le hub est lu deux fois par seconde (comme le fait pyinsteon) ; les appareils signalent leurs changements au fil de l'eau. À chaque intervalle de lecture des états (10 minutes par défaut), les variateurs, interrupteurs et I/O Linc sont relus. Un redémarrage de l'intégration ne relit jamais plus tôt.
- Les messages arrivés dans le hub juste avant l'envoi d'une commande peuvent être perdus (la mémoire du hub est vidée avant chaque message). Pour les variateurs, interrupteurs et I/O Linc, la lecture suivante rattrape. Les détecteurs sur pile (mouvement, ouverture, fuite) et le Smoke Bridge ne sont jamais relus : un message perdu n'est rattrapé que par le message suivant de l'appareil, son message de confirmation (cleanup) ou son signal de vie (jusqu'à 24 h pour un détecteur de fuite). Ne comptez pas sur Gladys seul pour les alarmes de fumée, de CO ou de fuite.
- L'identité du hub (son adresse Insteon) est relue à chaque connexion ; jusque-là rien n'est lu ni envoyé. Un autre hub qui répond à la même adresse IP (après un changement de box) : rien n'est lu ni envoyé tant que vous ne saisissez pas son adresse Insteon.
- Le type d'un appareil, une fois connu, ne change jamais (un message forgé ou abîmé ne peut pas faire d'une I/O Linc un interrupteur).
- Mot de passe refusé : l'intégration s'arrête et ne réessaie jamais seule. Corrigez le mot de passe, ou cliquez sur « Tester la connexion » quand le hub l'accepte.
- Hub injoignable : nouveaux essais après 10 s, 30 s, 1, 2, puis toutes les 5 minutes ; la pause est gardée après un redémarrage.
Crédits
Le protocole du hub et la base des produits viennent de
pyinsteon (MIT, Tom Harris), voir
THIRD_PARTY_NOTICES.md.
Paramètres de configuration
Voici les paramètres demandés par Insteon dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre hub Insteon | section | Non | Pour le Hub Insteon 2245 de votre réseau local (les modems USB ou série et l'ancien Hub 2242 ne sont pas pris en charge). L'intégration lit les appareils liés au hub : variateurs et interrupteurs, détecteurs de mouvement, d'ouverture et de fuite, Smoke Bridge, I/O Linc ; les appuis sur les claviers, télécommandes et interrupteurs deviennent des déclencheurs de scène. Les thermostats, serrures, relais des I/O Linc et prises doubles ne sont pas encore pris en charge. Le hub ne parle qu'en HTTP simple : son mot de passe circule en clair sur votre réseau. Jamais testé avec un vrai appareil. Non officiel, sans lien avec Insteon. |
| Adresse du hub | string | Oui | L'adresse IP (ou le nom) du Hub 2245 ; donnez-lui une adresse fixe dans votre box. |
| Port | number | Non | 25105 sauf si vous l'avez changé. |
| Nom d'utilisateur du hub | string | Oui | Imprimé sur l'étiquette sous le hub (pas votre compte Insteon). |
| Mot de passe du hub | secret | Oui | Imprimé sur l'étiquette sous le hub. Gardé par Gladys dans sa base, jamais réaffiché, envoyé seulement au hub, jamais écrit dans les journaux. Le hub ne parle qu'en HTTP simple : tout appareil qui lit votre réseau local peut le lire. |
| Adresse Insteon du hub | string | Non | Facultatif : l'identifiant Insteon imprimé sur le hub (par ex. 1A.2B.3C). Vide : le hub trouvé à la première connexion est retenu. Si un autre hub répond un jour à la même adresse IP, rien n'est lu ni envoyé tant que vous ne saisissez pas son adresse ici. |
| Appareils déclarés sûrs (lumières et interrupteurs) | string | Non | Adresses Insteon des variateurs et interrupteurs qui peuvent être pilotés comme une lumière ou un interrupteur, par ex. « 1A.2B.3C, 4D.5E.6F light » (un variateur est toujours une lumière ; un interrupteur est un interrupteur, ou une lumière avec « light »). Une lumière ou un interrupteur obéit à Google, Alexa, au MCP (« éteins tout ») et aux scènes : ne listez que les appareils qui commandent des lampes ou des charges sans risque, jamais une pompe, un chauffage, un congélateur, une porte de garage. Les autres montrent leur état, avec des boutons « Allumer » / « Éteindre » (option ci-dessous). |
| Lecture des états (minutes) | number | Non | Les appareils signalent aussi leurs changements au fil de l'eau ; cette lecture rattrape ce qui a été manqué. 2 à 60 minutes. |
| Appareils non déclarés sûrs | section | Non | Les boutons « Allumer » et « Éteindre » des variateurs et interrupteurs non déclarés sûrs sont désactivés par défaut : la charge qu'ils commandent est inconnue. Une fois autorisés, tout utilisateur de Gladys, toute scène et l'application Gladys peuvent les presser. Chaque commande est écrite dans les journaux de l'intégration. |
| Autoriser les boutons « Allumer » / « Éteindre » | boolean | Non | |
| Langue des noms | select | Non | Sert aux noms des fonctionnalités ajoutées désormais. |
Comment installer Insteon dans Gladys
- Dans Gladys, ouvrez Intégrations : Insteon 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-insteon: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-insteon.
Insteon nécessite Gladys >=5.1.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
Insteon 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