[phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
openhabforum.de • Berchnung von historischen Werten
Seite 1 von 1

Berchnung von historischen Werten

Verfasst: 21. Jun 2020 18:27
von shuo
Hallo zusammen,

ich möchte am 1sten eines Monates immer den Wert von 1sten vom Vormonat nehmen und daraus die Differenz errechnen (effektiver Verbrauch pro Monat)

Ich habe benutze rrdj.

Eine Idee wie ich das in einer Rule abdecken kann, bzw. wie ich auf historische Werte zugreifen kann?

Viele Grüße und Danke

Re: Berchnung von historischen Werten

Verfasst: 21. Jun 2020 19:40
von udo1toni
Sofern das Item persistiert ist, steht mit historicState(time,service) eine entsprechende Funktion zur Verfügung.

Gesendet von meinem SM-G973F mit Tapatalk


Re: Berchnung von historischen Werten

Verfasst: 22. Jun 2020 12:58
von shuo
Danke Udo. Da bin ich auch darüber gestolpert, aber soweit ich das verstanden habe, kann ich nur von heute Minuten, Tage oder Stunden abziehen.

Aber es sind ja mal 30 oder mal 31 Tage...Gibt es eine möglichkeit den Wert eines Datums zu erfragen?

Re: Berchnung von historischen Werten

Verfasst: 22. Jun 2020 13:11
von thomas_w
Das Thema RRD4J interessiert mich auch. Ich würde gerne eigene Abfragen auf RRD4J realisieren.
Allerdings findet ich nahezu nichts an Infos zu:
rrd4j rest api zugriff
https://community.openhab.org/t/query-r ... -api/29501

Danke für Tipps
Thomas

Re: Berchnung von historischen Werten

Verfasst: 22. Jun 2020 13:23
von PeterA
Könnte doch damit funktionieren:

https://www.openhab.org/docs/configurat ... tence.html

Code: Alles auswählen

<item>.deltaSince(AbstractInstant)	Gets the difference in value of the State of a given Item since a certain point in time

Re: Berchnung von historischen Werten

Verfasst: 22. Jun 2020 21:03
von udo1toni
Du kannst jedes beliebige Datum erzeugen, z.B. mit

Code: Alles auswählen

val Datetime dt = new Datetime(year,month,day,hour,minute,second)
wobei alle Werte vom Typ integer sind.
Es reicht also, hour, minute und second auf 0 zu setzen, um auf Mitternacht zu kommen, day auf 1 für den Monatsersten sowie year auf das aktuelle Jahr oder auf das aktuelle Jahr minus eins, falls der aktuelle Monat eins ist, und schließlich den aktuellen Monat minus eins, (oder zwölf, falls der aktuelle Monat eins ist)