Hallo,
Ich möchte die Regenmenge pro Tag berechnen und auch die aktuelle Menge am Tag anzeigen. Die Homematic Wetterstation hat ein Regen-Reading ("rain") welches nur den aufsummierten Wert, seitdem es aktiviert wurde, anzeigt.
Nun habe ich mir gedacht die Tagesregenmenge zu berechnen und das über DOIF versucht.
Anscheinend schaffe ich es aber nicht, dass er bei Änderung des Regenwerts (Reading "rain") öfter als einmal reagiert. Nach abspeichern des DEF Befehls berechnet er 1x.
Vielleicht checke ich auch einfach grundlegend was bei DOIF nicht und ich muss noch was zurücksetzen
define di_RegenHeute_Berechnung DOIF ([Wetterstation:"^rain:..*$"]) ({ my $varWetterRain = ReadingsVal("Wetterstation", "rain", ""); my $varRegenStartwert = ReadingsVal("RegenHeuteStartwert_dy", "state", ""); my $varRegenHeute = sprintf("%.2f",($varWetterRain-$varRegenStartwert)); fhem("set RegenHeute_dy $varRegenHeute") })
(das mit ";" und ";;" wenn man in Command Zeile eingibt weiß ich)
In der Abfrage hab ich auch schon probiert
([Wetterstation:"rain"])
bzw.
([Wetterstation:""])
Er berechnet aber immer nur 1x. :(
Mit notify schaff ich nicht einmal 1x
define noti_RegenWertAenderung notify (Wetterstation:rain:..*) (set RegenWertAenderung_dy toggle)
Da es nicht immer regnet, hab ich zum Testen natürlich einen anderen Wert genommen, die Windrichtung, also:
define noti_RegenWertAenderung notify (Wetterstation:windDirection:..*) (set RegenWertAenderung_dy toggle)
Die Events sind im Event-Monitor sichtbar und sind auch beim DOIF device sichtbar, aber das commando passiert nur einmal.
Device Wetterstation 2018-09-02 11:29:09
cmd 1 2018-09-02 11:11:39
cmd_event Wetterstation 2018-09-02 11:11:39
cmd_nr 1 2018-09-02 11:11:39
e_Wetterstation_events brightness: 207,humidity: 87,isRaining: 0,rain: 178.77,T: 17.8 H: 87 W: 3 R: 178.77 IR: 0 WD: 110 WDR: 45 S: 116 B: 207 ,sunshine: 116,temperature: 17.8,windDirRange: 45,windDirection: 110,windSpeed: 3 2018-09-02 11:29:09
state cmd_1 2018-09-02 11:11:39
Hat jemand eine Idee was ich probieren könnte?
danke
bart
https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung
dort steht:
ZitatWünscht man eine Ausführung des gleichen Befehls mehrfach nacheinander bei jedem Trigger, unabhängig davon welchen Zustand das DOIF-Modul hat, weil z. B. Garage nicht nur über die Fernbedienung geschaltet wird, dann muss man das per "do always"-Attribut angeben.
super danke für die schnelle Antwort!
Ja, wer lesen kann ist klar im Vorteil. :)
Damit wird es höchstwahrscheinlich klappen.
lg
bart
Nix gegen DOIF und nur als ergänzender Hinweis gedacht:
Das statistics-Modul macht das und noch einiges mehr quasi "out of the box", beispielsweise auch Tendenz beim Luftdruck oder Durchschnitt über einen Zeitraum X für Windrichtung und -stärke usw.
Die Daten werden als Reading in die Wetterstation geschrieben, deshalb ist es eine schöne Ergänzung und Aufwertung, finde ich.