[Intégration externe] - KNX

Bonjour à tous,

Pour répondre à la demande Intégration du protocole KNX, voici une intégration externe qui relie Gladys à une installation KNX.

Ce qu’elle fait

Elle dialogue avec le bus via une interface IP KNX de votre réseau, en local uniquement : rien ne part sur Internet. Gladys n’a pas d’intégration KNX native.

KNX ne permet pas de découvrir les appareils : vous déclarez chacun une fois avec ses adresses de groupe ETS (boutons « Déclarer une lumière », « Déclarer un volet »… de la configuration), puis vous l’ajoutez depuis l’onglet Découverte.

Fonctionnalités

  • Appareils : lumières (variation, couleur), interrupteurs, volets et rideaux, capteurs (température, humidité, CO2, puissance, énergie…), capteurs binaires (mouvement, contact de fenêtre, fumée…), thermostats.
  • Connexion : tunneling UDP ou TCP, KNX IP Secure, routage ; recherche automatique de l’interface.
  • Widget « Bus KNX » : connexion, trafic, derniers télégrammes.
  • Déclencheurs de scène : télégramme reçu sur des adresses choisies, connexion perdue, connexion rétablie.
  • Actions de scène : envoyer une valeur, lire une valeur, rappeler une scène KNX.

Exemples de scènes :

  • quand le bouton « Tout éteindre » de l’entrée envoie off → éteindre aussi les lumières non KNX ;
  • quand l’alarme est activée → rappeler la scène KNX « Absence » et fermer les volets ;
  • quand la connexion KNX est perdue → prévenir le foyer.

Installation

Disponible dans le store dans la journée, le temps de l’indexation (recherchez « KNX »), ou dès maintenant depuis l’URL du dépôt : Intégrations → Installer une intégration → https://github.com/William-De71/gladys-knx. Gladys 5.1.1 minimum.

  1. Saisissez l’adresse IP de l’interface (ou laissez vide), puis Tester la connexion.
  2. Déclarez vos appareils avec leurs adresses de groupe ETS (1/2/3).
  3. Ajoutez-les depuis l’onglet Découverte.
  4. Ajoutez le widget « Bus KNX » à un tableau de bord.

Captures

Illustration générée à partir du code de l’intégration (pas une capture d’écran d’un vrai Gladys) :

Widget Bus KNX (illustration générée)

Limites connues

  • Pas testé sur une vraie installation KNX, seulement contre le serveur de tunneling de KNXUltimate et des tests automatisés : vos retours sur du vrai matériel sont attendus.
  • Pas d’import du projet ETS : les adresses se saisissent à la main.
  • Ni KNX Data Secure, ni ventilation, ni modes de thermostat (confort, éco…) pour l’instant.
  • Le routage multicast n’atteint généralement pas le conteneur : préférez le tunneling.
Comment ça marche, pour les curieux

L’intégration est un conteneur Node.js qui utilise la bibliothèque KNXUltimate (celle de node-red-contrib-knx-ultimate). Les déclarations sont enregistrées dans la configuration de Gladys, donc dans ses sauvegardes. Chaque télégramme est décodé avec le type de point de données (DPT) de son adresse, et seuls les changements sont envoyés à Gladys (240 états par minute au plus). La recherche d’interface passe par le cœur de Gladys, seul à pouvoir diffuser sur le réseau local.

Vos retours

En réponse à ce fil ou dans une issue GitHub, avec les versions de Gladys et de l’intégration, le modèle de l’interface et les journaux (idéalement avec DEBUG=gladys-integration-sdk).

Licence Apache 2.0. Merci à l’équipe Gladys pour la documentation et le SDK des intégrations externes, et à l’auteur de KNXUltimate.

KNX est une marque de KNX Association ; ce projet n’y est pas affilié.