[gelöst] Perl Code in doif attr wait und Gültigkeitsbereich

Begonnen von FHEMAN, 05 Mai 2022, 11:45:36

Vorheriges Thema - Nächstes Thema

FHEMAN

Hi,

ich habe ein DOIF mit 3 Bedingungen und habe Fragen zum weiteren Handling, welche sich mir nach Lesen der Commandref noch nicht ganz erschließen:

1. Zum Geltungsbereich bspw. der Wait Attribut Werte: gilt hier
attr meindoif wait 1800:0:0
=
attr meindoif wait 1800
oder gilt die Zahl bei letzterer Definition nur für die 1. Bedingung?

2. Verwendung von Perl Code in Attributen, wie bspw. wait. Lt. Commandref "Dabei werden die Trennzeichen Komma und Doppelpunkt in Klammern geschützt": Sind hier runde Klammern gemeint?
attr meindoif wait ("[$SELF]" eq "initialized")?0(:)1800:0:0
Ich möchte nach manuellen enablen und checkall die Wait Timer vermeiden

3. Wie kann ich nach einem DOIF disable / enable einen wait_timer resetten? Der scheint bei mir weiter zu laufen.

Danke sehr im Voraus!
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Damian

Zitat von: FHEMAN am 05 Mai 2022, 11:45:36
Hi,

ich habe ein DOIF mit 3 Bedingungen und habe Fragen zum weiteren Handling, welche sich mir nach Lesen der Commandref noch nicht ganz erschließen:

1. Zum Geltungsbereich bspw. der Wait Attribut Werte: gilt hier
attr meindoif wait 1800:0:0
=
attr meindoif wait 1800
oder gilt die Zahl bei letzterer Definition nur für die 1. Bedingung?

2. Verwendung von Perl Code in Attributen, wie bspw. wait. Lt. Commandref "Dabei werden die Trennzeichen Komma und Doppelpunkt in Klammern geschützt": Sind hier runde Klammern gemeint?
attr meindoif wait ("[$SELF]" eq "initialized")?0(:)1800:0:0
Ich möchte nach manuellen enablen und checkall die Wait Timer vermeiden

3. Wie kann ich nach einem DOIF disable / enable einen wait_timer resetten? Der scheint bei mir weiter zu laufen.

Danke sehr im Voraus!

Zu 1: ja, 1800 gilt nur für die erste Bedingung
Zu 2: eher:
attr meindoif wait ([$SELF] eq "initialized" ? 0 : 1800):0:0
Zu 3: bei set disable laufen die Timer weiter, um im Takt zu bleiben (so steht es in der Commandref) - ausgeführt wird aber nichts, bei attr disable 0 werden auch die Timer gelöscht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

FHEMAN

NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB