Somfy RTS + CUXD => Homematic (ohne Aktor)

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

Moderator: Co-Administratoren

the_Stig
Beiträge: 58
Registriert: 26.04.2016, 11:10
Hat sich bedankt: 14 Mal

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

Beitrag von the_Stig » 25.12.2020, 21:14

Hallo,
ich bin absoluter Neuling und bekomme exakt einen Fehler, der auch im Eingangspost genannt ist (habs offen gestanden schon in einem anderen Post gemeldet, aber da scheinen nicht mehr so viele mitzulesen):

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)
Ich weiß leider trotzdem nicht, wie ich das beheben kann. Das ganze auf einer CCU mit 3.55.5 und CUxD 2.5 mit einem Nano CUL 1.67.

Habe die Parameter

Code: Alles auswählen

TTYPARAM=ttyUSB0:38400:8N1
TTYASSIGN=ttyUSB0:CUX
im CUx-D Setup eingefügt und erhalte

Code: Alles auswählen

Dec 25 20:28:44 ccu3-webui daemon.info cuxd[655]: USB(1-1.5/ttyUSB0) NANO CUL connect(38400:8N1)
Allerdings auch im Syslog:

Code: Alles auswählen

Dec 25 21:07:57 ccu3-webui local0.err ReGaHss: ERROR: ScriptRuntimeError: var remote_counter = dom.GetObject("Somfy").Value(); [ExecError():iseESPexec.cpp:12798]
Bin da jetzt total aufgeschmissen. Meine somfy.tcl sieht wie folgt aus:

Code: Alles auswählen

#!/bin/tclsh
#tclsh /usr/local/addons/rollo/somfy.tcl CUX2801004:1 Somfy STOP A0 AA0001
#tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $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  ]
Hat jemand ggf. eine Idee?

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

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

Beitrag von chka » 25.12.2020, 21:48

zeig mal deine systemvariable die du angelegt hast. die von dir im script angegebene Somfy Systemvariable gibt es nicht
ggf solltest du mal die Anleitung aus dem ersten post hier durcharbeite, hier ist alles genau beschrieben.

zu allen anderen Anleitung kann ich dir nichts sagen
ka warum man einen separaten thread zu dem Thema eröffnen musste :roll:
Debmatic - CuL V2 868mHz- CuxDemon - PioTek Tracker - Velux und Somfy Anbindung- io.Broker aufm ESX 6.7
Keine Support PNs Danke!

the_Stig
Beiträge: 58
Registriert: 26.04.2016, 11:10
Hat sich bedankt: 14 Mal

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

Beitrag von the_Stig » 26.12.2020, 08:02

Sorry, war da etwas ungeduldig. Und hatte deinen Thread tatsächlich nicht entdeckt vorher. Aber das ist ja der Ursprung.
Die Anleitung habe ich tatsächlich versucht, so genau wie möglich zu lesen. Als absoluter Laie ist es halt manchmal nicht ganz leicht. Habe meine CCU3 erst gestern erstmalig in Betrieb genommen.

Danke für deine Antwort. Ich habe jetzt die knapp 100 Seiten hier durchgelesen und bin weiter. Wie von dir erwartet ein dummer Fehler in der Systemvariablen: die Beschreibung hieß Somfy, aber nicht der Name...danach war der Fehler dann weg.

Allerdings hat das Anlernen der Markise (Somfy RTS) nicht geklappt. Keine Bestätigung durch Auf-/Abfahren und der Dom-Objekt-Fehler. Werde jetzt mal versuchen, die CCU3 näher an die Markise ranzubringen, derzeit steht sie rund 8m durch 2 Wände entfernt.

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

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

Beitrag von chka » 26.12.2020, 08:24

was für Motoren hast du den?
Debmatic - CuL V2 868mHz- CuxDemon - PioTek Tracker - Velux und Somfy Anbindung- io.Broker aufm ESX 6.7
Keine Support PNs Danke!

the_Stig
Beiträge: 58
Registriert: 26.04.2016, 11:10
Hat sich bedankt: 14 Mal

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

Beitrag von the_Stig » 26.12.2020, 11:19

Offen gestanden keine Ahnung. Komme da nicht gut dran, um nachzuschauen. Der Hersteller der Markise (Lewens Markisen) sagt Somfy RTS und ich habe auch die Somfy Telis 1 als Fernbedienung. Heute morgen hat das anlernen aber glaube ich geklappt, zumindest gab es die Quittierung mit Hin und Her und die Meldung:
Bild

Jetzt habe ich die CCU3 mal neben die Markise gestellt und teste grad. Aktuell geht kein Befehl über die WebUI leider.

EDIT: Terminal-Log zeigt mir:

Code: Alles auswählen

11:20:16 [ttyUSB0] <-- YsA0800001A00000
11:20:17 [ttyUSB0] --> YsA08900010000A0
11:22:53 [ttyUSB0] <-- YsA00000200002
11:22:54 [ttyUSB0] --> YsA0080020020200
11:23:03 [ttyUSB0] <-- Ys1000200003A00000
11:23:04 [ttyUSB0] --> Ys100A200000A003
Soweit ich das verstehe, ist das gut. Aber wenn ich nun in der WebUI auf auf oder ab gehe, tut sich leider nichts.
Dateianhänge
Clipboard01.jpg
Clipboard01.jpg (12.91 KiB) 235 mal betrachtet

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

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

Beitrag von chka » 26.12.2020, 11:46

die Kommunikation ist nur von der ccu zum Motor, zurück kommt das nichts. was du da siehst ist nur was in den cuxd geht und dann vom cul rausgebendes werden soll.

mit dem Telis sollte es gehen, zu 100% kann ich dir aber nicht sagenob dein Motor mit den Befehlen überhaupt zurecht kommt. kann sein das du mehrfach drücken musst das was passiert, hatte der ein oder andere hier schon gehabt.
Debmatic - CuL V2 868mHz- CuxDemon - PioTek Tracker - Velux und Somfy Anbindung- io.Broker aufm ESX 6.7
Keine Support PNs Danke!

the_Stig
Beiträge: 58
Registriert: 26.04.2016, 11:10
Hat sich bedankt: 14 Mal

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

Beitrag von the_Stig » 26.12.2020, 11:52

Danke dir erneut. Ich denke ja, dass ich auf dem richtigen Weg bin. Irgendwo hängts halt. Ich habe mal ein paar Screenshots gemacht, siehst du da irgendeinen Fehler. Das einzige was ich noch nicht durchdringe ist das mit den Namensgebungen. Wo ist jetzt Somfy richtig, wo Markise (so habe ich es im CUxD genannt)
Dateianhänge
Clipboard06.jpg
Clipboard05.jpg
Clipboard05.jpg (4.36 KiB) 219 mal betrachtet
Clipboard04.jpg
Clipboard04.jpg (4.51 KiB) 219 mal betrachtet
Clipboard03.jpg
Clipboard03.jpg (27.81 KiB) 219 mal betrachtet
Clipboard02.jpg

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

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

Beitrag von chka » 26.12.2020, 12:00

So wie ich es beschrieben habe, achte hier einfach auf die Farben:
chka hat geschrieben:
07.12.2014, 12:12

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!!!
Hast du mehrere Motoren die du einzeln steuern willst musst du immer eine neue SystemVariable nehmen mit einem anderen Namen. Ich habe die Variablen passend zu den Motoren benannt bsp: WohnGrFen oder WohnKlFen, was auch gehen sollte Somfy1 Somfy2 usw
Der CuxD Aktor Name oder Kanalname hat nichts mit der Systemvariable zu tuen! Diese müssen auch unterschiedlich sein!

Die Hex Zahl ist auch nur einmalig System jedem Motor musst du einen Hexzahl geben, am besten einfach hochzuholen!
Debmatic - CuL V2 868mHz- CuxDemon - PioTek Tracker - Velux und Somfy Anbindung- io.Broker aufm ESX 6.7
Keine Support PNs Danke!

the_Stig
Beiträge: 58
Registriert: 26.04.2016, 11:10
Hat sich bedankt: 14 Mal

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

Beitrag von the_Stig » 26.12.2020, 12:09

Puh, der Reihe nach. Ich denke, ich habe alles so gemacht:

- CCU3 resettet, nur ein Motor in der Steuerung.

- Befehl lautet entsprechend: tclsh /usr/local/addons/rollo/somfy.tcl $CHANNEL$ Somfy $VALUE$ A0 A00000 und tclsh /usr/local/addons/rollo/somfy.tcl $CHANNEL$ Somfy STOP A0 A00000

- Hex Zahl sollte stimmen, da resettet und nur einmal Motor angelernt danach

- somfy.tcl liegt mit entsprechenden Rechten im Verzeichnis

- Systemvariable heißt Somfy

- Anlernen wird mit Hin und Her fahren quittiert beim Befehl: tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy PROG A0 A00000

Rückfragen:
- oben im Befehl muss ich $CHANNELS$ und $VALUES$ nicht anpassen, richtig? Nur ggf. das A00000 (was bei mir aber korrekt sein müsste)
- mein Gerät im HM heißt "Markise", das sollte aber doch kein Problem sein, oder?
- was ist der Kanalname? Mache ich da etwas falsch?
Dateianhänge
Clipboard07.jpg

the_Stig
Beiträge: 58
Registriert: 26.04.2016, 11:10
Hat sich bedankt: 14 Mal

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

Beitrag von the_Stig » 26.12.2020, 12:42

Hat sich alles erledigt. Dummheit saß vorm PC. Ich habe beim Copy&Pasten das tclsh vor den Befehlen vergessen. Jetzt geht alles! Vielen herzlichen Dank für deine Unterstützung.

Antworten

Zurück zu „CUxD“