Dann solltest du dich schnell in das Thema einarbeiten! Putty ist ein Programm und die Zeilen sind mit einer Raute (#) aaskommentiert also greifen sie nicht, dies ist für mich wenn ich mal schnell was anlernen muss eine InformationEmig hat geschrieben:Es gibt ja für die Einrichtung einmal diese Anleitung für die etwas Fortgeschrittenen und dann noch diese:
viewtopic.php?t=36678
Beide Seiten Stellen ein Skript zur Verfügung.
Ich habe mal die beiden Skripte verglichen (nebeneinander Kopiert) die die Autoren zur Verfügung stellen. Dabei ist mir in der zweiten und dritten Zeile ein Unterschied aufgefallen.
Siehe Bild...
Kannst mir je,and sagen warum man in dem einem Skript auf Zeile 2 und 3 dieser Anleitung verzichtet hat?
Somfy RTS + CUXD => Homematic (ohne Aktor)
Moderator: Co-Administratoren
-
- Beiträge: 2483
- Registriert: 13.02.2012, 20:23
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 302 Mal
- Danksagung erhalten: 116 Mal
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
-
- Beiträge: 25
- Registriert: 21.02.2018, 10:53
- Danksagung erhalten: 2 Mal
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Falls noch jemand Probleme mit dauer blinkenden CUL's hat ist hier ein überarbeitetes Script mit Prüfung auf zu schnelle Befehlszuweisungen.
Voraussetzung ist eine zusätzliche Systemvariable (SOMFY_PID) mit Typ: Zeichenkette, die parallele Abarbeitung vermeiden sollte:
Voraussetzung ist eine zusätzliche Systemvariable (SOMFY_PID) mit Typ: Zeichenkette, die parallele Abarbeitung vermeiden sollte:
Code: Alles auswählen
#!/bin/tclsh
load tclrega.so
proc rega_read {obj} {
set cmd "var value = dom.GetObject('$obj').Value();"
array set values [rega_script $cmd]
return $values(value)
}
# read previous pid
set somfy_pid [rega_read SOMFY_PID]
if {$somfy_pid != "" && $somfy_pid != "???"} {
puts "process: '$somfy_pid' not finished - sleep for 2 sec."
after 2000 { set state done }
vwait state
# try again
set somfy_pid [rega_read SOMFY_PID]
if {$somfy_pid != ""} {
puts "still busy -> abort"
exit 1
}
}
# update current pid
set somfy_pid [pid]
rega_script dom.GetObject('SOMFY_PID').State('$somfy_pid');
# free pid lock after 2000ms
after 2000 {
rega_script dom.GetObject('SOMFY_PID').State('');
set state done
}
# get args
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]
# get rolling counter
set remote_counter [rega_read $device_sysvar_name]
# convert to hex
set remote_counter [expr int($remote_counter)]
set remote_counter_hex [format %04X $remote_counter]
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 "unknown command: $device_cmd"
exit 1
}
}
incr remote_counter
rega_script dom.GetObject('CUxD.$device_name.SEND_CMD').State('Ys$device_remote_enc$device_cmd_hex$remote_counter_hex$device_remote_id');
rega_script dom.GetObject('$device_sysvar_name').State('$remote_counter');
vwait state
Zuletzt geändert von comtel2000 am 27.02.2018, 00:51, insgesamt 1-mal geändert.
-
- Beiträge: 2483
- Registriert: 13.02.2012, 20:23
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 302 Mal
- Danksagung erhalten: 116 Mal
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Damit ich es richtig verstehe mit dem script wird verhindert das sich der cal ggf verschluckt und alles nach einander abgearbeitet wird?
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Hallo comtel2000
Tinamausi
habe auch dieses Proplem, somit habe ich dieses Script ausgetausch und ein Variabel wie beschrieben angelegt. Leider werden keine sendebefehle mehr gesendet (Cux Terminal) gibt es noch was zu beachten oder mach ich noch was falsch. Es werden bei mir 9 Somfy Rolladen bedient mit seperaten Selbstbau Cul Version (V 1.67 nanoCUL433)Falls noch jemand Probleme mit dauer blinkenden CUL's hat ist hier ein überarbeitetes Script mit Prüfung auf zu schnelle Befehlszuweisungen.
Voraussetzung ist eine zusätzliche Systemvariable (SOMFY_PID) mit Typ: Zeichenkette, die parallele Abarbeitung vermeiden sollte:
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
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
-
- Beiträge: 25
- Registriert: 21.02.2018, 10:53
- Danksagung erhalten: 2 Mal
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Das Script prüft über die Systemvariable SOMFY_PID einfach auf doppelte Ausführung. Während das script läuft, steht die aktuelle ProzessID in SOMFY_PID und wird nach ca.2sec. wieder gelöscht. Falls dauerhaft was in SOMFY_PID steht konnte das letzte script nicht ausgeführt werden, was aber theoretisch nicht passieren sollte..
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Hallo comtel2000
das Skript funktioniert bei mir nicht, und in der Systemvariabel stehen 3*?
Zeile der Systemvariabel in der Web Oberfläche des Raspimatic ( SOMFY_PID SOMFY_PID 24.02.2018 19:52:37 ??? ) da müsste ja was passieren ?
Tinamausi
das Skript funktioniert bei mir nicht, und in der Systemvariabel stehen 3*?
Zeile der Systemvariabel in der Web Oberfläche des Raspimatic ( SOMFY_PID SOMFY_PID 24.02.2018 19:52:37 ??? ) da müsste ja was passieren ?
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
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
-
- Beiträge: 25
- Registriert: 21.02.2018, 10:53
- Danksagung erhalten: 2 Mal
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
@Tinamausi
was passiert wen du das script in der Konsole/Putty startest?
Bitte einfach mal manuell einen Leerstring "" in SOMFY_PID schreiben.
Wahrscheinlich ist die Systemvariable noch nicht initialisiert.
was passiert wen du das script in der Konsole/Putty startest?
Bitte einfach mal manuell einen Leerstring "" in SOMFY_PID schreiben.
Wahrscheinlich ist die Systemvariable noch nicht initialisiert.
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
@comtel2000
in Putty passiert nichts, außer das Putty sich selbst schließt.
Der Leerstring hat auch nicht geholfen, das alte Skript funktioniert aber sofort wieder.
Gibt es noch andere Möglichkeiten ?
Tinamausi
in Putty passiert nichts, außer das Putty sich selbst schließt.
Der Leerstring hat auch nicht geholfen, das alte Skript funktioniert aber sofort wieder.
Gibt es noch andere Möglichkeiten ?
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
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Hallo comtel2000
jetzt funktioniert es, habe nochmals Leerzeichen in die variabel geschrieben und Neustart des Raspimatic durchgeführt, für andere es darf absolut nichts in der Variabel stehen nach Erstellung.
Danke für deine Arbeit, ein Absturz des nanocul ist somit geschichte.
Tinamausi
jetzt funktioniert es, habe nochmals Leerzeichen in die variabel geschrieben und Neustart des Raspimatic durchgeführt, für andere es darf absolut nichts in der Variabel stehen nach Erstellung.
Danke für deine Arbeit, ein Absturz des nanocul ist somit geschichte.
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
70 Kanäle in 36 Geräten und 51 CUxD-Kanäle in 17 CUxD-Geräten
-
- Beiträge: 2483
- Registriert: 13.02.2012, 20:23
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 302 Mal
- Danksagung erhalten: 116 Mal
Re: Somfy RTS + CUXD => Homematic (ohne Aktor)
Habe es im Urspunkgspost verlinkt.
@Tinamaus bist du dir sicher das der CUL abstürzt, habe bei meinen Programmen in denen mehrere Rollos gesteuert werden einfach zeitversetzt diese angesteuert. Durch die Anpassung des Scripts sollte dies jetzt nicht mehr nötig sein.
@Tinamaus bist du dir sicher das der CUL abstürzt, habe bei meinen Programmen in denen mehrere Rollos gesteuert werden einfach zeitversetzt diese angesteuert. Durch die Anpassung des Scripts sollte dies jetzt nicht mehr nötig sein.