Wollte kurz berichten, dass das ganz gut klappt mittlerweile.
Danke also nochmal
Ich nutze nach beobachtung meines Aufbaus nun 0.5 zum Detektieren von Regen und -0.5 zum Detektieren vom Aufhören des Regens.
var diffWert = (obj.state.val - obj.oldState.val) / ((obj.state.lc - obj.oldState.lc)/1000/60) ; //should be min(value - oldValue) / (obj.state.lc - obj.oldState.lc);
setState("0_userdata.0.RegensensorPRGDiffWertHistory"/*RegensensorPRGDiffWertHistory*/, diffWert);
if( diffWert > 0.5 && getState("0_userdata.0.RegensensorPRGDetectedRain").val == false) {
getState("0_userdata.0.RegensensorPRGDetectedRain").val == false) {
setState("0_userdata.0.RegensensorPRGDetectedRain"/*RegensensorPRGDetectedRain*/, true);
} else if (diffWert < -0.5 && getState("0_userdata.0.RegensensorPRGDetectedRain").val == true) {
setState("0_userdata.0.RegensensorPRGDetectedRain"/*RegensensorPRGDetectedRain*/, false);
} else {
if(getState("0_userdata.0.RegensensorPRGDetectedRain").val == true) {
//'Es regnet - Änderung aber egal' + diffWert
}
Hier noch ein SCreenshot von
der Feuchtigkeit
dem errechneten DiffWert
der Variable RegenDetected:
21f49637-5abd-4b69-9086-98fc12ca172b-image.png