Hauptmenü

FS20SR, Regen/kein Regen

Begonnen von tomleitner, 09 Juni 2016, 11:59:51

Vorheriges Thema - Nächstes Thema

tomleitner


Hallo,

Ich habe einen FS20SR Regensensor der auch brav funktioniert. Leider ist er nun so "gut" installiert das es schwer ist ihn zu öffnen und mit den Jumpern den "on-for-timer" Wert zu ändern. Dieser ist per default auf 60s gestellt. Aktuell habe ich damit folgendes Verhalten: Wenn es zu Regnen beginnt kommen alle 24s "on-for-timer 60" Meldungen. Wenn dann 60s kein Regen mehr ist, dann geht der Regensensor Status auf off.

Mein Code dazu ist:

# regensensor

define Regensensor FS20 b121 00
attr Regensensor IODev COC
attr Regensensor devStateIcon on-old-for-timer.60:weather_rain off:weather_cloudy
attr Regensensor follow-on-for-timer 1
attr Regensensor group Wetter
attr Regensensor model fs20sr
attr Regensensor room FS20,Garten
attr Regensensor verbose 1

define DoRegenSensorSteuerung DOIF ([Regensensor] eq "off") \
        ({ Log 1, "Rain ended" }) \
        (set TomHandy send Rain ended) \
    DOELSE () \
        ({ Log 1, "Rain started" }) \
        (set TomHandy send Rain started) \
        (set Markise_SuedOst off ;; sleep 5 ;; set Markise_SuedOst off ;; sleep 5 ;; set Markise_SuedOst off) \
        (set Markise_SuedWest off ;; sleep 5 ;; set Markise_SuedWest off ;; sleep 5 ;; set Markise_SuedWest off) \
        (set Markise_West off ;; sleep 5 ;; set Markise_West off ;; sleep 5 ;; set Markise_West off") \
        (set TomHandy send Markisen eingefahren ....) \
attr DoRegenSensorSteuerung repeatsame 2


Das Problem ist: Wenn es Wetterlagen (wie derzeit) hat, wo es oft leicht zu regnen beginnt und dann wieder aufhört, dann kommt viele male pro Stunde ein "rain started" und ein "rain ended" event.

Was ich aber will ist folgendes: Sobald der Regen beginnt sollte der Zustand auf "on" gehen. Erst wenn es mindestens 30 Minuten nicht mehr regnet, sollte der Zustand auf off (rain ended) gehen.

Wie kann ich das erreichen? Ich habe mit "repeatsame" experimentiert, aber das scheint nicht die Lösung zu sein?

Gibt es keine Möglichkeit dem "follow-on-for-timer" einen weiteren Parameter zu geben der einen anderen Timeout als den "on-for-timer" Timeout nimmt?

Danke & Ciao // Tom


CoolTux

Vielleicht wäre das Attribut wait etwas für Dich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tomleitner

Du meinst sowas wie das:

attr DoRegenSensorSteuerung wait 1800:0

sollte das "regen aus" um 1800s (=30 Min) verzögern, das regen ein aber nicht (=0).

Funktioniert das aber auch so dass wenn während der Wartezeit auf Befehl 1 (Regen aus = 30 Minuten) ein weitere Befehl 2 kommt die 30 Minuten von vorne beginnen? Das ist nämlich genau was ich will.

Danke & Ciao // Tom



CoolTux

Wenn sich innerhalb der Warte zeit der state ändert, also cmd2 aktiv wird und irgendwann dann wieder cmd1 beginnt der Timer von vorne.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tomleitner

Super ... Danke. Werde das ausprobieren ...
Ciao // Tom

ph1959de

Du könntest auch ausprobieren, ob das set <device> timer <time> bei dem Device funktioniert.

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"