NEWS
hm-rpc / SQL - Ausreißer filtern
-
Hallo,
vielleicht kann mir ja einer von euch Licht ans Rad machen...
Ich habe diverse Homematic Sensoren / Aktoren die ich mit SQL logge und mit flot visualisiere. Hier kommt es hin und wieder mal zu Ausreißern.
Exemplarisch mal einen vom Außenthermometer, hier springt ein Wert von den realen 10°C auf 80°C und dann wieder zurück.

Funkstrecke sind keine 2m bei quasi freier Sicht, lässt sich also nicht wirklich sonderlich verbessern.
Kennt jemand eine Möglichkeit diese Ausreißer automatisch zu ignorieren?
Über die Entprellzeit des SQL Adapters kann ich aufgrund der längeren Sendeabstände nicht gehen.
Dazu müsste die Temperatur über mind. 2 Sendeintervall konstant bleiben. (Wenn ich die Logik der Entprellzeit richtig verstehe.)
Die minimale Abweichung kann ich auch nicht nutzen. Eine maximale Abweichung (Temperatur springt entweder nach oben oder unten) wäre meine Lösung.
Kann man sowas im iobroker nachbilden oder besser feature-request auf github beim SQL-Adapter?
Danke schonmal -
Hallo,
vielleicht kann mir ja einer von euch Licht ans Rad machen...
Ich habe diverse Homematic Sensoren / Aktoren die ich mit SQL logge und mit flot visualisiere. Hier kommt es hin und wieder mal zu Ausreißern.
Exemplarisch mal einen vom Außenthermometer, hier springt ein Wert von den realen 10°C auf 80°C und dann wieder zurück.

Funkstrecke sind keine 2m bei quasi freier Sicht, lässt sich also nicht wirklich sonderlich verbessern.
Kennt jemand eine Möglichkeit diese Ausreißer automatisch zu ignorieren?
Über die Entprellzeit des SQL Adapters kann ich aufgrund der längeren Sendeabstände nicht gehen.
Dazu müsste die Temperatur über mind. 2 Sendeintervall konstant bleiben. (Wenn ich die Logik der Entprellzeit richtig verstehe.)
Die minimale Abweichung kann ich auch nicht nutzen. Eine maximale Abweichung (Temperatur springt entweder nach oben oder unten) wäre meine Lösung.
Kann man sowas im iobroker nachbilden oder besser feature-request auf github beim SQL-Adapter?
Danke schonmal@bommel_030 sagte:
Über die Entprellzeit des SQL Adapters kann ich aufgrund der längeren Sendeabstände nicht gehen.
Weshalb nicht ? Ich würde es mal mit 220000 ms versuchen.
-
@paul53
Wenn ich die Erklärung im SQL Adapter richtig verstehe, dann wird der Wert erst aufgezeichnet, wenn er sich für die eingegebene Zeit nicht ändert.
Nutze ich nun ein ausreichend lange Entprellzeit, dann wird der sprunghafte Wechsel nicht aufgezeichnet. Soweit passt das schon.
Damit würde ich dann aber nur Temperaturen aufzeichnen, die länger als die Entprellzeit konstant sind.
Bei einem Sendeintervall von z.B. 180 s müsste die Entprellzeit größer sein um den Ausreißer zu ignorieren.
Im Regelfall wird aber alle 180 s eine geringfügig andere Temperatur gesendet. 10 °C, der nächste 10,1°C, der nächste 10,2°C usw.
Diese würden ja dann auch nicht aufgezeichnet, da sie nicht länger als die Entprellzeit anstehen.
Oder habe ich hier einen Denkfehler? -
@paul53
Wenn ich die Erklärung im SQL Adapter richtig verstehe, dann wird der Wert erst aufgezeichnet, wenn er sich für die eingegebene Zeit nicht ändert.
Nutze ich nun ein ausreichend lange Entprellzeit, dann wird der sprunghafte Wechsel nicht aufgezeichnet. Soweit passt das schon.
Damit würde ich dann aber nur Temperaturen aufzeichnen, die länger als die Entprellzeit konstant sind.
Bei einem Sendeintervall von z.B. 180 s müsste die Entprellzeit größer sein um den Ausreißer zu ignorieren.
Im Regelfall wird aber alle 180 s eine geringfügig andere Temperatur gesendet. 10 °C, der nächste 10,1°C, der nächste 10,2°C usw.
Diese würden ja dann auch nicht aufgezeichnet, da sie nicht länger als die Entprellzeit anstehen.
Oder habe ich hier einen Denkfehler?@bommel_030 sagte:
Im Regelfall wird aber alle 180 s eine geringfügig andere Temperatur gesendet. 10 °C, der nächste 10,1°C, der nächste 10,2°C usw.
So schnell ändert sich die Außentemperatur nur manchmal.
Sollen alle "echten" Werte aufgezeichnet werden, wird ein zweiter Datenpunkt benötigt, bei dem die Ausreißer per Skript ausgefiltert werden.
-
@paul53
Ja, ist zwar nicht die Regel, kommt aber hin und wieder vor. Da das ganze einige Datenpunkte betrifft versuche ich das mal mein Glück bei github.
Finde es aufgrund der Menge eleganter das ganze im SQL-Adapter als per Skript zu filtern.
Trotzdem danke für die Antworten. -
Hallo,
vielleicht kann mir ja einer von euch Licht ans Rad machen...
Ich habe diverse Homematic Sensoren / Aktoren die ich mit SQL logge und mit flot visualisiere. Hier kommt es hin und wieder mal zu Ausreißern.
Exemplarisch mal einen vom Außenthermometer, hier springt ein Wert von den realen 10°C auf 80°C und dann wieder zurück.

Funkstrecke sind keine 2m bei quasi freier Sicht, lässt sich also nicht wirklich sonderlich verbessern.
Kennt jemand eine Möglichkeit diese Ausreißer automatisch zu ignorieren?
Über die Entprellzeit des SQL Adapters kann ich aufgrund der längeren Sendeabstände nicht gehen.
Dazu müsste die Temperatur über mind. 2 Sendeintervall konstant bleiben. (Wenn ich die Logik der Entprellzeit richtig verstehe.)
Die minimale Abweichung kann ich auch nicht nutzen. Eine maximale Abweichung (Temperatur springt entweder nach oben oder unten) wäre meine Lösung.
Kann man sowas im iobroker nachbilden oder besser feature-request auf github beim SQL-Adapter?
Danke schonmal@bommel_030 sagte:
Hier kommt es hin und wieder mal zu Ausreißern.
Ich betreibe mehrere HM-Sensoren schon seit 2,5 Jahren zusammen mit ioBroker. Solche Ausreißer sind noch nicht vorgekommen. Es sollte besser die Ursache dafür gefunden und beseitigt werden.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden