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
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
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