Hallo,
ich habe hier mehrere Random Timer, die ich gerne nach Wochenende und Wochentag unterschieden schalten lassen würde. Leider komme ich mit der Perldefinition !we nicht weiter.
So sieht ein Random Timer bisher aus:
define zufall_arbeitszimmer_morgens RandomTimer *{sunrise_abs(+1140,"06:44","07:29")} Licht_Arbeitszimmer +02:03:00 300
attr zufall_arbeitszimmer_morgens disable 0
attr zufall_arbeitszimmer_morgens disableCond (Value("rgr_Residents") eq "home")
attr zufall_arbeitszimmer_morgens offCmd set Licht_Arbeitszimmer off
attr zufall_arbeitszimmer_morgens onCmd set Licht_Arbeitszimmer on
attr zufall_arbeitszimmer_morgens room Arbeitszimmer
attr zufall_arbeitszimmer_morgens switchmode 900/50
# COMMAND off
# DEF *{sunrise_abs(+1140,"06:44","07:29")} Licht_Arbeitszimmer +02:03:00 300
# DEVICE Licht_Arbeitszimmer
# FUUID 5c65c107-f33f-74ea-d6c2-4f6d44520da93466
# NAME zufall_arbeitszimmer_morgens
# NR 155
# STATE disabled
# TYPE RandomTimer
# eventCount 21
# READINGS:
# 2025-04-13 08:49:11 LastCommand set Licht_Arbeitszimmer off
# 2025-04-15 10:27:02 StartTime 2025-04-15 06:44:00
# 2019-08-01 00:05:30 Startzeit 2019-08-01 06:44:00
# 2025-04-15 10:27:02 StopTime 2025-04-15 08:47:00
# 2019-08-01 00:05:30 Stoppzeit 2019-08-01 08:47:00
# 2025-04-15 10:27:02 TimeToSwitch 300
# 2025-04-15 10:28:03 active 0
# 2025-04-15 10:28:03 state disabled
# helper:
# NEXT_CHECK 15.04.2025 08:49:22
# REL
# REP *
# SIGMAWHENOFF 900
# SIGMAWHENON 50
# STARTTIME 15.04.2025 06:44:00
# STOPTIME 15.04.2025 08:47:00
# SWITCHMODE 900/50
# S_REL +
# TIMESPEC_START *{sunrise_abs(+1140,"06:44","07:29")}
# TIMESPEC_STOP +02:03:00
# TIMETOSWITCH 300
# VAR_DURATION 0
# VAR_START 0
# active 0
# offReading state
# offRegex off
# startTime 1744692240
# stopTime 1744699620
#
setstate zufall_arbeitszimmer_morgens disabled
setstate zufall_arbeitszimmer_morgens 2025-04-13 08:49:11 LastCommand set Licht_Arbeitszimmer off
setstate zufall_arbeitszimmer_morgens 2025-04-15 10:27:02 StartTime 2025-04-15 06:44:00
setstate zufall_arbeitszimmer_morgens 2019-08-01 00:05:30 Startzeit 2019-08-01 06:44:00
setstate zufall_arbeitszimmer_morgens 2025-04-15 10:27:02 StopTime 2025-04-15 08:47:00
setstate zufall_arbeitszimmer_morgens 2019-08-01 00:05:30 Stoppzeit 2019-08-01 08:47:00
setstate zufall_arbeitszimmer_morgens 2025-04-15 10:27:02 TimeToSwitch 300
setstate zufall_arbeitszimmer_morgens 2025-04-15 10:28:03 active 0
setstate zufall_arbeitszimmer_morgens 2025-04-15 10:28:03 state disabled
Wenn ich jetzt !we einfüge, werden vollkommen falsche Schaltzeiten angezeigt, da kann also was nicht stimmen:
define zufall_arbeitszimmer_morgens_WE RandomTimer *{sunrise_abs(+1140,"07:29","08:59"|$we)} Licht_Arbeitszimmer +02:03:00 300
attr zufall_arbeitszimmer_morgens_WE disable 1
attr zufall_arbeitszimmer_morgens_WE disableCond (Value("rgr_Residents") eq "home")
attr zufall_arbeitszimmer_morgens_WE offCmd set Licht_Arbeitszimmer off
attr zufall_arbeitszimmer_morgens_WE onCmd set Licht_Arbeitszimmer on
attr zufall_arbeitszimmer_morgens_WE room Arbeitszimmer
attr zufall_arbeitszimmer_morgens_WE switchmode 900/50
# CFGFN
# COMMAND off
# DEF *{sunrise_abs(+1140,"07:29","08:59"|$we)} Licht_Arbeitszimmer +02:03:00 300
# DEVICE Licht_Arbeitszimmer
# FUUID 67fd33b1-f33f-74ea-433d-07bd2fbf638baf50
# NAME zufall_arbeitszimmer_morgens_WE
# NR 667
# STATE disabled
# TYPE RandomTimer
# eventCount 22
# READINGS:
# 2025-04-15 00:05:30 StartTime 2025-04-15 00:00:00
# 2025-04-15 00:05:30 StopTime 2025-04-15 02:03:00
# 2025-04-14 19:30:52 TimeToSwitch 300
# 2025-04-15 02:04:45 active 0
# 2025-04-15 02:04:45 state disabled
# helper:
# NEXT_CHECK 15.04.2025 02:04:45
# REL
# REP *
# SIGMAWHENOFF 900
# SIGMAWHENON 50
# STARTTIME 15.04.2025 00:00:00
# STOPTIME 15.04.2025 02:03:00
# SWITCHMODE 900/50
# S_REL +
# TIMESPEC_START *{sunrise_abs(+1140,"07:29","08:59"|$we)}
# TIMESPEC_STOP +02:03:00
# TIMETOSWITCH 300
# VAR_DURATION 0
# VAR_START 0
# active 0
# offReading state
# offRegex off
# startTime 1744668000
# stopTime 1744675380
# hmccu:
#
setstate zufall_arbeitszimmer_morgens_WE disabled
setstate zufall_arbeitszimmer_morgens_WE 2025-04-15 00:05:30 StartTime 2025-04-15 00:00:00
setstate zufall_arbeitszimmer_morgens_WE 2025-04-15 00:05:30 StopTime 2025-04-15 02:03:00
setstate zufall_arbeitszimmer_morgens_WE 2025-04-14 19:30:52 TimeToSwitch 300
setstate zufall_arbeitszimmer_morgens_WE 2025-04-15 02:04:45 active 0
setstate zufall_arbeitszimmer_morgens_WE 2025-04-15 02:04:45 state disabled
Wer kann mir mit etwas Perl Code aushelfen - ich komme alleine nicht weiter :'( .
Vielen Dank
oelidoc
Ungetestet: Die disableCond erweitern um sowas wie
|| !$we
Ah okay,
meinst du so?
attr RandomTimer disableCond (Value("rgr_Residents") eq "home" || !$we)
Vielen Dank für die Unterstützung
oelidoc
Zitat von: oelidoc am 15 April 2025, 13:20:47Ah okay,
meinst du so?
attr RandomTimer disableCond (Value("rgr_Residents") eq "home" || !$we)
Vielen Dank für die Unterstützung
oelidoc
So war es gemeint :) .
Vielen Dank, werde es testen...
Gruß
oelidoc