Unknown argument PortB0:off, choose one of PortB0:off

Begonnen von fhemer, 10 Mai 2016, 00:24:20

Vorheriges Thema - Nächstes Thema

fhemer

Hallo ins Forum!

Habe jetzt mich etwas in FHEM eingearbeitet und soweit alles für den 23017 über I2C hinbekommen. Auf der Weboberfläche erscheint auch eine Birne und die Befehle on und off. Ich möchte einfach nur Port B0 ein- und ausschalten. Dazu habe ich u.a. folgenden Code:

attr i2c20pB0 setFn {($CMD eq "on")?"PortB0:off":"PortB0:on"}

Es kommt dann folgende Fehlermeldung, wenn ich auf on oder off klicke:

Unknown argument PortB0:off, choose one of PortB0:off,on PortB1:off,on PortB2:off,on PortB3:off,on PortB4:off,on PortB5:off,on PortB6:off,on PortB7:off,on

Die Fehlermeldung macht echt keinen Sinn. Habe schon andere Varianten ausprobiert, klappt aber nie :-( Kann mir jemand helfen?
Danke im Vorraus!

VG
Fhemer


viegener

Die Fehlermeldung klingt erstmal nciht so überzeugend...

Ich vermute mal Dein zugrundeliegender Device ist ein I2C_MCP23017?
Dann würde ich mal (ohne setfn) zu versuchen folgendes aufzurufen
Zitatset i2c20pB0 PortB0 off

Wenn das geht, kannst Du ja in Deinem Code leerzeichen statt : einsetzen.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

betateilchen

ich verstehe grade nicht, wieso man einen port über ein Attribut schalten will?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

fhemer

#3
Habe jetzt mal meinen Code komplett überarbeitet und so geht es jetzt. Vermutlich hatte ich einen doppelten Alias und/oder falsche Reihenfolgen. Und den Doppelpunkt habe ich rausgenommen :-) Jedenfalls vielen Dank!
On und Off ist zur Zeit noch invertiert.

define i2c RPII2C 1
attr i2c alias Onboard I2C Controller 1
attr i2c room ops

define i2c20 I2C_MCP23017 0x20
attr i2c20 IODev i2c
attr i2c20 room ops
# attr i2c20 OutputPorts A0,A1,A2,A3,A4,A5,A6,A7 # wird ueberschrieben #mag kein Umlaut
attr i2c20 OutputPorts A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7
set i2c20 PortB0 on # ausschalten
set i2c20 PortA0 on # ausschalten

setdefaultattr valueFn {($VALUE eq "on")?"off":"on"}

define i2c20pB0 readingsProxy i2c20:PortB0
# define lampeB0 i2c20:PortB0
# define i2c20pB0 i2c20:PortB0
# attr i2c20pB0 direction output
attr i2c20pB0 room ops
attr i2c20pB0 devStateIcon on:on:off off:off:on
attr i2c20pB0 alias Lampe B0
# attr lampeB0 alias Lampe B0
attr i2c20pB0 setList on off
attr i2c20pB0 setFn {($CMD eq "on")?"PortB0 off":"PortB0 on"}