FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: 3dmanipulator am 20 Oktober 2015, 13:53:07

Titel: [gelöst]DOIF ein- oder aus- schalten mit onebutton fernbedienung
Beitrag von: 3dmanipulator am 20 Oktober 2015, 13:53:07
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


Titel: Antw:DOIF ein- oder aus- schalten mit onebutton fernbedienung
Beitrag von: Ellert am 20 Oktober 2015, 14:02:29
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)
Titel: Antw:DOIF ein- oder aus- schalten mit onebutton fernbedienung
Beitrag von: 3dmanipulator am 20 Oktober 2015, 14:37:01
@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
Titel: Antw:DOIF ein- oder aus- schalten mit onebutton fernbedienung
Beitrag von: Ellert am 20 Oktober 2015, 14:56:29
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.

Titel: Antw:DOIF ein- oder aus- schalten mit onebutton fernbedienung
Beitrag von: 3dmanipulator am 20 Oktober 2015, 15:56:34
do always war nicht drin,
aber wait 1:1 hats gerichtet.

danke