mediola

Somfy RTS + CUXD => Homematic (ohne Aktor)

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

Werbung


Somfy RTS + CUXD => Homematic (ohne Aktor)

Beitragvon chka » 07.12.2014, 13:12

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

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. Wie das Upadate durchgeführt wird steht im CUXD Handbuch im Kapitel 9 DFU Firmwareupdate über den CUx-Daemon
Bitte auch beachten das ich von dem original Busware ausgehe und nicht von günstigeren nachbauten!
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.


2. Jetzt brauchen wir für jeden Rollo den wir steuern wollen eine Systemvariable des Types Zahl
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.

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.

Code: Alles auswählen
#!/bin/tclsh
#tclsh /usr/local/addons/rollo/somfy.tcl CUX2801004:1 WohnGrF STOP A0 AA0001
#tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 WohnGrF $VALUE$ A0 AA0001
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  ]

Edit: 31.05.2017 das Script noch mal zum herunterladen, Dateiname muss natürlich angepasst werden: download/file.php?id=39939

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$ beschied dies Automatisch. Zum Anlernen bitte amber 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.

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

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

Edit: 12.06.2016 Es ist umbedingt wichtig einen bestehenden Kanal in unserem fall z.b. den CUX4000001:1 mit anzugeben sonst geht das anlernen nich!!!

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, 50% oder MY Position sowie Geschlossen.
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.


Edit 11.05.2017
=========================== Fehler Meldungen ===========================
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


=========================== Getestete Motoren ===========================
Edit 14.12.2014: Zur Zeit steuere ich damit 3x Sonesse 30 RTS und 1x Altus 40
Zuletzt geändert von chka am 31.05.2017, 16:10, insgesamt 16-mal geändert.
Neu: CCU2 - Watchdog Watchdog2- CuL V2 868mHz- CuxDemon - PioTek Tracker - pocket Control HM - Veluxe und Somfy Anbinung- io.Broker aufm ESX 6.5
chka
 
Beiträge: 1121
Registriert: 13.02.2012, 21:23

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

Beitragvon tinamausi » 08.12.2014, 22: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
RaspiMatic, CUX Version 1.8 mit 2 Selbstbau Cul (433/868 MHz), Raspi mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
tinamausi
 
Beiträge: 68
Registriert: 07.04.2011, 17:37

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

Beitragvon chka » 08.12.2014, 22:50

Ich habe einen V2 868
Neu: CCU2 - Watchdog Watchdog2- CuL V2 868mHz- CuxDemon - PioTek Tracker - pocket Control HM - Veluxe und Somfy Anbinung- io.Broker aufm ESX 6.5
chka
 
Beiträge: 1121
Registriert: 13.02.2012, 21:23

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

Beitragvon tinamausi » 08.12.2014, 22:56

ich benutze eine V3 868 für die FS 20 Geräte, funktioniert das parallel wegen der Frequenz ?
RaspiMatic, CUX Version 1.8 mit 2 Selbstbau Cul (433/868 MHz), Raspi mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
tinamausi
 
Beiträge: 68
Registriert: 07.04.2011, 17:37

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

Beitragvon chka » 08.12.2014, 23:00

Genau diesen kannst du nehmen, ich habe den stick auch primär für die fs 20 geholt
Neu: CCU2 - Watchdog Watchdog2- CuL V2 868mHz- CuxDemon - PioTek Tracker - pocket Control HM - Veluxe und Somfy Anbinung- io.Broker aufm ESX 6.5
chka
 
Beiträge: 1121
Registriert: 13.02.2012, 21:23

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

Beitragvon JoeHMS » 08.12.2014, 23: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
CCU2(2.19.9 YAHM) auf RasPi3 * Wired * CUXD(1.7) mit CUL868 (v1.66), 1 Wire USB FTDI * Synology mit docker ccu-historian(V0.7.6hf1) * ccu.io(1.0.51) * dashui(0.9beta120)
-------------------------------------------------------------------------------------------------------------------
132 Kanäle in 38 Geräten und 140 CUxD-Kanäle in 21 CUxD-Geräten
JoeHMS
 
Beiträge: 306
Registriert: 28.02.2012, 12:09

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

Beitragvon tinamausi » 09.12.2014, 21: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
RaspiMatic, CUX Version 1.8 mit 2 Selbstbau Cul (433/868 MHz), Raspi mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
tinamausi
 
Beiträge: 68
Registriert: 07.04.2011, 17:37

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

Beitragvon uwe111 » 09.12.2014, 22: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 1.10a, RFD-Monitor, Vellemann K8055, SSH KeyDir
211 Kanäle in 118 Geräten und 101 CUxD-Kanäle in 47 CUxD-Geräten:
Benutzeravatar
uwe111
 
Beiträge: 3135
Registriert: 26.02.2011, 23:22

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

Beitragvon chka » 10.12.2014, 00:41

Danke für den hinweis habe es angepasst
Neu: CCU2 - Watchdog Watchdog2- CuL V2 868mHz- CuxDemon - PioTek Tracker - pocket Control HM - Veluxe und Somfy Anbinung- io.Broker aufm ESX 6.5
chka
 
Beiträge: 1121
Registriert: 13.02.2012, 21:23

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

Beitragvon tinamausi » 10.12.2014, 18: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
RaspiMatic, CUX Version 1.8 mit 2 Selbstbau Cul (433/868 MHz), Raspi mit Display 7" und ioBroker
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
tinamausi
 
Beiträge: 68
Registriert: 07.04.2011, 17:37

Nächste

Zurück zu CUxD

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.