Seite 1 von 1

[Solved]Historische Werte von InfluxDB funktionieren nicht

Verfasst: 2. Dez 2021 21:58
von g-wine
Hallo zusammen,
ich muss langsam an mir selbst zweifeln. Ich versuche in Rules mit historischen Werten der influxdb zu arbeiten. Ich möchte einfach nur mit deltaSince den Tagesverbrauch meines Stromzählers errechnen. Aber egal was ich für eine Zeitspanne eingebe, es kommt immer das gleiche raus (2950,213 und sollte 13 sein). In Grafana sehe ich die richtigen Werte.
Kann mir da jemand einen Tip geben was das Problem sein könnte?

Hier kommt was ich schon alles für Varianten verwendet habe:

Code: Alles auswählen

Items:
Number SmartM_TEST

Code: Alles auswählen

Rule:
SmartM_TEST.postUpdate(SmartMeterHaushalt_TotalConsumption.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT)))
SmartM_TEST.postUpdate(SmartMeterHaushalt_TotalConsumption.deltaSince(now.toLocalDate().atStartOfDay(now.getZone()), "influxdb"))
SmartM_TEST.postUpdate(SmartMeterHaushalt_TotalConsumption.deltaSince(now.minusDays(10)), "influxdb")
logInfo("Smartmeter.rules", "SmartM_TEST "+SmartM_TEST.state)

Code: Alles auswählen

Log:
2021-12-02 21:22:10.488 [INFO ] [b.core.model.script.Smartmeter.rules] - SmartM_TEST 2950.213
Vielen Dank vorab.

Viele Grüße
Kevin

Re: Historische Werte von InfluxDB funktionieren nicht

Verfasst: 2. Dez 2021 22:11
von int5749
?? Fehlt da etwas in Deiner Rule?
Denn wenn die 3 Regeln so hintereinander laufen, ist doch im SmartM_TEST immer der letzte Wert von vor 10 Tagen.

Oder ist dies ein willkürlicher Schnipsel?? Und es ist immer nur 1 der 3 Abfragen (wobei der erste auch nicht influx abfragt) aktiv?

Re: Historische Werte von InfluxDB funktionieren nicht

Verfasst: 2. Dez 2021 22:15
von g-wine
Danke für deine Antwort.
Natürlich ist die Rule so nicht in Betrieb. Ich habe nur die verschiedenen Varianten die ich schon probiert habe aufgezählt.
Wenn der letzte Wert von vor 10 Tagen wäre, wäre ich glücklich. Ist er aber nicht. Alle 3 Varianten haben ergeben -> 2950,213. Das korrekte Ergebnis ist laut Grafana 13.

Re: Historische Werte von InfluxDB funktionieren nicht

Verfasst: 2. Dez 2021 22:33
von int5749
Ich nutze die Werte in meiner InfluxDB derzeit nur in Grafana, hatte aber auch Probleme Daten gescheit aus meiner JDBC DB zu bekommen.

Derzeit frage ich diese mit new DateTimeType().zonedDateTime. ab.

Evtl. versuchst Du mal

Code: Alles auswählen

SmartM_TEST.postUpdate(SmartMeterHaushalt_TotalConsumption.deltaSince(new DateTimeType().zonedDateTime.MIDNIGHT), "influxdb"))
Kann ich leider nicht testen, da ich ich keine Energiewerte erfasse.

Re: Historische Werte von InfluxDB funktionieren nicht

Verfasst: 2. Dez 2021 22:43
von g-wine
Das bringt:

Code: Alles auswählen

Script execution of rule with UID 'smartmeter-4' failed: 'MIDNIGHT' is not a member of 'java.time.ZonedDateTime'; line 56, column 85, length 41 in smartmeter
Ich habe es testweise so geändert:

Code: Alles auswählen

SmartM_TEST.postUpdate(SmartMeterHaushalt_TotalConsumption.deltaSince(new DateTimeType().zonedDateTime.minusHours(22)), "influxdb")
das bringt das gleiche Ergebnis wie meine anderen Varianten.
Ich frage mich wie OpenHAB von 28353,69 auf 2952,919 kommt. Das erschließt sich mir nicht. In der Datenbank steht alles richtig. Alles geprüft.

Re: Historische Werte von InfluxDB funktionieren nicht

Verfasst: 3. Dez 2021 00:07
von g-wine
Alles klar... Es war einfach ein Bug in der 3.1
Ich habe jetzt aus Frust mal schnell auf 3.2m4 geupdatet und schon funktionieren alle Varianten.

Ich danke dir für deine Mühe!

Viele Grüße
Kevin