Zum Hauptinhalt springen

TP-Link Omada Smart-Home-Integration, kostenlos und Open Source

TP-Link Omada-Integration für Gladys Assistant

Omada-Netzwerk: Anwesenheit, Access Points, Switches, Gateway und WAN, PoE.

Bringt dein TP-Link-Omada-Netzwerk in Gladys: Wer ist zu Hause (die Handys im WLAN), der Zustand deiner Access Points, Switches und deines Gateways, deine Internetverbindung und ein paar Befehle für deine Szenen.

Keine Verbindung zu TP-Link. Ohne die Hardware entwickelt: Rückmeldungen sind willkommen — die Integration ist gegen einen nachgebauten Controller getestet, der aus veröffentlichten Antworten echter Controller besteht, noch nicht gegen einen echten.

Überblick​

  • Anwesenheit: Jedes Handy, jeder Laptop und jedes Gerät im Netzwerk kann ein Anwesenheitssensor werden, mit einer Abwesenheitsverzögerung, damit ein Handy im Ruhemodus nicht alle paar Minuten „geht“.
  • Omada-Geräte: ein Gladys-Gerät pro Gateway, Switch und Access Point: online, verbundene Clients, Betriebszeit, CPU- und Speicherauslastung, Client-Durchsatz, PoE-Leistung eines PoE-Switches und beim Gateway der Internetzustand und Durchsatz jedes WAN-Ports.
  • Szenen-Auslöser: Ein neues unbekanntes Gerät tritt dem Netzwerk bei, ein Omada-Gerät geht offline, ein WAN-Port verliert das Internet oder bekommt es zurück.
  • Befehle (standardmäßig aus): das PoE eines Switch-Ports ein- oder ausschalten, ein Omada-Gerät neu starten, eine SSID (das Gäste-WLAN) ein- oder ausschalten.
  • Dashboard-Widget: Clients, Internet-Durchsatz, WAN-Ports und Omada-Geräte offline auf einen Blick.

Voraussetzungen​

  • Ein Omada-Controller: Software Controller, OC200 oder OC300, von Gladys im lokalen Netzwerk erreichbar. Ein Cloud-Controller kann über seine Open-API-Adresse funktionieren (nicht getestet).
  • Empfohlen: die Open API (Controller 5.9 oder neuer). Öffne im Controller Globale Ansicht → Einstellungen → Plattformintegration → Open API, füge eine Anwendung im Modus Client hinzu, gib ihr die Site, die du verfolgen willst, und notiere ihre Client-ID und ihr Client-Secret. Eine Rolle Betrachter reicht zum Lesen; die Befehle brauchen eine Rolle, die die Site ändern darf (Administrator).
  • Oder ein lokales Administratorkonto (jede Controller-Version 5.x): Lege im Controller ein eigenes lokales Konto an. In diesem Modus liest die Integration nur: keine Befehle.

Konfiguration​

In Gladys unter Integrationen → TP-Link Omada → Konfiguration:

FeldWas du eingibst
Adresse des Controllershttps://<Adresse>:8043 für den Software Controller, https://<Adresse> für einen OC200 / OC300.
VerbindungsartOpen API (empfohlen) oder lokales Administratorkonto (nur lesen).
Client-ID / Client-Secret der Open APIDie oben angelegte Anwendung (Open-API-Modus).
Benutzername / Passwort des lokalen KontosDas eigene Konto (Modus mit lokalem Konto).
SiteDer Name der Omada-Site (standardmäßig Default).
Selbstsigniertes Zertifikat akzeptierenDer Controller hat ab Werk ein selbstsigniertes Zertifikat: Schalte das ein, außer du hast ein vertrauenswürdiges installiert.
Omada-IDLeer lassen für einen lokalen Controller. Nur Cloud-Controller: die Omada-ID seiner Open-API-Seite.
Netzwerk-Clients anbietenZeigt die Clients, die online sind, im Tab „Entdecken“, damit du die hinzufügst, die du verfolgen willst.
AbwesenheitsverzögerungMinuten, die ein Client weg sein muss, bevor er als abwesend gilt (standardmäßig 5).
Aktualisierungsintervall30 s, 1 min (Standard), 2 min oder 5 min.
PoE-Steuerung / Neustarts / SSID-Steuerung erlaubenJeder Befehl ist standardmäßig aus: Schalte nur ein, was deine Szenen brauchen.
Sprache der FunktionsnamenStandardmäßig Französisch; die Namen werden beim Hinzufügen eines Geräts festgelegt.

Klicke dann auf Verbindung testen: Die Meldung nennt die Site, die Version des Controllers und was gefunden wurde. Öffne den Tab Entdecken, um die Omada-Geräte und die Clients hinzuzufügen, die du verfolgen willst.

Was die Integration vom Controller verlangt. Ein Auslesen der Site pro Aktualisierungsintervall: die Geräteliste, die verbundenen Clients, der WAN-Zustand des Gateways und der PoE-Verbrauch (4 bis 6 Anfragen). Omada-Controller nehmen etwa 10 Anfragen pro Sekunde an; die Integration verteilt ihre Anfragen und schickt nie mehr als eine gleichzeitig. Ein Dashboard zu öffnen kostet den Controller nichts: Das Widget zeigt das letzte Auslesen. Das Zugriffstoken der Open API liegt nur im Speicher und wird bei Ablauf (zwei Stunden) mit den Client-Zugangsdaten erneuert.

Geräte​

Gateway, Switch, Access Point (je ein Gladys-Gerät, benannt wie im Controller):

FunktionEinheitGeräte
Online0 / 1alle
Verbundene ClientsAnzahlalle (die damit verbundenen Clients)
BetriebszeitStundenalle
CPU-Auslastung, Speicherauslastung%alle
Client-Download / Client-UploadMbit/sSwitch, Access Point
PoE-LeistungWPoE-Switch
Internet, Download, Upload je WAN-Port0 / 1, Mbit/sGateway

Der Client-Durchsatz eines Switches oder Access Points ist die Summe der Echtzeitaktivität der damit verbundenen Clients, wie der Controller sie meldet — nicht der Verkehr seines Uplinks.

Netzwerk-Client (ein Handy, ein Laptop…): eine Funktion Anwesenheit (presence-sensor, ja/nein). Der Wert ist 1, solange der Client verbunden ist, und fällt auf 0, sobald er länger als die Abwesenheitsverzögerung fehlt. Ein Controller, der nicht antwortet, lässt nie jemanden gehen: Die Anwesenheit wird nur bei einem erfolgreichen Auslesen bewertet. Hinzugefügte Clients bleiben im Tab „Entdecken“, auch wenn sie weg sind.

Alles ist nur lesbar: Die Befehle sind Aktionen (siehe unten), absichtlich nie Schalter, die ein Sprachassistent oder ein falscher Klick umlegen könnte.

Widget​

Omada-Netzwerk: Kacheln für die Clients (gesamt, WLAN, Kabel) und den Internet-Download und -Upload, dann der Zustand jedes WAN-Ports (mit seiner öffentlichen IP-Adresse), die Anzahl der Omada-Geräte online und die Namen der Geräte, die offline sind. Es zeigt das letzte Auslesen und aktualisiert sich damit.

Szenen-Auslöser​

AuslöserFilterVariablen
Neuer unbekannter Netzwerk-ClientVerbindung (WLAN / Kabel), SSID, GastnetzwerkName, MAC-Adresse, IP-Adresse, SSID, Verbindung, verbunden mit
Omada-Gerät offlineGerät, Typ (Gateway, Switch, Access Point)Gerätename, Modell, Typ
WAN weg oder zurückÄnderung (Internet weg / zurück), GatewayÄnderung, WAN-Port, Gateway, WAN-IP-Adresse
  • Neuer unbekannter Client löst bei einer MAC-Adresse aus, die noch nie auf der Site war. Das erste Auslesen nach der Installation lernt nur die vorhandenen Clients; die bekannten MAC-Adressen werden in /data gespeichert (nur MAC-Adressen, sonst nichts).
  • Gerät offline deckt alle Omada-Geräte der Site ab, auch die nicht zu Gladys hinzugefügten, und liefert ihren Namen für die Benachrichtigung.
  • Nur Übergänge lösen aus: Ein Neustart von Gladys, der Integration oder des Controllers löst nie etwas aus.

Befehle​

Nur im Open-API-Modus, jeder in der Konfiguration eingeschaltet. Als Knöpfe im Konfigurationsbildschirm und als Szenen-Aktionen verfügbar:

  • PoE eines Switch-Ports: Wähle den Switch, die Portnummer und ein / aus. Der Port bekommt im Controller eine Profilüberschreibung, weil sich das PoE eines Ports, der seinem Profil folgt, nicht ändern lässt. Achtung: Wenn du das PoE abschaltest, geht aus, was am Port hängt — eine Überwachungskamera, ein Access Point, ein Telefon. Nutze es nur für das, was du wirklich ausschalten willst (einen Access Point nachts, ein Gerät zum Neustarten), nie für eine Kamera, die das Haus schützt.
  • Ein Omada-Gerät neu starten: Das Gerät ist ein paar Minuten offline.
  • Eine SSID ein- oder ausschalten: Gib den Netzwerknamen ein (z. B. Gäste); er wird auf allen Access Points, die ihn senden, ein- oder ausgeschaltet.

Jeder Befehl schreibt eine Zeile in die Protokolle der Integration.

Szenenbeispiele​

  • Niemand zu Hause: Wenn die Anwesenheit aller Handys 0 ist, das Haus auf abwesend stellen, das Licht ausschalten, die Alarmanlage scharf schalten.
  • Gäste-WLAN nach Zeitplan: jeden Tag um 8:00 die Szenen-Aktion Eine SSID ein- oder ausschalten → Gäste, ein; um 23:00 aus.
  • Internet weg: Auslöser WAN weg oder zurück, Änderung Internet weg → eine Nachricht senden „{{triggerEvent.data.port_name}} hat kein Internet mehr“.
  • Eindringling im WLAN: Auslöser Neuer unbekannter Netzwerk-Client, SSID Zuhause → eine Nachricht mit {{triggerEvent.data.name}} und {{triggerEvent.data.ip}} senden.
  • Access Point nachts aus: um 0:30 PoE eines Switch-Ports aus für den Port des Garten-Access-Points; um 7:00 ein.

Fehlerbehebung​

  • „Zertifikat abgelehnt“: Schalte Selbstsigniertes Zertifikat akzeptieren ein.
  • „Zugangsdaten abgelehnt“: Prüfe Client-ID und Secret (Open API) oder Benutzername und Passwort (lokales Konto). Eine im Controller gelöschte oder geänderte Open-API-Anwendung bekommt ein neues Secret.
  • „Site nicht gefunden“: Die Meldung listet die Sites, die mit diesen Zugangsdaten sichtbar sind; übernimm den Namen.
  • „Zugriff verweigert“: Gib der Open-API-Anwendung (oder dem Konto) Zugriff auf die Site; für die Befehle eine Rolle, die die Site ändern darf.
  • „antwortet nicht wie ein Omada-Controller“: Prüfe den Port (8043 für den Software Controller) und ob die Open API vorhanden ist (Controller 5.9 oder neuer).
  • Ein Befehl meldet einen Fehler auf einem Switch: Manche Switches (Agile-Serie) lehnen den PoE-Befehl der Open API ab; die Meldung des Controllers wird angezeigt.
  • Mehr Details: Setze die Umgebungsvariable LOG_LEVEL auf debug. Die Protokolle enthalten nie ein Geheimnis.

Grenzen​

  • Ohne die Hardware entwickelt: Die Form der Anfragen stammt aus dem Zugriffsleitfaden der Open API und aus Clients, die mit echten Controllern laufen; Rückmeldungen aus der Praxis sind willkommen.
  • Der Modus mit lokalem Konto liest nur: Die Befehle brauchen die Open API.
  • Die Anwesenheit folgt dem WLAN: Ein Handy, das im Tiefschlaf länger als die Verzögerung aus dem WLAN geht, gilt als abwesend. Erhöhe die Verzögerung bei Bedarf.
  • Handys mit einer privaten (zufälligen) MAC-Adresse pro Netzwerk sind in jedem Netzwerk, dem sie beitreten, ein neuer Client.
  • Der Client-Durchsatz eines Switches oder Access Points ist die Summe der Aktivität seiner Clients, kein Portzähler. Die WAN-Raten sind die, die der Controller meldet.
  • Die Funktionsnamen werden von Gladys beim Hinzufügen eines Geräts festgelegt: Ändere die Sprache, bevor du sie hinzufügst.
  • Ein WAN-Port des Gateways, der später erscheint (ein neues WAN), zeigt im Tab „Entdecken“ einen Knopf „Aktualisieren“.

Konfigurationseinstellungen​

Diese Einstellungen fragt TP-Link Omada in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Omada-ControllersectionNeinSoftware Controller, OC200 oder OC300. Empfohlen: die Open API (Controller 5.9 oder neuer), mit einer Anwendung, die du unter Globale Ansicht > Einstellungen > Plattformintegration > Open API im Client-Modus anlegst. Der Modus mit lokalem Konto liest nur.
Adresse des ControllersstringJaMit Port: 8043 für den Software Controller, keiner für einen OC200 oder OC300.
VerbindungsartselectJa
Client-ID der Open APIstringNein
Client-Secret der Open APIsecretNein
Benutzername des lokalen KontosstringNeinNur im Modus mit lokalem Konto: ein eigenes Administratorkonto des Controllers.
Passwort des lokalen KontossecretNein
SitestringNeinName der Omada-Site, wie im Controller angezeigt.
Selbstsigniertes Zertifikat akzeptierenbooleanNeinDer Controller hat ab Werk ein selbstsigniertes Zertifikat: Schalte das ein, außer du hast ein vertrauenswürdiges installiert.
Omada-ID (Cloud-Controller)stringNeinLeer lassen für einen lokalen Controller. Für einen Cloud-Controller: die Omada-ID seiner Open-API-Seite, mit seiner Open-API-Adresse oben.
Anwesenheit und AktualisierungsectionNeinDie Clients, die online sind, erscheinen im Tab „Entdecken“: Füge die Handys hinzu, die du verfolgen willst, jedes wird ein Anwesenheitssensor.
Netzwerk-Clients unter „Entdecken“ anbietenbooleanNein
Abwesenheitsverzögerung (Minuten)numberNeinWie lange ein Client weg sein muss, bevor er als abwesend gilt (Handys im Ruhemodus verlassen das WLAN eine Weile).
AktualisierungsintervallselectNein
Befehle (standardmäßig aus)sectionNeinNur im Open-API-Modus, mit einer Anwendung, die schreiben darf. Wenn du das PoE eines Ports abschaltest, geht aus, was daran hängt: eine Überwachungskamera, ein Access Point. Schalte nur ein, was deine Szenen brauchen.
PoE-Steuerung erlaubenbooleanNein
Neustarts erlaubenbooleanNein
SSID-Steuerung erlaubenbooleanNein
Sprache der FunktionsnamenselectNeinGilt auch für die Meldungen der Integration. Die Namen werden beim Hinzufügen eines Geräts festgelegt.
  1. Öffne in Gladys Integrationen: TP-Link Omada erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-omada:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-omada.

TP-Link Omada benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

TP-Link Omada ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂