Somfy via SIGNALduino: Unterschied zwischen den Versionen
RaspII (Diskussion | Beiträge) |
RaspII (Diskussion | Beiträge) |
||
Zeile 27: | Zeile 27: | ||
=== Erstinbetriebnahme mit Arduino IDE === | === Erstinbetriebnahme mit Arduino IDE === | ||
Die Erstinbetriebnahme des SIGNALduino-CC1101 sollte auf einem Steckboard erfolgen (siehe "Bekannte Probleme") | |||
Zur Inbetriebnahme auf der Arduino IDE (getestet mit auf Arduino V1.6.7) müssen die Sourcen von [https://github.com/RFD-FHEM/SIGNALDuino/ GitHub] (Stand Feb. 2017) geladen werden. | |||
Dort ''"Clone or download"'' und danach ''"Download ZIP"'' klicken. | |||
Aus der ZIP Datei werden folgende Dateien benötigt: | |||
* Die Datei ''"RF_Receiver.ino"'' in einen Ordner ''"RF_Receiver"'', am besten direkt ins ''"Arduino"'' Verzeichnis der IDE kopieren. | |||
* Im ''"libraries"'' Ordner der Arduino IDE am besten ein Ordner mit Namen ''"SIGNALduino"'' anlegen, dort müssen dann die Dateien ''"bitstore"'' ''"output"'' ''"signalDecoder"'' ''"SimpleFIFO"'' und ''"TimerOnce"'' (jeweils ''".cpp"'' und ''".h"'' Datei) aus dem ZIP Archiv abgelegt werden. | |||
* Im diesem ''"SIGNALduino"'' Verzeichnis ist dann noch ein Unterverzeichnis ''"config"'' anzulegen, dort muss die Datei ''"known_16bit_timers.h"'' abgelegt werden. | |||
In Der Arduino Entwicklungsumgebung dann noch bei "Werkzeuge" -> "Board" ''"Arduino Nano"'' und unter "Werkzeuge" -> Prozessor ''"ATmega328"'' angeben. Nach einstecken des SIGNALduinos in die USB Buchse noch den entsprechenden ''"COM-Port"'' unter "Werkzeuge" -> "Port" angeben, danach sollte sich der Scetch ''"RF_Receiver.ino"'' übersetzen und auf den SIGNALduino laden lassen. | |||
=== Bekannte Probleme bei der Inbetriebnahme des SIGNALduino mit CC1101 === | === Bekannte Probleme bei der Inbetriebnahme des SIGNALduino mit CC1101 === |
Version vom 7. Februar 2017, 22:00 Uhr
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.
Bitte beachten:
Der NanoCUL sollte eine Version mit FTDI USB Chip sein (sind evt minimal teurer). NanoCUL Varianten mit WCH-USB-Chip (CH340 oä.)haben den Nachteil, dass diese keine eindeutige ID haben, d.h. diese können später nicht eindeutig einem FHEM Device zugeordnet werden, wenn mehr wie ein derartiger NanoCUL am FHEM System betrieben wird.
Erstinbetriebnahme mit Arduino IDE
Die Erstinbetriebnahme des SIGNALduino-CC1101 sollte auf einem Steckboard erfolgen (siehe "Bekannte Probleme")
Zur Inbetriebnahme auf der Arduino IDE (getestet mit auf Arduino V1.6.7) müssen die Sourcen von GitHub (Stand Feb. 2017) geladen werden.
Dort "Clone or download" und danach "Download ZIP" klicken.
Aus der ZIP Datei werden folgende Dateien benötigt:
- Die Datei "RF_Receiver.ino" in einen Ordner "RF_Receiver", am besten direkt ins "Arduino" Verzeichnis der IDE kopieren.
- Im "libraries" Ordner der Arduino IDE am besten ein Ordner mit Namen "SIGNALduino" anlegen, dort müssen dann die Dateien "bitstore" "output" "signalDecoder" "SimpleFIFO" und "TimerOnce" (jeweils ".cpp" und ".h" Datei) aus dem ZIP Archiv abgelegt werden.
- Im diesem "SIGNALduino" Verzeichnis ist dann noch ein Unterverzeichnis "config" anzulegen, dort muss die Datei "known_16bit_timers.h" abgelegt werden.
In Der Arduino Entwicklungsumgebung dann noch bei "Werkzeuge" -> "Board" "Arduino Nano" und unter "Werkzeuge" -> Prozessor "ATmega328" angeben. Nach einstecken des SIGNALduinos in die USB Buchse noch den entsprechenden "COM-Port" unter "Werkzeuge" -> "Port" angeben, danach sollte sich der Scetch "RF_Receiver.ino" übersetzen und auf den SIGNALduino laden lassen.
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
Hinweis:
Ein via "Autocreate" in FHEM angelegtes SOMFY-RTS Device kann nicht zum Steuern von SOMFY-RTS Aktuatoren (Empfänger, z.B. Rolläden etc.) verwendet werden, da SOMFY-RTS einen "Rolling Code" verwendet, welcher dafür sorgt, dass wirklich nur die angelernte Fernbedienung über den 6 stelligen Hex Code (s.u.) mit dem Aktuator kommuniziert. Weitere Fernbedienung bzw. FHEM Devices müssen beim Aktuator neu angelernt werden.
Vorgehensweise zur Definition eines SOMFY Devices in FHEM incl. "Pairing" mit dem Aktuator:
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)