"gehackte" Fernbedienung einbinden

Begonnen von jazzor, 17 November 2016, 15:46:00

Vorheriges Thema - Nächstes Thema

jazzor

Wie ich hier schonmal beschrieben hatte, versuche ich meine No-Name-Rolladen in Fhem zu integrieren. Nachdem ich auch mit einem nanoCul keinen Erfolg in Bezug auf das Funkprotokoll hatte (ich hatte auf was Somfy-kompatibles gehofft) bin ich nun daher gegangen und habe mir eine Schaltung gebastelt, die die Tasten meiner Fernbedienung über Mini-Relais steuern kann.

Wie lege ich die Rolladen nun am Besten in Fhem an? Ich habe auf der Fernbedienung fünf Tasten, davon zwei zur Kanalwahl und je einmal hoch/runter/stopp. Kann ich die Logik der Kanalwahl in Fhem machen, oder ist es sinnvoller, ein bash script zu schreiben, und dem Parameter (Nr. | auf/runter/stopp) zu übergeben? Oder gibt es vielleicht schon so was in der Richtung? Kann mir nicht vorstellen, dass ich der Erste mit so einer Überlegung bin ;-)

Vielen Dank!

Ellert

Es gibt ein Modul RPI_GPIO um die GPIO zu steuern.

digiart

Ich habe so eine Steuerung für 6 Velux und 3 Elero 6fach Rollladenfernbedienungen zusammengebaut.
Da ich einige I/O's benötigte, habe ich die Steuerung über I2C-Portexpander PCF8574, die 4fach Optokoppler SFH9616 ansteuern, realisiert.
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

jazzor

Zitat von: Ellert am 17 November 2016, 19:24:01
Es gibt ein Modul RPI_GPIO um die GPIO zu steuern.
Hallo Ellert,
das Modul ist mir bekannt, tatsächlich nutze ich es momentan um die Funktionen zu testen.
Der Nachteil ist folgender: Ich habe halt pro GPIO (= Fernbedienungstaste) eine Taste in Fhem.
Ich hätte gerne eine weitere Abstraktionsebene in Fhem. Ich habe auch schon das Rollo-Plugin gefunden, nur leider fehlt mir hier die Abstraktion der verschiedenen Funkkanäle, sprich so wie ich das verstehe, kann ich nicht definieren, dass erst Rollo 12 ausgewählt wird und dann erst hoch oder runter gedrückt wird.

Ellert

Das geht mit DOIF etwa so, ungetestet, die Details müsstest Du noch anpassen, siehe DOIF

(["$SELF:_richtung: auf","stop"]) (set gpio12 on) (set gpioauf on) (set gpio(12|auf) off)
DOELSEIF (["$SELF:_richtung: zu","stop"]) (set gpio12 on) (set gpiozu on) (set gpio(12|zu) off)
DOELSEIF (["$SELF:_richtung: stop","stop"]) (set gpio12 on) (set gpiostop on) (set gpio(12|stop) off)

wait 0,1,1:0,1,1:0,1,1
readingList _richtung
setList _richtung:uzsuSelectRadio,auf,zu,stop
webCmd _richtung


Mit dieser DOIF Version https://forum.fhem.de/index.php/topic,58556.0.html