Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Moderator: Co-Administratoren
-
- Beiträge: 110
- Registriert: 30.09.2013, 20:51
Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Hallo,
hier ist beschrieben, wie man beim neuen Wandthermostat die Wochenprofile tauschen kann - funktioniert bei mir auch.
Nun wollte ich das Skript für eine Gruppe verwenden, bekomme es aber nicht hin. Hat schon jemand erfolgreich in der Gruppe die Wochenprofile per Skript umgestellt?
Was passiert wenn ich nur den Wandthermostat in der Gruppe umstelle? Funktioniert das trotzdem, obwohl die CCU immer noch das alte Wochenprofil in den Einstellungen gespeichert hat?
Danke,
-sumpfnagel.
hier ist beschrieben, wie man beim neuen Wandthermostat die Wochenprofile tauschen kann - funktioniert bei mir auch.
Nun wollte ich das Skript für eine Gruppe verwenden, bekomme es aber nicht hin. Hat schon jemand erfolgreich in der Gruppe die Wochenprofile per Skript umgestellt?
Was passiert wenn ich nur den Wandthermostat in der Gruppe umstelle? Funktioniert das trotzdem, obwohl die CCU immer noch das alte Wochenprofil in den Einstellungen gespeichert hat?
Danke,
-sumpfnagel.
-
- Beiträge: 3
- Registriert: 30.12.2014, 15:34
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Hallo sumpfnagel,
ich stand genau vor demselben Problem mit den Gruppen, habe aber endlich eine Lösung dafür gefunden.
Aber das darin verwendete TCL-Skript hier kann für Gruppen so nicht funktionieren, da Gruppen zu den sog. VirtualDevices gehören, und eben nicht zu den BidCos-RF Komponenten, auf die das Skript voreingestellt ist.
VirtualDevices haben auf der CCU2 einen eigenen XML-RPC-Server mit der Adresse http://127.0.0.1:9292/groups.
Falls es jemand nachschauen will, der findet diese Einstellungen unter /etc/config/InterfacesList.xml
Ich habe das Skript daher angepasst und als eigene Datei daneben gelegt, z.b. setparam_virtdev.tcl:
Jetzt kannst du das Skript von hier verwenden, wie du es oben schon verlinkt hattest.
Du musst darin nur den Aufruf von setparam.tcl durch setparam_virtdev.tcl ersetzen.
Führend ist das aktive Wochenprogramm des Wandthermostats.
Aber wenn du später das Gruppenprofil über die WebUI anpassen willst, ist das falsche aktive Wochenprogramm im Vordergrund. Wenn man jetzt speichert landet das falsche aktive Profil auf dem Wandthermostat.
Grüße,
Homer
ich stand genau vor demselben Problem mit den Gruppen, habe aber endlich eine Lösung dafür gefunden.
Das von dir genannte Skript passt grundsätzlich auch schon für Gruppen.sumpfnagel hat geschrieben: hier ist beschrieben, wie man beim neuen Wandthermostat die Wochenprofile tauschen kann - funktioniert bei mir auch.
Aber das darin verwendete TCL-Skript hier kann für Gruppen so nicht funktionieren, da Gruppen zu den sog. VirtualDevices gehören, und eben nicht zu den BidCos-RF Komponenten, auf die das Skript voreingestellt ist.
VirtualDevices haben auf der CCU2 einen eigenen XML-RPC-Server mit der Adresse http://127.0.0.1:9292/groups.
Falls es jemand nachschauen will, der findet diese Einstellungen unter /etc/config/InterfacesList.xml
Ich habe das Skript daher angepasst und als eigene Datei daneben gelegt, z.b. setparam_virtdev.tcl:
Code: Alles auswählen
#!/bin/tclsh
#
# Aufruf für ein putParamset (z.B. über CUxD.CMD_EXEC)
# ====================================================
#
# tclsh setparam_virtdev <addresse> <item> <datentyp> <wert>
# z.B.
# tclsh /usr/local/setparam_virtdev.tcl INT0000001 WEEK_PROGRAM_POINTER int 1
#
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:9292/groups putParamset [list string [lindex $argv 0]] [list string "MASTER"] [list struct $cmd]
Du musst darin nur den Aufruf von setparam.tcl durch setparam_virtdev.tcl ersetzen.
Soweit ich das sehe hat es auf den Betrieb zunächst keinen Einfluss, wenn in Gruppe und Wandthermostat unterschiedliche Wochenprogramme aktiv sind.sumpfnagel hat geschrieben: Was passiert wenn ich nur den Wandthermostat in der Gruppe umstelle? Funktioniert das trotzdem, obwohl die CCU immer noch das alte Wochenprofil in den Einstellungen gespeichert hat?
Führend ist das aktive Wochenprogramm des Wandthermostats.
Aber wenn du später das Gruppenprofil über die WebUI anpassen willst, ist das falsche aktive Wochenprogramm im Vordergrund. Wenn man jetzt speichert landet das falsche aktive Profil auf dem Wandthermostat.
Grüße,
Homer
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Hallo,
ich würde gerne das oben beschriebene umsetzten. Nur muss ich leider sagen, dass ich nicht ganz durchblicke.
Was muss nochmal genau in die TCL Datei bzw welche Variablen muss ich womit ersetzten und wie passe ich das Script an ?
Vielen Dank schon mal-
ich würde gerne das oben beschriebene umsetzten. Nur muss ich leider sagen, dass ich nicht ganz durchblicke.
Was muss nochmal genau in die TCL Datei bzw welche Variablen muss ich womit ersetzten und wie passe ich das Script an ?
Vielen Dank schon mal-
-
- Beiträge: 110
- Registriert: 30.09.2013, 20:51
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Hallo Homer,Homer Matic hat geschrieben: Soweit ich das sehe hat es auf den Betrieb zunächst keinen Einfluss, wenn in Gruppe und Wandthermostat unterschiedliche Wochenprogramme aktiv sind.
Führend ist das aktive Wochenprogramm des Wandthermostats.
Aber wenn du später das Gruppenprofil über die WebUI anpassen willst, ist das falsche aktive Wochenprogramm im Vordergrund. Wenn man jetzt speichert landet das falsche aktive Profil auf dem Wandthermostat.
es funktioniert - danke für die Tipps
Es scheint tatsächlich egal zu sein, ob das Wochenprogramm der Gruppe oder nur des Wandthermostaten geändert wird: im Heizungsantrieb bleibt das Programm "1" aktiv. Das führt dazu, der Heizungsantrieb zu Schaltzeiten des 1. Programms für etwa 1 Minute dessen Temperatur vorgibt (und ggf. den Antrieb kurz auf- oder zufährt), bis er vom Wandthermostaten korrigiert wird. Nicht ideal, aber noch okay. Besser als die Temperatur ständig im MANU-Modus vorzugeben.
Gruß,
-sumpnagel.
-
- Beiträge: 3
- Registriert: 30.12.2014, 15:34
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Noch ein kleiner Nachtrag zu diesem Skript bei der Verwendung von Gruppen ohne Wandthermostat:
Ich habe vorsorglich schon mal für jeden Raum getrennte Gruppen angelegt, auch für die Räume, die (noch) keinen Wandthermostaten haben. Dann kann ich bei Bedarf einfach noch Wandthermostate dazu hängen.
ABER: Wenn man das Skript nun auch auf diese Gruppen ohne Wandthermostat anwendet, so bekommt man ein Problem mit den Einstellungen dieser Gruppen in der WebUI.
Denn in der WebUI wird immer das angeblich aktive Wochenprogramm (1, 2 oder 3) angezeigt, das durch das Skript eingestellt worden ist.
Und auch nur das ist editierbar. Die anderen beiden sind nicht sichtbar.
Tatsächlich in Betrieb ist aber immer nur das 1. Wochenprogramm, da die Heizkörperthermostate selbst keine weiteren Wochenprogramme unterstützen.
Leider kann man nicht direkt in der WebUI erkennen welches Wochenprogramm gerade aktiv ist, da es keine Anzeige der derzeit aktiven Wochenprogrammnummer gibt. (Das gibt es nur bei Gruppen mit Wandthermostaten.)
Abhilfe schafft da nur, mittels Skript wieder auf Wochenprogramm 1 zurückzuschalten und diese Gruppen aus dem Gewerk herauszunehmen.
Ich hatte mich nur gewundert, warum nach der Umstellung per Skript plötzlich wieder die Standardeinstellungen der Zeitprogramme für diese Gruppe zu sehen ist. (Das war aber in meinem Fall tatsächlich Wochenprogramm 2, welches hier keine aber Verwendung findet.)
Deshalb: Solche Gruppen ohne Wandthermostat besser nicht über das Skript ansteuern.
Ich habe vorsorglich schon mal für jeden Raum getrennte Gruppen angelegt, auch für die Räume, die (noch) keinen Wandthermostaten haben. Dann kann ich bei Bedarf einfach noch Wandthermostate dazu hängen.
ABER: Wenn man das Skript nun auch auf diese Gruppen ohne Wandthermostat anwendet, so bekommt man ein Problem mit den Einstellungen dieser Gruppen in der WebUI.
Denn in der WebUI wird immer das angeblich aktive Wochenprogramm (1, 2 oder 3) angezeigt, das durch das Skript eingestellt worden ist.
Und auch nur das ist editierbar. Die anderen beiden sind nicht sichtbar.
Tatsächlich in Betrieb ist aber immer nur das 1. Wochenprogramm, da die Heizkörperthermostate selbst keine weiteren Wochenprogramme unterstützen.
Leider kann man nicht direkt in der WebUI erkennen welches Wochenprogramm gerade aktiv ist, da es keine Anzeige der derzeit aktiven Wochenprogrammnummer gibt. (Das gibt es nur bei Gruppen mit Wandthermostaten.)
Abhilfe schafft da nur, mittels Skript wieder auf Wochenprogramm 1 zurückzuschalten und diese Gruppen aus dem Gewerk herauszunehmen.
Ich hatte mich nur gewundert, warum nach der Umstellung per Skript plötzlich wieder die Standardeinstellungen der Zeitprogramme für diese Gruppe zu sehen ist. (Das war aber in meinem Fall tatsächlich Wochenprogramm 2, welches hier keine aber Verwendung findet.)
Deshalb: Solche Gruppen ohne Wandthermostat besser nicht über das Skript ansteuern.
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Ich habe hierzu mal eine Frage:
das o. g. Script speicher ich in die Datei "setparam_virtdev.tcl"
die muss ich nun auf mein ccu2 schieben. Wie genau mache ich das?
Per ftp wähle ich als IP die IP der CCU. Das wäre kein Problem. Aber danach weiß ich erstmal nicht weiter.
Username und Kennwort bleiben leer?
Welchen Port muss ich einstellen?
Finde ich das Verzeichnis "usr" danach direkt im Root? (/usr/local)
Was genau heißt die Dateiausführbar setzen?
Vielen Dank und Grüße
Thomas
das o. g. Script speicher ich in die Datei "setparam_virtdev.tcl"
die muss ich nun auf mein ccu2 schieben. Wie genau mache ich das?
Per ftp wähle ich als IP die IP der CCU. Das wäre kein Problem. Aber danach weiß ich erstmal nicht weiter.
Username und Kennwort bleiben leer?
Welchen Port muss ich einstellen?
Finde ich das Verzeichnis "usr" danach direkt im Root? (/usr/local)
Was genau heißt die Dateiausführbar setzen?
Vielen Dank und Grüße
Thomas
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Hallo,
lese mit Begeisterung, dass es andere gibt die das auch machen wollen.
Nur habe ich von dem Scripten noch keine Ahnung. Hast du das hinbekommen und wie?
Gruss
Gernot
lese mit Begeisterung, dass es andere gibt die das auch machen wollen.
Nur habe ich von dem Scripten noch keine Ahnung. Hast du das hinbekommen und wie?
Gruss
Gernot
-
- Beiträge: 10782
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 67 Mal
- Danksagung erhalten: 682 Mal
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Auch das Wochenprogramm einer Virtuellen Heizungsgruppe sollte per einfachen HM Script umgeschalten werden können, ohne sich mühsam mit Dateien rum zu quälen.
Wobei der Name "Heizungsgruppe Kellergeschoss INT0000001" jener welcher ist:
Hinten die 0 aktiviert das Wochenprogramm 1, hinten die 1 aktiviert Wochenprogramm 2 usw.
Ob das Script nun unter Script testen oder in einem Klickibuntiprogramm aufgerufen wird, sollte egal sein. Musst du mal probieren.
Alchy
Code: Alles auswählen
object obj = devices.Get("Heizungsgruppe Kellergeschoss INT0000001");
xmlrpc.PutParamset (obj.Interface(), obj.Address(), "MASTER", "WEEK_PROGRAM_POINTER", "1");
Ob das Script nun unter Script testen oder in einem Klickibuntiprogramm aufgerufen wird, sollte egal sein. Musst du mal probieren.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Ja ich habe es nach etwas suchen und probieren hinbekommen. Man speichert die Datei oben in ein Verzeichnis der ccu (per ftp verbinden und übertragen) und muss das dann im Programm aufrufen.Gernot@gmx.net hat geschrieben:Hallo,
Hast du das hinbekommen und wie?
Gruss
Gernot
Damals wußte noch niemand wie man die Heizungsgruppen relativ einfach direkt per Script in der Webui ändern kann.
Ich würde heute definitvi die Variante von Alchy nehmen. Probier die Variante mal und wenn es Probleme gibt finden wir eine Lösung...
Mein Programm hat heute Morgen um 0:25 Uhr das Heizprofil von 1 (bei mir Urlaub- bzw Feiertage) wieder zurück auf 0 (Arbeitstage) gestellt. Nutze dazu noch das Feiertagsscript bzw Urlaubsscript damit die Heizungen automatisch umgestellt werden.
Re: Wochenprofile per Skript einstellen (Heizungs-Gruppe)
Hallo liebe Forenmitglieder, hallo alchy,
bei meiner Suche im Forum nach der Möglichkeit die Wochenprofile per HM Skript umzustellen bin ich auf diesen Thread gestossen. Nachdem ich kläglich scheitere, habe ich mich jetzt angemeldet um Euch mit meinen Fragen zu "belästigen".
Unter Skript testen funktioniert die Methode einwandfrei, sobald ich diese aber in eine "Klickibuntilogik" einbaue erhalte ich immer wieder Fehler.
Bei dem Versuch die Wochenprofile mehrerer Gruppen nacheinander zu ändern scheitere ich immer.
Nachfolgend Auszüge aus dem Fehlerlog:
Eine Gruppe soll geändert werden. Aufruf funktionierte unter Skript testen, sobald ich ihn mit Logik verknüpfe erhalte ich häufig (nicht immer) folgenden Fehler:
Mehrere Gruppen sollen geändert werden - funktioniert nie:
Hat jemand eine Idee was ich falsch mache?
Vielen Dank und viele Grüße
asman
bei meiner Suche im Forum nach der Möglichkeit die Wochenprofile per HM Skript umzustellen bin ich auf diesen Thread gestossen. Nachdem ich kläglich scheitere, habe ich mich jetzt angemeldet um Euch mit meinen Fragen zu "belästigen".
Unter Skript testen funktioniert die Methode einwandfrei, sobald ich diese aber in eine "Klickibuntilogik" einbaue erhalte ich immer wieder Fehler.
Bei dem Versuch die Wochenprofile mehrerer Gruppen nacheinander zu ändern scheitere ich immer.
Nachfolgend Auszüge aus dem Fehlerlog:
Eine Gruppe soll geändert werden. Aufruf funktionierte unter Skript testen, sobald ich ihn mit Logik verknüpfe erhalte ich häufig (nicht immer) folgenden Fehler:
Code: Alles auswählen
Error: IseESP::ScriptRuntimeError: object obj = devices.Get("Grp_Kizi"); xmlrpc.PutParamset (obj.Interface(), obj.Address(), "MASTER", "WEEK_PROGRAM_POINTER", "0"); [iseESPexec.cpp:12534]
Mehrere Gruppen sollen geändert werden - funktioniert nie:
Code: Alles auswählen
Error: IseESP::ScriptRuntimeError: object obj1 = devices.Get("Grp_Kizi"); xmlrpc.PutParamset (obj1.Interface(), obj1.Address(), "MASTER", "WEEK_PROGRAM_POINTER", "1"); object obj2 = devices.Get("Grp_Bad"); xmlrpc.PutParamset (obj2.Interface(), obj2.Address(), "MASTER", "WEEK_PROGRAM_POINTER", "1"); [iseESPexec.cpp:12534]
Vielen Dank und viele Grüße
asman