Homematic CCU2 + CuxD + CUL = Somfy RTS

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

ampelmaennchen79
Beiträge: 63
Registriert: 12.04.2017, 13:12

Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von ampelmaennchen79 » 15.04.2017, 22:30

Hallo Zusammen,

ich habe das Osterwochenende dazu genutzt meine Somfy Rollos an die Homematic anzubinden.
In diesem Forum wurde schon SEEEEHHHHR viel über das Thema geschrieben, ich weiß.
Für einen blutigen Anfänger wie mich fehlte aber hier und da ein klein wenig mehr Information, die ich mir nun durch ausprobieren erarbeitet habe - und ich habe viel gelernt dieses WE. Ich möchte daher hier meine Erfahrungen teilen, vielleicht hilft das einem anderen Anfänger weiter.
Dreh- und Angelpunkt war natürlich der folgende Thread aus diesem Forum viewtopic.php?f=37&t=21879 , sowie diese etwas überarbeitete Version: https://medium.com/@h3rmanns/somfy-rts- ... 9a76d701f4.

Meine Situation:
2x elektrische Rollos (ehemals Somfywandtaster), wurden durch SIMU Hz Unterputz-Empfänger RTS-kompatibel gemacht.
4 elektrische Rollos werden mit Somfy Fernbedienung angesprochen, Motoren unbekannt.
Somfy Telis 6 steuert je Kanal (1-6) ein Rollo an

Was wird benötigt:
CCU2 (vermutlich geht es auch mit der CCU1, das weiß ich nicht)
CUL Stick (ich habe einen 433 Mhz Stick genommen, es soll auch mit der 868 Variante gehen, die dann jeweils auf 433 umschaltet)
aktuelle Culfw Firmware auf dem Stick
Die Somfy Fernbedienung

1. CuxD installieren
in der CCU Einstellungen|System --> Zusatzsoftware installieren

die nächsten Schritte beschreibe ich nur grob, da hier https://medium.com/@h3rmanns/somfy-rts- ... 9a76d701f4 wirklich alles hübsch beschrieben ist.

2. CuxD Gerät anlegen (16 Kanal Universalsender, Typ Jalousie)
Meine Ergänzung für Einsteiger:
Das bedeutet, dass mit diesem einen virtuellen Gerät auf der CuxD 16 Einzelrollos angesteuert werden können.
Das Gerät (der Sender) heisst in dem Beispiel CUX40000001.
Per CUX40000001:1 ... CUX40000001:16 werden die Kanäle unterschieden.

3. Neuen Universalsender im CCU2 Geräte Posteingang annehmen

4. Neuen Universalsender bzw. Aktor konfigurieren
:1 --> Kanal 1
den Haken bei BLIND|CMD_EXEC setzen
bei BLIND|CMD_SHORT einfügen: tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $VALUE$ A0 A00000
BLIND|CMD_LONG einfügen: tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $VALUE$ A0 A00000
BLIND|CMD_STOP einfügen: tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy STOP A0 A00000
Meine Ergänzung für Einsteiger:
So, und dann verliessen mich alle referenzierten Anleitungen. Das ist bis hier hin alles fein. aber niemand beschreibt wie man weitere Rollos einprogrammiert.
Eigentlich ganz einfach:
oben genanntes (Haken setzen, die drei Kommandos für CMD_Short, CMD_Long, CMD_Stop) muss bei Bedarf einfach auch für Kanal zwei :2 bis sechzehn :16 werden. Es sind jedoch folgende Anpassungen nötig.
am Beispiel für den Short Befehl erklärt:
tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $VALUE$ A0 A00000
CUX4000001:X --> Kanal anpassen (1..16)
Somfy --> Variable anpassen (gleich mehr, hier nur: jedes Rollo, also jeder Kanal, braucht eine eigene Variable. Ich habe sie für die Übersicht einfach Somfy2 - Somfy6 genannt.
A00000 --> das ist eine eindeutige Zahl für jedes Rollo (ich deute das ähnlich wie eine MAC-Adresse). Der Trick ist, dass sie für jedes Rollo, also jeden Kanal, Hochgezählt wird, und zwar im Hexadezimalsystem. Der erste Rollo heisst also A00000, dann A00001, A00002, A00003, A00004, A00005, A00006, A00007, A00008, A00009, A0000A, A0000B, A0000C, etc.....
Der komplette Befehl für den zweiten Kanal lautet also: tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:2 Somfy2 $VALUE$ A0 A00001

5. Systemvariablen erstellen
Wie unter 4. erwähnt wird die Variable "Somfy" bzw. "Somfy2" - "Somfy16" benötigt.
Dazu unter Einstellungen|Systemvariable jeweils eine Variable vom Typ Zahl mit dem Mininalwert 0 und Maxiwert 9999999999999 anlegen und dem richtigen Kanal zuordnen.

6. Steuerskript per Telnet/SSH auf die CCU kopieren.
Ich gehe wie alle anderen Anleitungen von folgendem Ablageort auf der CCU für das Skript aus: /usr/local/addons/rollo/
Als FTP Client nehme ich auch FileZilla welcher auch das für die CCU2 benötigte SFTP Protokoll unterstützt.
Eine Datei mit dem Namen somfy.tcl anlegen.
Mit folgendem Inhalt:

Code: Alles auswählen

#!/bin/tclsh
load tclrega.so

#set device_name "CUX4000001"

set device_name [lindex $argv 0]
set device_sysvar_name [lindex $argv 1]
set device_cmd [lindex $argv 2]
set device_remote_enc [lindex $argv 3]
set device_remote_id [lindex $argv 4]

# command-line for reading rolling counter sysvar
set cmd "var remote_counter = dom.GetObject(\"$device_sysvar_name\").Value();"
# read sysvar
array set values [rega_script  $cmd  ]
    
set remote_counter $values(remote_counter)
# convert to integer
set remote_counter [ expr int($remote_counter)]
#puts $remote_counter   
# convert to HEX
set remote_counter_hex [ format %04X $remote_counter ]
#puts $remote_counter_hex

switch $device_cmd {
   "OPEN" { set device_cmd_hex "20" }
   "1000" { set device_cmd_hex "20" }
   "CLOSE" { set device_cmd_hex "40" }
   "0" { set device_cmd_hex "40" }
   "PROG" { set device_cmd_hex "80" }
   "MY" { set device_cmd_hex "10" }
   "500" { set device_cmd_hex "10" }
   "STOP" { set device_cmd_hex "11" }
   default { puts "WRONG SOMFY COMMAND" }
}
set somfy_cmd "\"Ys$device_remote_enc$device_cmd_hex$remote_counter_hex$device_remote_id\""
puts $somfy_cmd
set cmd "dom.GetObject(\"CUxD.$device_name.SEND_CMD\").State($somfy_cmd);"
puts $cmd

#array set values [ rega_script  $cmd  ]

rega_script  $cmd

#rega_script { dom.GetObject("CUxD.CUX4000001:1.SEND_CMD").State("YsA0200018ABCDEF");}

set remote_counter [ expr $remote_counter + 1 ]
puts $remote_counter

set cmd ""
append cmd "var i = dom.GetObject('$device_sysvar_name');"
append cmd "i.State('$remote_counter');"

array set values [rega_script  $cmd  ]
Die Datei noch mit den Benutzerrechten 777 versehen (das geht auch im Filezilla).

7. Cul Stick als Fernbedienung anlernen
Idee: Jedes Rollo nacheinander in den Lernmodus versetzen, dann einen passenden Befehl via virtuellem Aktor (also Telnet -> Cul Stick) senden, um diesen als "Fernbedienung" anzulernen
Wie man Euer Rollo in den Modus versetzt müsst Ihr in Euren Handbüchern nachlesen. Bei mir geht es z.B. so, dass ich an der Telis 6 den Kanal auswähle (z.B. 1), und dann auf der Rückseite der Fernbedienung für zwei Sekunden den PROG Knopf drücke. Das Rollo quittiert mit einem kurzen Runter-Rauf Zucken.

Also, Kanal 1 per Fernbedienung in den Anlernmodus, dann via telnet auf der CCU tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy PROG A0 A00000
Das Rollo quittiert mit einem kurzen Runter-Rauf Zucken.
Dann Kanal 2 per Fernbedienung in den Anlernmodus, dann via telnet auf der CCU tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:2 Somfy2 PROG A0 A00001
Das Rollo quittiert mit einem kurzen Runter-Rauf Zucken.
Dann Kanal 3 per Fernbedienung in den Anlernmodus, dann via telnet auf der CCU tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:3 Somfy2 PROG A0 A00002
Das Rollo quittiert mit einem kurzen Runter-Rauf Zucken.
etc..
etc..

DAS WAR'S !!
Danach das übliche Homematic-Prozedere. Geräte, Räume, Gewerke zuordnen usw.

Ich hoffe ich habe dem ein oder anderen Suchenden etwas helfen können.

krombernesser
Beiträge: 113
Registriert: 01.09.2014, 19:34
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von krombernesser » 30.04.2017, 11:29

Hallo, habe mir jetzt einen CUL-Stick (ARM 926EJ-S) besorgt, installiert, und alles nach Anleitung gemacht, keine Reaktion.
Bekomme in Putty folgende Meldung (siehe Bild). Habe eine Telis RTS4- Fernbedienung, die Rolläden sind aber anscheinend von ROMA (funky?'?). Geht es damit überhaupt?
FB lässt sich in Programmiermodus schalten. Wie schenll muss dann der Befehl in Putty eingegeben werden? (... sek??).
putty.PNG
putty.PNG (7.46 KiB) 28616 mal betrachtet
somfy.PNG

ampelmaennchen79
Beiträge: 63
Registriert: 12.04.2017, 13:12

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von ampelmaennchen79 » 02.05.2017, 22:49

Ich kann da leider nicht weiterhelfen.
Nur bei dem Punkt "Wie schenll muss dann der Befehl in Putty eingegeben werden? (... sek??)."
Meine Somfy Motoren sind 60 Sekunden lang im Lernmodus - in dieser Zeit muss der Befehl aus Putty kommen.

krombernesser
Beiträge: 113
Registriert: 01.09.2014, 19:34
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von krombernesser » 04.05.2017, 22:36

Vielen Dank für die Antwort.
Stells mal direkt ins Somfy-Forum ein.
Gruß krombernesser

ampelmaennchen79
Beiträge: 63
Registriert: 12.04.2017, 13:12

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von ampelmaennchen79 » 30.11.2017, 14:19

Liebe Mitstreiter,
ich verstehe die Welt nicht mehr. Gerade wurden 2 neue Somfy RTS Motoren verbaut.
Die wollte ich "mal eben schnell" gemäß meiner eigenen Anleitung in die Homematik einbinden. Denkste!

Wenn ich über's CuxD Terminal den Befehl zum Anlernen sende:

Code: Alles auswählen

tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:8 Somfy8 PROG A0 A0000E
klappt leider "gar nischt"...
Ich erhalte die Fehlermeldung

Code: Alles auswählen

 
14:00:26 [ttyACM0] --> ? (/usr/local/addons/rollo/somfy.tcl is unknown) Use one of A B C E e F G h i K k L l M m R T t U u V W X x Y
14:00:26 [ttyACM0] --> ? (Somfy8 is unknown) Use one of A B C E e F G h i K k L l M m R T t U u V W X x Y
14:00:26 [ttyACM0] --> ? (PROG is unknown) Use one of A B C E e F G h i K k L l M m R T t U u V W X x Y
Und verstehe die Welt nicht mehr.
Die Variable Somfy8 existiert, das Skript ist seit April nicht angefasst/geändert oder sonst was worden.
Es ist definitiv ein Somfy Motor verbaut.

Kann mir mal jemand bitte vor die Stirn schlagen, dass der Denkfehler rausfällt?

Benutzeravatar
uwe111
Beiträge: 4848
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 256 Mal
Kontaktdaten:

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von uwe111 » 30.11.2017, 14:30

ampelmaennchen79 hat geschrieben:Kann mir mal jemand bitte vor die Stirn schlagen, dass der Denkfehler rausfällt?
Gerne. :)
Im CUxD-Terminal lassen sich keine Scripts aufrufen! Das ist ein reines TTY Terminal.
Dein TCL-Script rufst Du am besten per Putty auf der Kommandozeile der CCU auf.

Viele Grüße,

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

ampelmaennchen79
Beiträge: 63
Registriert: 12.04.2017, 13:12

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von ampelmaennchen79 » 30.11.2017, 14:35

Danke Uwe111 !
Den Schlag hat's offenbar gebraucht.
Peinlich peinlich peinlich.....Ich brauche Kaffee...JETZT

disky42
Beiträge: 231
Registriert: 09.06.2014, 17:11
Hat sich bedankt: 1 Mal

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von disky42 » 17.02.2018, 11:57

Hallo

Das Anlernen macht bei mir Probleme - kann jemand helfen?
- CUL868; CUXD konfiguriert durch

Code: Alles auswählen

TTYPARAM=ttyUSB0:38400:8N1
TTYASSIGN=ttyUSB0:CUX
- ich bekomme mein Somfy Rollo in den Anlernmodus via "Hoch-Runter-Für-3sek"; das wird auch durch Zucken quittiert
- Dann führe ich wie in der Anleitung "tclsh /usr/local/addons/rollo/somfy.tcl CUX4000002:1 Somfy PROG A0 A00000" aus
- Ich habe auch probiert: "tclsh /usr/local/addons/rollo/somfy.tcl Garten-VMarkise:1 Somfy PROG A0 A00000", weil das gerät in der CCU so heisst.
- SysVar Somfy als Zahl ist auch angelegt; diese wird auch erhöht ... d.h. irgendwas läuft auch.
- Im Terminal vom CuxD sehe ich

Code: Alles auswählen

11:38:44 [ttyUSB0] --> V 1.67 nanoCUL868
11:38:44 [ttyUSB0] <-- X21
11:38:44 [ttyUSB0] <-- T01
11:38:44 [ttyUSB0] --> 0000
11:45:57 [ttyUSB0] <-- YsA0800000A00000
11:45:58 [ttyUSB0] --> YsA08800000000A0
11:47:07 [ttyUSB0] <-- YsA0800001A00000
11:47:08 [ttyUSB0] --> YsA08900010000A0
11:47:28 [ttyUSB0] <-- YsA0803640EA00000
11:47:29 [ttyUSB0] --> YsA08736400000EA
11:47:31 [ttyUSB0] <-- YsA0803640FA00000
11:47:32 [ttyUSB0] --> YsA08636400000FA
11:47:32 [ttyUSB0] <-- YsA08036410A00000
11:47:33 [ttyUSB0] --> YsA088364100000A
11:47:40 [ttyUSB0] <-- YsA08036411A00000
11:47:41 [ttyUSB0] --> YsA089364100001A
11:48:18 [ttyUSB0] <-- YsA08036412A00000
11:48:19 [ttyUSB0] --> YsA08A364100002A
Ausgabe in der Commandozeile beim anlernen:

Code: Alles auswählen

# tclsh /usr/local/addons/rollo/somfy.tcl Garten-VMarkise:1 Somfy PROG A0 A00000
"YsA0800002A00000"
dom.GetObject("CUxD.Garten-VMarkise:1.SEND_CMD").State("YsA0800002A00000");
3
...aber das Rollo meldet sich dabei nicht.

Hat da jemand einen Tipp?
Entfernung ist ca 4m und nicht mehr als 1x Glasfenster.

Emig
Beiträge: 19
Registriert: 17.02.2018, 20:52

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von Emig » 17.02.2018, 20:59

@disky42

von Homematic seiten kann ich dir noch nicht helfen... steh da noch am Anfang... Wenn ich das aber lese würde ich sagen deine Rollos sind nicht im Lernmodus.... hoch + runter versetzt sie nicht in den Lernmodus du muss die Progamiertaste drücken....

disky42
Beiträge: 231
Registriert: 09.06.2014, 17:11
Hat sich bedankt: 1 Mal

Re: Homematic CCU2 + CuxD + CUL = Somfy RTS

Beitrag von disky42 » 18.02.2018, 09:31

Hi,
Danke - war durchaus der entscheidende Hinweis: Das Rollo war statt im Anlernmodus wohl im Endlageneinstellen-Modus durch die Hoch/Runter-Tasten.
Mein lieber Handwerker hat mir nur eine NL-Anleitung dagelassen und ich habe das fehlinterpretiert :-/

Nun tut es wie erwartet

Danke!
Disky

Antworten

Zurück zu „CUxD“