Zeitproblem bei automatischer Bewässerung

Begonnen von h-man-kl, 27 Mai 2019, 14:35:05

Vorheriges Thema - Nächstes Thema

h-man-kl

Hallo zusammen,
endlich habe ich mal wieder etwas Zeit für fhem - und natürlich gleich ein Problem.

Meine Gartenbewässerung soll mit folgendem doif gesteuert werden:


([09:30|Mo Mi Fr] and [d_48h.kein.Regen] eq "on") (set 04.06.SW4.02_Sw_01 on-for-timer 600)


Also Mo Mi Fr um 9:30 wenn es 48h nicht geregnet hat. Ob es JETZT regnet sagt mir meine Homematic Wetterstation mit dem Reading isRaining. Das kann ich auch abfragen und nutzen.
Wie aber bekomme ich den dummy d_48h.kein.Regen für 48h auf off? Mit set off-for-timer 172800 geht es leider nicht, da geht der state immer direkt auf off.

Wie macht ihr das so? Habt ihr eine Idee für mich?
Vielen Dank und Gruß
Michael
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

amenomade

define set48h DOIF ([Wetterstation:isRaining] ne "yes") (set d_48h.kein.Regen on) DOELSE (set d_48h.kein.Regen off)
attr set48h wait 172800:0

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

h-man-kl

na das ging ja schnell und einfach.... ich werde es direkt mal testen
DANKE!
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

Per

Oder ohne extra Dummy:

define d_48h.kein.Regen DOIF ([Wetterstation:isRaining] ne "yes") ()
DOELSE ()
attr d_48h.kein.Regen wait 172800:0
attr d_48h.kein.Regen cmdState yes|no
[/quote]

h-man-kl

Danke.
Ich warte mal den nächsten Regenschauer ab ob das erste klappt. Danach teste ich noch die 2. Variante
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

amenomade

Zitat von: Per am 27 Mai 2019, 15:16:34
Oder ohne extra Dummy:

define d_48h.kein.Regen DOIF ([Wetterstation:isRaining] ne "yes") ()
DOELSE ()
attr d_48h.kein.Regen wait 172800:0
attr d_48h.kein.Regen cmdState yes|no


Das erinnert mich was... ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Christoph Morrison

Zitat von: Per am 27 Mai 2019, 15:16:34
Oder ohne extra Dummy:

define d_48h.kein.Regen DOIF ([Wetterstation:isRaining] ne "yes") ()
DOELSE ()
attr d_48h.kein.Regen wait 172800:0
attr d_48h.kein.Regen cmdState yes|no


Was passiert wenn innerhalb der 48h FHEM neu gestartet wird? Der Timer ist dann weg, oder?

Damian

Zitat von: Christoph Morrison am 27 Mai 2019, 21:43:34
Was passiert wenn innerhalb der 48h FHEM neu gestartet wird? Der Timer ist dann weg, oder?

Wait-Timer sind nach dem Neustart immer weg und müssen neu gesetzt werden.


Alternative:

DOIF ([09:30|Mo Mi Fr] and [?Wetterstation:isRaining] ne "yes"  and [?Wetterstation:isRaining:sec] > 172800) (set 04.06.SW4.02_Sw_01 on-for-timer 600)

attr do always


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

#8
Das ist ja noch viel besser!

PS: das :sec in Form von ([:sec] < 3600 ) habe ich gleich mal statt eines separaten Watchdogs verwendet. Macht mein DOIF gleich irgendwie einfacher ;)

h-man-kl

Hallo,
ich wollte nochmal Rückmeldung geben:
Dass der waitfor beim reboot zurückgesetzt wird ist in meinem Fall nicht so tragisch. Auf jeden fall hat es funktioniert!

Vielen Dank!

Gruß
H-Man
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

h-man-kl

Hallo zusammen,
ich versteh das nicht.
Gestern hat es geregnte, meine HomeMatic Wetterstation ist bei isRaining auf 1 egsprungen - soweit so gut.
mein DOIF mit dem Inhakt
([Wetterstation:isRaining] eq 0) (set d_48h.kein.Regen on) DOELSE (set d_48h.kein.Regen off)

hat aber nicht geschaltet => mein dummy steht nach wie vor auf on  :-(

Kann mir jemand den fehler sagen - Danke!
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

Per

Zitat von: h-man-kl am 04 Juni 2019, 12:57:10Kann mir jemand den fehler sagen - Danke!
Poste ein List, dann sieht man mehr.

h-man-kl

Wetterstation:
Internals:
   CHANGED   
   DEF        4B0FE3
   FUUID      5c44ac25-f33f-627b-a449-909319ad03cf9617
   HmUART_01_MSGCNT 8784
   HmUART_01_RAWMSG 05000047AF86704B0FE300000000995A19980000418125
   HmUART_01_RSSI -71
   HmUART_01_TIME 2019-06-05 06:06:34
   HomeMatic_MSGCNT 7161
   HomeMatic_RAWMSG E4B0FE3,0000,1482C42C,FF,FFAE,AE86704B0FE300000000995A19980000418123
   HomeMatic_RSSI -82
   HomeMatic_TIME 2019-06-05 06:04:08
   IODev      HmUART_01
   LASTInputDev HmUART_01
   MSGCNT     15945
   NAME       Wetterstation
   NOTIFYDEV  global
   NR         764
   NTFY_ORDER 50-Wetterstation
   STATE      T: 15.3 H: 90 W: 0 R: 1932.84 IR: 0 WD: 325 WDR: 0 S: 129 B: 37
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:AF - t:70 s:4B0FE3 d:000000 00995A19980000418125
   protLastRcv 2019-06-05 06:06:34
   protRcv    8792 last_at:2019-06-05 06:06:34
   rssi_at_HmUART_01 cnt:8784 min:-80 max:-68 avg:-72.01 lst:-71
   rssi_at_HomeMatic cnt:7161 min:-105 max:-79 avg:-86.08 lst:-82
   READINGS:
     2019-05-20 14:13:17   Activity        alive
     2017-05-29 10:27:58   CommandAccepted yes
     2017-04-18 16:38:25   D-firmware      1.6
     2017-04-18 16:38:25   D-serialNr      NEQ0343849
     2017-05-29 10:27:58   PairedTo        0x1511AB
     2017-05-29 10:12:52   R-burstRx       off
     2017-04-18 16:40:13   R-pairCentral   0x1511AB
     2017-05-29 10:12:53   R-stormLowThresh 5
     2017-05-29 10:12:53   R-stormUpThresh 20
     2017-05-29 10:12:53   R-sunThresh     50
     2017-05-29 10:12:53   R-windSpeedRsltSrc max
     2017-05-29 10:27:58   RegL_00.        01:00 02:01 0A:15 0B:11 0C:AB 18:00 00:00
     2017-05-29 10:27:59   RegL_01.        05:32 06:14 07:05 0A:01 00:00
     2019-06-05 06:06:34   battery         ok
     2019-06-05 06:06:34   brightness      37
     2019-06-05 06:06:34   humidity        90
     2019-06-05 06:06:34   isRaining       0
     2019-06-05 06:06:34   rain            1932.84
     2019-06-05 06:06:34   state           T: 15.3 H: 90 W: 0 R: 1932.84 IR: 0 WD: 325 WDR: 0 S: 129 B: 37
     2019-06-05 06:06:34   sunshine        129
     2019-06-05 06:06:34   temperature     15.3
     2019-06-05 06:06:34   windDirRange    0
     2019-06-05 06:06:34   windDirection   325
     2019-06-05 06:06:34   windSpeed       0
   helper:
     HM_CMDNR   175
     mId        00AE
     peerFriend peerAct,peerVirt
     peerOpt    1p:THSensor,4:THSensor,p:THSensor
     regLst     0,1,1p,4p
     rxType     140
     supp_Pair_Rep 0
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +4B0FE3,00,00,00
       nextSend   1559707594.67571
       rxt        2
       vccu       VCCU
       p:
         4B0FE3
         00
         00
         00
       prefIO:
         HmUART_01
     mRssi:
       mNo        AF
       io:
         HmUART_01:
           -69
           -69
         HomeMatic:
           -82
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rssi:
       at_HmUART_01:
         avg        -72.0145719489979
         cnt        8784
         lst        -71
         max        -68
         min        -80
       at_HomeMatic:
         avg        -86.0854629241727
         cnt        7161
         lst        -82
         max        -79
         min        -105
     shadowReg:
     tmpl:
Attributes:
   IODev      HmUART_01
   IOgrp      VCCU:HmUART_01
   actCycle   000:10
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading temperature
   expert     2_raw
   firmware   1.6
   group      Klima
   model      HM-WDS100-C6-O-2
   msgRepeat  1
   peerIDs    00000000,
   room       Außenbereich,Garten,Wetter & Verkehr,_CUL_HM
   serialNr   NEQ0343849
   subType    THSensor


dummy:

Internals:
   CFGFN     
   DEF        00000FFFFF FF F0
   FUUID      5cebc00f-f33f-627b-5b87-b811a18b9d783cf9
   IODev      FS20.Cube
   NAME       d_48h.kein.Regen
   NR         15248
   STATE      on
   TYPE       IT
   XMIT       00000fffff
   XMITdimdown 00
   XMITdimup  00
   XMIToff    f0
   XMITon     ff
   CODE:
     1          00000fffff
   READINGS:
     2019-05-27 12:53:46   protocol        V1
     2019-05-29 14:57:39   state           on
Attributes:
   IODev      FS20.Cube
   devStateIcon on:rc_GREEN off:rc_RED
   group      Klima
   room       Garten,d_dumm


bin gespannt was man daraus lesen können soll....

Gruß
H-Man
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

CoolTux

event-on-change-reading temperature

Eindeutiger geht es nicht. Kein Event für isRaining
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

amenomade

Gut, dass Du ein "list" von Wetterstation gepostet hast. Damit konnte CoolTux sofort einen Fehler finden.

Aber eigentlich war ein "list" des DOIF gemeint. Falls es nach Korrektur von event-on-change-reading immer noch nicht geht, dann bitte auch ein "list" des DOIFs, wenn er deiner Meinung nach nicht im richtigen Zustand ist.

Zitatbin gespannt was man daraus lesen können soll....
In einem "list" sieht man viel mehr als mit einem Copy/Paste des define Befehls:
- man sieht alle Attribute (wie z.B. ein falsches event-on-change-readings, das Ereignisse verhindert). Insbesondere wichtig bei einem DOIF.
- man sieht die Readings und wann die letztens aktualisiert worden sind
- man sieht die Internals, die auch das Verhalten des Devices erklären
- und man sieht alle Helpers

Bei einem DOIF kann man dann sofort sehen, was der Zustand ist, wovon er getriggert wurde, welche Bedingungen waren dabei wahr oder falsch.

Fazit: ein "list" wird nicht umsonst von denjeningen angefordert, die versuchen, dir zu helfen: aus einem list "soll" man viel debug Information auslesen können. Deswegen bei Problemen bitte immer ein "list" der betroffenen Devices posten statt nur:
([09:30|Mo Mi Fr] and [d_48h.kein.Regen] eq "on") (set 04.06.SW4.02_Sw_01 on-for-timer 600)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus