Somfy via SIGNALduino
Einleitung
Dieser Beitrag bezieht sich auf das SOMFY-RTS Protokoll.
Weitere SOMFY Protokolle wurden in diesem Zusammenhang bisher nicht beschrieben bzw. getestet.
SIGNALduino
Der SIGNALduino hat gegenüber anderen Lösungen (z.B. CUL, FHEMduino) den Vorteil, dass SOMFY Protokolle empfangen und gesendet werden können. Alternative Hardware Lösungen (Stand Januar 2017) können entweder senden (z.B. CUL) oder empfangen (z.B. FHEMduino) Weitergehende Informationen zur Variante mit Standard Transmitter und Receiver sind in der SIGNALduino Wiki dokumentiert. Für das SOMFY-RTS System ist wichtig, dass die passende HW Variante gewählt wird:
HW-Variante mit Standard 433,92Mhz Transmitter und Receiver (z.B. STX882 und RXB6)
SOMFY-RTS Systeme senden auf 433,42Mhz. SIGNALduino Aufbauten mit den billig Transmitter/Receivern sind fest auf 433,92Mhz eingestellt und nicht wirklich geeignet um SOMFY-RTS Systeme mit 433,42 Mhz zu steuern. Grundsätzlich kann die Funkverbindung funktionieren, als Ergebnis werden sich jedoch drastische Reichweitenprobleme ergeben (je nach Streuung der Bauteile)
Fazit: diese HW Variante sollte für das SOMFY-RTS System nicht genutzt werden
HW-Variante mit CC1101 Transceiver
Eine SIGNALduino Hardware kann auch mit CC1101 Transceiver aufgebaut werden (wird von der Firmware erkannt und unterstützt). Der CC1101 ist bzgl. Sende- und Empfangsfrequenz programmierbar und kann also z.b. zwischen 433,92Mhz (beliebte Frequenz bei z.B. Funkthermometer) und anderen Frequenzen (z.B. 433,42Mhz bei SOMFY-RTS Anlagen) umgeschaltet werden. Deshalb ist diese Hardware die erste Wahl. Die Hardware selbst ist identisch zum NanoCUL. Der Aufbau und die Inbetriebnahme ist im SIGNALduino Wiki erklärt.
Erstinbetriebnahme mit Arduino IDE
Sollte auf einem Steckboard erfolgen (siehe "Bekannte Probleme")
Beitrag wird noch vervollständigt
Bekannte Probleme bei der Inbetriebnahme des SIGNALduino mit CC1101
Lässt sich der SIGNALduino mit verbautem CC1101 in FHEM nicht initialisieren, dann die MOSI Leitung von D11 des Adruino Nano abtrennen (nicht den kompletten CC1101 entfernen, sonst wird der CC1101 nicht erkannt und der Befehl unten nicht akzeptiert). Danach sollte sich der SIGNALduino initialisieren lassen. Danach in FHEM beim SIGNALduino Device den Befehl:
get sduino raw e
eingeben und die MOSI Leitung wieder verbinden.
Tipps und Tricks
An dieser Stelle sollen noch Tipps und Tricks bzgl. Inbetriebnahme des SINGALduino-CC1101 entstehen. Noch besser wäre die Tipps und Tricks werden in der SINGALduino Wiki direkt dokumentiert, ich werde das bei gegebener Zeit mit dem Author klären.
SOMFY via SIGNALduino
Installation unter FHEM
Damit SOMFY-RTS via SIGNALduino in FHEM unterstützt wird muss FHEM die neueste noch in Entwicklung befindliche SIGNALduiono FW und SW Module unterstützen. Dazu in die FHEM Kommandozeile folgende Befehle eingeben:
update add https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt
Damit werden bei einem FHEM Updates künftig auch die aktuellen SIGNALduino Module geladen
update
Startet einen FHEM Update Vorgang
shutdown restart
Neustart von FHEM damit die aktuellen SIGNALduino Module aktiv werden
Definition des SIGNALduino Devices
- SIGNALduino an FHEM Server (im Beipiel hier Raspberry PI) anschliessen
- USB ID des SIGNALduino Devices ermitteln
ls -l /dev/serial/by-id
Ergebnis: lrwxrwxrwx 1 root root 13 Jan 31 00:02 usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port -> ../../ttyUSB0
- In FHEM damit z.B. das Device "sduino" definieren
define sduino SIGNALduino dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port0@57600
attr sduino flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]
attr sduino hardware nanoCC1101
Definition des SOMFY Devices (z.B. Rolladen) sowie setzten der Attribute
define RolloOben SOMFY 12345F
Definition des Rolladen in FHEM. der 6 stellige Hex Code darf nicht von einem anderen Sender (z.B. SOMFY Sender) belegt sein, ist darüber hinaus beliebig wählbar und spezifisch für einen Rolladen
attr RolloOben IODev sduino
Hiermit wird die Sendehardware zugewiesen (diese sendet/empfängt die SOMFY Kommandos, s.o.)
attr RolloOben devStateIcon open:fts_shutter_10 10:fts_shutter_10 20:fts_shutter_20 30:fts_shutter_30 40:fts_shutter_40 50:fts_shutter_50 60:fts_shutter_60 70:fts_shutter_70 80:fts_shutter_80 90:fts_shutter_90 down:fts_shutter_100 closed:fts_shutter_100
mit diesem Attribut werden die ICONs zugewiesen, die in FHEM während des Öffnen/Schliessen des Rolladens angezeigt werden
attr RolloOben drive-down-time-to-100 23
Die Zeit [sec] die der Rolladen benötigt um von ganz oben bis zum "aufliegen" benötigt (die Lamellen sind noch offen; diese Zeit muss ausgemessen werden)
attr RolloOben drive-down-time-to-close 27
Die Zeit [sec] die der Rolladen benötigt um von ganz oben bis zum völligen Schliessen benötigt (diese Zeit muss ausgemessen werden)
attr RolloOben drive-up-time-to-100 4
Die Zeit [sec] die der Rolladen benötigt um vom komplett geschlossenen Zustand bis zu geöffneten Lamellen benötigt (der Rollo liegt noch auf; diese Zeit muss ausgemessen werden)
attr RolloOben drive-up-time-to-open 28
Die Zeit [sec] die der Rolladen benötigt um vom komplett geschlossenen Zustand bis zum vollständig geöffneten Zustand benötigt (diese Zeit muss ausgemessen werden)
attr RolloOben eventMap on:down stop:stop off:up
mapping der zu sendenden Befehle auf logische Kommandos
attr RolloOben room Rolladen
Die Rolladensteuerung wird im FHEM Raum "Rolladen" erscheinen
attr RolloOben webCmd down:stop:up
Diese Kommandos werden in der Web Oberfläche angeboten
Im FHEM Raum "Rolladen" sieht das ganze dann wie folgt aus:
Anlernen des Rollos an FHEM
Als nächser Schritt muss der "FHEM Sender" and den Rolladen angelernt werden. Dazu wird ein SOMFY Sender (z.B. Handsender) benötigt. Auf der Rückseite des Senders befindet sich in der Regel eine kleine Vertiefung (Loch) mit einem Taster, der z.B. über ein Streichholzende für 0,5 sec gedrückt werden muss. Danach fährt der Rolladen zur Quittierung kurz nach unten und wieder zurück (ruckt). Unmittelbar danach ist in FHEM das Kommando
set RolloOben prog
abzusetzen. Zur Quittierung "ruckt" der Rolladen wieder. Danach kann der Rolladen über die Kommandos "up" "stop" "down" aus der FHEM Oberfläche gesteuert werden
Update der SIGNALduino Firmware via FHEM
Beim sduino Device (Raum Rolladen -> RolladenOben -> sduino) den Befehl
set sduino flash
absetzen (weitere Parameter sind nicht nötig)