CCU2 tcl-script läuft nicht auf Raspimatic?

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
sambasamba
Beiträge: 1604
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

CCU2 tcl-script läuft nicht auf Raspimatic?

Beitrag von sambasamba » 07.08.2023, 15:38

Hallo zusammen,

es gibt ja das unter TIPS&TRICKS seinerzeit von owagner programmierte Skript, um die alten Raumthermostat in der Betriebsart umzuschalten. Dieses:

Code: Alles auswählen

# Aufruf für ein putParamset (z.B. via system.Exec)
# =================================================
# tclsh setparam <addresse> <item> <datentyp> <wert>
# z.B.
# tclsh setparam GEQ004711:2 MODE_TEMPERATUR_REGULATOR int 1
# Diese Version ist fuer Funk. Fuer Wired muss unten der Port von 2001 auf 2000 geaendert werden.
#
load tclrpc.so
set item [lindex $argv 1]
set datatype [lindex $argv 2]
set val [lindex $argv 3]
set cmd "{$item {$datatype $val}}"
xmlrpc http://127.0.0.1:2001/ putParamset [list string [lindex $argv 0]] [list string "MASTER"] [list struct $cmd]
wie bei der CCU2 habe ich das auf der raspimatic ins identische Verzeichnis gepackt und die Rechts auf 777 gesetzt:
ScreenShot2936.jpg
ScreenShot2936.jpg (20.02 KiB) 312 mal betrachtet
Trotzdem bekomme ich beim Aufruf:

Code: Alles auswählen

var stdout;
var stderr;

addr=dom.GetObject("VJ.Raumthermostat").Address();
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/setparam.tcl "+addr+":2 MODE_TEMPERATUR_REGULATOR int 2");


diesen Fehler:

Code: Alles auswählen

Error 1 at row 5 col 149 near ^+":2 MODE_TEMPERATUR_REGULATOR int 2");

Parse following code failed:
var stdout;
var stderr;
addr=dom.GetObject("VJ.Raumthermostat").Address();
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/setparam.tcl "+addr+":2 MODE_TEMPERATUR_REGULATOR int 2");
und komme jetzt leider nicht weiter.
Das CuxD-Gerät ist auf der raspimatic angelegt.
addr ist richtig befüllt, das habe ich mit einem WriteLine getestet.

Danke für die Hilfe!
Zuletzt geändert von Roland M. am 07.08.2023, 20:26, insgesamt 1-mal geändert.
Grund: Thema verschoben

jp112sdl
Beiträge: 12149
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 854 Mal
Danksagung erhalten: 2157 Mal
Kontaktdaten:

Re: CCU2 tcl-script läuft nicht auf Raspimatic?

Beitrag von jp112sdl » 07.08.2023, 15:59

Ersetze + durch #

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

sambasamba
Beiträge: 1604
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: CCU2 tcl-script läuft nicht auf Raspimatic?

Beitrag von sambasamba » 07.08.2023, 17:46

leider erfolglos:

Code: Alles auswählen

Error 1 at row 5 col 149 near ^#":2 MODE_TEMPERATUR_REGULATOR int 2");

Parse following code failed:
var stdout;
var stderr;

addr=dom.GetObject("VJ.Raumthermostat").Address();
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/setparam.tcl "#addr#":2 MODE_TEMPERATUR_REGULATOR int 2");
es muss aber damit zu tun haben, denn wenn ich so scripte:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/setparam.tcl GEQ1234567:2 MODE_TEMPERATUR_REGULATOR int 2");
dann geht es.

Tyfys
Beiträge: 586
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 138 Mal

Re: CCU2 tcl-script läuft nicht auf Raspimatic?

Beitrag von Tyfys » 07.08.2023, 17:50

falls adr nicht anderswo definiert wurde,

dann jetzt aber nachholen:

Code: Alles auswählen

var addr=dom.GetObject("VJ.Raumthermostat").Address();
Gruß
Harry

sambasamba
Beiträge: 1604
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: CCU2 tcl-script läuft nicht auf Raspimatic?

Beitrag von sambasamba » 07.08.2023, 17:57

DAS WARS!!
geht. Mit den '+' - Zeichen um addr, nicht '#'

Superblöder Fehler.
Am Anfang des Originalscripts auf der CCU2 war addr genauso definiert Var addr=....
Nur enthält das script die Steuerbefehle für alle RTs, und ich hatte die eine Zeile für den in meinem Büro zum Test rauskopiert.
Da stand dann halt kein 'var' mehr davor.
:-(

DANKE Dir!

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“