Somfy RTS + CUXD => Homematic (ohne Aktor)

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

Moderator: Co-Administratoren

chka
Beiträge: 2480
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von chka » 07.12.2014, 12:12

Vorweg:
Ich beschreibe hier die Einzelnen wenigen Schritte eins zu eins die Schritte, trotzdem kaue ich hier nicht alles vor. Grundlagen und selber Einlesen in die Thematik ist das A und O :roll: Es müssen hier keine Schritte reininterpretiert werden.

Auch wichtig es gehen nur Befehle vom Cul an den Rollo, Aussagen dass der Rollo was zurücksendet sind falsch!

Vorbereitung:
Für die Steuerung der Rollos ohne einen Aktor wird neben CUXD ab der Version Version 0.68 ein culfw ab der Firmware 1.61 benötigt. Bei Ebay gekaufte Sticks sind meist nicht geflasht und müssen noch selber auf den aktuellen Stand gebracht werden! Wie das Upadate durchgeführt wird steht im CUXD Handbuch im Kapitel 10 DFU Firmware-Installation/Update über den CUx-Daemon

Hardware
Bitte auch beachten das ich von dem original Busware ausgehe und nicht von günstigeren nachbauten!

Des Weiteren empfehle ich ein externes aktives USB Hub zu nutzen, da der CUL Probleme bei Unterspannung hat.

Neben dem Busware cul wurde auch noch folgender nano Cul erfolgreich von Scusi genutzt nanoCUL FTDI CC1101 433Mhz , oder nanoCUL USB Stick FTDI CC1101 868MHz getestet von Steff92
SiKo89 hat geschrieben:
09.04.2019, 18:48
Der neue nanoCUL wird, gleich wie der alte auch, als "FT232R USB UART" angezeigt. Das spielt also keine Rolle, falls nochmal jemand darüber stolpern sollte.

Diesen nanoCUL hab ich jetzt (mit FTDI Chip):
https://rover.ebay.com/rover/0/0/0?mpre ... 2928008951
armin34320 hat geschrieben:
14.03.2022, 09:41
CUL Stick von EBay:
nanoCUL USB Stick FTDI CC1101 433MHz FW 1.67 SMA-Antenne FHEM CUL 433 + Adapter
Der Cul sollte in etwa so im CUXD Terminal erkannt werden:

USB 1-1.2 - {CUX} CUL868 [COMM] - /dev/ttyACM1 {:32707s} - V 1.61 CUL868 (CUL_V3) - Sun Apr 29 15:56:01 2018



Sollte dies nicht der Fall sein muss in das CuxD Setup noch folgendes eingefügt werden
Monsterberti hat geschrieben:
16.07.2018, 16:24
Im CUxD Setup:

TTYPARAM=ttyUSB0:38400:8N1
TTYASSIGN=ttyUSB0:CUX

einfügen und dann auf speichern,
sollte es danach immer noch Probleme geben: viewtopic.php?f=37&t=55105&hilit=cul+no+driver#p548026

Des Weiteren brauchen wir einen FTP Zugang zur CCU und SSH zugriff.

Inbetriebnahme:
1. Im CUXD legen wir das Gerät 40 -> Control: Jalousie an, welches nach dem Anlegen im CCU Posteingang zu finden ist und nach euren Wünschen angepasst werden muss.
CUXD40.png


2. Jetzt brauchen wir für jeden Rollo den wir steuern wollen eine Systemvariable des Types Zahl, dieser Name muss einmalig im System sein! Weder ein Gerät noch ein Kanal darf diesen Namen schon haben!
Minimalwert: 0
Maximalwert: 9999999999

In meinem Fall nenne ich die Variable Somfy (Info ich wollte meinen Variable wie folgt nennen WohnGrFSomfy dies mochte das Tool nicht, WohnGrF geht.
Bildschirmfoto 2018-08-12 um 18.16.41.png
3. wir legen nun das Script von rodi22 auf die CCU per FTP in das Verzeichnis eurer Wahl.
In der Anleitung gehe ich von dem Ort: /usr/local/addons/rollo/somfy.tcl aus

Das Script ist gegenüber dem Original von mir auf die neuen Gegebenheiten angepasst.
Als FTP Client nehme ich FileZilla welcher auch das für die CCU2 benötigte SFTP Protokoll unterstützt.


Ein überarbeitetes Script von comtel2000 mit geänderter Abarbeitung findet ihr hier.

Alternative das Ursprungs Script

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" }
   "1" { 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  ]
das Script noch mal zum herunterladen, Dateiname muss natürlich angepasst werden: download/file.php?id=39939

Anbei von Saver noch ein Script für Rollos die sich nur ein kurzes Stück bewegen.

gelerio hat im Post festgestellt das es einen US und einen Europa Modus gibt:
gelerio hat geschrieben:
03.01.2022, 21:41
Beim US-Modus (Standardeinstellung) fahren die Rollos nach einem kurzen Antippen auf der Fernbedienung (Typ Smoove Origin RTS) ganz rauf oder runter, bei längerem Drücken nur solange man draufbleibt.
Beim EU-Modus veranlasst ein kurzes Drücken nur kleine Schritte (z.B. Drehen der Lamellen), ein langer Tastendruck hingegen das komplette Rauf- oder Runterfahren.
4. Nach dem Upload gebe ich dem File noch die vollen Rechte 777.

5. In den Geräteeinstellungen des CUXD Aktor Jalousie müssen nun die Steuerbefehle für das Script eingetragen werden.
BLIND|CMD_EXEC Harken setzen.

BLIND|CMD_SHORT + BLIND|CMD_LONG: tclsh /usr/local/addons/rollo/somfy.tcl $CHANNEL$ Somfy $VALUE$ A0 A00000
BLIND|CMD_STOP: tclsh /usr/local/addons/rollo/somfy.tcl $CHANNEL$ Somfy STOP A0 A00000

Pfad zum Script sowie Script Name
Hier muss die Seriennummer des CUXD Jalousie Aktor eingetragen werden, mit der Variable $CHANNEL$ geschiet dies Automatisch. Zum Anlernen bitte den Geräte Namen aufschreiben
Die Systemvariable aus dem Schritt 2.
Eine hochzählende HEX Zahl, Erster Rollo A00000, zweiter A00001 usw. Diese dürft Ihr vorher noch NIE beim Rumspielen genutzt haben!!!

Alles andere bleibt so wie es ist.

Anlernen des Aktors am ROLLO, dafür müsst Ihr euren Rollo in den Anlernmodus versetzen, dies ist je nach Rollo ein wenig unterschiedlich (Handbuch nutzen)
Zusätzlich müssen wir jetzt per Telnet (CCU1) oder Ssh (CCU2) auf die CCU, dafür unter Windows putty nehmen am MAC reicht das Terminal bestens aus. Es ist hiermit nicht das CUXD Terminal gemeint!!

Als Befehl geben wir nach dem der Rollo meldet, er ist im Anlernmodus folgendes in die Konsole ein:

tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy PROG A0 A00000

Es ist umbedingt wichtig einen bestehenden Kanal in unserem Fall z.b. den CUX4000001:1 mit anzugeben sonst geht das anlernen nich!!!
In der Konsole sollte jetzt folgendes zurück gemeldet werden:

Code: Alles auswählen

"YsA0802DB2AA0000"
dom.GetObject("CUxD.CUX4000001:1.SEND_CMD").State("YsA0802DB2AA0000");
1
Die Letzte zahl ist der in der Systemvariable gleich

Nun sollte der Rollo eine Rückmeldung der erfolgreichen Anlernen des CULF melden.

Fertig
Über unseren CUXD Jalousien Aktor ist der Rollo nun steuerbar, leider zur Zeit nur Offen, MY Position sowie Geschlossen.
Edit 04.01.2020: Möchte man Zeitlich den Rollo steuern geht das wie hier von Uwe111 beschrieben: viewtopic.php?f=37&t=21879&start=960#p632028
Persönlich brauche ich nicht mehr, wenn einer eine Lösung für genaue Einteilung der Schritte hat her damit!

DANKE an Uwe für die Änderung am 40 und rodi22 für die Script Idee.

Bitte keine PN zu diesem Thema, Fragen bitte in diesem Thread!!


=========================== Steckdose ===========================
Danke an alaska3586, können nun auch die Somfy Steckdosen über das Script gefeuert werden.
Hierfür muss noch die Zeile:

Code: Alles auswählen

"1" { set device_cmd_hex "20" }
ins tcl Script hinzugefügt werden.
Als Gerät wird ein Universalsenders (40) , Typ "Schalter" benötigt


=========================== Fehler Meldungen ===========================

sollte der CUL nicht erkannt werden: viewtopic.php?f=37&t=55105&hilit=cul+no+driver#p548026



---------------------

Code: Alles auswählen

syntax error in expression "int(null)"
    while executing
"expr int($remote_counter)"
    invoked from within
"set remote_counter [ expr int($remote_counter)]"
    (file "/usr/local/addons/rollo/somfy.tcl" line 21)
Systemvariable Existiert nicht oder ist falsch
oder es ist bereit ein Gerät mit dem gleichen Namen der Systemvariable angelegt!
Der Name der Systemvariable ist entscheidend nicht die Beschreibung, der Systemvariable, s.h. Bild unter Punkt2
---------------------
dauerblinken des Nachbau/mini CUL
viewtopic.php?f=37&t=21879&start=790#p513581
---------------------

Code: Alles auswählen

WRONG SOMFY COMMAND
can't read "device_cmd_hex": no such variable
    while executing
"set somfy_cmd "\"Ys$device_remote_enc$device_cmd_hex$remote_counter_hex$device_remote_id\"""
    (file "/usr/local/addons/rollo/somfy.tcl" line 36)
Wie schon richtig die Fehlermeldung: WRONG SOMFY COMMAND aussagt, wird der falsche Wert in der Konsole übergeben. Es Darf in der Konsolen Ausführung weder die Befehlsvariable $CHANNEL$ noch $VALUE$ stehen. Diese muss ersetzt werden wie es auch beim Anlernen gemacht wurde, durch CUX4000001:1 und die Bekannten Befehle OPEN,CLOSE,MY ...
---------------------
Überhaupt kein Anlernen mehr möglich.
Sollte es im Betrieb zu einem komplettausfall kommen.
Keine Anlernen mit neuer HEX-ID und die Systemvariablen sind auf dem aktuellen Stand.
Sollte man sich mal die Stromversorgung des CULs genauer anschauen.
Mein CUL läuft seit mehr als 6 Jahren an einem externen aktiven USB HUB!
Direkt an der CCU1 und 2 gab es hier ström bedingt immer wieder Probleme.
Wie es mit der CCU3/Raspbberryist , fehlt mir die Erfahrung.
Aus anderen Pi Projekten weiß ich aber das ein aktives USB Hub wunder bewirkt!
---------------------


Bei einem Fehler bitte genau beschreiben was passiert!
Welcher Motor?
Welche CUX Version? Welche Version auf dem CUL ? Cuxd Status Monitor {CUX} CUL868 [COMM] - /dev/ttyACM1 {:1617s} - V 1.61 CUL868 (CUL_V3)
Was passiert mit der Systemvariable, zählt diese hoch?
Was spukt das script aus wenn wenn es per Konsole aufgerufen wird? Wie sieht der Aufruf aus?


== Umzug mit der CCU oder einspielen von Backups ==

Solltet Ihr mal auf eine andere CCU umziehen, achtet darauf das die Systemvariablen stände gleich sind.
Es funktioniert nicht ein Backup einzuspielen welches einen niedrigeren Systemvariablen Wert hat, als der letzt aktuellste :!:

*Binselberdraufreingefallen*



=========================== Getestete Motoren ===========================
Zur Zeit steuere ich damit 3x Sonesse 30 RTS und 1x Altus 40

mafa hat geschrieben:
14.09.2018, 18:56
Simu T3.5 12V
armin34320 hat geschrieben:
14.03.2022, 09:41
Erwilo Somfy Markise mit Telis 1 RTS Fernbedienung.
=========================== Getestete Zentralen ===========================
CCU2
Raspimatic
PiVCCU
debian X86 CCU
Debmatic
Stand:26.03.2019


=========================== Bearbeitung Infos ===========================

Edit 12.06.2016: Kanal beim Anlernen übergeben
Edit 11.05.2017: Klassische Fehlermeldungen
Edit 31.05.2017: Script zum Download
Edit 11.12.2017: Rückmeldung
Edit 30.12.2017: Anlernen Verweis, dass nicht das CUXD Terminal genutzt werden soll!
Edit 20.05.2017: Verweis das es mit Ebay gekauften Sticks Probleme gibt und das diese meist noch geflasht werden müssen.
Edit 31.12.2017: Systemvariable
Edit 25.02.2018: Alternatives Script von Comtel
Edit 18.04.2018: Fehler Beschreibung
Edit 12.08.2018: Systemvariable und Beschreibung
Edit 14.09.2018: Motoren Stand
Edit 10.11.2018: Steckdose
Edit 17.02.2019: Umzug auf neue CCU
Edit 16.02.2020: Wird der CUL nicht erkannt
Edit 09.03.2020: Dauerblinken CUL
Edit 05.07.2020: Externe Stromversorgung per aktivem USB-Hub für CUL
Edit 04.01.2021: Zeitsteuerung und Fehlermeldungen aktualisiert
Edit 03.02.2021: Jalousien die sich nur kurz bewegen.
Edit 03.01.2022: EU und US Modus
Zuletzt geändert von chka am 14.03.2022, 17:36, insgesamt 62-mal geändert.
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

tinamausi
Beiträge: 101
Registriert: 07.04.2011, 17:37

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von tinamausi » 08.12.2014, 21:40

Hallo chka

Tolles Projekt

nun eine Frage, benötige ich da noch einen CUL-Stick mit 433 MHz, habe einen mit 868 MHz im Einsatz

MFG

Tinamausi
Asustinker S mit RaspiMatic, CUX Version 2.2.0 mit 2 Selbstbau Cul (433/868 MHz), Raspi3 mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten

chka
Beiträge: 2480
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von chka » 08.12.2014, 21:50

Ich habe einen V2 868
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

tinamausi
Beiträge: 101
Registriert: 07.04.2011, 17:37

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von tinamausi » 08.12.2014, 21:56

ich benutze eine V3 868 für die FS 20 Geräte, funktioniert das parallel wegen der Frequenz ?
Asustinker S mit RaspiMatic, CUX Version 2.2.0 mit 2 Selbstbau Cul (433/868 MHz), Raspi3 mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten

chka
Beiträge: 2480
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von chka » 08.12.2014, 22:00

Genau diesen kannst du nehmen, ich habe den stick auch primär für die fs 20 geholt
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

JoeHMS
Beiträge: 340
Registriert: 28.02.2012, 11:09
Danksagung erhalten: 1 Mal

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von JoeHMS » 08.12.2014, 22:13

Hallo,

danke fürs teilen. Hab gerade meine alten Bosch Rolllift an Funk Aktoren gebastelt und kann deine Tipp gut für weitere Gurtwickler brauchen. Muss mal schauen welche ich da beschaffen muss.

Grüße, Jochen
CCU3( 3.47.22 piVCCU3) auf RasPi4 * Wired * CUXD(2.3.3) mit CUL868 (v1.66), 1 Wire USB FTDI * Redmatic * Synology mit ccu-historian spk (V2.3.0) * ccu.io(1.0.51) * dashui(0.9beta120) openHAB 2.5.0 mit auf RasPI 4
-------------------------------------------------------------------------------------------------------------------
132 Kanäle in 38 Geräten und 140 CUxD-Kanäle in 21 CUxD-Geräten

tinamausi
Beiträge: 101
Registriert: 07.04.2011, 17:37

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von tinamausi » 09.12.2014, 20:48

Hallo chka

habe Probleme mit deiner Anleitung
zum einen fehlen "/" vor usr/... trotzdem kommt beim anlernen des Aktors folgende Fehlermeldung

-sh: tcl/usr/local/addons/rollo/somfy.tcl: not found

pfad mehrfach überprüft, und auch rechte am Script erfolgreich vergeben

MFG Tinamausi
Asustinker S mit RaspiMatic, CUX Version 2.2.0 mit 2 Selbstbau Cul (433/868 MHz), Raspi3 mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten

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

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von uwe111 » 09.12.2014, 21:58

Hallo Tinamausi
tinamausi hat geschrieben:-sh: tcl/usr/local/addons/rollo/somfy.tcl: not found
tcl müsste tclsh heißen und dann fehlt da noch ein Leerzeichen zwischen tclsh und /usr/...

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.11, SSH KeyDir

chka
Beiträge: 2480
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von chka » 09.12.2014, 23:41

Danke für den hinweis habe es angepasst
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

tinamausi
Beiträge: 101
Registriert: 07.04.2011, 17:37

Re: Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitrag von tinamausi » 10.12.2014, 17:15

Hallo uwe111 und chka

habe jetzt angepasst

tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy PROG A0 A00000

und bekomme folgende Fehlermeldung:

Code: Alles auswählen

syntax error in expression "int(false)"
    while executing
"expr int($remote_counter)"
    invoked from within
"set remote_counter [ expr int($remote_counter)]"
    (file "/usr/local/addons/rollo/somfy.tcl" line 21)
wo liegt nun der Fehler?

tinamausi
Asustinker S mit RaspiMatic, CUX Version 2.2.0 mit 2 Selbstbau Cul (433/868 MHz), Raspi3 mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten

Antworten

Zurück zu „CUxD“