Seite 2 von 2
Re: influxdb und items hinzufügen
Verfasst: 26. Okt 2020 16:15
von peter-pan
HenryGondorff hat geschrieben: ↑26. Okt 2020 14:17
http://<RASP-IP>:8080/rest/persistence/items?serviceId=influxdb
Hallo,
hier noch meine 2 Cent.
Ich habe zwar "nur" mapdb als Persistence im Einsatz, deshalb sind meine Kenntnisse eher "marginal". Aber so wie ich REST Api verstehe wird deine Anfrage immer ins Leere laufen, da diese keinen Item-Namen enthält und der ist laut REST Api Doku Pflicht-Eingabe.
Ich habe das mal in der REST Api Doku so probiert, wie du es beschrieben hast (mit serviceId) und bekomme einen leeren Response Body ([]) zurück geliefert.
Das sieht dann so aus:
Code: Alles auswählen
Request URL
http://192.168.178.xxx:8080/rest/persistence/items?serviceId=mapdb
Wenn ich das Gleiche mit einem Item-Namen und der Service-Id mache, dann sieht das Ergebnis so aus:
Code: Alles auswählen
Request URL
http://192.168.178.xxx:8080/rest/persistence/items/Sonoff_socket_01?serviceId=mapdb
und der Response Body zeigt den folgenden JSON-String an:
Code: Alles auswählen
{
"name": "Sonoff_socket_01",
"datapoints": "1",
"data": [
{
"time": 1600887320997,
"state": "OFF"
}
]
}
Was das persistieren von Gruppen anbelangt, kannst du ja
hier mal rein schauen
Re: influxdb und items hinzufügen
Verfasst: 27. Okt 2020 20:26
von HenryGondorff
Hallo Peter-Pan,
wenn ich den Namen des Items mit angebe, sieht das Ergebnis bei mir ähnlich aus. Gibt es denn eine Möglichkeit über die REST API herauszufinden, welche Items überhaupt in der DB abgelegt sind?
Re: influxdb und items hinzufügen
Verfasst: 27. Okt 2020 21:37
von peter-pan
Sorry, wie gesagt ich habe nur "MapDB" im Einsatz und bisher noch keine Erfahrung mit anderen DB's. Aber wenn ich die Doku lese, müsste es eigentlich so sein, dass alle Items, die du in deiner xxxx.persist definiert hast auch in der DB sein sollten. Also bei einzelnen Items ist das ja klar. Bei Gruppen (gGruppe*) werden die Mitglieder der Gruppe gespeichert. Und wenn du den Wert der Gruppe speichern willst, musst du das Gruppen-Item als Item in der xxx.persist anlegen, also als Einzel-Item.
Ab welchem Zeitpunkt, die Speicherung erfolgt kann ich nicht sagen, das müsstest du mal testen. Ggf. mal ein bisschen warten bevor du per REST Api auf das Item zugreifst.
Du kannst ja gezielt in der Persist-Konfiguration einer bestimmten Datenbank ein Item anlegen, oder bei einer bereits angelegt Gruppe ein neues Mitglied hinzu fügen. Und danach (evtl. auch nach einem Neustart von OH) einfach einmal über die REST Api (mit ServiceID) nach dem Item suchen.
Edit:
Da fällt mir noch ein, dass es sicherlich möglich ist, bei einer "richtigen" Datenbank auch über eine Console entsprechende Abfragen (Kommandos/Queries) zu erstellen.