Hallo zusammen!
Heute schlage ich euch ein kleines Tutorial vor, um ein CSV aller historischen Werte eines Sensors herunterzuladen.
Dafür werden wir die HTTP-API von Gladys nutzen.
Schritt 1: HTTP-Client herunterladen
Ich empfehle Yaak.
Schritt 2: Token abrufen
Da die API von Gladys gesichert ist, müssen wir ein Token abrufen.
Erstellt eine neue Anfrage in Yaak mit der URL
Methode: POST
URL: http://IP_DEINER_GLADYS_INSTANZ/api/v1/login
Body Type: JSON
Body:
{
"email": "DEINE_EMAIL",
"password": "DEIN_PASSWORT"
}
Sende die Anfrage, du solltest ein « access_token » rechts erhalten, das ist das, was uns interessiert:
Schritt 3: Selector des Sensors abrufen, der dich interessiert
Methode: GET
URL: http://IP_DEINER_GLADYS_INSTANZ/api/v1/device
Kein Body
Im Tab « Auth » klicke auf « Bearer token » und kopiere dein access_token:
Sende die Anfrage, du solltest eine Antwort dieser Art erhalten:
Du kannst « Strg/Cmd + F » verwenden, um nach einem Gerät zu suchen.
Dann finde das Feld « selector » der « feature », die dich interessiert.
Das ist die eindeutige Kennung, die es uns ermöglicht, dieses Gerät abzufragen.
Schritt 4: Herunterladen des gesamten Historie dieses Geräts
Erstelle eine neue Anfrage in Yaak:
Methode: GET
URL: http://IP_DEINER_GLADYS_INSTANZ/api/v1/device_feature/aggregated_states
Params:
- interval: Die Dauer, die du in Minuten abrufen möchtest.
(Beispiel: Um die letzten Werte der letzten Stunde abzurufen, setze 60)
(Beispiel: Um die letzten Werte des Tages abzurufen, setze 1440, da 60*24)
- max_states: Die maximale Anzahl der Zustände, die du zurückgeben möchtest.
Wenn du die Vollständigkeit der Daten ohne Sampling möchtest, setze einen enormen Wert (z. B. 1000000000000)
- device_features: Die Liste der Feature-Selector, getrennt durch Kommas. Du kannst einen einzigen verwenden
In meinem Fall sieht es so aus:
Ich suche die letzten Werte des Jahres, mit allen Werten, für meinen Feuchtigkeitssensor.
Klicke auf « Save to file » rechts, um die Werte auf der Festplatte zu speichern.
Hinweis: Achte darauf, nicht die ganze Erde herunterzuladen, deine Gladys-Instanz muss das JSON im Speicher laden und wenn du alle Geräte deiner Instanz seit dem Anfang herunterlädst, kann das viel sein ![]()
Schritt 5: Konvertierung des JSON in CSV
Um das JSON in ein CSV zu konvertieren, das in jeder Analyse-Software (oder einfach in einer Excel-Tabelle) verwendet werden kann, habe ich die KI gebeten, eine kleine Website zu erstellen: https://device-json-to-csv.pages.dev/
Die Website ist einfach ein kleiner Client, der die Konvertierung automatisch clientseitig durchführt (nichts wird zu einem Server übertragen, du kannst sogar das HTML herunterladen, wenn du es lieber lokal bei dir hosten möchtest).
Fazit
Mit dieser Website erhältst du ein kleines CSV, das du nach Belieben nutzen kannst!
Beispiel bei mir mit einem Feuchtigkeitssensor:
Vergiss nicht, dass die gesamte Gladys-API hier dokumentiert ist: https://apidoc.gladysassistant.com/
Du kannst alles, was das Gladys-Frontend kann, über die API tun!
Zögere nicht, wenn du Fragen hast.







