OpenHab2 gespeicherte Werte abrufen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
simon24j
Beiträge: 3
Registriert: 2. Nov 2018 16:21
Answers: 0

OpenHab2 gespeicherte Werte abrufen

Beitrag von simon24j »

Ich lese über Modbus TCP verschiedene Werte aus meinem Stromzähler aus und speichere diese mit hilfe von rrd4j Datenbank, es funktioniert auch wunderbar einen chart daraus zu erstellen, jetzt hätte ich gerne eine Funktion bei der ich das Datum und Uhrzeit eingeben kann und mir der zugehörige Wert z.B. Zählerstand angezeigt wird, leider weiß ich da in keinster weise wie ich das angehen kann.

Hoffe es kann mir jemand weiter helfen.
Dank euch schon mal

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: OpenHab2 gespeicherte Werte abrufen

Beitrag von udo1toni »

rrd4j dünnt die Werte mit der Zeit aus, das bedeutet, für die letzten Stunden hast Du eine minutengenaue Auflösung, aber je weiter Du in die Vergangenheit gehst, desto grober wird die Auflösung, also z.B. für die letztn 12 Monate nur noch ein Messwert pro Tag. Dabei werden die Werte als Durchschnittswerte gespeichert, also aus den Werten drumherum berechnet.

Die direkte Anzeige von historischen Werten ist so in openHAB nicht vorgesehen, aber natürlich machbar. Dazu brauchst Du ein Item für den konkreten Wert und ein weiteres Item, mit dem Du das Datum und die Zeit auswählst. Weil der Wertebereich hier schon "übel" ist, wird es vermutlich auf mehrere Items hinauslaufen. Damit das "Werteitem" dann den ausgewählten Wert anzeigt, brauchst Du noch eine Rule, die bei Änderung des/der "Auswahlitem(s)" triggert und dann über die Methode

Code: Alles auswählen

WerteItem.postUpdate(PersistiertesItem.historicState(AuswahlItem.state as Datetime,"rrd4j").state) 
den Wert aus der Persistence ausliest und im Werteitem speichert.
Dabei ist das ,"rrd4j" nur notwendig, wenn Du gezielt diese Persistence verwenden willst und eine andere Persistence als Default Persistence ausgewählt ist.
historicState bietet auch Maximum, Minimum, Avarage und Sum an, was aber für weit vergangene Werte nur funktioniert, wenn man ein Datenbank verwendet, die die Werte nicht ausdünnt, also z.B. MySQL oder InfluxDB, letztere macht dann erst recht Spaß, wenn man Grafana zur Anzeige verwendet.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten