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