Hauptmenü

WeekDayTimer - state

Begonnen von cotecmania, 08 Mai 2023, 10:52:51

Vorheriges Thema - Nächstes Thema

cotecmania

Hallo,

wenn ich meine WeekDayTimer disable bleibt der State weiterhin auf active.
Das ist schlecht für manche Darstellungen.
Ist das gewollt so ?
Dann muesste ich mit stateFormat alle umbauen ...

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

juemuc

Das kann Dir nur der Entwickler sagen.

Für den WT gibt es einen eigenen Thread:
https://forum.fhem.de/index.php?topic=114168.0

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Beta-User

Zitat von: juemuc am 08 Mai 2023, 13:57:25Das kann Dir nur der Entwickler sagen.
Der aktuelle Entwickler kann dazu auch relativ wenig sagen....

An sich dürfte das Verhalten "schon immer so" gewesen sein - ich war meistens bemüht, Eingriffe in das Modulverhalten mit Auswirkungen auf viele User eher zu vermeiden, und grade "state" ist "effektverdächtig".

Aber an sich fände ich es auch sinnvoll, wenn man dem WDT-state ansehen würde, dass er grade nicht aktiv ist. Für die aktuelle (leider buggy!) Version wäre das vermutlich ab Zeile 1352 (je mit einer unveränderten Zeile) in etwa so:
    $attr{$name}{$attrName} = $attrVal;
    if ( $attrVal ) {
      readingsSingleUpdate ($hash, 'state', 'disabled', 1);
      return RemoveInternalTimer($hash,\&WDT_SetTimerOfDay);
    }
    return WDT_Start($hash);

Wobei ich noch unschlüssig bin, ob "disabled" oder "inactive" die bessere Wahl wäre...

Meinungen willkommen (gerne auch im support-Thread).
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

juemuc

Hi Beta-User,

enabled und disabled würde mir zwar besser gefallen, aber aufgrund der Historie ist wohl active und inactive die bessere Wahl. Bei meinem Tests wird allerdings nicht "active" sondern der letzte Wert des betroffenen Gerätes angezeigt. Hier das dazugehörige "list"

Internals:
   CFGFN     
   COMMAND   
   CONDITION 
   DEF        TEST de 12|08:00|on 12|16:13|off
   DEVICE     TEST
   FUUID      645902df-f33f-4885-2e40-f2552d55f55ed5e2
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       TEST_WT
   NR         8181
   Profil 1: Montag 08:00:00 on, 16:13:00 off,
   Profil 2: Dienstag 08:00:00 on, 16:13:00 off,
   STATE      off
   STILLDONETIME 0
   TYPE       WeekdayTimer
   eventCount 31
   READINGS:
     2023-05-08 16:13:00   currValue       off
     2023-05-08 16:13:43   disabled        1
     2023-05-08 16:13:00   nextUpdate      2023-05-09 08:00:00
     2023-05-08 16:13:00   nextValue       on
     2023-05-08 16:13:00   state           off
   SWITCHINGTIMES:
     12|08:00|on
     12|16:13|off
   TIMER:
     TEST_WT_midnight:
       HASH       TEST_WT
       MODIFIER   midnight
       NAME       TEST_WT_midnight
       SETTIMERATMIDNIGHT 1
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
       1:
         08:00:00   on
         16:13:00   off
       2:
         08:00:00   on
         16:13:00   off
       3:
       4:
       5:
       6:
     WEDAYS:
       5          1
       6          1
   hmccu:
   profil:
     1:
       EPOCH      1683525600
       PARA       on
       TIME       08:00
       WE_Override
       DAYS:
         1
         2
     2:
       EPOCH      1683555180
       PARA       off
       TIME       16:13
       WE_Override
       DAYS:
         1
         2
   profile_IDX:
     1:
       08:00:00   1
       16:13:00   2
     2:
       08:00:00   1
       16:13:00   2
Attributes:
   commandTemplate set $NAME  $EVENT
   disable    1
   room       Test

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Beta-User

Hattest du FHEM neu gestartet nach der Änderung bzw. ein reload durchgeführt?

Habe grade versucht, das nachzuvollziehen, aber bei mir klappt das mit "disabled" (bzw. "inactive").
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

juemuc

Wieso sollte ich einen Neustart bzw. einen reload durchführen? Ich habe das Modul ja nicht verändert.

Ich wollte damit nur zeigen, dass ich das Verhalten von cotecmania nicht nachvollziehen kann und bei mir der Wert von "state" in der aktuellen Version ein anderer ist.

Viele Grüße
Jürgen

3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

cotecmania

Bei mir wird auch die aktuelle Gradzahl angezeigt.
Das "active" kommt nur wenn man den WDT neu startet oder parametriert.
Trotzdem ist die Anzeige einer Temperatur falsch wenn das Teil disabled ist.
Somit wäre die Anzeige "disabled" perfekt und es wäre toll wenn das eingebaut werden könnte

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Beta-User

Den Code-Schnippsel hast du aber auch nicht ausprobiert, oder?

Werde wohl demnächst mal ein update einchecken, das dann aber "inactive" für diese Fälle als "state" anzeigt und sehr vielleicht auch das andere Problem fixt...
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

juemuc

#8
Hi Beta-User,

der Code-Schnipsel hatte bei mir keine Auswirkung (FHEM auch neu gestartet).

Ich kann gerne vorab die neue Version testen.

Viele Grüße
Jürgen

Korrektur:
Nach einem enable und erneutem disabled ist nun das Reading "state" auf "disabled".
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).