Parameter (z.B. Thermostat-Modus) per WebUI/Script ändern

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von erik » 11.07.2013, 15:55

owagner hat geschrieben:Die Fehlermeldung bedeutet einfach, dass es das Gerät mit der Seriennummer GEQ004711 nicht gibt.

Ich habs gerade mit der CCU2 ausprobiert und der Aufruf funktioniert immer noch wie erwartet.

danke, dann werde ich mal schauen, was da das problem ist.

Danke

Falkomfs
Beiträge: 35
Registriert: 14.09.2013, 11:17
Danksagung erhalten: 1 Mal

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von Falkomfs » 14.09.2013, 11:30

Henk hat geschrieben:Ich habe mal auf Basis der "Vorschreiber" :) was gebastelt.
moin, kannst du das genauer erklären, wie hast du den Status ins A.I.O bekommen?

mfg Falko

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: AW: Parameter (z.B. Thermostat-Modus) per WebUI/Script ä

Beitrag von mrMuppet » 14.09.2013, 12:44

Die Umschaltung des Modus würde mich auch interessieren!

Gesendet von meinem Galaxy S3 mit Tapatalk.
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

Falkomfs
Beiträge: 35
Registriert: 14.09.2013, 11:17
Danksagung erhalten: 1 Mal

Re: AW: Parameter (z.B. Thermostat-Modus) per WebUI/Script ä

Beitrag von Falkomfs » 15.09.2013, 11:15

mrMuppet hat geschrieben:Die Umschaltung des Modus würde mich auch interessieren!

Gesendet von meinem Galaxy S3 mit Tapatalk.

Moin, ganz einfach, du erstellst in der CCU wie weiter vorn beschrieben die Programme, danach kannst du im A.I.O. unter Gerätemanager -> Gateways -> CCU -> Konfigurieren oben auch die Programme in den A.I.O. aufnehmen, diese kannst du dann einfach über einen "Taster" anwählen.
Die Umschaltung dauert aber etwas, bis die CCU wieder mit dem Thermostaten kommuniziert hat.

mfg Falko

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von mrMuppet » 19.09.2013, 15:22

sambasamba hat geschrieben: Einen Haken hat die Sache.
Beim Zurückschalten auf AUTO bleibt die zuletzt im CENT-Mode in den RT geschriebene Temperatur bis zum nächsten Schaltzeitpunkt aktiv.
Würde ich als bug bezeichnen, denn wenn man direkt am RT über die Menü-Taste von CEN auf AUTO schaltet, geht der RT auf die aktuell aktive Solltemperatur, und so erwartet man das ja auch. Ich habs mal ELV gemeldet.
Also muß man so rechtzeitig auf Normalbetrieb schalten, daß man den nächsten Schaltpunkt nicht verpaßt (meist morgens). Ein workaround: im RT mehr Schaltpunkte setzen als eigentlich benötigt, mit entspr. kurzen Zeitabständen.
Stimmt denn noch diese Aussage, oder ist dieser Bug inzwischen behoben?
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

PaulG4H
Beiträge: 1184
Registriert: 11.08.2011, 10:09

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von PaulG4H » 16.10.2013, 13:09

Hallo,

ich habe das Script von Henk etwas abgeändert zum laufen gebracht, damit das andere auch einfacher haben können möchte ich es nun hier auch Veröffentlichen

zuerst muss das script /usr/local/setparam.tcl angelegt und für gruppe und besitzer ausführbar gemacht werden
  • ssh auf die ccu mit putty oder was auch immer
  • vi /usr/local/setparam.tcl
  • die Taste für insert drücken
  • Den inhalt unten kopieren und mit der Rechten Maustaste in das putty fenster klicken zum einfügen
  • Die Taste [ESC] und dann [:][w][q][Enter] drücken
  • chmod o+x /usr/local/setparam.tcl
  • chmod g+x /usr/local/setparam.tcl

Code: Alles auswählen

#
#   Aufruf für ein putParamset (z.B. via system.Exec)
#   =================================================
#   nach Idee von Oliver Wagner <owagner@vapor.com>
#
#   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
  load tclrega.so
  set device [lindex $argv 0]
  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]
  #
  # Abruf Parameter z.B. GEQ004711:2 MASTER
  #
    set ausgabe [xmlrpc http://127.0.0.1:2001/ getParamset [list string [lindex $argv 0]] [list string "MASTER"] ]
    #puts $ausgabe
    #
    #   Aufsplittung Parameter MODE_TEMPERATUR_REGULATOR 0/1/2 [Manu/Auto/Cent]
    #   setzen der Variablen nach <addresse> und füllen mit Parameter

    foreach zeile [split $ausgabe \n] {
      if [regexp {MODE_TEMPERATUR_REGULATOR [012]} $zeile param] {
          set rega_cmd ""
          append rega_cmd "var w0 = dom.GetObject('$device:Mode');"
          append rega_cmd "w0.State('$val');"
          rega_script $rega_cmd
          puts $rega_cmd
      };
    };
    #puts $parameter
    #puts $device
#
Dann habe ich für jeden Raumthermostaten eine Systemvariable vom Typ Wertliste (Manu;Auto;Cent) angelegt welche dem Kanal 2 des Raumthermostates Zugeordnet wurde

Ich habe dann ein Programm welches mit der Zeitsteuerung jede Nacht ausgeführt wird erstellt in dem für jeden Raumthermostaten ein Script erstellt wird die immer mit einer Verzögerung + 1 Minute Ausgeführt werden. Da ich nicht den EXEC direkt verwende sondern den von CUxD sieht so ein Programm so aus:

Code: Alles auswählen

var addr=dom.GetObject("Wohnz-RT").Address();
string cmd = "tclsh /usr/local/setparam.tcl "+addr+":2 MODE_TEMPERATUR_REGULATOR int 1";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(cmd);
Nun habe ich auch im GUI bei jedem Raumthermostaten den Modus angezeigt / gespeichert.

LG

Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI

jogi77
Beiträge: 3
Registriert: 11.12.2013, 12:37

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von jogi77 » 11.12.2013, 19:34

Hallo zusammen.
Bin vor ein paar Tagen auf den Beitrag hier gestoßen und habe ein paar Versuche unternommen meine Thermostate (genauer gesagt erstmal eins davon) mit dem Script umzustellen.
Leider habe ich es bisher nicht geschafft das Ganze zum funktionieren zu bringen.

Habe das Sript von der ersten Seite in eine txt-Datei geschrieben, in setparam.tcl umbenannt und per FTP in das Verzeichnis /usr/local gespeichert...
Im WebUI ein Programm angelegt das per Tastendruck das HM-Script startet und auf meinem HM-OU-LED16 als Bestätigung dass ich auch die richtige Fernbedienung benutzt habe eine LED leuchten lässt.
In dem HM-Sript habe ich den Namen des Thermostaten angegeben (Unterste Zeile: "+addr+":2) > geht nicht
Direkt den Namen des Untergerätes (Unterste Zeile: "+addr+") > geht nicht
Unterste Zeile anstelle "+addr+":2 direkt die Adresse des Thermostaten ( HEQxxxxxxx:2) > geht nicht

Neustart der CCU zwischendurch hat auch nix gebracht. :?

Vielleicht sieht einer von Euch schon den Fehler oder kann mir weiterhelfen...

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von mrMuppet » 01.01.2014, 13:17

jogi77 hat geschrieben:Habe das Sript von der ersten Seite in eine txt-Datei geschrieben, in setparam.tcl umbenannt und per FTP in das Verzeichnis /usr/local gespeichert...

Also ich könnte mir schon vorstellen, dass schon der oben beschriebene Schritt Probleme macht, denn es kann schon mal sein, dass die Zeilenenden auf Linux geändert sein müssen, und deine txt dann die Zeilenenden von Windows benutzt.

wiki.ubuntuusers.de: [...]Ein weiteres, davon unabhängiges Problem ist, dass Linux- (bzw. Unix-) Systeme und Windows-Systeme unterschiedliche Kommandos für das Zeilenende nutzen. Während Windows als Zeilenende ein "CR + LF" (= Carriage Return + Line-Feed) verwendet, verwendet Linux nur "LF" (=Line-Feed). Dadurch kann es zur falschen Darstellung von Zeilenumbrüchen auf dem jeweils anderen System kommen.[..]

ich weiss nicht, ob das in diesem Fall relevant ist, aber ich würde es mal mit dem oben beschriebenen Weg versuchen.
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von mrMuppet » 04.01.2014, 22:35

mrMuppet hat geschrieben:Mir geht es um folgende Problematik:
sambasamba hat geschrieben: [...]
Einen Haken hat die Sache.
Beim Zurückschalten auf AUTO bleibt die zuletzt im CENT-Mode in den RT geschriebene Temperatur bis zum nächsten Schaltzeitpunkt aktiv.
Würde ich als bug bezeichnen, denn wenn man direkt am RT über die Menü-Taste von CEN auf AUTO schaltet, geht der RT auf die aktuell aktive Solltemperatur, und so erwartet man das ja auch. Ich habs mal ELV gemeldet.
Also muß man so rechtzeitig auf Normalbetrieb schalten, daß man den nächsten Schaltpunkt nicht verpaßt (meist morgens). Ein workaround: im RT mehr Schaltpunkte setzen als eigentlich benötigt, mit entspr. kurzen Zeitabständen.
[...]
Ist der oben genannte Fehler in V1.508 noch vorhanden? Dann spare ich mir nämlich die Umsetzung.

Habs gerade endlich mal getestet: Leider ist der Fehler immer noch vorhanden. Hat irgendwer nen anderen Workaround als ganz viele "Schaltzeitpunkte" einzustellen?

Vielen Dank!
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

virgin
Beiträge: 636
Registriert: 09.01.2013, 18:36
Wohnort: Leichlingen
Hat sich bedankt: 124 Mal
Danksagung erhalten: 5 Mal
Kontaktdaten:

Re: Parameter (z.B. Thermostat-Modus) per WebUI/Script änder

Beitrag von virgin » 05.01.2014, 19:03

Nee, leider nicht!
Bernd

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“