[gelöst] RandomTimer - schaltet nicht ab

Begonnen von dirk.k, 13 Juli 2020, 16:55:04

Vorheriges Thema - Nächstes Thema

dirk.k

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

Beta-User

#1
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(&lt;device&gt;). 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...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

dirk.k

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.


Beta-User

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 :) ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files