NEWS
HM Wandthermostat Wochenprogramm umschalten
-
Hallo,
aus aktuellem Anlass bin ich gerade am grübeln, wie ich verschiedene Wochenprogramme aktivieren kann, da nun hier Ferien sind und die Kinder Vormittags bei 17°C Raumtemperatur ganz schön frieren. Es ist relativ nervig, dass jeden Tag immer wieder von Hand neu einzustellen.
Würde gern im VIS einen Umschalter haben mit "Normal, Ferien". Der Schalter stellt nicht das Problem dar aber die Ansteuerung der Wandthermostate. Habe nur einen Thread von 2011 gefunden, ich denke es ist nicht mehr aktuell.
Achja, an die Macher von ioBroker ein riesen Kompliment von mir. Das ist wirklich ein Traum was ihr da hier geleistet habt. :mrgreen:
Gruß Marco
721_dashboard.jpg -
Der WEEK_PROGRAM_POINTER ist kein Datenpunkt, sondern ein MASTER-PARAMETER.
Hast Du es mal mit ioBroker.hmm probiert ?
-
Danke. Werde es mal damit versuchen.
-
Ich komme nicht wirklich weiter. Ich habe den Punkt zur Umstellung gefunden aber wie spreche ich diesen mit einem Script an?
Mit setparam.tcl und diesem Script passiert auch nichts.
var wp = dom.GetObject("Wochenprogramm").Value(); wp = wp.ToString(); string addr = dom.GetObject("Wohnzimmer-Heizung T").Address(); string cmd = "tclsh /usr/local/setparam.tcl "#addr#" WEEK_PROGRAM_POINTER int "#wp; dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State(cmd);
-
setparam.tcl hast Du auf die CCU in das Verzeichnis /usr/local kopiert und ausführbar gesetzt ?
Auf der CCU hast Du eine SV "Wochenprogramm" vom Typ Werteliste oder Zahl erstellt ?
In CUxD hast Du ein system.Exec Device mit der Seriennummer 2 erstellt ?
Der Gerätename des WT ist "Wohnzimmer-Heizung T" ?
Das CCU-Programm mit dem Script wird durch die SV "Wochenprogramm" bei Aktualisierung ausgelöst ?
Dann sollte das Wochenprogramm im WT umgeschaltet werden, nachdem die SV "Wochenprogramm" geändert wurde.
-
Ich habe den Punkt zur Umstellung gefunden aber wie spreche ich diesen mit einem Script an? `
Konntest Du den Punkt per ioBroker.hmm umstellen ?Einen MASTER-PARAMETER per Javascript in ioBroker umzustellen, ist nach meiner Kenntnis nicht möglich.
-
Mit dem HMM konnte ich diesen Punkt umstellen aber per Script eben nicht. :shock:
-
Guten Morgen,
ich habe die Lösung gefunden. So funktioniert es: tclsh /usr/local/setparam.tcl LEQ1463266 WEEK_PROGRAM_POINTER int 2
LEQ1463266 ohne Zusätze für den Masterparameter.
Gruß Marco
-
Hallo Marco,
kannst du vllt kurz Schritt für Schritt erklären was ich machen muss? Würde auch gerne über iobroker das Wochenprogramm umschalten.
-
Hallo,
zuerst eine Datei erstellen mit dem Namen setparam.tcl
In diese Datei folgenden Code kopieren:
`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://192.168.178.3:2001/ putParamset ] ` Dann diese Datei z.B. per WinSCP in den Ordner /usr/local kopieren. In den Eigenschaften der Datei die Berechtigung zum Ausführen anhaken. Als nächstes eine Systemvariable mit dem Namen "Wochenprogramm" anlegen. (Ohne Anführungszeichen)  Dann kannst du in der CCU2 ein neues Programm erstellen.  z.B. mit dem Code `~~[code]~~var wp = dom.GetObject("Wochenprogramm").Value(); wp = wp.ToString(); string addr = dom.GetObject("Name des Heizungsthermostat").Address(); string cmd = "tclsh /usr/local/setparam.tcl "#addr#" WEEK_PROGRAM_POINTER int "#wp; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(cmd);[/code]` Bitte den Cuxd-Taster anlegen.  Im VIS habe ich das Widget JQUI - Radio Buttons Value List genommen.  In den Attributen des Widget die Systemvariable aus HM-REGA -> Wochenprogramm wählen.  Ich hoffe es ist verständlich. :-) Viele Grüße Marco
-
Hallo Marco,
habe soweit mal alles angelegt, werde morgen mal testen.
Zwei Fragen habe ich noch. In deinem CCU2 Programm hat du die Variable Wochenprogramm drin dahinter steht "bei (leer), bei Änderung auslösen". Bei mir steht da "im Wertebereich". Da hab ich mal kleiner gleich 3 eingeben.
Du schreibst hier weiter oben in einem Post von LEQ1463266, ich habe jetzt mein Wandthermostat eingetragen. Gibt es auch Wochenprogramme für die Heizkörperthermostate?? Dachte das geht nur bei dem Wandthermostat.
6558_unbenannt.png -
Guten Morgen,
> Zwei Fragen habe ich noch. In deinem CCU2 Programm hat du die Variable Wochenprogramm drin dahinter steht "bei (leer), bei Änderung auslösen". Bei mir steht da "im Wertebereich".
das mit dem Script hier habe ich nur als Beispiel gemacht, die Werte der Systemvariable muss dann jeder selbst eintragen.
> Du schreibst hier weiter oben in einem Post von LEQ1463266, ich habe jetzt mein Wandthermostat eingetragen.
Da ich ausschließlich mit Elektroheizungen heize, ist "Heizungsthermostat" bei mir das Wandthermostat. Hab ich leider etwas unglücklich formuliert.
Viele Grüße
Marco
-
Irgendwie will das bei mir nicht.
getriggert wird es eigentlich.
Auszug aus dem CuxD Info:
Oct 22 01:07:32 homematic-ccu2 daemon.info cuxd[14089]: system(tclsh /usr/local/setparam.tcl MEQ0089121 WEEK_PROGRAM_POINTER int 2) exit(1) 0s
Aber in der CCU2 bleibt das Wochenprogramm 1 aktiv
Was muss denn hier für ne IP Adresse rein?
`xmlrpc http://192.168.178.3:2001/ putParamset ] ` Die von meinem Raspi? Welcher Port? Wenn ich in meinem Wochenprogramm auf der CCU die Variable mit "Zahl" definiere, schreibt er 2.0000 in die Variable "Wochenprogramm" das funktioniert eh nicht oder? Habe es geändert, damit 2 drin steht, aber geht trotzdem nicht. Gruß
-
Die IP ist die der CCU, dort wird das Script ausgeführt.
Falls du vorhaben solltest mehrere Wandthermostate gleichzeitig zu schalten, solltest du am Ende in der setparam.tcl noch "sleep 5" anhängen. Das hat bei mir geholfen.
Bei mir steht auch 2.00000 da.
-
Nein, möchte nur ein Wandthermostat umschalten. Habe jetzt das Script abgeändert mit der IP der CCU2, geht aber leider immer noch nicht.
In den Einstellungen des Wandthermostates steht immer noch das erste Wochenprogramm auf aktiv, obwohl ich 2 angewählt hab über iobroker/script.
-
Versuch mal in der CCU das Programm zu starten, ob er dann umstellt. Ich habe Probleme gehabt, dass der Druck auf den Button zwar die Systemvariable aktualisiert hat (Wochenprogramm) aber die Änderung nicht erkannt wurde und somit das Programm nicht ausgeführt wurden ist.
-
Wenn ich in meinem Wochenprogramm auf der CCU die Variable mit "Zahl" definiere, schreibt er 2.0000 in die Variable "Wochenprogramm" das funktioniert eh nicht oder? Habe es geändert, damit 2 drin steht, aber geht trotzdem nicht. `
Wie man dem Bild "attribute.JPG" entnehmen kann, sollte die SV vom Typ Werteliste sein (Woche 1;Woche 2;Woche 3). Die Programmauslösung muss dann per ODER-Verknüpfung erfolgen:Wenn... SV Wochenprogramm ist Woche 1 (bei Änderung auslösen) ODER SV Wochenprogramm ist Woche 2 (bei Änderung auslösen) ODER SV Wochenprogramm ist Woche 3 (bei Änderung auslösen) Dann... Script sofort
-
Ich habe Probleme gehabt, dass der Druck auf den Button zwar die Systemvariable aktualisiert hat (Wochenprogramm) aber die Änderung nicht erkannt wurde und somit das Programm nicht ausgeführt wurden ist. `
Bei einer SV vom Typ Zahl muss bei Aktualisierung ausgelöst werden. -
Wenn ich das Programm von Hand auslöse, wird auch das Script über CuxD gestartet
Oct 22 01:07:32 homematic-ccu2 daemon.info cuxd[14089]: system(tclsh /usr/local/setparam.tcl MEQ0089121 WEEK_PROGRAM_POINTER int 2) exit(1) 0s
Tut sich aber nix. Anders gefragt, was muss denn genau in der Systemvariable "Wochenprogramm" stehen. Der Inhalt wird doch an das tcl Script übergeben oder nicht?
Die Berechtigungen des tcl Scripts hab ich auch gesetzt und die IP der CCU im Script abgeändert
-
Der Inhalt wird doch an das tcl Script übergeben oder nicht? `
Der Wert wird an das TCL-Script übergeben. Beim SV-Typ Werteliste also 0, 1 oder 2. Der Wert 0 gehört zum ersten Zustandstext, der Wert 1 zum zweiten Zustandstext, …