CheetahLab CheetahLab
DE EN

Modifikationen

Was ich am Gateway geändert habe — und warum jede Änderung einen Vorfall als Ursache hat.

Ab Werk ist ein Gateway stumm: Es funkt, und man erfährt davon nichts. Läuft es noch? Kommen Pakete an? Wie warm ist es im Gehäuse? Alles, was hier dazugekommen ist, beantwortet eine dieser Fragen — und jede Änderung hat einen Vorfall als Ursache, keinen Wunschzettel.

Gateway Forwarder + eigene Überwachung fremde Geräte Öffentlicher Netzwerkserver ausserhalb · sieht nur Chiffrat TTN und andere eigene Sensoren ChirpStack V4 eigener Netzwerkserver entschlüsselt die eigenen Werte Zustand MQTT-Broker Visualisierung, Alarm Home Assistant, EisBär eigenes Netz Das Gateway kann keine Nutzdaten lesen — der Schlüssel liegt beim Gerät und beim Netzwerkserver, nie dazwischen. Deshalb ist der eigene ChirpStack der Unterschied: Erst dort werden die eigenen Messwerte wieder zu Zahlen. Nötig ist er nicht: Wer keinen eigenen betreiben will, meldet seine Geräte bei The Things Network an — oder bei einem anderen Anbieter, frei oder bezahlt.
Drei Ziele, zwei Zuständigkeiten. Rechts der gestrichelten Linie bleibt alles im Haus.

Das Gateway spricht MQTT

Die grösste Erweiterung: Ein eigenes Überwachungsprogramm läuft neben dem Packet Forwarder und veröffentlicht laufend, was es sieht — auf meinen eigenen Broker, nicht in eine fremde Cloud.

Was dort ankommt, in vier Gruppen:

Die Home-Assistant-Anmeldung ist nebenbei entstanden. Das Gateway meldet sich dort von selbst an, statt dass man jeden Wert von Hand einträgt — das funktioniert, ich benutze es aber gar nicht: Meine Visualisierung läuft über EisBär, und der liest die Topics direkt. Der Teil fiel ab, weil die Werte ohnehin sauber benannt und beschrieben sein mussten. Wer Home Assistant einsetzt, bekommt ihn geschenkt.

Ein „Letzter Wille" für den Ausfall

Der wichtigste Zusatz ist der unauffälligste. Ein Gerät, das abstürzt, kann nicht mehr melden, dass es abgestürzt ist — genau dann bräuchte man die Meldung aber.

MQTT kennt dafür das Last Will and Testament: Man hinterlegt beim Verbinden eine Nachricht, die der Broker verschickt, wenn die Verbindung abreisst. Nicht das Gateway meldet seinen Tod, sondern der Broker meldet ihn stellvertretend. Ohne das bleibt der letzte Wert für immer auf „online" stehen, und die Anzeige sieht bestens aus, während das Gerät kalt ist.

Zähler, die einen Stillstand sichtbar machen

Ein Gateway, das nichts empfängt, sieht aus wie ein Gateway, das gerade nichts zu tun hat. Deshalb laufen Zähler mit: Sekunden seit der letzten Nachricht, Laufzeit des Forwarders, Anzahl seiner Neustarts. Erst diese Zahlen unterscheiden „ruhig" von „tot".

Neustart mit Bremse

Stürzt der Forwarder ab, startet er neu — aber nicht sofort und nicht endlos schnell. Die Wartezeit wächst von fünf Sekunden auf fünf Minuten. Ein Dienst, der sich sekündlich neu startet, erzeugt vor allem Protokoll und verdeckt die Ursache.

Dazu ein Wächter, der den Forwarder neu startet, wenn sich die öffentliche Adresse wirklich geändert hat — nicht bei jedem Zucken der Namensauflösung.

Anzeige und Leuchten

Auf dem OLED stehen Adresse, Zustand und Zähler. Die vier LEDs zeigen dasselbe im Vorbeigehen. Das klingt nach Spielerei, ist aber der schnellste Weg zur Antwort auf „läuft es noch?" — schneller als jede Anmeldung.

Und was dabei schiefging

Die ehrlichere Hälfte des Berichts. Eine Auswahl: