Aller au contenu principal

Intégration domotique ioBroker, gratuite et open source

Intégration ioBroker pour Gladys Assistant

Pont vers ioBroker : importez ses états (lampes, volets, capteurs…) dans Gladys et pilotez-les.

Cette intégration amène les états de votre ioBroker dans Gladys : lampes, prises, volets, thermostats, capteurs et détecteurs deviennent des appareils Gladys, suivis en direct et pilotables. Pratique pour passer à Gladys en douceur, ou faire tourner les deux côte à côte.

Testée contre un vrai ioBroker (js-controller 7.2, adaptateur rest-api 4.0) en Docker, avec des objets Homematic IP, Shelly et Zigbee reproduits d'après leurs adaptateurs. Sans lien avec ioBroker.

Prérequis​

  • Un ioBroker joignable depuis la machine de Gladys.
  • L'adaptateur REST API (rest-api) installé dans ioBroker, avec une instance (Adaptateurs → chercher « REST API » → installer, puis garder le port par défaut 8093). L'ancien adaptateur simple-api n'est pas utilisé.
  • Facultatif : si vous cochez Authentification dans l'instance rest-api, un utilisateur ioBroker pour Gladys. Le plus sûr est un utilisateur dédié, avec les droits de lecture, et d'écriture sur ce que Gladys doit piloter.

Configuration​

Adresse et utilisateur​

  • Adresse de l'adaptateur rest-api : l'adresse IP d'ioBroker et le port de l'adaptateur, par exemple http://192.168.1.40:8093 (192.168.1.40 seul prend le port 8093). Pas de nom en .local, pas localhost : l'intégration tourne dans son propre conteneur.
  • Nom d'utilisateur et Mot de passe : seulement si l'authentification est cochée dans l'instance rest-api. Des identifiants faux affichent « Accès refusé » dans l'écran de configuration.

Puis Tester la connexion : elle donne la version d'ioBroker, le nombre d'appareils proposés, et les rôles non importés, avec leur nombre.

Choisir ce qui est importé​

Par défaut, tout état que Gladys sait afficher est proposé dans l'onglet Découverte. Sur une grosse installation, resserrez :

  • Seulement ces objets ioBroker : motifs d'identifiants, séparés par des virgules, * pour n'importe quel texte, par exemple hm-rpc.0.*, shelly.0.*, 0_userdata.0.*. Seuls ces objets sont lus dans ioBroker.
  • Seulement les objets de ces pièces : pièces d'ioBroker (enum.rooms), par nom dans n'importe quelle langue ou par identifiant, par exemple Salon, Cuisine.
  • États à écarter : motifs d'identifiants jamais importés, par exemple *.RSSI_*.

Les états d'ioBroker lui-même (system.*, le canal info de chaque adaptateur) ne sont jamais importés.

Serrures, portails, portes de garage et alarmes​

Ils sont en lecture seule par défaut : Gladys affiche leur état, mais ne peut ni les ouvrir, ni les déverrouiller, ni les désarmer, ni depuis l'appareil, ni depuis une scène, ni par un assistant vocal. Ils sont reconnus à leur rôle (switch.lock, switch.gate, button.open.door, rôles d'alarme) et, pour les simples relais, à leur nom ou identifiant (garage, portail, serrure, alarme, gate, lock, Garagentor…). Ne cochez Autoriser serrures, portails, portes de garage et alarmes que si vous l'acceptez.

Options​

  • Intervalle minimum entre deux valeurs d'un capteur : un compteur qui publie chaque seconde est transmis à Gladys au plus à ce rythme (10 s par défaut). Interrupteurs, lampes et détecteurs ne sont jamais retardés.
  • États surveillés pour les scènes : identifiants d'états (* accepté) qui déclenchent le déclencheur de scène, même s'ils ne sont pas ajoutés à Gladys.
  • Langue des noms de fonctionnalités : le français par défaut.

Ce que vous obtenez​

Appareils​

Un appareil Gladys par appareil ioBroker (par exemple un actionneur Homematic IP avec tous ses canaux), sinon par canal, sinon par état seul (un état de 0_userdata). Sa pièce, s'il en a une, est ajoutée à son nom. Les fonctionnalités viennent du rôle de chaque état :

Rôle ioBrokerFonctionnalité Gladys
switch, switch.power, switch.light, state modifiableinterrupteur ou marche/arrêt de lampe
level.dimmer, level.brightnessluminosité (et marche/arrêt si seul)
level.color.rgbcouleur de lampe
level.blind, value.blindposition du volet, ouvrir/fermer/arrêter
level.temperatureconsigne de thermostat
value.temperature, value.humidity, value.pressuretempérature, humidité, pression
value.brightness, value.co2, value.uv, value.speed.windluminosité, CO2, UV, vitesse du vent
value.power, value.energy, value.power.consumptionpuissance (W), index d'énergie (Wh, kWh)
value.voltage, value.current, value.batterytension, courant, batterie
sensor.window, sensor.door, value.windowdétecteur d'ouverture
sensor.motion, sensor.presencemouvement, présence
sensor.alarm.flood, sensor.alarm.fire, indicator.lowbatfuite, fumée, batterie faible
switch.lockserrure (lecture seule sauf autorisation)
value, level avec une unité connue (°C, W, kWh, hPa, lx…)le capteur de cette unité

Un état n'est pilotable que si son objet indique write: true. Les commandes partent comme depuis l'interface d'ioBroker (ack: false) : l'adaptateur de l'appareil les exécute, et la valeur qu'il confirme s'affiche dans Gladys. Seuls les états des appareils ajoutés à Gladys sont suivis. Les états de 0_userdata et javascript, qu'aucun adaptateur ne confirme, s'affichent dès qu'ils sont écrits. Les motifs d'identifiants respectent la casse, comme les identifiants d'ioBroker.

Widget du tableau de bord​

ioBroker affiche la connexion, la façon dont arrivent les valeurs (en direct ou par interrogation), la version d'ioBroker, les appareils proposés et ajoutés et les états suivis. Son bouton Relire relit les objets.

Déclencheurs de scène​

État ioBroker modifié lance une scène quand un état surveillé (configuration) change de valeur. Filtres : l'identifiant de l'état, et en option la nouvelle valeur. Variables : id, name, value, old_value.

Actions de scène​

Écrire un état ioBroker écrit une valeur dans n'importe quel état, ajouté à Gladys ou non : true, false, 50, 19,5, un texte. La valeur est convertie au type de l'état. Les états en lecture seule (write: false) et, sauf autorisation, les états de sécurité sont refusés.

Exemples de scènes​

  • Bonne nuit : à 23 h, écrire true dans 0_userdata.0.good_night pour lancer votre script ioBroker qui ferme les volets, pendant que Gladys éteint ses propres lampes.
  • Lave-linge terminé : quand la puissance de la prise Homematic reste sous 5 W, Gladys vous envoie un message.
  • Sonnette : surveiller 0_userdata.0.doorbell ; quand il passe à true, Gladys joue un son et affiche la caméra.

Dépannage​

  • Injoignable : vérifiez l'adresse et le port (8093), que l'instance rest-api tourne (verte dans ioBroker), et que la machine de Gladys peut la joindre.
  • Accès refusé : l'authentification est cochée dans l'instance rest-api : renseignez le nom d'utilisateur et le mot de passe, et vérifiez les droits de cet utilisateur.
  • Un appareil manque : Tester la connexion montre les rôles non importés. Donnez à l'état un rôle standard dans ioBroker (objet → modifier → rôle), ou utilisez l'action de scène.
  • Les valeurs arrivent en retard : le widget indique « Interrogation » quand le long polling de rest-api ne passe pas (un proxy entre les deux) : les états sont alors lus toutes les 30 secondes.
  • Plus de détails dans les journaux de l'intégration, avec LOG_LEVEL=debug.

Limites​

  • ioBroker ne pousse pas les valeurs : rest-api est suivi par long polling, un changement par requête, et les états suivis sont relus toutes les 5 minutes, ce qui rattrape aussi un changement que rest-api n'aurait pas pu transmettre.
  • Le rôle d'un état décide de tout : un état au rôle générique (state, value sans unité) ou un texte n'est pas importé (déclencheur et action de scène pour lui). Température de couleur, teinte et inclinaison ne sont pas importées.
  • switch.lock : vrai veut dire déverrouillé dans ioBroker (STATE_ROLES), affiché « déverrouillé » dans Gladys.
  • level.blind est pris comme ioBroker le définit (maximum = ouvert) ; un adaptateur qui l'inverse affiche une position inversée.
  • Les noms des fonctionnalités sont ceux d'ioBroker à l'ajout de l'appareil ; un renommage ultérieur dans ioBroker ne les renomme pas dans Gladys.

Confidentialité​

Tout reste sur votre réseau : Gladys ne parle qu'à l'adaptateur rest-api. Le mot de passe est stocké dans la configuration de Gladys et n'est jamais écrit dans les journaux.

Paramètres de configuration​

Voici les paramètres demandés par ioBroker dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Vos états ioBroker dans GladyssectionNonGladys lit les objets de votre ioBroker par son adaptateur rest-api et suit leurs changements en direct. Dans ioBroker, installez l'adaptateur « REST API » (rest-api, port 8093) et ajoutez une instance. Ses appareils et canaux apparaissent ensuite dans l'onglet Découverte, avec leur pièce : ajoutez ceux que vous voulez.
Adresse de l'adaptateur rest-apistringOuiAdresse IP d'ioBroker et port de l'adaptateur (8093), vus depuis la machine de Gladys. Pas de nom en .local, pas localhost.
Nom d'utilisateurstringNonSeulement si « Authentification » est cochée dans l'instance rest-api : un utilisateur ioBroker (admin, ou un utilisateur aux droits réduits).
Mot de passesecretNon
Seulement ces objets ioBrokerstringNonMotifs d'identifiants, séparés par des virgules ; * remplace n'importe quel texte. Vide : tous les objets. Conseillé sur une grosse installation.
Seulement les objets de ces piècesstringNonPièces d'ioBroker (enum.rooms), par nom ou identifiant, séparées par des virgules. Vide : tous les objets, dans une pièce ou non.
États à écarterstringNonIdentifiants d'états, séparés par des virgules ; * remplace n'importe quel texte. Jamais importés.
Autoriser serrures, portails, portes de garage et alarmesbooleanNonDésactivé : ils affichent leur état, mais Gladys ne peut ni les ouvrir, ni les déverrouiller, ni les désarmer, depuis un appareil, une scène ou un assistant vocal.
Intervalle minimum entre deux valeurs d'un capteur (s)numberNonUn compteur qui publie chaque seconde est transmis à Gladys à ce rythme. Interrupteurs et détecteurs ne sont jamais retardés.
ScènessectionNonLes états listés ici déclenchent le déclencheur de scène « État ioBroker modifié » à chaque changement de valeur, même s'ils ne sont pas ajoutés à Gladys (un texte, une variable de script, un mode d'alarme…).
États surveillés pour les scènesstringNonIdentifiants d'états, séparés par des virgules ; * remplace n'importe quel texte.
Langue des noms de fonctionnalitésselectNon

Comment installer ioBroker dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : ioBroker 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-iobroker: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-iobroker.

ioBroker 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​

ioBroker 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 🙂