FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Torxgewinde am 18 Mai 2020, 21:05:32

Titel: Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: Torxgewinde am 18 Mai 2020, 21:05:32
Hallo,
Ich habe keinen vernetzten Regenmesser im Garten, dafür aber Buienradar - das geht auch ganz gut um zu bestimmen wieviel Regen in Summe gefallen ist. Ich addiere die aktuelle Regenmenge auf und fange immer um Mitternacht bei 0 l/m² neu an zu zählen. Die Ergebnisse sind recht gut wie ein Vergleich mit einem ganz analogen Messbecher-Regenmesser ergab.

Klar, man braucht Buienradar in FHEM:
defmod myBuienRadar Buienradar 52.XXXX 7.XXXXX
attr myBuienRadar interval 120
attr myBuienRadar region de


Ein DOIF übernimmt das aufsummieren:
defmod HeuteRegen DOIF ([+:05]) ## ausführen wenn glatte fünf Minuten auf der Uhr stehen\
(setreading $SELF rain {([myBuienRadar:rainNow:d]/12 + [$SELF:rain:d])}) ##kopiere die Werte vom BuienRadar und addiere sie auf, Parse nur die Zahl
attr HeuteRegen alias Regen Heute 🌧
attr HeuteRegen do always
attr HeuteRegen stateFormat { round(ReadingsNum($name, "rain", 0), 2)." l/m²"}


Ein weiteres DOIF setzt den Zähler direkt vor Mitternacht auf Null und und behält den Wert vom Vortag. Mit diesem Wert kann man nun gut für seine Gartenbewässerung entscheiden, ob Gestern ausreichend viel Regen gefallen ist:
defmod GesternRegen DOIF ([23:59:59])\
(setreading $SELF rain [HeuteRegen:rain]) ##copy the value of today and keep it as our own value\
(setreading HeuteRegen rain 0) ## set the rain value of today to 0 and start to count from there again
attr GesternRegen alias Regen Gestern 🌧
attr GesternRegen do always
attr GesternRegen event-on-update-reading .*
attr GesternRegen stateFormat { round(ReadingsNum($name, "rain", 0), 2)." l/m²"}


Wenn man will kann man auch noch ein Dummy oder weiteres Reading anlegen um auch die Regenmenge von Vorgestern zu speichern. Diese historischen Werte berücksichtige ich bei der Entscheidung ob meine Bewässerung anspringen soll, oder ob der Niederschlag der vergangen Tage bereits ausreicht.

Kleiner Tipp dazu: Ich Gewichte die Regenmengen unterschiedlich. Es muss Gestern weniger als 5 l/m² geregnet haben und vorgestern weniger als 25 l/m² damit die Bewässerung überhaupt anspringt, sonst ist noch genug Wasser im Boden. Die genauen Werte kann man natürlich je nach Bodenart, Lage und Pflanze selbst bestimmen.

Das war es schon...
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: Christoph Morrison am 19 Mai 2020, 09:04:23
Die Idee gefällt mir (https://github.com/fhem/mod-Buienradar/issues/133).
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: Torxgewinde am 19 Mai 2020, 09:51:58
Cool, das freut mich!
Danke auch für das Buienradar-Device und die viele Arbeit die dazu gehört.
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: FunkOdyssey am 01 Juli 2020, 15:31:39
Vielen Dank für deine Ausführung und deinen Hinweis auf diesen Thread.

Mir sind ein paar Sachen aufgefallen.

- Bei der ersten Ausführung gibt es Probleme, da das Reading rain nicht gesetzt ist.
- Ich würde bei einem DOIF die Readings auch per readingsList definieren.
- Und wie gehst du damit um, wenn rainNow auf unknown gesetzt ist?

Eine Frage noch: Wieso dividierst du rainNow durch 12? Weil das ein Wert für Menge pro Stunde ist und du diesen 60/12= alle 5 Minuten ausführst?
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: fr00sch am 05 August 2020, 14:37:51
Hallo,

cooles Modul, könnte interessant sein, um Hinweise zum Gießen zu bekommen:

Wenn ich versuche mit "define myBuienRadar Buienradar" ein device zu erstellen erhalte ich folgendes im Error-Log:

./FHEM/59_Buienradar.pm has too many errors.
syntax error at ./FHEM/59_Buienradar.pm line 678, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 674, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 670, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 666, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 662, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 658, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 654, near "color:"
syntax error at ./FHEM/59_Buienradar.pm line 650, near "2ex"
syntax error at ./FHEM/59_Buienradar.pm line 649, near "3ex"
2020.08.05 14:28:20 0: syntax error at ./FHEM/59_Buienradar.pm line 641, near "<<~"


Über Hinweise und Ideen würde ich mich freuen.

Gruß fr00sch
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: amenomade am 05 August 2020, 22:00:00
'<<~' funktioniert meines Wissens nach erst ab Perl 5.26. Hast Du eine frühere Version von Perl? An der Stelle (line 641) kannst Du mMn ruhig die Tilde entfernen, wenn Du ein paar Zeilen weiter nach unten (line 700) das Wort END_MESSAGE komplett nach Links schiebst.
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: fr00sch am 07 August 2020, 10:07:50
Dankeschön für den Hinweis, ja ich habe eine alte Version.
Ich werde dann das längst überfällige OS upgrade am Wochenende mal in Ruhe in Angriff nehmen und
mich danach dann mal melden.
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: Christoph Morrison am 08 August 2020, 12:33:15
Du bist damit prinzipiell im falschen Thread (https://forum.fhem.de/index.php?topic=102497).
Titel: Antw:Buienradar nutzen um die gefallene Regenmenge seit Mitternacht zu bestimmen
Beitrag von: fr00sch am 10 August 2020, 08:39:11
@Christoph Morrison: ohja stimmt  :'( tut mir leid.

@amenomade: ja genau das war das Problem. Das Problem ist jetzt weg nach einem update von raspbian "stretch" auf "buster". Denn erst "buster" hat perl 5.28 als aktuellste Version.