FHEM Forum

FHEM => Automatisierung => Thema gestartet von: TomLee am 17 März 2022, 17:27:44

Titel: [behoben] Wie korrekt mit disabledForIntervals Modul de.-/aktivieren ?
Beitrag von: TomLee am 17 März 2022, 17:27:44
Hallo,

bin mir nicht sicher ob die Angabe 24-24 korrekt ist, durch ausprobieren hatte ich aber mal festgestellt das damit das Modul aktiv ist.

Folgendes at-Definition macht somit was es soll wie ich mir vorstelle:
defmod Demo_at at *{at_ultimo()} {}
attr Demo_at disabledForIntervals 24-24

setstate Demo_at Next: 2022-03-31 23:59:00
setstate Demo_at 2022-03-17 17:14:38 state Next: 2022-03-31 23:59:00


Genauso :
defmod Demo_at at *{at_ultimo()} {}
attr Demo_at disabledForIntervals 00-24

setstate Demo_at disabled
setstate Demo_at 2022-03-17 17:19:02 state disabled



Kann mir wer die Frage beantworten weshalb es mit dem if nicht zum gleichen Verhalten kommt ?

defmod Demo_at at *{at_ultimo()} {}
attr Demo_at disabledForIntervals {$month == 3 ? '24' : '00' }-24

setstate Demo_at disabled
setstate Demo_at 2022-03-17 17:22:52 state disabled



Gruß

Thomas
Titel: Antw:Wie korrekt mit disabledForIntervals Modul de.-/aktivieren ?
Beitrag von: TomLee am 17 März 2022, 17:44:01
Dann steht in dem Reading das drin was ich erwarte, Danke.

Ich hab nur getestet mit DEF bearbeiten und anschliessendem modify demo_at, damit wird bei Angabe nur eines Tupels das Reading direkt aktualisiert.

Ich verstehe jetzt aber immer noch nicht ob der restart nur für die Optik ist oder das at auch ohne greifen würde ?
Titel: Antw:Wie korrekt mit disabledForIntervals Modul de.-/aktivieren ?
Beitrag von: betateilchen am 17 März 2022, 18:00:59
Örks, ich hab grade versehentlich falsch geklickt, als ich meinen letzten Beitrag bearbeiten wollte... nun isser weg.

Warum willst Du eine Ausführung über disabledForIntervals ein-/ausschalten und nicht per disable oder direkt im Ausführungsteil?
Titel: Antw:Wie korrekt mit disabledForIntervals Modul de.-/aktivieren ?
Beitrag von: TomLee am 17 März 2022, 18:16:47
Bei mir will ich gar nix umsetzen, ich hatte hier (https://forum.fhem.de/index.php/topic,126771.msg1213795.html#msg1213795) eine weitere Möglichkeit gezeigt es anzugehen und im nachhinein das oben geschilderte Verhalten festgestellt, das wollte ich einfach nur für mich nochmal klären (weil da egal von welcher Seite keine Rückmeldung kam) das das auch korrekt so vorgeschlagen war (mit restart halt schon irgendwie doof), das müsste man dann vlt. bei meiner vorgeschlagenen Lösung ergänzen.
Titel: Antw:Wie korrekt mit disabledForIntervals Modul de.-/aktivieren ?
Beitrag von: rudolfkoenig am 17 März 2022, 18:21:17
Wenn ich
attr Demo_at disabledForIntervals {$month == 3 ? '24' : '00' }-24

setze, dann steht bei mir im Log
Zitat2022.03.17 18:15:36 1: PERL WARNING: Use of uninitialized value in substitution iterator at fhem.pl line 911.
2022.03.17 18:15:36 3: eval: $month == 3 ? '24' : '00'
Liegt wohl daran, dass disabledForIntervals fuer {} nur eval aufgerufen hat, und nicht AnalyzePerlCommand.
Das habe ich jetzt gefixt.