NEWS
Definierten Wert eines Datenpunktes ignorieren
-
Hallo.
Ich habe bei 2 Adaptern (owfs und viessmann) ab und an Fehler in Form von :
bei owfs = 0°C als ausgelesener Wert
bei viessmann = 127,5°C als ausgelesener Wert
An sich nichts schlimmes. Aber da ich meine Heizung teilweise über iobroker laufen habe kann es dort mal zu fehlerhaften Verhalten kommen.
Als Beispiel : Der Viessmann Ölkessel schaltet den Betriebsmodus von H+WW (Heizen und Warmwasser) auf WW (Warmwasser) oder ABSCHALT (Aus) wenn in den Pufferspeichern des Holzvergasers genügend Wärme vorhanden ist. Wenn jetzt der owfs-Pufferspeichersensor mal 0′C liefert aufgrund eines Lesefehlers würde der Ölkessel zuschalten obwohl genügend Wärme in den Puffern vorhanden.
Auf der anderen Seite als Beispiel würde die Ladepumpe der Puffer nicht zuschalten (oder eben abschalten da zu warm) weil der Kessel bei einem Lesefehler von vcontrold 127,5°C liefert.
Deshalb meine Frage ob die Möglichkeit besteht, für einen Datenpunkt vorher definierte Werte zu ignorieren, und den letzten vorhandenen zu nutzen. Sodass die Scripte nicht sofort irgend welchen quatsch schalten würden. Normalerweise ist beim nächsten auslesen (1min) der Wert wieder korrekt.
Ich könnte (oder habe) das kurzfristig per Script abgefangen, aber die Fehlerwerte werden ja trotzdem im sql-Adapter mitgeloggt. Diese Ausreißer sehen auch in den flot-Diagrammen nicht sehr schön aus.
Gruß Maik
-
Einfach If-Anweisung tut es doch
16721_unbenannt.png -
Hi.
Ja in den Scripten funktioniert das.
Ich prüfe mit :
if (ein_temp_sensor != 0) && (ein_anderer_temp_sensor != 127.5)
Ich dachte es gibt eine Möglichkeit die reinkommenden Werte von vorn herein auszuschließen, sodass diese von iobroker gar nicht erst auf den Datenpunkt gesetzt werden. Und somit auch nicht vom sql-Adapter geloggt werden. Statt dessen würde der vorher gesetzt Wert stehen bleiben.
Gruß Maik