Hallo zusammen,
ich habe aktuell noch 2 Fragen zu dem Thema MCP23017.
Ich habe mir folgender Beitrag aus dem Jahr 2014 geschnappt und die ersten Sachen eingepflegt in FHEM. (https://forum.fhem.de/index.php/topic,28890.0/all.html (https://forum.fhem.de/index.php/topic,28890.0/all.html))
Leider fehlt mir hier ein wichtiger Punkt.
Meine Jalousien können auch über übliche Schalter geschaltet werden. Damit die Motoren während der Bewegung durch FHEM keinen Schaden nehmen müssen die Schalter erst deaktiviert werden. Dies ist realisierbar wenn das Relai hinter 0x20_PortA0 aktiviert wird bevor die Jalousien runtergefahren werden. Nach der Steuerung muss dies natürlich wieder deaktiviert werden.
Hier mal ein Beispiel mit der Jalousie 1 runter und der Möglichkeit die Schalter zu speeren.
####################################################################
###I2C-Device####
define i2cBus RPII2C 1
attr i2cBus group MCP23017
###MCP23017-0x20###
define 0x20_icMCP23017 I2C_MCP23017 0x20
attr 0x20_icMCP23017 IODev i2cBus
attr 0x20_icMCP23017 OutputPorts A0,A1,A2,A3,A4,A5,A6,A7
attr 0x20_icMCP23017 OutputPorts B0,B1,B2,B3,B4,B5,B6,B7
attr 0x20_icMCP23017 group MCP23017
###Jalousie - 0x20(Output)####
#--Bank-A--#
#--Port 0 Schalter speeren--#
define 0x20_PortA0 readingsProxy 0x20_icMCP23017:PortA0
attr 0x20_PortA0 group OutputPorts
attr 0x20_PortA0 setFn {($CMD eq "on")?"PortA0 on":"PortA0 off"}
attr 0x20_PortA0 setList on off
attr 0x20_PortA0 valueFn {($VALUE eq "on")?"on":"off"}
#--Port 0 Jalousie 1 runter--#
define 0x20_PortA1 readingsProxy 0x20_icMCP23017:PortA1
attr 0x20_PortA1 group OutputPorts
attr 0x20_PortA1 setFn {($CMD eq "on")?"PortA1 on":"PortA1 off"}
attr 0x20_PortA1 setList on off
attr 0x20_PortA1 valueFn {($VALUE eq "on")?"on":"off"}
Hat jemand ggf. Verbesserungsvorschläge für den Programmcode?
Nun zu Frage 2:
Die Oberfläche soll später mit ioBroker gestaltet werden. Muss ich da beim Anlegen der "Geräte" etwas beachten?
Vielen Dank für eure Hilfe.
Gruß,
Manuel