Somfy via SIGNALduino: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
(→‎Anlernen des Rollos an FHEM: anlernen ergänzt)
Markierungen: mobile edit mobile web edit
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:


== SIGNALduino ==
== SIGNALduino ==
Der Aufbau und die Inbetriebnahme des SIGNALduino-Devices ist im entsprechenden Artikel [[SIGNALduino]] beschrieben.
Der SIGNALduino hat gegenüber anderen Lösungen (z.B. CUL, FHEMduino) den Vorteil, dass SOMFY Protokolle empfangen und gesendet werden können.
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)
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.
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:  
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 [[Selbstbau_CUL#Schaltplan|NanoCUL]]. Der Aufbau und die Inbetriebnahme ist im [[SIGNALduino]] Wiki erklärt.


'''Bitte beachten:'''
* SOMFY-RTS Systeme senden auf 433,42Mhz. SIGNALduino Aufbauten mit den billig Transmitter/Receivern (zum Beispiel XY-MV 5) 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).  Diese Hardware-Variante sollte für das SOMFY-RTS System '''nicht''' genutzt werden.


'''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.'''
* 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 [[Selbstbau_CUL#Schaltplan|NanoCUL]].  


===  Erstinbetriebnahme mit Arduino IDE ===
'''Der NanoCUL sollte eine Version mit FTDI USB Chip sein (ist 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.
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.
Lässt sich der SIGNALduino mit verbautem CC1101 in FHEM nicht initialisieren, dann die MOSI Leitung von D11 (oder die CSn Leitung von D10, hier ist sich der Autor nicht mehr sicher bei welchen Pin das funktioniert hat, Feed Back ist willkommen) 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:
 
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.
 
Struktur der SIGNALduino libraries:[[Datei:SIGNALduino-ViaArduinoEnvironment.jpg]]
 
 
In Der Arduino Entwicklungsumgebung unter "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:
<pre>get sduino raw e</pre>
<pre>get sduino raw e</pre>
eingeben und die MOSI Leitung wieder verbinden.
eingeben und die MOSI Leitung wieder verbinden.


 
Weitere Tipps und Tricks:
===  Tipps und Tricks ===
* {{Link2Forum|Topic=58396|Message=497921|LinkText=CC1101: Konfiguration und Statusinformationen}}
''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 ==
== SOMFY via SIGNALduino ==


===  Installation unter FHEM ===
===  Definition des SOMFY Devices sowie setzten der Attribute: Kein Autocreate! ===
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:
<pre>update add https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt</pre>
''Damit werden bei einem FHEM Updates künftig auch die aktuellen SIGNALduino Module geladen''
<pre>update</pre>
''Startet einen FHEM Update Vorgang''
<pre>shutdown restart</pre>
''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
<pre> ls -l /dev/serial/by-id </pre>
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
<pre>define sduino SIGNALduino dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port0@57600 </pre>
<pre>attr sduino flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE] </pre>
<pre>attr sduino hardware nanoCC1101 </pre>
 
===  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.
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.
Zeile 89: Zeile 40:
<pre>attr RolloOben IODev sduino</pre>
<pre>attr RolloOben IODev sduino</pre>
''Hiermit wird die Sendehardware zugewiesen (diese sendet/empfängt die SOMFY Kommandos, s.o.)''
''Hiermit wird die Sendehardware zugewiesen (diese sendet/empfängt die SOMFY Kommandos, s.o.)''
===  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
<pre>set RolloOben prog</pre>
abzusetzen.
Zur Quittierung "ruckt" der Rolladen wieder.
Danach kann der Rolladen über die Kommandos "up" "stop" "down" aus der FHEM Oberfläche gesteuert werden.
Bitte erst die Rolläden ein Stück weit runterfahren und erst dann die Programmiertaste auf der Fernbedienung drücken; in der Endposition reagieren die Rolläden manchmal nicht.
Das steht auch so in der Bedienungsanleitung von Somfy.
===  Weitere Attribute ===
<pre>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</pre>
<pre>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</pre>
''mit diesem Attribut werden die ICONs zugewiesen, die in FHEM während des Öffnen/Schliessen des Rolladens angezeigt werden''
''mit diesem Attribut werden die ICONs zugewiesen, die in FHEM während des Öffnen/Schliessen des Rolladens angezeigt werden''
Zeile 108: Zeile 74:
Im FHEM Raum "Rolladen" sieht das ganze dann wie folgt aus:
Im FHEM Raum "Rolladen" sieht das ganze dann wie folgt aus:
[[Datei:SomfyRolladen_01.jpg]]
[[Datei:SomfyRolladen_01.jpg]]
===  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
<pre>set RolloOben prog</pre>
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 ===
== Foren Links ==
Beim sduino Device (Raum Rolladen -> RolladenOben -> sduino) den Befehl
* {{Link2Forum|Topic=58396|LinkText=SIGNALDuino Empfänger Firm- und Hardware}}
<pre>set sduino flash</pre>
* {{Link2Forum|Topic=58397|LinkText=Signalduino Entwicklung Version 3.3.1 }}
absetzen (weitere Parameter sind nicht nötig)


== Allgemein ==
* [http://www.nemcon.nl/blog2/wiring Beschreibung zu diversen Empfängern und Verbesserung der Empfangsleistung]
* [[SIGNALduino in die Arduino Entwicklungsumgebung einbinden]]
* [https://pushstack.wordpress.com/somfy-rts-protocol/ Hintergründe zum Somfy RTS Protokoll (englisch)]


[[Kategorie:HOWTOS]]
[[Kategorie:HOWTOS]]
Zeile 131: Zeile 89:
[[Kategorie:Arduino]]
[[Kategorie:Arduino]]
[[Kategorie:Rollladensteuerung]]
[[Kategorie:Rollladensteuerung]]
[[Kategorie:433MHz]]

Aktuelle Version vom 3. April 2019, 04:25 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 Aufbau und die Inbetriebnahme des SIGNALduino-Devices ist im entsprechenden Artikel SIGNALduino beschrieben.

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:

  • SOMFY-RTS Systeme senden auf 433,42Mhz. SIGNALduino Aufbauten mit den billig Transmitter/Receivern (zum Beispiel XY-MV 5) 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). Diese Hardware-Variante sollte für das SOMFY-RTS System nicht genutzt werden.
  • 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 NanoCUL sollte eine Version mit FTDI USB Chip sein (ist 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.

Lässt sich der SIGNALduino mit verbautem CC1101 in FHEM nicht initialisieren, dann die MOSI Leitung von D11 (oder die CSn Leitung von D10, hier ist sich der Autor nicht mehr sicher bei welchen Pin das funktioniert hat, Feed Back ist willkommen) 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.

Weitere Tipps und Tricks:

SOMFY via SIGNALduino

Definition des SOMFY Devices sowie setzten der Attribute: Kein Autocreate!

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.)

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.

Bitte erst die Rolläden ein Stück weit runterfahren und erst dann die Programmiertaste auf der Fernbedienung drücken; in der Endposition reagieren die Rolläden manchmal nicht. Das steht auch so in der Bedienungsanleitung von Somfy.

Weitere Attribute

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: SomfyRolladen 01.jpg


Foren Links

Allgemein