Acties die dubbel starten.

ijansch
ijansch Gebruiker, Specialist
Ik heb een script dat 5 min na het aangaan van de spiegel verlichting op de badkamer, de ventilatie opschroeft. Om de een of andere reden wordt de actie die dit script aanroept dubbel getriggerd.

Als ik 1 keer het licht aan doe, verschijnt er in de logs:

2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer aan]: condition met: 1 == 1
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer aan]: conditions logic is true
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer uitu]: condition failed: 1 == 0
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer uitu]: conditions logic is false
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer aan]: Executing action: starting script: Delayed ventilatie aan
2019-07-17 23:08:21 - Script [Delayed ventilatie aan] Start script
2019-07-17 23:08:21 - Script [Delayed ventilatie aan] Waiting for 300000 ms
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer aan]: condition met: 1 == 1
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer aan]: conditions logic is true
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer uitu]: condition failed: 1 == 0
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer uitu]: conditions logic is false
2019-07-17 23:08:21 - Action [Spiegel ventilatie badkamer aan]: Executing action: starting script: Delayed ventilatie aan

Zoals je ziet komt de actie twee keer achter elkaar voorbij.

Overigens komt ook de verlichting uit in de logs langs, met een condition=false. Dit schept verwarring. Is het niet handiger alleen acties die daadwerkelijk afgaan te loggen?

Reacties

  • ijansch
    ijansch Gebruiker, Specialist
    Wellicht heeft het iets te maken met de status adressen. De betreffende spiegel heeft een dubbel status adres: dat van zichzelf, maar ook dat van ‘ruimte aan’, als alle verlichting tegelijk wordt aangezet. Die dubbele status heeft xxter bij het toevoegen zelf gedetecteerd.

    Knx technisch lijkt het extra status adres correct. Is het dan een bug dat de actie ook dubbel triggert?
  • Om dit op te lossen kun je in de actie de optie "1e keer> 0" (bij badkamer aan) en "1e keer< 1" (bij badkamer uit) gebruiken.
    Reden dat je de actie twee keer ziet triggeren komt doordat de xxter ook de status terugkoppeling voorbij ziet komen. Als je bovenstaande optie gebruikt zie je de actie ook maar 1x terug in het log. De manier waarop wordt gelogd gaan we dan ook niet wijzigen.

    De status adressen die xxter heeft gedetecteerd komen uit het geïmporteerde .knxproject bestand.