Zum Hauptinhalt springen

NetAlertX Smart-Home-Integration, kostenlos und Open Source

NetAlertX-Integration für Gladys Assistant

Wer ist in deinem Netzwerk: Anwesenheit jedes Geräts, Alarm bei einem unbekannten neuen Gerät.

Wisse in Gladys, wer in deinem Netzwerk ist. NetAlertX (ehemals Pi.Alert) scannt dein Netzwerk und führt die Liste aller Geräte, die es gesehen hat. Diese Integration bringt diese Liste nach Gladys: die Anwesenheit der Handys, Computer und anderen Geräte, denen du folgen willst, Zähler für das ganze Netzwerk und vor allem einen Szenen-Auslöser, wenn sich ein unbekanntes Gerät verbindet.

Typische Anwendungen: auf dem Handy benachrichtigt werden, wenn ein Gerät, das niemand kennt, dem WLAN beitritt, jemanden als zu Hause markieren, wenn sein Handy im Netzwerk ist, einen Alarm bekommen, wenn das NAS oder eine Kamera aus dem Netzwerk verschwindet, auf dem Dashboard auf einen Blick sehen, welche neuen Geräte noch zu bestätigen sind.

Gegen ein echtes NetAlertX getestet (26.10.0, in Docker), noch nicht in einer echten Installation: Rückmeldungen willkommen. Die Integration wurde gegen die echte API von NetAlertX geprüft (Geräte, die kommen und gehen, ein neues Gerät, „als bekannt markieren“), aber noch nicht mit einem echten Gladys und einem echten Heimnetz. Erzähl uns im Gladys-Forum, wie sie sich bei dir verhält.

Was du bekommst​

  • Ein Gerät NetAlertX-Netzwerk, die Übersicht des ganzen Netzwerks:

    FunktionTyp in GladysZeigt
    Geräte onlineZähler (ganzzahlig)Geräte, die beim letzten NetAlertX-Scan da waren
    Geräte offlineZähler (ganzzahlig)Geräte, die beim letzten Scan fehlten
    Neue GeräteZähler (ganzzahlig)Geräte, die NetAlertX als neu markiert (noch nicht bestätigt)
    AusfallalarmeZähler (ganzzahlig)Offline-Geräte, bei denen Alert Down in NetAlertX aktiv ist
  • Ein Gerät pro Netzwerkgerät, dem du folgen willst (alle Geräte von NetAlertX werden im Tab „Entdecken“ vorgeschlagen, archivierte ausgenommen):

    FunktionTyp in GladysZeigt
    AnwesenheitAnwesenheitssensor (ja/nein)„Anwesenheit erkannt“, solange NetAlertX es im Netz sieht
    IP-AdresseTextseine letzte IP-Adresse
    Zuletzt gesehenTextwann NetAlertX es zuletzt gesehen hat, in der Zeit von Gladys
  • Ein Dashboard-Widget, Netzwerküberwachung: Geräte online, neue Geräte und ausgefallene Geräte, mit einer Schaltfläche Bekannt für die neuen.

  • Vier Szenen-Auslöser (Ein neues Gerät tritt dem Netzwerk bei, Ein Gerät verlässt das Netzwerk, Ein Gerät ist zurück im Netzwerk, Ein überwachtes Gerät ist ausgefallen) und eine Szenen-Aktion, Gerät als bekannt markieren (NetAlertX).

Voraussetzungen​

  • Gladys Assistant 5.1.0 oder neuer (Widgets, Szenen-Auslöser und -Aktionen).
  • Ein laufendes NetAlertX, das Gladys im lokalen Netzwerk erreicht. Die Integration liest seine API (den „GraphQL“-Server, standardmäßig Port 20212, Einstellung GRAPHQL_PORT), nicht die Weboberfläche (Port 20211). NetAlertX 26.x wurde getestet; jede Version mit API-Token und GraphQL-API (ab 2024) sollte funktionieren.
  • Das API-Token von NetAlertX: in seiner Weboberfläche Settings → General → API token (Einstellung API_TOKEN, es beginnt mit t_).
  • Sonst nichts: keine Cloud, kein Konto. NetAlertX scannt, die Integration liest nur die Ergebnisse.

Konfiguration​

Einstellungen​

  1. Installiere die Integration (Integrationen → Von GitHub installieren, Adresse https://github.com/guim31/gladys-netalertx) und öffne dann ihren Tab Konfiguration.
  2. API-Adresse: die IP-Adresse oder der Name des NetAlertX-Servers, z. B. 192.168.1.10. Ohne Port wird 20212 verwendet; ergänze :Port, wenn du GRAPHQL_PORT geändert hast, und https://, wenn die API hinter einem Reverse-Proxy liegt.
  3. API-Token: Füge das API_TOKEN von NetAlertX ein.
  4. Leseintervall: wie oft die Integration die Geräteliste liest (standardmäßig 1 Minute). NetAlertX selbst scannt standardmäßig alle 5 Minuten (ARPSCAN_RUN_SCHD): Häufigeres Lesen sieht einen Scan nur früher.
  5. Sprache der Namen: Sprache der Namen neuer Geräte und ihrer Funktionen, der Meldungen und der Daten (standardmäßig Französisch).
  6. Speichere. Der Verbindungsstatus wird grün, und die Geräte erscheinen im Tab Entdecken.

Konfigurationsaktionen​

  • Verbindung testen: liest NetAlertX einmal und sagt, wie viele Geräte es kennt, wie viele online und wie viele neu sind.
  • Alle neuen Geräte als bekannt markieren: Direkt nach der Installation von NetAlertX ist jedes Gerät „neu“. Diese Aktion entfernt die Markierung bei allen auf einmal, damit nur später hinzukommende Geräte als neu zählen (im Zähler, im Widget und im Auslöser).

Geräte auswählen​

Füge im Tab Entdecken das Gerät NetAlertX-Netzwerk für die Zähler hinzu und die Geräte, denen du einzeln folgen willst (Handys, Computer, Server, Kameras…). Die anderen bleiben in NetAlertX: Die Auslöser funktionieren für jedes Gerät von NetAlertX, ob in Gladys angelegt oder nicht.

Geräte​

  • Anwesenheit folgt dem „beim letzten Scan anwesend“ von NetAlertX: Der Wert ändert sich bei dem Scan, der das Gerät gehen oder zurückkommen sieht, ohne zusätzliche Verzögerung durch die Integration. Solange das Gerät anwesend ist, wird „anwesend“ bei jedem NetAlertX-Scan erneut veröffentlicht, damit die Szenen-Aktion Anwesenheit von Benutzern überprüfen von Gladys das Gerät als kürzlich gesehen erkennt (siehe die Szenen-Beispiele).
  • IP-Adresse und Zuletzt gesehen sind Texte, aktualisiert, wenn sie sich ändern. Das Datum kommt von NetAlertX und wird in der Zeitzone von Gladys angezeigt.
  • Die Namen sind die, die NetAlertX anzeigt (stelle sie in NetAlertX ein, bevor du das Gerät hinzufügst: Der Name wird beim Anlegen in Gladys festgelegt). Ein Gerät ohne Namen zeigt seinen Hersteller und das Ende seiner MAC-Adresse oder seine MAC-Adresse.
  • Die vier Zähler von NetAlertX-Netzwerk haben einen Verlauf: Ein Diagramm zeigt, wie viele Geräte im Laufe des Tages online waren.

Dashboard-Widget​

Netzwerküberwachung zeigt drei Kacheln (Geräte online, neue Geräte, ausgefallene Geräte), dann die Liste der neuen Geräte (mit ihrer IP-Adresse oder „offline“) und der ausgefallenen Geräte, höchstens zehn Zeilen. Jedes der ersten vier neuen Geräte bekommt eine Schaltfläche Bekannt, die es in NetAlertX als bekannt markiert. Gibt es nichts zu melden, sagt das eine kurze Zeile.

Szenen-Auslöser​

AuslöserLöst aus, wennFilterWeitergegebene Informationen
Ein neues Gerät tritt dem Netzwerk beiNetAlertX ein Gerät zum ersten Mal sieht, als neu markiertkeinerName, MAC-Adresse, Hersteller, IP-Adresse
Ein Gerät verlässt das Netzwerkein beim vorherigen Scan gesehenes Gerät beim letzten fehltGerät (leer: jedes)Name, MAC-Adresse, IP-Adresse
Ein Gerät ist zurück im Netzwerkein beim vorherigen Scan fehlendes Gerät wieder gesehen wirdGerät (leer: jedes)Name, MAC-Adresse, IP-Adresse
Ein überwachtes Gerät ist ausgefallenein Gerät mit aktiviertem Alert Down in NetAlertX offline gehtGerät (leer: jedes)Name, MAC-Adresse, IP-Adresse, zuletzt gesehen

Das allererste Lesen nach der Installation zeichnet nur das Netzwerk auf: kein Auslöser für die schon vorhandenen Geräte. Die Integration merkt sich die zuletzt gelesene Liste (unter /data): Ein Neustart kündigt nicht alle Geräte erneut an und verpasst nicht, was sich in der Zwischenzeit geändert hat. Höchstens 20 Ereignisse gehen pro Lesevorgang raus, die weiteren bei den nächsten; ein Ereignis, das Gladys nicht annehmen konnte (während eines Neustarts), wird beim nächsten Lesen erneut gesendet.

Szenen-Aktionen​

  • Gerät als bekannt markieren (NetAlertX): entfernt die Markierung „neu“ eines Geräts in NetAlertX, wie das Kästchen New Device auf seiner Geräteseite. Das Feld MAC-Adresse akzeptiert Szenen-Variablen: Füge nach dem Auslöser Ein neues Gerät tritt dem Netzwerk bei seine MAC-Adresse ein. Die Aktion gibt Erledigt (1 = ja) zurück; bei einem unbekannten Gerät oder unerreichbarem NetAlertX schlägt die Aktion fehl und die Szene läuft weiter.

Szenen-Beispiele​

  • Unbekanntes Gerät im WLAN: Auslöser Ein neues Gerät tritt dem Netzwerk bei → Aktion Nachricht senden: „Neues Gerät im Netzwerk: {Name} ({Hersteller}, {IP})“. Füge am Ende Gerät als bekannt markieren mit der MAC-Adresse hinzu, wenn du es direkt bestätigst (sonst wird es ohnehin nur einmal gemeldet: Der Auslöser kommt nur bei seinem ersten Auftauchen).
  • Jemand ist zu Hause: Auslöser „Ein Gerät ändert seinen Zustand“ auf der Anwesenheit seines Handys (gleich 1) → Aktion Benutzer zu Hause gesehen. Eine zweite Szene, alle 10 Minuten ausgeführt, macht Anwesenheit von Benutzern überprüfen mit seinem Handy und 15 Minuten: Gladys markiert ihn als abwesend, sobald NetAlertX es nicht mehr sieht.
  • Das NAS ist ausgefallen: Aktiviere Alert Down für das NAS in NetAlertX, dann Auslöser Ein überwachtes Gerät ist ausgefallen (Gerät: das NAS) → Nachricht „Das NAS hat das Netzwerk verlassen (zuletzt gesehen {zuletzt gesehen})“.

Fehlerbehebung​

  • „NetAlertX lehnt das API-Token ab“: Kopiere das Token erneut aus Settings → General → API token. Wenn du in NetAlertX ein neues Token erzeugst, aktualisiere es hier.
  • „Diese Adresse antwortet nicht wie die NetAlertX-API“: Die Adresse zeigt auf die Weboberfläche (20211) oder einen anderen Dienst. Nimm den API-Port, standardmäßig 20212 (GRAPHQL_PORT).
  • „NetAlertX antwortet nicht“: Prüfe, ob Gladys den NetAlertX-Server und seinen Port erreicht (Firewall, veröffentlichter Docker-Port). Mit NetAlertX in Docker im Host-Netzwerk lauscht die API auf der Adresse des Hosts.
  • Ein Handy erscheint offline, obwohl es zu Hause ist: Handys im WLAN-Ruhezustand antworten nicht immer auf den ARP-Scan, und neuere Handys nutzen pro Netzwerk eine private (zufällige) MAC-Adresse. Schalte die private Adresse für dein Heim-WLAN aus und sieh dir die Einstellungen zu schlafenden Geräten in NetAlertX an.
  • Alle Geräte sind „neu“: So startet NetAlertX. Führe einmal Alle neuen Geräte als bekannt markieren aus.
  • Protokolle: Die Integration schreibt nur die wichtigen Ereignisse (NetAlertX verloren und zurück, Geräte, die gehen, zurückkommen, neue Geräte). Setze LOG_LEVEL=debug am Container, um jeden Lesevorgang zu sehen.

Grenzen​

  • Die Integration liest NetAlertX; sie scannt selbst nichts. Die Anwesenheit ist nur so aktuell wie die Scans von NetAlertX (standardmäßig alle 5 Minuten).
  • Zuletzt gesehen nimmt an, dass die Daten von NetAlertX in UTC sind, wie in NetAlertX 26.x. Ältere Versionen speicherten die Ortszeit: Die Uhrzeit kann dann verschoben sein.
  • Ein Gerät mit „Alert Down“, das NetAlertX schlafen lässt („Can sleep“), löst trotzdem Ein überwachtes Gerät ist ausgefallen aus, wenn es verschwindet: Die Integration liest das Schlaffenster nicht.
  • Höchstens 500 Geräte werden im Tab „Entdecken“ vorgeschlagen. Archivierte Geräte werden ignoriert.
  • Der Gerätefilter der Auslöser listet die in Gladys angelegten Geräte; lass ihn leer, um auf jedes Gerät von NetAlertX zu reagieren.
  • Nicht mit NetAlertX verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt NetAlertX in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein NetAlertXsectionNeinNetAlertX scannt dein Netzwerk und führt die Liste seiner Geräte. Kopiere in NetAlertX das API-Token aus Einstellungen → General (API token). Die Integration liest die API, standardmäßig auf Port 20212 (GRAPHQL_PORT), nicht die Weboberfläche auf 20211.
API-AdressestringJaIP-Adresse oder Name des NetAlertX-Servers, mit :Port, wenn die API nicht auf 20212 läuft, und https:// hinter einem Reverse-Proxy.
API-TokensecretJaDie Einstellung API_TOKEN von NetAlertX (beginnt mit t_).
LeseintervallselectNeinWie oft die Geräteliste von NetAlertX gelesen wird. NetAlertX selbst scannt standardmäßig alle 5 Minuten.
Sprache der NamenselectNeinNamen für neue Geräte und ihre Funktionen (Anwesenheit, IP-Adresse…) sowie Sprache der Meldungen und Daten.

So installierst du NetAlertX in Gladys​

  1. Öffne in Gladys Integrationen: NetAlertX 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-netalertx:1.0.0) 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-netalertx.

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

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