Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. HM Wandthermostat Wochenprogramm umschalten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    HM Wandthermostat Wochenprogramm umschalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Marcolotti last edited by

      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

      1 Reply Last reply Reply Quote 0
      • coyote
        coyote Most Active last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • M
          Marcolotti last edited by

          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)
           ![721_wochenprogramm.jpg](/assets/uploads/files/721_wochenprogramm.jpg) 
          
          Dann kannst du in der CCU2 ein neues Programm erstellen.
           ![721_programm.jpg](/assets/uploads/files/721_programm.jpg) 
          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.
           ![721_cuxd.jpg](/assets/uploads/files/721_cuxd.jpg) 
          
          Im VIS habe ich das Widget JQUI - Radio Buttons Value List genommen. 
           ![721_woche-widget.jpg](/assets/uploads/files/721_woche-widget.jpg) 
          In den Attributen des Widget die Systemvariable aus HM-REGA -> Wochenprogramm wählen.
           ![721_attribute.jpg](/assets/uploads/files/721_attribute.jpg) 
          
          Ich hoffe es ist verständlich. :-)
          
          Viele Grüße
          
          Marco
          
          1 Reply Last reply Reply Quote 0
          • coyote
            coyote Most Active last edited by

            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

            1 Reply Last reply Reply Quote 0
            • M
              Marcolotti last edited by

              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

              1 Reply Last reply Reply Quote 0
              • coyote
                coyote Most Active last edited by

                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ß
                
                1 Reply Last reply Reply Quote 0
                • M
                  Marcolotti last edited by

                  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.

                  1 Reply Last reply Reply Quote 0
                  • coyote
                    coyote Most Active last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • M
                      Marcolotti last edited by

                      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.

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        @coyote:

                        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
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          @Marcolotti:

                          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.

                          1 Reply Last reply Reply Quote 0
                          • coyote
                            coyote Most Active last edited by

                            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

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 last edited by

                              @coyote:

                              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, …

                              1 Reply Last reply Reply Quote 0
                              • coyote
                                coyote Most Active last edited by

                                Ja, die Werte die übergeben werden sind klar. Deshalb wollte ich ja wissen was genau an das Thermostat übergeben werden muss.

                                Schätze mal 1,2,3 für WP1, WP2, WP3

                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 last edited by

                                  @coyote:

                                  Schätze mal 1,2,3 für WP1, WP2, WP3 `
                                  Nein: 0, 1, 2 für WP1, WP2, WP3.

                                  1 Reply Last reply Reply Quote 0
                                  • coyote
                                    coyote Most Active last edited by

                                    Ok danke dir.

                                    Aber sonst hast du keine Idee mehr, wie ich herausfinden könnte warum er die WP's nicht schaltet. Wie gesagt, über CuxD wird das Script ja angestoßen.

                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 last edited by

                                      Dann kann noch im TCL-Script ein Fehler sein. Das kannst Du mittels Telnet testen, indem Du das komplette Kommando auf der Telnet-Console eingibst. Dann teilt Dir der TCL-Interpreter auf der Console mit, was ihm nicht passt.

                                      1 Reply Last reply Reply Quote 0
                                      • coyote
                                        coyote Most Active last edited by

                                        Hmm ok,

                                        über CuxD passt es soweit:

                                        Oct 22 22:26:17 homematic-ccu2 daemon.info cuxd[19010]: system(tclsh /usr/local/setparam.tcl MEQ0089121 WEEK_PROGRAM_POINTER int 0) exit(1) 0s
                                        Oct 22 22:28:09 homematic-ccu2 daemon.info cuxd[227]: INIT 'xmlrpc_bin://192.168.66.26:8701' 'hm-rpc.1'
                                        Oct 22 22:28:27 homematic-ccu2 daemon.info cuxd[19061]: system(tclsh /usr/local/setparam.tcl MEQ0089121 WEEK_PROGRAM_POINTER int 1) exit(1) 0s
                                        

                                        hier mein tcl Script:

                                        `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://IP_der_CCU:2001/ putParamset ]  `
                                        
                                         ` ~~[quote]~~Dann kann noch im TCL-Script ein Fehler sein. Das kannst Du mittels Telnet testen, indem Du das komplette Kommando auf der Telnet-Console eingibst. Dann teilt Dir der TCL-Interpreter auf der Console mit, was ihm nicht passt. `  ` 
                                        Jetzt wirds interessant  :lol:  Das hab ich noch nie gemacht. Also ich verbinde mich über telnet auf die CCU und gebe dann das ein was im tcl script steht? Alles zusammen? Nacheinander? Sorry, kenne mich da nicht aus
                                          [6359_alexa.log](/assets/uploads/files/6359_alexa.log)  
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 last edited by

                                          Dort gibst Du ein:

                                          cd /usr/local
                                          tclsh setparam.tcl MEQ0089121 WEEK_PROGRAM_POINTER int 2
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • coyote
                                            coyote Most Active last edited by

                                            :oops: :oops: :oops: Hab den Fehler gefunden :oops: :oops:

                                            Hatte das Script nicht auf die CCU geschoben sondern auf iobroker :roll:

                                            Funktioniert jetzt Bestens. Danke für eure Hilfe und Geduld 😄

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            440
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            28
                                            7552
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo