Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Scheduled Pinned Locked Moved Skripten / Logik
javascripttemplateheatingclimate
1.1k Posts 115 Posters 399.2k Views 61 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Moses1989
    wrote on last edited by
    #862

    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. :cry:

    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
    0
    • H Offline
      H Offline
      HoffmannOs
      wrote on last edited by
      #863

      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
      0
      • L Offline
        L Offline
        looxer01
        wrote on last edited by
        #864

        @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
        0
        • H Offline
          H Offline
          HoffmannOs
          wrote on last edited by
          #865

          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
          0
          • Beliar_666B Offline
            Beliar_666B Offline
            Beliar_666
            wrote on last edited by
            #866

            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
            0
            • S Offline
              S Offline
              simpixo
              wrote on last edited by
              #867

              Hallo Loxxer01

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

              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
              0
              • L Offline
                L Offline
                looxer01
                wrote on last edited by
                #868

                @simpixo:

                ich wollte dein neues Script v2.2 testen, leider erhalte ich eine Fehlermeldung. DIe Version 2.1 funktioniert problemlos :D `
                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
                0
                • S Offline
                  S Offline
                  simpixo
                  wrote on last edited by
                  #869

                  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
                  0
                  • L Offline
                    L Offline
                    looxer01
                    wrote on last edited by
                    #870

                    @simpixo:

                    Die habe ich von Github :-) oder ist das gar nicht die v2.2

                    Gesendet von iPhone mit Tapatalk Pro `
                    aaaah :D

                    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
                    0
                    • S Offline
                      S Offline
                      simpixo
                      wrote on last edited by
                      #871

                      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
                      0
                      • Q Offline
                        Q Offline
                        quorle
                        wrote on last edited by
                        #872

                        @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
                        0
                        • L Offline
                          L Offline
                          looxer01
                          wrote on last edited by
                          #873

                          @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
                          0
                          • Q Offline
                            Q Offline
                            quorle
                            wrote on last edited by
                            #874

                            @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
                            0
                            • L Offline
                              L Offline
                              looxer01
                              wrote on last edited by
                              #875

                              jap, so isses

                              Gesendet von meinem SM-G965F mit Tapatalk

                              1 Reply Last reply
                              0
                              • Q Offline
                                Q Offline
                                quorle
                                wrote on last edited by
                                #876

                                @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
                                0
                                • Q Offline
                                  Q Offline
                                  quorle
                                  wrote on last edited by
                                  #877

                                  @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
                                  0
                                  • L Offline
                                    L Offline
                                    looxer01
                                    wrote on last edited by
                                    #878

                                    @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
                                    0
                                    • Q Offline
                                      Q Offline
                                      quorle
                                      wrote on last edited by
                                      #879

                                      @looxer01:

                                      @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 `

                                      Ich habe mir schon gedacht, dass das so nicht sein kann.

                                      Meine Version: 2.10 15.12.2018

                                      Ich habe das heute mal simuliert, aber an den Solltemperaturen ändert sich nichts.

                                      Hier mein aktueller View:

                                      5278_unbenannt.png

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        wrote on last edited by
                                        #880

                                        @quorle:

                                        Ich habe mir schon gedacht, dass das so nicht sein kann.

                                        Meine Version: 2.10 15.12.2018 `
                                        Hi,

                                        im view sehe ich, dass du eine absolute Temp (14.5 Grad) eingegeben hast. Bei der Version 2.1 sind aber nur Absenkungsgrade bis 5 Grad möglich.

                                        die absoluten Temps kommen erst mit 2.2. No way, dass das funktioniert mit 2.1

                                        vG Looxer

                                        1 Reply Last reply
                                        0
                                        • Q Offline
                                          Q Offline
                                          quorle
                                          wrote on last edited by
                                          #881

                                          @looxer01:

                                          @quorle:

                                          Ich habe mir schon gedacht, dass das so nicht sein kann.

                                          Meine Version: 2.10 15.12.2018 `
                                          Hi,

                                          im view sehe ich, dass du eine absolute Temp (14.5 Grad) eingegeben hast. Bei der Version 2.1 sind aber nur Absenkungsgrade bis 5 Grad möglich.

                                          die absoluten Temps kommen erst mit 2.2. No way, dass das funktioniert mit 2.1

                                          vG Looxer `

                                          Ok, ich verstehe. Wenn man dein aktuelles VIEW lädt und verwendet steht dies schon so drin ;). Man kann aber auch nur minimal 12°C im VIEW einstellen.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          800

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe