Verhalten bei fehlenden Daten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
FrankW5300
Beiträge: 23
Registriert: 9. Mai 2023 10:07
Answers: 0

Verhalten bei fehlenden Daten

Beitrag von FrankW5300 »

Hallo,

ich habe ein kleines Problem mit dem Verhalten von OpenHab bei fehlenden Daten. Also konkretes Beispiel: Meine Heizung sendet auf Grund von Wartungsarbeiten, fehlender Internetverbindung oder ähnlichen keine Daten mehr an OpenHab, dann zeigt mit Openhab bei den entsprechenden Thinks einen Fehler an aber in den Graphiken (in der InfluxDB) wird immer noch der letzte funktionierende Wert weiter mitgeloggt.
Wie kann ich es erreichen, dass wenn keine neuen Daten vorliegen diese auch nicht geloggt werden? Quasi eine Lücke im Diagramm / Daten. Ich muss dazuschreiben, dass ich diese Daten konstant alle x Minuten speichere unabhängig vom Status.

Grüße
Frank
Openhab 4.3.4, InfluxDB v2.7.6, Grafana v11.0.0

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

Re: Verhalten bei fehlenden Daten

Beitrag von udo1toni »

Du schreibst es ja schon selbst... wenn Du den Wert zyklisch in die Datenbank schreibst, dann ist da halt auch ein Wert. Gewöhnlich sollte man bei InfluxDB einfach everyChange als Strategy nutzen, es sei den, man hat Werte, die nur extrem selten aktualisiert werden, dann möchte man evtl. zwischendurch Werte schreiben, damit man beim zoomen in ein Chart immer noch Daten hat.

InfluxDB benötigt nicht die Strategy everyMinute, die ist nur bei rrd4j notwendig (dort hat das mit der internen Funktionsweise zu tun)
Wenn Es um die grafische Ausgabe über Grafana geht, musst Du noch beachten, dass Du NULL-Werte nicht ausblenden darfst.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

FrankW5300
Beiträge: 23
Registriert: 9. Mai 2023 10:07
Answers: 0

Re: Verhalten bei fehlenden Daten

Beitrag von FrankW5300 »

naja, ich möchte ja nur, dass die Werte zu einen bestimmten Zeitpunkt in die Datenbank geschrieben werden. Wenn aber keine neuen Daten da sind sollten auch keine geschrieben werden. Ich hatte auch schon everyChange ausprobiert. Leider hat das nicht so gepasst, wenn Daten miteinander verknüpft werden sollen. Ein weiteres Problem ist bei everyChange die Unterscheidung: ist keine Änderung aufgetreten oder sind keine Daten geliefert worden.
Openhab 4.3.4, InfluxDB v2.7.6, Grafana v11.0.0

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

Re: Verhalten bei fehlenden Daten

Beitrag von udo1toni »

FrankW5300 hat geschrieben: 18. Sep 2023 16:36Leider hat das nicht so gepasst, wenn Daten miteinander verknüpft werden sollen.
Das sollte keine Rolle spielen, solange für den betrachteten Zeitpunkt überhaupt Daten vorliegen.
FrankW5300 hat geschrieben: 18. Sep 2023 16:36Ein weiteres Problem ist bei everyChange die Unterscheidung: ist keine Änderung aufgetreten oder sind keine Daten geliefert worden.
Irrtum... Du hast ja offensichtlich gültige Daten, obwohl keine Daten geliefert wurden, es nützt Dir also nichts, mehr Daten zu sichern als Du eigentlich brauchst.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

FrankW5300
Beiträge: 23
Registriert: 9. Mai 2023 10:07
Answers: 0

Re: Verhalten bei fehlenden Daten

Beitrag von FrankW5300 »

udo1toni hat geschrieben: 18. Sep 2023 23:27 Das sollte keine Rolle spielen, solange für den betrachteten Zeitpunkt überhaupt Daten vorliegen.
Wenn ich die Differenz zwischen zwei Temperaturverläufen berechnen will geht es nicht, da Grafana nicht die Werte interpoliert (leider). Zumindest bei mir hat es nur mit Daten funktioniert, die zum gleichen Zeitpunkt aufgezeichnet wurden der Rest wurde ignoriert.
udo1toni hat geschrieben: 18. Sep 2023 23:27 Irrtum... Du hast ja offensichtlich gültige Daten, obwohl keine Daten geliefert wurden,...
Ich glaube hier missverstehen wird uns. Das was eher eine allgemeine Feststellung. Bei everyChange werden die Daten nur gespeichert, wenn sich was ändert. Wenn über einen Zeitraum keine Änderung stattfindet, wird nichts gespeichert, das selbe passiert aber auch wenn über einen Zeitraum keine Daten gesendet werden.
Da ich aber alle x Minuten aufzeichne, wie stelle ich sicher das es sich um aktuelle Daten handelt? Oder müsste ich senden das keine Daten da sind, so was wie "NULL" oder "NaN" etc...
Openhab 4.3.4, InfluxDB v2.7.6, Grafana v11.0.0

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

Re: Verhalten bei fehlenden Daten

Beitrag von udo1toni »

FrankW5300 hat geschrieben: 19. Sep 2023 10:43 Wenn ich die Differenz zwischen zwei Temperaturverläufen berechnen will geht es nicht, da Grafana nicht die Werte interpoliert
Ja, da hast Du natürlich Recht :) das geht nur, wenn die Daten (einigermaßen) kontinuierlich vorliegen.
FrankW5300 hat geschrieben: 19. Sep 2023 10:43Da ich aber alle x Minuten aufzeichne, wie stelle ich sicher das es sich um aktuelle Daten handelt? Oder müsste ich senden das keine Daten da sind, so was wie "NULL" oder "NaN" etc...
Genau. Die einzig sinnvolle Möglichkeit für diesen Fall (vorausgesetzt, Du weißt, dass die Daten mindestens mit einer bestimmten Frequenz kommen, also z.B. mindestens einmal pro Minute) ist es, das Item mit einem Expiration Timer zu versehen (in den Metadaten). Im Expiration Timer definierst Du die Expiration Time (z.B. 90 Sekunden), wenn nach Ablauf dieser Zeit noch kein Update kam, dann "sendet" der Expiration Timer wahlweise einen Befehl oder setzt lediglich den Status des Items. Wenn Du (was ja sinnvoll ist) NULL setzen willst, muss das zwingend per Status Update passieren, da NULL kein gültiger Befehl ist.
Solange also einmal pro Minute ein Update kommt, tut der Expiration Timer nichts, bleibt das Update aber mindestens 90 Sekunden aus, springt das Item auf NULL.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

FrankW5300
Beiträge: 23
Registriert: 9. Mai 2023 10:07
Answers: 0

Re: Verhalten bei fehlenden Daten

Beitrag von FrankW5300 »

Danke für die Info, ich schaue mir das mit dem Expiration Timer mal an. Wenn das so funktioniert wie beschrieben wäre das schön.
Openhab 4.3.4, InfluxDB v2.7.6, Grafana v11.0.0

Antworten