hallo,
ich möchte gerne mit einem button auf der fb eine lampe ein- oder aus-schalten.
DEF ([nodon_fb_16:cSceneSet] == 2 and [?balkon] eq "off")(set balkon on)
DOELSEIF ([nodon_fb_16:cSceneSet] == 2 and [?balkon] eq "on")(set balkon off)
leider gelingt mir das nicht. die lampe wird zwar geschaltet, aber immer nur kurz aus und dann wieder an.
im Prinzip ist mir schon klar, dass der zustand 2 unmittelbar nach ausschalten der lampe wahr wird und sie dann wieder einschaltet.
aber wie kann ich das verhindern?
die fb sendet leider nur immer wieder bei betätigung:
[nodon_fb_16:cSceneSet] == 2
was müsste ich den bei meinem Code ändern?
grüße horst
Ich habe es so gelöst:
define PB61_Btn_05_di DOIF ([PB61_Btn_05] =~ "Short" and [?PB61_Btn_05_di] =~ "cmd_2|initialized")
(set Anwesend on)
DOELSEIF ([PB61_Btn_05] =~ "Short" and [?PB61_Btn_05_di] =~ "cmd_1")
(set Anwesend off)
@ellert
danke, ich habe das mal bei mir nachgebaut:
([nodon_fb_16:cSceneSet] =~ 2 and [?do.nodon.set] =~ "cmd_2|initialized") (set balkon on)
DOELSEIF ([nodon_fb_16:cSceneSet] =~ 2 and [?do.nodon.set] =~ "cmd_1") (set balkon off)
...und es funktioniert genau ein mal.
danach schaltet es aus-an-aus, oder an-aus-an,
je nachdem welcher zustand zufällig beim ursprünglichen initialisieren herrschte.
grüße horst
Hast Du ein do always gesetzt? Wenn ja, rausnehmen.
Versuch bei nodon_fb_16:cSceneSet das Attribut event-on-change-reading zu setzen.
oder versuche wait 1:1
Das initialized ist nur drin, damit der Schalter überhaut schaltet, nach einem Ändern der DEF.
do always war nicht drin,
aber wait 1:1 hats gerichtet.
danke