Zum Hauptinhalt springen

Nightscout Smart-Home-Integration, kostenlos und Open Source

Nightscout-Integration für Gladys Assistant

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, oder http://192.168.1.20:1337 zuhause). 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:

FunktionWert
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 MesswertsMinuten seit dem letzten Wert
Außerhalb des Zielbereichs1, wenn der Wert außerhalb des Zielbereichs der Seite liegt
Akku des Uploadersder 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=debug fü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.

EinstellungTypPflichtfeldBeschreibung
So funktioniert essectionNeinKEIN 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-AdressestringJaDie Adresse deiner Seite, wie im Browser.
Zugriffstoken (empfohlen)secretNeinEin Token mit der Rolle readable: Nightscout, Admin-Werkzeuge, Neues Subjekt hinzufügen. Leer bei einer öffentlichen Seite.
API_SECRET (ohne Token)secretNeinNur ohne Token genutzt, gehasht gesendet. Es erlaubt auch Schreiben: Nimm lieber ein Lese-Token.
Glukose-EinheitselectJaEine Änderung fügt eine Funktion in der neuen Einheit hinzu: Aktualisiere das Gerät im Tab „Entdecken“.
AktualisierungsintervallselectJaWie oft Nightscout gelesen wird. Ein Sensor sendet alle 1 bis 5 Minuten einen Wert.
Ein Wert ist aktuell fürselectJaDanach werden Glukose und Trend nicht mehr als aktuell veröffentlicht, und kein Glukose-Auslöser startet.
Sprache der NamenselectJaSprache der Funktionsnamen (beim Hinzufügen eines Geräts festgelegt) und der Texte für Szenen.

So installierst du Nightscout in Gladys​

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

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 🙂