Nightscout Smart-Home-Integration, kostenlos und Open Source

Deine Nightscout-Glukose in Gladys: Wert, Trend, Alarme. Nur lesend. Kein Medizinprodukt.
KEIN MEDIZINPRODUKT. Diese Integration ist eine Bequemlichkeit für zuhause: Die Integration überträgt nach Gladys, was deine Nightscout-Seite zeigt. Nutze sie nie, um über eine Behandlung oder eine Dosis zu entscheiden. Werte und Alarme der Integration können verspätet, falsch sein oder fehlen (Netzwerk, Telefon, Sensor, Neustart von Gladys…). Behalte die Alarme deines Sensors, deiner Pumpe oder deiner Follow-App: Auf sie kommt es an.
Nightscout ist die freie, selbst gehostete Seite, an die ein kontinuierlicher Glukosesensor (Dexcom, FreeStyle Libre, Medtronic… über xDrip+, AndroidAPS, Loop, Spike und andere) seine Werte sendet. Diese Integration liest deine Seite und bringt nach Gladys die aktuelle Glukose, ihren Trend und das Alter des letzten Werts, Szenen-Auslöser für hohe und niedrige Werte, schnelle Änderungen und fehlende Daten, eine Szenen-Aktion, um die Glukose in eine Nachricht zu setzen, und ein Dashboard-Widget mit der Kurve der letzten drei Stunden.
Nur lesend: Gladys schreibt nie in Nightscout. Deine Seite kann zuhause oder bei einem Hoster laufen (das Abzeichen des Geräts zeigt „lokal“ oder „Cloud“).
Getestet mit einem echten Nightscout in Docker (15.0.8, mit MongoDB), gefüttert mit simulierten Werten: ein schneller Abfall, hohe und niedrige Werte, fehlende Daten, mit einem Zugriffstoken, mit dem API_SECRET und auf einer öffentlichen Seite. Ohne die Hardware entwickelt: Rückmeldungen sind willkommen in den Issues.
Was du brauchst
- Gladys Assistant 5.1.0 oder neuer.
- Eine von Gladys erreichbare Nightscout-Seite (Version 14 oder 15), die die Werte eines Sensors erhält.
- Zum Lesen: ein Zugriffstoken mit der Rolle
readable(empfohlen), oder das API_SECRET der Seite, oder nichts bei einer öffentlichen Seite.
Einrichtung
1. Ein Lese-Zugriffstoken anlegen
Öffne in Nightscout das Menü, Admin-Werkzeuge, dann Neues Subjekt
hinzufügen: Gib ihm einen Namen (gladys) und die Rolle readable,
speichere. Kopiere das in der Liste angezeigte Token
(gladys-0123456789abcdef). Ein Token kann nur lesen, anders als das
API_SECRET, das auch Schreiben erlaubt.
2. Die Integration konfigurieren
In Gladys, Integrationen → Nightscout → Konfiguration:
- Nightscout-Adresse: die Adresse deiner Seite, wie im Browser
(
https://meine-seite.example.org, oderhttp://192.168.1.20:1337zuhause). Eine kopierte Adresse mit?token=…geht auch. - Zugriffstoken (empfohlen): das Token aus Schritt 1. Leer bei einer öffentlichen Seite.
- API_SECRET (ohne Token): nur, wenn du kein Token hast. Es wird gehasht gesendet und nie in die Protokolle geschrieben.
- Glukose-Einheit: wie in Nightscout (Standard), mg/dL oder mmol/L.
- Aktualisierungsintervall: 1 Minute (Standard), 2 oder 5 Minuten.
- Ein Wert ist aktuell für: standardmäßig 15 Minuten. Danach wird die Glukose nicht mehr als aktuell veröffentlicht, und kein Glukose-Auslöser startet.
- Sprache der Namen: die Sprache der Funktionsnamen und der Sätze für Szenen.
Speichere, dann Verbindung testen: Gladys antwortet mit der Version der Seite, ihrem Zielbereich und der letzten Glukose.
3. Das Gerät hinzufügen
Füge im Tab Entdecken das Nightscout-Gerät hinzu. Auslöser, Szenen-Aktion und Widget funktionieren auch, wenn du es nicht hinzufügst.
Das Gerät
Ein Gerät für die Seite, mit diesen Funktionen:
| Funktion | Wert |
|---|---|
| Glukose (mg/dL) oder Glukose (mmol/L) | der letzte aktuelle Wert |
| Änderung in 5 Min. (mg/dL) oder Änderung in 5 Min. (mmol/L) | die Änderung seit dem vorigen Wert, auf 5 Minuten umgerechnet |
| Trend (1 ↑↑, 4 →, 7 ↓↓) | 1 schnell steigend … 4 stabil … 7 schnell fallend, 8-9 unbekannt |
| Trendpfeil | ↑↑ ↑ ↗ → ↘ ↓ ↓↓ |
| Alter des Messwerts | Minuten seit dem letzten Wert |
| Außerhalb des Zielbereichs | 1, wenn der Wert außerhalb des Zielbereichs der Seite liegt |
| Akku des Uploaders | der Akku des Telefons oder Uploaders, wenn die Seite ihn meldet |
Die Trendnummern sind die der Integrationen Dexcom und LibreLinkUp: Deine Szenen lesen sich gleich. Eine Änderung der Einheit fügt eine Funktion in der neuen Einheit hinzu: Aktualisiere das Gerät im Tab „Entdecken“, die alte Funktion behält ihren Verlauf.
Gesundheitsdaten: Standardmäßig wird kein Verlauf gespeichert. Du kannst ihn in Gladys für jede Funktion einschalten.
Dashboard
Das Widget Glukose zeigt die Glukose, gefärbt nach dem Zielbereich der Seite (grün im Ziel, orange niedrig oder hoch, rot dringend), den Pfeil und die Änderung, das Alter des Werts und die Kurve der letzten drei Stunden. Ist kein Wert aktuell, sagt es eine Zeile. Aktualisieren liest Nightscout sofort.
Szenen
Auslöser
Jeder Auslöser hat ein optionales Feld Gerät (leer: alle). Die Glukose-Auslöser starten nur bei einem aktuellen Wert, gelesen im gewählten Intervall.
- Glukose niedrig: unter der unteren Zielgrenze von Nightscout, 70 oder 80 mg/dL. Einmal pro Unterschreitung; erneut nach einem Wert 5 mg/dL darüber oder nach einer Datenlücke.
- Glukose sehr niedrig: unter „dringend niedrig“ von Nightscout oder 54 mg/dL.
- Glukose hoch: über der oberen Zielgrenze von Nightscout, „dringend hoch“, 180, 250 oder 300 mg/dL. Einmal pro Überschreitung; erneut nach einem Wert 5 mg/dL darunter.
- Glukose wieder im Zielbereich: zurück im Zielbereich der Seite (5 mg/dL innerhalb) nach einem Wert außerhalb.
- Glukose steigt schnell / Glukose fällt schnell: Der Trend erreicht ↑ oder ↑↑ (oder nur ↑↑), ↓ oder ↓↓ (oder nur ↓↓). Einmal, bis der Trend wieder stabil ist.
- Messwert zu alt: kein neuer Wert seit 15 Minuten, 30 Minuten, 1, 2 oder 4 Stunden (Sensor, Telefon, Uploader oder Nightscout antwortet nicht).
Variablen: der Gerätename, die Glukose und ihre Einheit, Trendnummer und Trendpfeil, die Änderung in 5 Minuten, die Zeit des Werts (UTC); bei „zu alt“ die Minuten ohne Wert.
Die Schwellen von Nightscout sind die seiner Einstellungen
(BG_TARGET_BOTTOM, BG_TARGET_TOP, BG_LOW, BG_HIGH), bei jeder
Aktualisierung neu gelesen.
Aktionen
- Glukose lesen: liest Nightscout und gibt den nächsten Aktionen die
Glukose, ihre Einheit, den Trend, den Pfeil, die Änderung, das Alter in
Minuten, ob sie aktuell ist, ob sie außerhalb des Zielbereichs liegt, die Zeit
des Werts und einen fertigen Satz:
Glukose 142 mg/dL → +3, vor 4 Min..
Szenen-Ideen
- Nachts, Glukose sehr niedrig → das Schlafzimmerlicht auf 30 % schalten
und den Eltern eine Telegram-Nachricht mit
{{triggerEvent.data.glucose}}senden. - Messwert zu alt (30 Minuten) → eine Benachrichtigung „Sensor und Telefon prüfen“.
- Ein Knopf im Dashboard → Glukose lesen → den Satz auf dem Lautsprecher im Wohnzimmer ansagen.
Fehlerbehebung
- Zugriff verweigert: Das Token ist falsch oder seine Rolle darf nicht lesen; beim API_SECRET prüfe, ob es das der Seite ist (mindestens 12 Zeichen).
- Kein Nightscout unter dieser Adresse: Prüfe die Adresse im Browser; eine
Seite in einem Unterordner braucht ihren Pfad (
https://example.org/ns). - Die Adresse leitet um: Gib die
https://-Adresse ein. - Nightscout antwortet mit einem Fehler: Seine Datenbank (MongoDB) ist gestoppt oder voll.
- Kein aktueller Wert: Sensor, Telefon oder Uploader-App senden nicht mehr; Nightscout zeigt dasselbe.
- Mehr Details: Setze
LOG_LEVEL=debugfür die Integration. Die Protokolle zeigen nie das Token, das Secret oder einen Glukosewert.
Grenzen
- KEIN MEDIZINPRODUKT: keine Garantie für Verzögerung oder Zustellung.
- Eine Nightscout-Seite pro Integration.
- Gelesen im Aktualisierungsintervall (bestenfalls 1 Minute): Ein Auslöser kann eine Minute oder mehr nach dem Alarm von Nightscout kommen.
- Nicht gelesen: aktives Insulin, aktive Kohlenhydrate, Details von Pumpe und Loop, Behandlungen.
- Die angebotenen Schwellen in mg/dL sind feste Werte; die von Nightscout folgen deiner Seite.
- Inoffizielle Integration, ohne Verbindung zum Nightscout-Projekt.
Konfigurationseinstellungen
Diese Einstellungen fragt Nightscout in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| So funktioniert es | section | Nein | KEIN MEDIZINPRODUKT: nie für eine Therapieentscheidung nutzen; Werte und Alarme können verspätet sein oder fehlen. Gladys liest deine Nightscout-Seite, nur lesend: Glukose, Trend und Alter auf einem Gerät (Tab „Entdecken“). Standardmäßig ohne Verlauf. |
| Nightscout-Adresse | string | Ja | Die Adresse deiner Seite, wie im Browser. |
| Zugriffstoken (empfohlen) | secret | Nein | Ein Token mit der Rolle readable: Nightscout, Admin-Werkzeuge, Neues Subjekt hinzufügen. Leer bei einer öffentlichen Seite. |
| API_SECRET (ohne Token) | secret | Nein | Nur ohne Token genutzt, gehasht gesendet. Es erlaubt auch Schreiben: Nimm lieber ein Lese-Token. |
| Glukose-Einheit | select | Ja | Eine Änderung fügt eine Funktion in der neuen Einheit hinzu: Aktualisiere das Gerät im Tab „Entdecken“. |
| Aktualisierungsintervall | select | Ja | Wie oft Nightscout gelesen wird. Ein Sensor sendet alle 1 bis 5 Minuten einen Wert. |
| Ein Wert ist aktuell für | select | Ja | Danach werden Glukose und Trend nicht mehr als aktuell veröffentlicht, und kein Glukose-Auslöser startet. |
| Sprache der Namen | select | Ja | Sprache der Funktionsnamen (beim Hinzufügen eines Geräts festgelegt) und der Texte für Szenen. |
So installierst du Nightscout in Gladys
- Öffne in Gladys Integrationen: Nightscout erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-nightscout:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-nightscout.
Nightscout 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
Nightscout 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.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation