Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

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

      Problem mit Looxers Hilfe ( Skript geändert) gelöst.

      Woran es lag, kann er sicher besser erklären als ich 😉

      Vielen Dank nochmal und einen Guten Rutsch 😉

      Lg Torti

      1 Reply Last reply Reply Quote 0
      • L
        looxer01 last edited by

        @torti0111:

        Woran es lag, kann er sicher besser erklären als ich `
        Hi,

        in der Version 2.1 gibt es ein Problem bei der Synchronisierung von Temperaturen bei nicht direkt verknüpften Thermostaten welches mit der kommenden Version 2.2 gelöst ist.

        Für alle die also nicht direkverknüpfungen nutzen rate ich auf die Version 2.2 zu warten.

        @Torti: du hast eine 2.2 Vorversion. Die sollte aber schon einigermassen stabil laufen.

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • K
          Kugelkopf last edited by

          @looxer01:

          @Kugelkopf:

          @looxer01

          Hättest du vielleicht für mich einen groben Ansatz wie ich das integriert bekomme?

          Denn Anwesenheitscheck via TR064 ist kein Problem. Auch das originale Anwesenheitsskript für das Heizungsthermostatsteuerungs-Skript habe nich.

          Mir ist aber schleierhaft wie du das mit den subscriptions löst, also den Triggern und was LoopRooms macht.

          Vielleicht hast du ein paar Tipps. `

          vielleicht wartest du ein paar Tage und ich schicke dir eine Version zum Testen. wäre das ok ?

          vG Looxer `

          Alles Klar! Danke!

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

            Moin zusammen,

            Ich habe im Gästezimmer einen "HmIP-eTRV-B1" Stellantrieb mit einem "HM-TC-IT-WM-W-EU" Wandthermostat und ein "HmIP-SWDM-B2" Fensterkontakt gemixt. Jetzt erkennt das Script bisher nur das Wandthermostat und ändert da fleißig die Soll Temp. Allerdings kann man ja keine Direktverknüpfung zwischen HM und HmIP komponenten machen. Und so bin ich darauf angewiesen das das Script auch die Soll Temperatur des Stellantriebs ändert.

            Das klappt leider nicht, und auch die Fensteröffnung wird nicht erkannt. 😢

            Hatte das Problem schon mal jemand?

            Ich habe schon mal versucht meine Typenbezeichnungen im Script an der entsprechenden Stelle hinzuzufügen:

            ` > SensorTypeTab[~~[b]~~9] = ['hm-rpc.1.', '~~[b]~~HmIP-SWDM-B2' , 'Fenstersensor (HMIP )' , 'IPSE', '1.STATE' , false, 0, true ]; // IP

            und

            ThermostatTypeTab[~~[b]~~11] = ['hm-rpc.2.', '~~[b]~~HmIP-eTRV-B1' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.SET_POINT_MODE', true, '1.ACTUAL_TEMPERATURE', '1.SET_POINT_MODE', 12, 0]; `

            Leider ohne Erfolg.

            Hat jemand einen Tipp für mich?

            Grüße Moses

            1 Reply Last reply Reply Quote 0
            • H
              HoffmannOs last edited by

              wenn ich die View importieren möchte erhalte ich ständig nen JSON fehler.

              mit den Datenpunkten komme ich nicht so recht klar, welche sollen wie angelegt werden?

              Vielen Dank für eure Hilfe!

              1 Reply Last reply Reply Quote 0
              • L
                looxer01 last edited by

                @HoffmannOs:

                enn ich die View importieren möchte erhalte ich ständig nen JSON fehler.

                mit den Datenpunkten komme ich nicht so recht klar, welche sollen wie angelegt werden? `
                Hi,

                hast du die Import Dokumentation angesehen. Da steht step by step wie es geht.

                Datenpunkte brauchst du selber keine anzulegen. das macht das Programm

                Die Datenpunkte unter "Status" des Views sind ja auch schon da und gehören zu den existierenden Geräten, die du steuern möchtest.

                vG Looxer

                1 Reply Last reply Reply Quote 0
                • H
                  HoffmannOs last edited by

                  ja habe die Anleitung gelesen und bin danach vorgegangen, brauche ich ein spezielles Widget Packet? kommt immer und immer wieder der Json Fehler

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

                    Hättest Du die Anleitung gelesen würdest du winen leeren View erstellen und dann ein Widget importieren, dann kommt auch kein Json Fehler. :roll:

                    1 Reply Last reply Reply Quote 0
                    • S
                      simpixo last edited by

                      Hallo Loxxer01

                      ich wollte dein neues Script v2.2 testen, leider erhalte ich eine Fehlermeldung. DIe Version 2.1 funktioniert problemlos 😄

                      javascript.0	2018-12-31 10:22:46.353	error	at Timer.listOnTimeout (timers.js:290:5)
                      javascript.0	2018-12-31 10:22:46.353	error	at tryOnTimeout (timers.js:323:5)
                      javascript.0	2018-12-31 10:22:46.353	error	at ontimeout (timers.js:511:34)
                      javascript.0	2018-12-31 10:22:46.353	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1794:34)
                      javascript.0	2018-12-31 10:22:46.353	error	at Object. <anonymous>(script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:521:9)
                      javascript.0	2018-12-31 10:22:46.353	error	at LoopRooms (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:936:13)
                      javascript.0	2018-12-31 10:22:46.353	error	at LoopDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:987:47)
                      javascript.0	2018-12-31 10:22:46.353	error	Error in callback: TypeError: Cannot read property 'common' of null
                      javascript.0	2018-12-31 10:22:46.351	warn	Object "javascript.0.Heizung.zwave1.4.SET_TEMPERATURE" does not exist
                      javascript.0	2018-12-31 10:22:46.299	warn	at Timer.listOnTimeout (timers.js:290:5)
                      javascript.0	2018-12-31 10:22:46.299	warn	at tryOnTimeout (timers.js:323:5)
                      javascript.0	2018-12-31 10:22:46.299	warn	at ontimeout (timers.js:511:34)
                      javascript.0	2018-12-31 10:22:46.299	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1794:34)
                      javascript.0	2018-12-31 10:22:46.299	warn	at Object. <anonymous>(script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:521:9)
                      javascript.0	2018-12-31 10:22:46.298	warn	at LoopRooms (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:920:13)
                      javascript.0	2018-12-31 10:22:46.297	warn	getState "javascript.0.Anwesenheitssteuerung.Userlist.JemandDa" not found (3)
                      javascript.0	2018-12-31 10:22:44.294	warn	at script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:417:1
                      javascript.0	2018-12-31 10:22:44.294	warn	at initializeData (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:424:5)
                      javascript.0	2018-12-31 10:22:44.294	warn	at getDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:868:20)
                      javascript.0	2018-12-31 10:22:44.293	warn	at SensorStatCalc (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:1156:24)
                      javascript.0	2018-12-31 10:22:44.292	warn	getState "javascript.0.Heizung.zwave1.isOpen" not found (3)
                      javascript.0	2018-12-31 10:22:44.290	warn	at script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:417:1
                      javascript.0	2018-12-31 10:22:44.290	warn	at initializeData (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:424:5)
                      javascript.0	2018-12-31 10:22:44.290	warn	at getDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:844:177)
                      javascript.0	2018-12-31 10:22:44.289	warn	getState "javascript.0.Heizung.zwave1.4.Fenster" not found (3)
                      javascript.0	2018-12-31 10:22:44.288	warn	Object "javascript.0.Heizung.zwave1.4.Fenster" does not exist
                      javascript.0	2018-12-31 10:22:44.288	warn	at script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:417:1
                      javascript.0	2018-12-31 10:22:44.288	warn	at initializeData (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:424:5)
                      javascript.0	2018-12-31 10:22:44.288	warn	at getDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:844:177)
                      javascript.0	2018-12-31 10:22:44.280	warn	getState "javascript.0.Heizung.zwave1.isOpen" not found (3)
                      javascript.0	2018-12-31 10:22:44.280	warn	Object "javascript.0.Heizung.zwave1.isOpen" does not exist
                      javascript.0	2018-12-31 10:22:40.781	warn	Object "javascript.0.Heizung.zwave1.4.SET_TEMPERATURE" does not exist</anonymous></anonymous> 
                      
                      1 Reply Last reply Reply Quote 0
                      • L
                        looxer01 last edited by

                        @simpixo:

                        ich wollte dein neues Script v2.2 testen, leider erhalte ich eine Fehlermeldung. DIe Version 2.1 funktioniert problemlos 😄 `
                        Hi,

                        wo hast du die her ?

                        Version 2.2 ist ja noch in Entwicklung. Allerdings hatte habe einzelne Versionen zum Testen einzelner funktionen per mail rausgeschickt.

                        vG Looxer

                        1 Reply Last reply Reply Quote 0
                        • S
                          simpixo last edited by

                          Die habe ich von Github 🙂 oder ist das gar nicht die v2.2

                          Gruß

                          Adrian

                          Gesendet von iPhone mit Tapatalk Pro

                          1 Reply Last reply Reply Quote 0
                          • L
                            looxer01 last edited by

                            @simpixo:

                            Die habe ich von Github 🙂 oder ist das gar nicht die v2.2

                            Gesendet von iPhone mit Tapatalk Pro `
                            aaaah 😄

                            ne, das ist nur ein Test. Ich überlege die Source Codes dort abzulegen. Das hat den Vorteil auch alte Versionen halten zu können.

                            Was ich da abgelegt hatte war nur zum Testen von Github. Werde ich dann mal lieber wieder löschen :lol:

                            vG Looxer

                            edit - gelöscht aus Github

                            1 Reply Last reply Reply Quote 0
                            • S
                              simpixo last edited by

                              Ahhh [emoji23]

                              Und ich dachte das wäre die Neue Version [emoji4]

                              Gruß und guten Rutsch

                              Gesendet von iPhone mit Tapatalk Pro

                              1 Reply Last reply Reply Quote 0
                              • Q
                                quorle last edited by

                                @looxer01:

                                Ich steuere mittels eines anderes Scriptes die Anwesenheitserkennung.

                                Hier steuere ich auch deinen Path:

                                javascript.0.Heizung.Heizplan.GlobaleParameter.Anwesenheit
                                

                                Ich habe folgendes in deinem Script so eingetragen:

                                // Integration zur Anwesenheitsermittlung -
                                var UseAnwesenheitserkennung = true;                                                // wenn true, dann wird die o.g. Anwesenheitsvariable genutzt - Empfehlung erst im zweiten Schritt aktivieren
                                var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa";   // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
                                
                                

                                Oder muss ich hier noch den Pfad zur obigen Variablen eintragen? Diese wird doch schon genutzt?

                                1 Reply Last reply Reply Quote 0
                                • L
                                  looxer01 last edited by

                                  @quorle:

                                  Oder muss ich hier noch den Pfad zur obigen Variablen eintragen? Diese wird doch schon genutzt? `
                                  Hi,

                                  javascript.0.Heizung.Heizplan.GlobaleParameter.Anwesenheit
                                  
                                  

                                  dieser Datenpunkt wird vom Programm intern genutzt und sollte auch im Pfad bleiben. Sonst wird nicht getriggert.

                                  Brauchst hier also nichts zu ändern.

                                  var UseAnwesenheitserkennung = true;                                                
                                  var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa";   // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
                                  
                                  

                                  Dies ist der Datenpunkt, den du auch ausserhalb des Heizungspfades legen kannst. Hierauf wird eine subscription gemacht.

                                  Dein Script sollte also diesen bzw deinen angepassten Pfad der Varialbe StateAnwesenheitFunction nutzen.

                                  vG Looer

                                  1 Reply Last reply Reply Quote 0
                                  • Q
                                    quorle last edited by

                                    @looxer01:

                                    @quorle:

                                    Oder muss ich hier noch den Pfad zur obigen Variablen eintragen? Diese wird doch schon genutzt? `
                                    Hi,

                                    javascript.0.Heizung.Heizplan.GlobaleParameter.Anwesenheit
                                    
                                    

                                    dieser Datenpunkt wird vom Programm intern genutzt und sollte auch im Pfad bleiben. Sonst wird nicht getriggert.

                                    Brauchst hier also nichts zu ändern.

                                    var UseAnwesenheitserkennung = true;                                                
                                    var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa";   // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
                                    
                                    

                                    Dies ist der Datenpunkt, den du auch ausserhalb des Heizungspfades legen kannst. Hierauf wird eine subscription gemacht.

                                    Dein Script sollte also diesen bzw deinen angepassten Pfad der Varialbe StateAnwesenheitFunction nutzen.

                                    vG Looer `

                                    Das heißt ich müsste einen Datenpunkt erstellen, den Pfad dann bei````
                                    var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa"; // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      jap, so isses

                                      Gesendet von meinem SM-G965F mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • Q
                                        quorle last edited by

                                        @looxer01:

                                        jap, so isses

                                        Gesendet von meinem SM-G965F mit Tapatalk `

                                        Hab das jetzt mal erledigt. Ich werde weiter berichten. Bislang funktioniert es

                                        1 Reply Last reply Reply Quote 0
                                        • Q
                                          quorle last edited by

                                          @quorle:

                                          @looxer01:

                                          jap, so isses

                                          Gesendet von meinem SM-G965F mit Tapatalk `

                                          Hab das jetzt mal erledigt. Ich werde weiter berichten. Bislang funktioniert es `

                                          Also die Schaltung funktioniert und der Anwesenheitsstatus wird auch abgewählt. Aber ich habe ein Problem, beim alten Script konnte man die "absenkung bei Abwesenheit" einstellen. Die Absenkung wurde dann in deinem Script von der aktuellen Solltemp abgezogen. Dies passiert so nicht mehr. Kann es sein, dass die jetzige eingestellte Abwesenheitstemp direkt an den Regler gesendet wird?

                                          Wenn ja, kann man das wieder ändern?

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            looxer01 last edited by

                                            @quorle:

                                            Also die Schaltung funktioniert und der Anwesenheitsstatus wird auch abgewählt. Aber ich habe ein Problem, beim alten Script konnte man die "absenkung bei Abwesenheit" einstellen. Die Absenkung wurde dann in deinem Script von der aktuellen Solltemp abgezogen. Dies passiert so nicht mehr. Kann es sein, dass die jetzige eingestellte Abwesenheitstemp direkt an den Regler gesendet wird?

                                            Wenn ja, kann man das wieder ändern? `
                                            nein, das sollte so nicht sein. Das Script zieht die Absenkung von der SollTemp ab.

                                            Welche Version hast du aktuell ?

                                            vG Looxer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            835
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            climate heating javascript template
                                            115
                                            1127
                                            353047
                                            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