Hallo zusammen,
für mich sieht es so aus, als würde mein RandomTimer nur "on" Events erzeugen.
Die Lampe geht nicht aus!
Kann jemand den Fehler finden?
RAW Definition:defmod ZufallsTimer1 RandomTimer *{sunset_abs(-20*3600)} Sonoff_S20_4 *{sunset_abs(1*3600)} 300 600:1800
attr ZufallsTimer1 disable 0
attr ZufallsTimer1 room 99-LAB -> Zufall
attr ZufallsTimer1 switchmode 600/800
setstate ZufallsTimer1 on
setstate ZufallsTimer1 2020-07-13 16:35:20 LastCommand set Sonoff_S20_4 on
setstate ZufallsTimer1 2020-07-13 09:45:11 StartTime 2020-07-13 02:36:18
setstate ZufallsTimer1 2020-07-13 09:45:11 StopTime 2020-07-13 23:13:01
setstate ZufallsTimer1 2020-07-13 09:45:11 TimeToSwitch 300
setstate ZufallsTimer1 2020-07-13 09:45:20 active 1
setstate ZufallsTimer1 2020-07-13 16:50:05 state on
Filelog:2020-07-13_11:46:59 ZufallsTimer1 on
2020-07-13_11:46:59 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_11:53:37 ZufallsTimer1 on
2020-07-13_11:53:37 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_12:00:39 ZufallsTimer1 on
2020-07-13_12:00:39 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_12:12:55 ZufallsTimer1 on
2020-07-13_12:20:12 ZufallsTimer1 on
2020-07-13_12:32:09 ZufallsTimer1 on
2020-07-13_12:46:09 ZufallsTimer1 on
2020-07-13_12:46:09 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_12:58:54 ZufallsTimer1 on
2020-07-13_12:58:54 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_13:13:20 ZufallsTimer1 on
2020-07-13_13:13:20 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_13:23:33 ZufallsTimer1 on
2020-07-13_13:23:33 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_13:29:04 ZufallsTimer1 on
2020-07-13_13:29:04 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_13:43:24 ZufallsTimer1 on
2020-07-13_13:43:24 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_13:53:28 ZufallsTimer1 on
2020-07-13_14:03:02 ZufallsTimer1 on
2020-07-13_14:03:02 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_14:11:35 ZufallsTimer1 on
2020-07-13_14:11:35 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_14:20:30 ZufallsTimer1 on
2020-07-13_14:31:17 ZufallsTimer1 on
2020-07-13_14:31:17 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_14:45:38 ZufallsTimer1 on
2020-07-13_14:45:38 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_14:57:37 ZufallsTimer1 on
2020-07-13_15:10:01 ZufallsTimer1 on
2020-07-13_15:10:01 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_15:15:40 ZufallsTimer1 on
2020-07-13_15:28:12 ZufallsTimer1 on
2020-07-13_15:28:12 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_15:42:05 ZufallsTimer1 on
2020-07-13_15:42:05 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_15:50:35 ZufallsTimer1 on
2020-07-13_15:50:35 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_16:03:39 ZufallsTimer1 on
2020-07-13_16:09:22 ZufallsTimer1 on
2020-07-13_16:09:22 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_16:17:41 ZufallsTimer1 on
2020-07-13_16:28:20 ZufallsTimer1 on
2020-07-13_16:35:20 ZufallsTimer1 on
2020-07-13_16:35:20 ZufallsTimer1 LastCommand: set Sonoff_S20_4 on
2020-07-13_16:50:05 ZufallsTimer1 on
DEF:Internals:
COMMAND on
DEF *{sunset_abs(-20*3600)} Sonoff_S20_4 *{sunset_abs(1*3600)} 300 600:1800
DEVICE Sonoff_S20_4
FUUID 5dd7a536-f33f-ef06-4a5c-e68af01909d1ae2f
NAME ZufallsTimer1
NR 413
STATE on
TYPE RandomTimer
.attraggr:
.attrminint:
READINGS:
2020-07-13 16:35:20 LastCommand set Sonoff_S20_4 on
2020-07-13 09:45:11 StartTime 2020-07-13 02:36:18
2020-07-13 09:45:11 StopTime 2020-07-13 23:13:01
2020-07-13 09:45:11 TimeToSwitch 300
2020-07-13 09:45:20 active 1
2020-07-13 16:50:05 state on
TIMER:
ZufallsTimer1_Exec:
HASH ZufallsTimer1
MODIFIER Exec
NAME ZufallsTimer1_Exec
ZufallsTimer1_SetTimer:
HASH ZufallsTimer1
MODIFIER SetTimer
NAME ZufallsTimer1_SetTimer
helper:
NEXT_CHECK 13.07.2020 17:01:55
REL
REP *
SIGMAWHENOFF 600
SIGMAWHENON 800
STARTTIME 13.07.2020 02:36:18
STOPTIME 13.07.2020 23:13:01
SWITCHMODE 600/800
S_REL
TIMESPEC_START *{sunset_abs(-20*3600)}
TIMESPEC_STOP *{sunset_abs(1*3600)}
TIMETOSWITCH 300
VAR_DURATION 600
VAR_START 1800
active 1
startTime 1594600578
stopTime 1594674781
bm:
CODE(0x55c4dbd376c8):
cnt 4
dmx -1000
dtot 0
dtotcnt 0
mTS 13.07. 09:37:04
max 0.065558910369873
tot 0.146858930587769
mAr:
HASH(0x55c4dbd37128)
ZufallsTimer1 RandomTimer *{sunset_abs(-20*3600)} StehlampeTisch *{sunset_abs(1*3600)} 10
CODE(0x55c4dbd38cc8):
cnt 6
dmx -1000
dtot 0
dtotcnt 0
mTS 13.07. 10:15:13
max 0.00054478645324707
tot 0.00240778923034668
mAr:
set
ZufallsTimer1
switchmode
600/800
CODE(0x55c4dbd3af40):
cnt 8351
dmx -1000
dtot 0
dtotcnt 0
mTS 13.07. 09:42:09
max 0.0466048717498779
tot 1.68312478065491
mAr:
HASH(0x55c4dbd37128)
ZufallsTimer1
active
Attributes:
disable 0
room 99-LAB -> Zufall
switchmode 600/800
Welchen state kann denn das Zielgerät annehmen bzw. welchen hat es, wenn es aus ist? Früher mußte da Value() "off" sein:
ZitatThe decision to switch on or off depends on the state of the device. For $featurelevel 6.0 and earlier, or if no offState attribute is set, this is evaluated by the funktion Value(<device>). Value() must evaluate one of the values "on" or "off". The behavior of devices that do not evaluate one of those values can be corrected by defining a stateFormat:<br>
Heute würde ich empfehlen, das betreffende Attribut zu setzen, statt irgendwas mit stateFormat am Zieldevice zu arbeiten. Vermutlich würde
attr ZufallsTimer1 offState .*(off|OFF)
helfen?
(EDIT: oder eben $featurelevel schon mal auf 6.1 stellen...)
Danke,
mit
offState state.*(off|OFF)
funktioniert es.
Der state kommt per MQTT von Tasmota. Das Ergebnis ist ON/OFF in Großbuchstaben.
STATE kann via stateformat noch diverse andere Stati annehmen und ist unzuverlässiger.
Zitat von: dirk.k am 13 Juli 2020, 17:32:50
Der state kommt per MQTT von Tasmota. Das Ergebnis ist ON/OFF in Großbuchstaben.
STATE kann via stateformat noch diverse andere Stati annehmen und ist unzuverlässiger.
... genau diese Art trouble war der Grund, warum ich das Attribut bei der letzten größeren Überarbeitung von RandomTimer hinzugefügt hatte und das dann ab 6.1 auch der Standard sein wird...
(Z.B. HUEDevice macht - bei Gruppen - auch solche "komischen" Sachen, mit denen RT nicht umgehen konnte :) ).