FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ThomasRamm am 27 Februar 2015, 15:48:25

Titel: (gelöst) readingsProxy und toggle in setFn
Beitrag von: ThomasRamm am 27 Februar 2015, 15:48:25
Hallo, ich habe ein MCP23017 Device das die einzelnen Ein- Ausgänge über Readings bereitstellt.
Mithilfe von readingsProxy habe ich mir für jeden der 16 Ein- Ausgänge ein device angelegt.
Im Attribut setFn musste ich noch den on/off abändern mit
{($CMD eq "on")?"PortB0 on":"PortB0 off"}

readingsProxy bietet mir automatisch funktionen wie toggle blink etc. an.
Wie muss ich die setFn ändern damit diese Befehle auch funktionieren?
habe soetwas versucht:
{(($CMD eq "on")|| (($CMD eq "toggle") && (Value("Led_B0_Gelb") eq "on")))?"PortB0 off":"PortB0 on"}

Led_B0_Gelb ist ein weiterer readingsProxy auf einen Ausgang des gleichen Geräts

Gruß
Thomas
Titel: Antw:readingsProxy und toggle in setFn
Beitrag von: justme1968 am 27 Februar 2015, 23:32:58
du musst in der setFn nur on und off implementieren. alle anderen werden über die SetExtentions automatisch auf diese on und off abgebildet.

da toggle aber den aktuellen zustand über Value abfragt um auf den jeweils anderen zu schalten musst du dafür sorgen das STATE passend gesetzt ist.

dazu musst du entweder die valueFn passend implementieren so das der tatsächliche aktuelle  zustand des jeweiligen ausgangs abgefragt und zurückgeluefert wird oder wenn das nicht geht $LASTCMD um einfach das letzte schaltkommando zurück zu liefern.

gruß
  andre
Titel: Antw:readingsProxy und toggle in setFn
Beitrag von: ThomasRamm am 28 Februar 2015, 10:18:53
Hallo,
hatte ich so am Anfang auch schon probiert.
Hat aber nicht funktioniert.
Habe jetzt gemerkt das das Problem an einer anderen Stelle liegt, der Status des ReadingsProxy wird nicht immer korrekt gesetzt.
Werde dazu eine neue Frage eröffnen