Hallo,
ich möchte mit Hilfe meines Wettersensors  einen Dummy "Regen" bei Regen einschalten (isRaining reicht mir vollkommen) und soll späeter 10 Minuten nach dem es aufgehört hat, wieder Ausschalten. 
Ich scheiter schon beim entsprechenden "notify" fürs Einschalten. Das Ausschalten soll später mal mit einem "Watchdog" geschehen.
Hier main notify, so wie nach mehreren Versuchen im Moment aussieht:
define n_Regen_on notify Wetterstation:isRaining:.*{if (ReadingsVal("Wetterstation", "isRaining", "") eq "1" {fhem("set Regen on");;}}else {if (ReadingsVal("Wetterstation", "israining", "") eq "0" {fhem("set Regen off");;}}}
... und hier meine Wetterstation (Mofdul "Rain" läuft auch):
Internals: 
   COC_MSGCNT 774 
   COC_RAWMSG A13F58670399B9F00000000765B07E0C01213470A::-93:COC 
   COC_RSSI   -93 
   COC_TIME   2017-08-14 00:00:16 
   DEF        399B9F 
   HMLAN1_MSGCNT 772 
   HMLAN1_RAWMSG E399B9F,0000,1B451AEC,FF,FFB6,F58670399B9F00000000765B07E0C01213470A 
   HMLAN1_RSSI -74 
   HMLAN1_TIME 2017-08-14 00:00:16 
   IODev      COC 
   LASTInputDev HMLAN1 
   MSGCNT     1546 
   NAME       Wetterstation 
   NOTIFYDEV  global 
   NR         357 
   STATE      T: 11.8 H: 91 W: 1.8 R: 594.72 IR: 0 WD: 95 WDR: 67.5 S: 71 B: 10 
   TYPE       CUL_HM 
   lastMsg    No:F5 - t:70 s:399B9F d:000000 00765B07E0C01213470A 
   protCmdDel 36 
   protLastRcv 2017-08-14 00:00:16 
   protResnd  18 last_at:2017-08-13 19:34:11 
   protResndFail 6 last_at:2017-08-13 19:36:20 
   protSnd    24 last_at:2017-08-13 19:36:18 
   protState  CMDs_done_Errors:1 
   rssi_at_COC avg:-92.06 min:-94 max:-90.5 lst:-93 cnt:774 
   rssi_at_HMLAN1 avg:-74.9 min:-79 max:-73 lst:-74 cnt:772 
   READINGS: 
     2017-08-12 15:23:11   Activity        alive 
     2016-06-28 22:34:37   CommandAccepted yes 
     2017-06-28 03:06:18   D-firmware      1.4 
     2017-06-28 03:06:18   D-serialNr      MEQ0655185 
     2017-08-13 19:29:05   R-sunThresh     set_50 
     2017-07-31 23:30:49   battery         ok 
     2017-08-14 00:00:16   brightness      10 
     2017-08-14 00:00:16   humidity        91 
     2017-08-14 00:00:16   isRaining       0 
     2016-12-03 14:55:50   powerOn         2016-12-03 14:55:50 
     2017-08-14 00:00:16   rain            594.72 
     2017-08-13 11:25:50   rain_calc_all   cH: 0.0 lH: 0.0 cD: 0.0 lD: 0.9 IR: 1 Rnow: 0.0 Rdif: 0 
     2017-08-13 11:25:50   rain_calc_d_curr 0.0 
     2017-08-13 07:30:51   rain_calc_d_last 0.9 
     2017-08-13 07:30:51   rain_calc_d_start 594.7 
     2017-08-13 07:30:51   rain_calc_d_trig_tsecs 1502688600 
     2017-08-13 11:25:50   rain_calc_h_curr 0.0 
     2017-08-13 10:30:03   rain_calc_h_last 0.0 
     2017-08-13 10:30:03   rain_calc_h_start 594.7 
     2017-08-13 10:30:03   rain_calc_h_trig_tsecs 1502616600 
     2017-08-13 11:25:50   rain_calc_now_diff 0 
     2017-08-13 11:25:50   rain_calc_now_rate 0.0 
     2017-08-13 11:25:50   rain_calc_now_value 594.7 
     2017-08-13 11:25:50   rain_calc_tsecs 1502616350.13513 
     2016-12-03 14:55:50   recentStateType info 
     2016-06-28 22:34:37   sabotageAttackId_ErrIoId_2EF067 cnt:12 
     2016-06-28 22:34:37   sabotageAttack_ErrIoAttack cnt 6 
     2017-08-14 00:00:16   state           T: 11.8 H: 91 W: 1.8 R: 594.72 IR: 0 WD: 95 WDR: 67.5 S: 71 B: 10 
     2017-08-08 18:08:07   storm           quiet 
     2017-08-14 00:00:16   sunshine        71 
     2017-08-14 00:00:16   temperature     11.8 
     2017-08-08 18:08:07   trig_09         HM_2EF067 
     2017-08-08 18:08:07   trigger_cnt     180 
     2016-12-03 14:55:50   unknown         06000000 
     2017-08-14 00:00:16   windDirRange    67.5 
     2017-08-14 00:00:16   windDirection   95 
     2017-08-14 00:00:16   windSpeed       1.8 
   helper: 
     HM_CMDNR   245 
     getCfgList all 
     getCfgListNo ,1 
     mId        0040 
     rxType     12 
     supp_Pair_Rep 0 
     expert: 
       def        1 
       det        0 
       raw        1 
       tpl        0 
     io: 
       newChn     +399B9F,00,00,00 
       nextSend   1502661616.25231 
       rxt        0 
       vccu       VCCU 
       p: 
         399B9F 
         00 
         00 
         00 
     mRssi: 
       mNo        F5 
       io: 
         COC        -91 
         HMLAN1     -74 
     prt: 
       bErr       0 
       sProc      0 
     q: 
       qReqConf 
       qReqStat 
     role: 
       chn        1 
       dev        1 
     rssi: 
       at_COC: 
         avg        -92.0600775193798 
         cnt        774 
         lst        -93 
         max        -90.5 
         min        -94 
       at_HMLAN1: 
         avg        -74.9093264248705 
         cnt        772 
         lst        -74 
         max        -73 
         min        -79 
     shadowReg: 
       RegL_01.    05:32 
     tmpl: 
Attributes: 
   IODev      HMLAN1 
   IOgrp      VCCU 
   actCycle   000:10 
   actStatus  alive 
   autoReadReg 4_reqStatus 
   expert     2_raw 
   firmware   1.4 
   model      HM-WDS100-C6-O 
   room       Wetter,CUL_HM 
   serialNr   MEQ0655185 
   subType    THSensor 
Vielleicht kann mir jemand sagen was ich falsch mache. 
Danke
Gruß
Volker
			
			
			
				
define n_Regen_on notify Wetterstation:isRaining:.(0|1) { fhem("set Regen " . ($EVTPART1 == "1" ? "on" : "off")) }
Ist bisschen einfacher.
Schau dann mal ob das Notify überhaupt getriggert wird
			
			
			
				Hallo Leon,
das mit dem vereinfachten notify funktioniert. Ich habe mir noch eines für die Zeit wo es nicht regnet erstellt, das funktioniert auch: 
define n_Trocken_on notify Wetterstation:isRaining:.(0|1) { fhem("set Trocken " . ($EVTPART1 == "0" ? "on" : "off")) }
Nun möchte ich damit meinen Gardena-Mäher bei Regen in sein Häuschen schicken, bzw. den Zeitplan unterbrechen und nach dem es 15 Minuten aufgehört hat zu regnen wieder den Zeitplan weiter abarbeiten lassen. Dazu möchte ich den watchdog nutzen. Der watchdog zum Unterbrechen des Zeitplans funktioniert. 
define wd_Regen_on watchdog Regen:on.* 00:01:00 Regen:off.* set Gisberth parkUntilFurtherNotice;; trigger wd_Regen_on .
Der watchdog nachdem es aufgehört zu regnen, der funktioniert nicht.
define wd_Trocken_on watchdog Trocken:on.* 00:15:00 Trocken:off.* set Gisberth startResumeSchedule;; trigger wd_Trocken_on .
Einziger Unterschied den ich erkennen kann: Bei den Readings von wd_Regen_on stehen ACTIVATED und TRIGGERED jeweils mit einer Uhrzeit. Bei den Readings von wd_Trocken_on steht nur ACTIVATED mit Uhrzeit.
Was mache ich da falsch.
Gruß
Volker
			
			
			
				Zitat von: VolkerL am 22 August 2017, 11:21:18
Hallo Leon,
das mit dem vereinfachten notify funktioniert. Ich habe mir noch eines für die Zeit wo es nicht regnet erstellt, das funktioniert auch: 
define n_Trocken_on notify Wetterstation:isRaining:.(0|1) { fhem("set Trocken " . ($EVTPART1 == "0" ? "on" : "off")) }
Hallo Volker,
Da haben wir uns nicht ganz verstanden. Dieses Notify ist ja für beide Fälle. Ok ich gebe zu ich habe es doof benannt.
Erstelle einen Dummy der da heist dummyRegen
Dann erstelle ein Notify
define n_regen_janein notify Wetterstation:isRaining:.(0|1) { fhem("set Trocken " . ($EVTPART1 == "0" ? "es regnet" : "es regnet nicht")) }Hoffe so ist es deutlicher. Kannst auch was anderes setzen lassen. Deine Fantasie.
Zitat von: VolkerL am 22 August 2017, 11:21:18
Nun möchte ich damit meinen Gardena-Mäher bei Regen in sein Häuschen schicken, bzw. den Zeitplan unterbrechen und nach dem es 15 Minuten aufgehört hat zu regnen wieder den Zeitplan weiter abarbeiten lassen. Dazu möchte ich den watchdog nutzen. Der watchdog zum Unterbrechen des Zeitplans funktioniert. 
define wd_Regen_on watchdog Regen:on.* 00:01:00 Regen:off.* set Gisberth parkUntilFurtherNotice;; trigger wd_Regen_on .
Der watchdog nachdem es aufgehört zu regnen, der funktioniert nicht.
define wd_Trocken_on watchdog Trocken:on.* 00:15:00 Trocken:off.* set Gisberth startResumeSchedule;; trigger wd_Trocken_on .
Einziger Unterschied den ich erkennen kann: Bei den Readings von wd_Regen_on stehen ACTIVATED und TRIGGERED jeweils mit einer Uhrzeit. Bei den Readings von wd_Trocken_on steht nur ACTIVATED mit Uhrzeit.
Was mache ich da falsch.
Gruß
Volker
Der kann ja auch nicht gehen. Wie gesagt bedeutete in meinem Beispiel off kein Regen on Regen. Du triggerst aber auf on für das aktivieren des watchdogs. Du musst da genau andersrum triggern. Also triggern auf off und nach dem ablauf der Zeit prüfen auf on. Oder halt eben was Du immer da auch nehmen willst im dummy. Wie erwähnt es reicht ein notify und ein dummy. Das notify macht ja schon die Fallunterscheidung und schreibt je nach dem entsprechend in den Dummy.
Grüße
			
 
			
			
				Verständnisfrage.
Du hast einen Dummy "Regen" und einen Dummy "Trocken".
Beide werden durch ein Event der Wetterstation und zwar IsRaining ausgelöst.
Sie werden immer gegeneinander geschaltet, also wenn der eine on ist der andere off.
Ist das so?
Warum?
Und noch ein kleiner Hinweis: Bei leichtem Regen dauert es immer etwas bis IsRainingg auf on/1 steht.
			
			
			
				Hallo,
Ihr habt beide recht, das war irgendwie "doppelt gemoppelt"  :)  von mir.
Ich lösche den dummy Trocken und das notify für Trocken, passe alles andere an und versuche damit mal mein Glück. 
Das mit dem watchdog, dass er nicht nach 15 Minuten "kein Regen" den Mäher wieder losschickt, könnte doch auch daran liegen, dass er während der laufenden 15 Minuten, jedes mal, wenn die Wetterstation ausgelesen wird, wieder neu gestartet wird, da das notify wieder (im Moment bei mir noch) ein "Trocken on" rausgibt und das dadurch nicht als zusammenhängende Zeit ansieht.
@rabehd: das mit dem Zeitverzug bis zur Regenerkennung ist unkritisch, da der Gardena-Mäher grundsätzlich auch bei Regen mähen kann/darf, ich das aber nicht unbedingt möchte.
Gruß
Volker
			
			
			
				Zitat von: VolkerL am 22 August 2017, 14:14:37
Das mit dem watchdog, dass er nicht nach 15 Minuten "kein Regen" den Mäher wieder losschickt, könnte doch auch daran liegen, dass er während der laufenden 15 Minuten, jedes mal, wenn die Wetterstation ausgelesen wird, wieder neu gestartet wird, da das notify wieder (im Moment bei mir noch) ein "Trocken on" rausgibt und das dadurch nicht als zusammenhängende Zeit ansieht.
Ich denke eher nicht. Bin mir da aber unsicher. Was Du machen kannst ist, Readings die Du von Deiner Wetterstation tatsächlich brauchst in event-on-change-readings ein zu tragen.
			
 
			
			
				ZitatReadings die Du von Deiner Wetterstation tatsächlich brauchst in event-on-change-readings ein zu tragen.
Auch mein erster Gedanke
			
 
			
			
				Das habe ich jetzt mal alles geändert und beobachte alles mal. 
Danke 
			
			
			
				Hallo, 
So, ich habe das isRaining in der Wetterstation als event-on-change-reading eingetragen und seitdem funktioniert der watchdog korrekt und zeigt auch nach der eingestellten Zeit TRIGGERED an.  (zumindest wenn man es per Hand testet) Die unnötigen Dinge habe ich raus geschmissen.
Das der watchdog wd_Regen_on schon immer funktioniert hat, hängt damit zusammen, dass dort die Zeit auf 1 Minute eingestellt ist und zwischen zwei Aktualisierungen der Wetterstation die Zeitspanne  größer als 1 Minute ist. 
Ich denke bei Regen funktioniert es genauso.
Gruß
Volker