Hallo zusammen, 
eigentlich würde ich gerne meinen Luftreiniger alle zwei Stunden für eine Stunde in Betrieb nehmen und zwar nur wenn ich zu Hause bin. Grundsätzlich ja kein größeres Problem. 
Jetzt hab ich aber das Problem dass der Purifier kein 
on-for-timer 
kennt.
Ich kann nur die Befehle:
set Purifier on
set Purifier off
nutzen. Ich stehe völlig auf dem Schlauch wie ich die Laufzeit des Purifiers definieren kann. Habt ihr da eine Idee? Über eure Hilfe würde ich mich sehr freuen. 
Grüssle
sxx128
			
			
			
				Zitat von: sxx128 am 10 Dezember 2021, 08:45:40
Hallo zusammen, 
eigentlich würde ich gerne meinen Luftreiniger alle zwei Stunden für eine Stunde in Betrieb nehmen und zwar nur wenn ich zu Hause bin. Grundsätzlich ja kein größeres Problem. 
Jetzt hab ich aber das Problem dass der Purifier kein 
on-for-timer 
kennt.
Ich kann nur die Befehle:
set Purifier on
set Purifier off
nutzen. Ich stehe völlig auf dem Schlauch wie ich die Laufzeit des Purifiers definieren kann. Habt ihr da eine Idee? Über eure Hilfe würde ich mich sehr freuen. 
Grüssle
sxx128
Schaue mal nach den Attributen repeatsame und repeatcmd
			
 
			
			
				Hallo Damian,
danke für die schnelle Antwort. Schaue ich mir an..
Grüße
sxx128
			
			
			
				Hallole 
meine Lösung sieht jetzt so aus ..
([[05:00-22:00]] and [rgr_Bewohner] eq "zuhause")
(set airpurifier on)(set airpurifier off) DOELSE (set airpurifier off)
attr Luftreiniger wait 0,3600
attr Luftreiniger repeatcmd 7200
Wie gesagt der Luftreiniger sollte bei Anwesenheit alle zwei Stunden eine Stunde laufe in der Zeit von 5-22 Uhr ..
Nachtrag: Ich habe eine Meldung Reading: timer_01_c01 
error: unknown expression format
Grüße
sxx128
			
			
			
				Zitat von: sxx128 am 10 Dezember 2021, 10:15:06
Hallole 
meine Lösung sieht jetzt so aus ..
([[05:00-22:00]] and [rgr_Bewohner] eq "zuhause")
(set airpurifier on)(set airpurifier off) DOELSE (set airpurifier off)
attr Luftreiniger wait 0,3600
attr Luftreiniger repeatcmd 7200
Wie gesagt der Luftreiniger sollte bei Anwesenheit alle zwei Stunden eine Stunde laufe in der Zeit von 5-22 Uhr ..
Nachtrag: Ich habe eine Meldung Reading: timer_01_c01 
error: unknown expression format
Bin mir aber nicht sicher ob es eine "alte" Fehlermeldung ist ...
Grüße
sxx128
statt
[[05:00-22:00]]
eher
[05:00-22:00]
angeben
			
 
			
			
				Hallole 
vielen Dank. Mit den Klammern kämpfe ich immer. Bin schon gespannt, gegen 11.00 Uhr sollte das Teil dann ja einschalten ..
([05:00-22:00]  and [rgr_Bewohner] eq "zuhause")
(set airpurifier on)(set airpurifier off) DOELSE (set airpurifier off)
attr Luftreiniger wait 0,3600
attr Luftreiniger repeatcmd 7200
Grüße
sxx128
			
			
			
				Hallole 
ich hab jetzt doch wohl ein Problem. So wie ich es sehe schaltet der Purifier zwar ein aber nicht aus. Ich habe die Interveralle jetzt mal verkürzt. Trotz Verbose 5 sehe ich im Log nix.
([05:00-22:00]  and [rgr_Bewohner] eq "zuhause")
(set airpurifier on)(set airpurifier off) DOELSE (set airpurifier off)
attr Purifier wait 0,300
attr Purifier repeatcmd 120
Internals:
   DEF        ([05:00-22:00]  and [rgr_Bewohner] eq "zuhause")
(set airpurifier on)(set airpurifier off) DOELSE (set airpurifier off)
attr Purifier wait 0,300
attr Purifier repeatcmd 120
   FUUID      61b32044-f33f-f918-75ce-e4a1965b99bfb6c1
   MODEL      FHEM
   NAME       Purifier
   NOTIFYDEV  rgr_Bewohner,global
   NR         327
   NTFY_ORDER 50-Purifier
   STATE      cmd_1
   TYPE       DOIF
   VERSION    25295 2021-12-04 18:13:39
   Helper:
     DBLOG:
       cmd:
         LOG_Db:
           TIME       1639135408.62004
           VALUE      1.2
       cmd_event:
         LOG_Db:
           TIME       1639135408.62004
           VALUE      rgr_Bewohner
       cmd_nr:
         LOG_Db:
           TIME       1639135408.62004
           VALUE      1
       cmd_seqnr:
         LOG_Db:
           TIME       1639135408.62004
           VALUE      2
       mode:
         LOG_Db:
           TIME       1639135385.49399
           VALUE      enabled
       state:
         LOG_Db:
           TIME       1639135408.62004
           VALUE      cmd_1
   READINGS:
     2021-12-10 12:31:28   Device          rgr_Bewohner
     2021-12-10 12:23:28   cmd             1.2
     2021-12-10 12:23:28   cmd_event       rgr_Bewohner
     2021-12-10 12:23:28   cmd_nr          1
     2021-12-10 12:23:28   cmd_seqnr       2
     2021-12-10 12:31:28   e_rgr_Bewohner_STATE zuhause
     2021-12-10 12:23:05   mode            enabled
     2021-12-10 12:23:28   state           cmd_1
     2021-12-10 12:22:39   timer_01_c01    11.12.2021 05:00:00
     2021-12-10 12:22:39   timer_02_c01    10.12.2021 22:00:00
   Regex:
     accu:
     collect:
     cond:
       rgr_Bewohner:
         0:
           &STATE     ^rgr_Bewohner$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time($hash,0,1,$wday,$hms)  and ::InternalDoIf($hash,'rgr_Bewohner','STATE') eq "zuhause"
   days:
   do:
     0:
       0          set airpurifier on
       1          set airpurifier off
     1:
       0          set airpurifier off
   helper:
     DEVFILTER  ^global$|^rgr_Bewohner$
     NOTIFYDEV  global|rgr_Bewohner
     event      durTimerPresence_cr: 247,durTimerPresence: 04:06:49
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   rgr_Bewohner
     timerevent durTimerPresence_cr: 247,durTimerPresence: 04:06:49
     triggerDev rgr_Bewohner
     timerevents:
       durTimerPresence_cr: 247
       durTimerPresence: 04:06:49
     timereventsState:
       durTimerPresence_cr: 247
       durTimerPresence: 04:06:49
     triggerEvents:
       durTimerPresence_cr: 247
       durTimerPresence: 04:06:49
     triggerEventsState:
       durTimerPresence_cr: 247
       durTimerPresence: 04:06:49
   internals:
     all         rgr_Bewohner:STATE 
   interval:
     0          -1
     1          0
   intervalfunc:
   localtime:
     0          1639195200
     1          1639170000
   readings:
   realtime:
     0          05:00:00
     1          22:00:00
   time:
     0          05:00:00
     1          22:00:00
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1 
   trigger:
   triggertime:
     1639170000:
       localtime  1639170000
       hash:
     1639195200:
       localtime  1639195200
       hash:
   uiState:
   uiTable:
Attributes:
   verbose    5
Habt ihr eine Idee wo der Hund begraben ist? Das wäre super...
Grüße
sxx128
			
			
			
				Wenn du nach 120 Sekunden den Befehl wiederholen willst, wie soll er nach 300 Sekunden ausschalten können?
Die Wiederholungsspanne beginnt mit dem ersten Befehl und sollte länger dauern, als die Dauer der Sequenz des Zweiges, hier also 300 Sekunden.
			
			
			
				Hallole 
da hast du natürlich recht. Ich hab meine ursprüngliche Konfiguration anpassen wollen damit ich nicht so lange warten muss bis ich ein Ergebnis sehe und das gleich auch noch falsch ...
Das Problem hatte ich in meiner ursprünglichen Konfig aber auch ....
([05:00-22:00]  and [rgr_Bewohner] eq "zuhause")
(set airpurifier on)(set airpurifier off) DOELSE (set airpurifier off)
attr Luftreiniger wait 0,3600
attr Luftreiniger repeatcmd 7200
Der State bleibt immer cmd_1
Grüße
sxx128
			
			
			
				Hallole 
das war glaube ich ein Layer 8 Problem.   ::) Ist halt nichts wenn man nicht nachdenkt .. Ich melde mich mit der Lösung sobald ich ein Ergebnis habe.
Grüße
sxx128
			
			
			
				Hallo zusammen, 
es war wirklich ein Layer8 Problem. Man sollte halt die Attribute richtig bzw. überhaupt setzen. ..
([05:00-22:00] and [rgr_Bewohner] eq "zuhause") 
(set airpurifier on)(set airpurifier off) 
DOELSE (set airpurifier off)
So funktioniert es mit den Attributen:
repeatcmd und wait
Grüße und Danke 
sxx128
			
			
			
				Zitat von: sxx128 am 12 Dezember 2021, 22:30:12
Hallo zusammen, 
es war wirklich ein Layer8 Problem. Man sollte halt die Attribute richtig bzw. überhaupt setzen. ..
([05:00-22:00] and [rgr_Bewohner] eq "zuhause") 
(set airpurifier on)(set airpurifier off) 
DOELSE (set airpurifier off)
So funktioniert es mit den Attributen:
repeatcmd und wait
Grüße und Danke 
sxx128
ohne do always-Attribut, wird es nur einmal funktionieren, wenn das System den DOELSE-Fall nicht mitbekommt
			
 
			
			
				Hallo Damian, 
habe ich ergänzt. Danke für den Hinweis.
Grüße
sxx128