Aller au contenu principal

Intégration domotique TP-Link Omada, gratuite et open source

Intégration TP-Link Omada pour Gladys Assistant

Réseau Omada : présence, bornes Wi-Fi, switchs, passerelle et WAN, PoE.

Amène votre réseau TP-Link Omada dans Gladys : qui est à la maison (les téléphones sur le Wi-Fi), l'état de vos bornes Wi-Fi, switchs et passerelle, votre connexion Internet, et quelques commandes pour vos scènes.

Sans lien avec TP-Link. Développée sans le matériel : vos retours sont les bienvenus — l'intégration est testée contre un faux contrôleur construit à partir de réponses publiées de vrais contrôleurs, pas encore contre un vrai.

Présentation​

  • Présence : chaque téléphone, ordinateur ou appareil connecté au réseau peut devenir un capteur de présence, avec un délai de départ pour qu'un téléphone en veille ne « parte » pas toutes les cinq minutes.
  • Équipements Omada : un appareil Gladys par passerelle, switch et borne : en ligne, clients connectés, temps de fonctionnement, utilisation du processeur et de la mémoire, débit des clients, puissance PoE consommée sur un switch PoE, et pour la passerelle l'état Internet et le débit de chaque port WAN.
  • Déclencheurs de scène : un nouvel appareil inconnu rejoint le réseau, un équipement Omada passe hors ligne, un port WAN perd ou retrouve Internet.
  • Commandes (désactivées par défaut) : activer ou couper le PoE d'un port de switch, redémarrer un équipement Omada, activer ou désactiver un SSID (le Wi-Fi invité).
  • Widget de tableau de bord : clients, débit Internet, ports WAN et équipements Omada hors ligne d'un coup d'œil.

Prérequis​

  • Un contrôleur Omada : Software Controller, OC200 ou OC300, joignable depuis Gladys sur le réseau local. Un contrôleur cloud peut fonctionner par son adresse Open API (non testé).
  • Recommandé : l'Open API (contrôleur 5.9 ou plus). Dans le contrôleur, ouvrez Vue globale → Paramètres → Intégration de plateforme → Open API, ajoutez une application en mode Client, donnez-lui le site à suivre, et notez son ID client et son secret client. Un rôle observateur suffit pour lire ; les commandes demandent un rôle autorisé à modifier le site (administrateur).
  • Ou un compte administrateur local (toute version 5.x du contrôleur) : créez un compte local dédié dans le contrôleur. Dans ce mode, l'intégration ne fait que lire : aucune commande.

Configuration​

Dans Gladys, Intégrations → TP-Link Omada → Configuration :

ChampÀ renseigner
Adresse du contrôleurhttps://<adresse>:8043 pour le Software Controller, https://<adresse> pour un OC200 / OC300.
Mode de connexionOpen API (recommandé) ou compte administrateur local (lecture seule).
ID client / secret client de l'Open APIL'application créée ci-dessus (mode Open API).
Identifiant / mot de passe du compte localLe compte dédié (mode compte local).
SiteLe nom du site Omada (Default par défaut).
Accepter un certificat auto-signéLe contrôleur est livré avec un certificat auto-signé : activez ceci, sauf si vous en avez installé un reconnu.
Omada IDLaissez vide pour un contrôleur local. Contrôleur cloud seulement : l'Omada ID affiché sur sa page Open API.
Proposer les clients du réseauAffiche les clients en ligne dans l'onglet Découverte, pour ajouter ceux à suivre.
Délai de départMinutes d'absence avant qu'un client soit déclaré parti (5 par défaut).
Intervalle de rafraîchissement30 s, 1 min (par défaut), 2 min ou 5 min.
Autoriser le pilotage du PoE / les redémarrages / le pilotage des SSIDChaque commande est désactivée par défaut : n'activez que ce dont vos scènes ont besoin.
Langue des noms de fonctionnalitésFrançais par défaut ; les noms sont fixés à l'ajout d'un appareil.

Cliquez ensuite sur Tester la connexion : le message donne le site, la version du contrôleur et ce qui a été trouvé. Ouvrez l'onglet Découverte pour ajouter les équipements Omada et les clients à suivre.

Ce que l'intégration demande au contrôleur. Une lecture du site par intervalle de rafraîchissement : la liste des équipements, les clients connectés, l'état WAN de la passerelle et la consommation PoE (4 à 6 requêtes). Les contrôleurs Omada acceptent environ 10 requêtes par seconde ; l'intégration espace ses requêtes et n'en envoie jamais plus d'une à la fois. Ouvrir un tableau de bord ne coûte rien au contrôleur : le widget montre la dernière lecture. Le jeton d'accès de l'Open API ne vit qu'en mémoire et se renouvelle avec les identifiants client à son expiration (deux heures).

Appareils​

Passerelle, switch, borne (un appareil Gladys chacun, nommé comme dans le contrôleur) :

FonctionnalitéUnitéÉquipements
En ligne0 / 1tous
Clients connectésnombretous (clients connectés à l'équipement)
Temps de fonctionnementheurestous
Utilisation du processeur, de la mémoire%tous
Débit descendant / montant des clientsMbit/sswitch, borne
Puissance PoEWswitch PoE
Internet, débit descendant, débit montant, par port WAN0 / 1, Mbit/spasserelle

Le débit des clients d'un switch ou d'une borne est la somme de l'activité en temps réel des clients qui y sont connectés, telle que le contrôleur la donne — pas le trafic de son lien montant.

Client du réseau (un téléphone, un ordinateur…) : une fonctionnalité Présence (presence-sensor, oui/non). Elle vaut 1 tant que le client est connecté, et passe à 0 une fois qu'il a disparu depuis plus longtemps que le délai de départ. Un contrôleur qui ne répond pas ne fait jamais partir personne : la présence n'est évaluée que sur une lecture réussie. Les clients ajoutés restent dans l'onglet Découverte même absents.

Tout est en lecture seule : les commandes sont des actions (voir plus bas), exprès jamais des interrupteurs qu'un assistant vocal ou un clic malheureux pourrait basculer.

Widget​

Réseau Omada : des tuiles pour les clients (total, Wi-Fi, filaires) et le débit Internet descendant et montant, puis l'état de chaque port WAN (avec son adresse IP publique), le nombre d'équipements Omada en ligne et le nom de ceux hors ligne. Il montre la dernière lecture et se rafraîchit avec elle.

Déclencheurs de scène​

DéclencheurFiltresVariables
Nouveau client réseau inconnuconnexion (Wi-Fi / filaire), SSID, réseau inviténom, adresse MAC, adresse IP, SSID, connexion, connecté à
Équipement Omada hors ligneéquipement, type (passerelle, switch, borne)nom de l'équipement, modèle, type
WAN coupé ou rétablichangement (Internet perdu / rétabli), passerellechangement, port WAN, passerelle, adresse IP WAN
  • Nouveau client inconnu se déclenche pour une adresse MAC jamais vue sur le site. La première lecture après l'installation ne fait qu'apprendre les clients déjà là ; les adresses MAC connues sont gardées dans /data (adresses MAC seulement, rien d'autre).
  • Équipement hors ligne couvre tous les équipements Omada du site, même ceux non ajoutés à Gladys, et donne leur nom pour la notification.
  • Seules les transitions déclenchent : un redémarrage de Gladys, de l'intégration ou du contrôleur ne déclenche jamais rien.

Commandes​

Mode Open API seulement, chacune activée dans la configuration. Disponibles en boutons de l'écran de configuration et en actions de scène :

  • PoE d'un port de switch : choisissez le switch, le numéro de port et activé / désactivé. Le port reçoit une surcharge de profil dans le contrôleur, car le PoE d'un port qui suit son profil ne peut pas changer. Attention : couper le PoE éteint ce que le port alimente — une caméra de sécurité, une borne, un téléphone. Réservez-le à ce que vous voulez vraiment éteindre (une borne la nuit, un appareil à redémarrer), jamais à une caméra qui protège la maison.
  • Redémarrer un équipement Omada : l'équipement est hors ligne quelques minutes.
  • Activer ou désactiver un SSID : tapez le nom du réseau (par exemple Invités) ; il est activé ou désactivé sur toutes les bornes qui le diffusent.

Chaque commande écrit une ligne dans les journaux de l'intégration.

Exemples de scènes​

  • Personne à la maison : quand la présence de tous les téléphones vaut 0, passer la maison en mode absent, éteindre les lumières, armer l'alarme.
  • Wi-Fi invité à heures fixes : chaque jour à 8 h, action de scène Activer ou désactiver un SSID → Invités, activé ; à 23 h, désactivé.
  • Internet coupé : déclencheur WAN coupé ou rétabli, changement Internet perdu → envoyer un message « {{triggerEvent.data.port_name}} a perdu Internet ».
  • Intrus sur le Wi-Fi : déclencheur Nouveau client réseau inconnu, SSID Maison → envoyer un message avec {{triggerEvent.data.name}} et {{triggerEvent.data.ip}}.
  • Borne éteinte la nuit : à 0 h 30, PoE d'un port de switch désactivé pour le port de la borne du jardin ; à 7 h, activé.

Dépannage​

  • « certificat refusé » : activez Accepter un certificat auto-signé.
  • « identifiants refusés » : vérifiez l'ID et le secret client (Open API) ou l'identifiant et le mot de passe (compte local). Une application Open API supprimée ou modifiée dans le contrôleur reçoit un nouveau secret.
  • « site introuvable » : le message liste les sites visibles avec ces identifiants ; recopiez le nom.
  • « accès refusé » : donnez à l'application Open API (ou au compte) l'accès au site ; pour les commandes, un rôle autorisé à modifier le site.
  • « ne répond pas comme un contrôleur Omada » : vérifiez le port (8043 pour le Software Controller) et que l'Open API existe (contrôleur 5.9 ou plus).
  • Une commande répond une erreur sur un switch : certains switchs (série Agile) refusent la commande PoE de l'Open API ; le message du contrôleur est affiché.
  • Plus de détails : mettez la variable d'environnement LOG_LEVEL à debug. Les journaux ne contiennent jamais de secret.

Limites​

  • Développée sans le matériel : la forme des requêtes vient du guide d'accès de l'Open API et de clients qui fonctionnent avec de vrais contrôleurs ; les retours de terrain sont les bienvenus.
  • Le mode compte local ne fait que lire : les commandes demandent l'Open API.
  • La présence suit le Wi-Fi : un téléphone qui quitte le Wi-Fi en veille profonde plus longtemps que le délai est déclaré parti. Augmentez le délai si besoin.
  • Les téléphones avec une adresse MAC privée (aléatoire) par réseau sont un nouveau client sur chaque réseau qu'ils rejoignent.
  • Le débit des clients d'un switch ou d'une borne est la somme de l'activité de ses clients, pas un compteur de port. Les débits WAN sont ceux que donne le contrôleur.
  • Les noms des fonctionnalités sont figés par Gladys à l'ajout d'un appareil : changez la langue avant de les ajouter.
  • Un port WAN de passerelle qui apparaît plus tard (un nouveau WAN) fait proposer « Mettre à jour » dans l'onglet Découverte.

Paramètres de configuration​

Voici les paramètres demandés par TP-Link Omada dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Contrôleur OmadasectionNonSoftware Controller, OC200 ou OC300. Recommandé : l'Open API (contrôleur 5.9 ou plus), avec une application créée dans Vue globale > Paramètres > Intégration de plateforme > Open API, en mode client. Le mode compte local ne fait que lire.
Adresse du contrôleurstringOuiAvec le port : 8043 pour le Software Controller, aucun pour un OC200 ou un OC300.
Mode de connexionselectOui
ID client de l'Open APIstringNon
Secret client de l'Open APIsecretNon
Identifiant du compte localstringNonMode compte local seulement : un compte administrateur dédié du contrôleur.
Mot de passe du compte localsecretNon
SitestringNonNom du site Omada, tel qu'affiché dans le contrôleur.
Accepter un certificat auto-signébooleanNonLe contrôleur est livré avec un certificat auto-signé : activez ceci, sauf si vous en avez installé un reconnu.
Omada ID (contrôleur cloud)stringNonLaissez vide pour un contrôleur local. Pour un contrôleur cloud : l'Omada ID de sa page Open API, avec son adresse Open API ci-dessus.
Présence et rafraîchissementsectionNonLes clients en ligne apparaissent dans l'onglet Découverte : ajoutez les téléphones à suivre, chacun devient un capteur de présence.
Proposer les clients du réseau en DécouvertebooleanNon
Délai de départ (minutes)numberNonDurée d'absence avant qu'un client soit déclaré parti (un téléphone en veille quitte le Wi-Fi un moment).
Intervalle de rafraîchissementselectNon
Commandes (désactivées par défaut)sectionNonMode Open API seulement, avec une application autorisée en écriture. Couper le PoE d'un port éteint ce qu'il alimente : une caméra de sécurité, une borne. N'activez que ce dont vos scènes ont besoin.
Autoriser le pilotage du PoEbooleanNon
Autoriser les redémarragesbooleanNon
Autoriser le pilotage des SSIDbooleanNon
Langue des noms de fonctionnalitésselectNonSert aussi aux messages de l'intégration. Les noms sont fixés à l'ajout d'un appareil.
  1. Dans Gladys, ouvrez Intégrations : TP-Link Omada 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-omada: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-omada.

TP-Link Omada 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​

TP-Link Omada 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 🙂