Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung - Script

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

      Hi,

      @looxer01: Danke für die Info. Dann kan ich ja lange den Fehler bei mir bzw. dem Server suchen… :lol:

      Ich lese mich im anderen Thread auch mal ein, evtl. melde ich mich auch bei Trello an und schreibe das Problem da nochmal. Vielleicht tut sich ja irgendwann eine Lösung auf.

      Vielen Dank für die rasche Hilfe und das Heizungsskript generell und überhaupt. 8-)

      Gruss, Jürgen

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

        @JesusC:

        Habe unter den Objekten mal einen Testraum rausgeworfen. Wurde auch sauber neu angelegt. Nun erhalte ich allerdings: `

        Raum undefined ist nicht gut. Kannst du nochmal überpruefen, dass die Raumnamen 100% mit den ioBroker Raumnamen übereinstimmen ?

        Insbesondere auf die Zuordung der Geräte (hier MEQ1581663) zum Raum bezogen.

        Bei eingeschalteten Debug erhältst du ja auch noch eine Liste der Geräte und Räume. Die könntest du auch analysieren.

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • J
          JesusC last edited by

          Räume passen, debugging sagt auch:

          ! 11:48:25.685 [info] javascript.0 script.js.common.HzThSt: fullname HM-CC-RT-DN MEQ1581663:4.SET_TEMPERATURE ID hm-rpc.2.MEQ1581663 Raum Bad_oben Gewerk Heizung
          ! 11:48:25.685 [info] javascript.0 script.js.common.HzThSt: Routine getdevice fuer Bad_oben

          Heizplan scheint auch zu funktionieren. Lediglich die Erkennung der Bedienung am Gerät selbst sorgt für:

          ! 1:56:40.988 [info] javascript.0 script.js.common.HzThSt: Routine ThermostatChange: Thermostat hm-rpc.2.MEQ1581663.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
          ! 11:56:40.988 [info] javascript.0 script.js.common.HzThSt: Routine ManAdjustments: Manuelle Temperatur Erkennung ist ausgeschaltet
          ! 11:56:40.988 [info] javascript.0 script.js.common.HzThSt: Routine ThermostatChange: ACHTUNG Fall 1 ThermostatChange in Temperatur Source_ManTempSet hat keinen Wert - kann nicht synchen

          Kann ich theoretisch das komplette "Heizung"-Objekt löschen, so dass das mit nächster Script-Ausführung neu angelegt wird?

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

            @looxer01:

            Kann ich theoretisch das komplette "Heizung"-Objekt löschen, so dass das mit nächster Script-Ausführung neu angelegt wird? `
            Ja, kannst du.

            Es sieht so aus, dass du die manuelle Temperaturerkennung ausgeschaltet hast.

            Das ist dann der Fall, wenn die Gueltigkeit auf null gestellt ist. gib dort mal z.B. 60 ein. (60 Minuten)

            Dann sollte bei einer manuellen Temperatur keine Aenderung für mindestens 60 Minuten erfolgen.

            Warum aber der Raum undefined ist, ist damit auch nicht erklärt. Funktionieren andere Räume ?

            vG Looxer

            1 Reply Last reply Reply Quote 0
            • J
              JesusC last edited by

              Mal am Beispiel von zwei Räumen:

              ! 12:51:45.318 [info] javascript.0 script.js.common.HzThSt: Routine ThermostatChange: Thermostat hm-rpc.2.MEQ1581003.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
              ! 12:51:45.318 [warn] javascript.0 at ManAdjustments (script.js.common.HzThSt:865:5)
              ! 12:51:45.318 [warn] javascript.0 at ThermostatChange (script.js.common.HzThSt:686:18)
              ! 12:51:45.318 [warn] javascript.0 at Object. (script.js.common.HzThSt:432:25)
              ! 12:51:45.318 [info] javascript.0 script.js.common.HzThSt: 5.Fall Manuelle Temperatur Verstellung im Termostat auf 4.5 erkannt
              ! 12:51:45.318 [info] javascript.0 script.js.common.HzThSt: Starte Sync fuer Manuelle Temperatur fuer hm-rpc.2.MEQ1581003.4.SET_TEMPERATURE Temperatur = 4.5
              ! 12:51:51.347 [info] javascript.0 script.js.common.HzThSt: Routine ThermostatChange: Thermostat hm-rpc.2.MEQ1581663.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
              ! 12:51:51.347 [warn] javascript.0 at ManAdjustments (script.js.common.HzThSt:865:5)
              ! 12:51:51.347 [warn] javascript.0 at ThermostatChange (script.js.common.HzThSt:686:18)
              ! 12:51:51.347 [warn] javascript.0 at Object. (script.js.common.HzThSt:432:25)
              ! 12:51:51.347 [info] javascript.0 script.js.common.HzThSt: 5.Fall Manuelle Temperatur Verstellung im Termostat auf 4.5 erkannt
              ! 12:51:51.347 [info] javascript.0 script.js.common.HzThSt: Starte Sync fuer Manuelle Temperatur fuer hm-rpc.2.MEQ1581663.4.SET_TEMPERATURE Temperatur = 4.5

              Also es funktioniert (sowohl Temperaturänderungen via Zeitplan als auch die manuelle Erkennung)…aber die undefined-Meldung bleibt auch nach kompletter Entfernung des Objekts Heizung.

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

                @looxer01:

                lso es funktioniert (sowohl Temperaturänderungen via Zeitplan als auch die manuelle Erkennung)…aber die undefined-Meldung bleibt auch nach kompletter Entfernung des Objekts Heizung. `

                ich glaube das ist nur ein Problem mit dem log und kein Funktionsproblem. Muss ich mir bei Gelegenheit ansehen.

                Wenn du debug ausschaltest sollte keine Meldung mehr kommen.

                vG Looxer

                1 Reply Last reply Reply Quote 0
                • J
                  JesusC last edited by

                  Alles klar. 🙂 Dann noch einmal vielen Dank für den Einsatz!

                  Dann muss ich jetzt nur noch rausfinden, warum die LCARS-Button-Widgets anscheinend seit dem letzten VIS-Update fehlerhaft dargestellt werden und dem neuen UI steht quasi nichts mehr im Weg. g

                  1 Reply Last reply Reply Quote 0
                  • W
                    webseb79 last edited by

                    Guten Morgen,

                    die kalte Jahreszeit fängt an und die Heizungssteuerung rückt in den Vordergrund.

                    Ich habe gestern meine Heizperiode aktiviert und das Script ist sauber angelaufen.

                    In einem Raum war das Fenster geöffnet und die Absenktemperatur wurde gesetzt.

                    Wir haben das Haus verlassen und die Abwesenheit hat die Temperatur um ein Grad gesenkt und in dem Raum mit offenen Fenster wurde die Absenktemperatur vom Sollwert überschrieben.

                    Nach Anwesenheit wurde wieder auf Sollwert gesetzt obwohl das Fenster offen ist.

                    Ich habe ein anderes Fenster im Raum geöffnet und die Absenktemperatur wurde gesetzt.

                    Nach schliessen des gleichen Fensters wurde die reguläre Solltemperatur eingestellt obwohl das erste Fenster immer noch offen ist.

                    Aus meiner Sicht ein Fehler,oder?

                    LG

                    Sebastian

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

                      @webseb79:

                      Aus meiner Sicht ein Fehler,oder? `

                      Hi Sebastian,

                      ja das hört sich so an. Ich glaube, dass ich das nie getestet habe mit mehreren Sensoren fuer einen Raum.

                      Muss ich mir ansehen.

                      @webseb79:

                      nach Anwesenheit wurde wieder auf Sollwert gesetzt obwohl das Fenster offen ist. `

                      Hier bin ich mir nicht so sicher was genau passiert. Das Fenster war während der Abwesenheit geöffnet ?

                      bzw. wurde nach Anwesenheit geöffnet aber bevor die Anwesenheit festgestellt wurde ?

                      oder wurde geöffnet nachdem die Anwesenheit festgestellt wurde ?

                      vG Looxer

                      1 Reply Last reply Reply Quote 0
                      • W
                        webseb79 last edited by

                        Ich war anwesend und Sollwert waren 17 Grad.

                        Dann habe ich das Fenster geöffnet und die Absenktemperatur wurde auf 5 Grad gesetzt.

                        Später bin ich außer Haus und bin 2 Stunden später wieder zurückgekommen und sah die Absenktemperatur bei Abwesenheit von 16 Grad als Sollwert

                        ( Einstellung -1Grad ) und das Fenster war ja noch offen , bei Fenster offen im Raum dürfte auf nichts reagiert werden.

                        Nach Programmdurchlauf wurde dann auf 17 Grad gestellt (wegen Anwesenheit) , aber das Fenster (1 von 3 Fenster) war ja immer noch offen.

                        Ich habe ein 2.Fenster geöffnet … 5 Grad Sollwert wurde gesetzt.

                        Das 2.Fenster wurde wieder geschlossen und das erste blieb offen ... 17 Grad Sollwert wurde gesetzt.

                        LG

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          @looxer01

                          Stimmt es das jedesmal wen das script neu gestartet wird, nicht per shedule sonder iObroker reboot oder script stop/start er alle werte ueberschreibt ?

                          Ich habe z.b. fuer 2 thermostate ein profiel eingstellt und die globale anwesenheit auf true gesetzt. Wen ich jedoch jetzt dass script stoppe und wieder starte sind diese werte weg und alles wieder auf default

                          Greetz,

                          Dutch

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

                            @Dutchman:

                            Stimmt es das jedesmal wen das script neu gestartet wird, nicht per shedule sonder iObroker reboot oder script stop/start er alle werte ueberschreibt ? `

                            Also, wenn du die Anwesenheitserkennung eingeschaltet hast, dann schaut das Script danach und überschreibt manuelle Einstellungen.

                            Wenn sie nicht eingeschaltet ist, dann sollte sie erhalten bleiben.

                            Hast du die Anwesenheitserkennung eingeschaltet ?

                            vG Looxer

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              @looxer01:

                              @Dutchman:

                              Stimmt es das jedesmal wen das script neu gestartet wird, nicht per shedule sonder iObroker reboot oder script stop/start er alle werte ueberschreibt ? `

                              Also, wenn du die Anwesenheitserkennung eingeschaltet hast, dann schaut das Script danach und überschreibt manuelle Einstellungen.

                              Wenn sie nicht eingeschaltet ist, dann sollte sie erhalten bleiben.

                              Hast du die Anwesenheitserkennung eingeschaltet ?

                              vG Looxer `

                              var UseAnwesenheitserkennung = false;

                              1 Reply Last reply Reply Quote 0
                              • J
                                JesusC last edited by

                                So, ich hab bei mir nun soweit alles lauffähig, denke ich. Bei manueller Umstellung am Thermostat erhalte ich allerdings im Log (am Beispiel Kinderzimmer)

                                ! 16:59:23.048 [info] javascript.0 script.js.common.HzThSt: Routine ThermostatChange: Thermostat hm-rpc.2.MEQ1581041.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                ! 16:59:23.048 [info] javascript.0 script.js.common.HzThSt: Routine SetTemp: ID to be updated hm-rpc.2.MEQ1581041.4.SET_TEMPERATURE Raum Kinderzimmer SollTemp = 17
                                ! 16:59:23.048 [warn] javascript.0 at ManAdjustments (script.js.common.HzThSt:824:5)
                                ! 16:59:23.048 [warn] javascript.0 at ThermostatChange (script.js.common.HzThSt:686:18)
                                ! 16:59:23.048 [warn] javascript.0 at Object. (script.js.common.HzThSt:432:25)

                                Eine Idee dazu?

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

                                  @JesusC:

                                  Bei manueller Umstellung am Thermostat erhalte ich allerdings im Log (am Beispiel Kinderzimmer) `

                                  sieht doch ok aus.

                                  du hast manuell eine Temperatur gesetzt. Die wurde erkannt.

                                  Eigentlich sollte noch die Dauer im log stehen.

                                  Funktioniert es denn nicht ?

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    JesusC last edited by

                                    Funktioniert. Die Warnungen irritieren mich lediglich. 🙂

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

                                      aaah, ok.

                                      setze debug auf false.

                                      debug ist nur dafür da, um evt Fehler zu finden.

                                      vG Looxer

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

                                        Hallo Zusammen,

                                        ich taste mich auch gerade an das Script heran.

                                        Es startet ohne Fehlermeldung und die Datenpunkte werden angelegt.

                                        Allerdings bekomme ich bei der Übergabe eines manuellen Setpoints folgende Meldung:

                                        javascript.0	2017-09-19 17:10:00.826	info	script.js.Scripte.Heizung: Ende Abarbeitung fuer Raum Erdgeschoss
                                        javascript.0	2017-09-19 17:10:00.826	warn	at Object. (script.js.Scripte.Heizung:305:1)
                                        javascript.0	2017-09-19 17:10:00.823	warn	at LoopRooms (script.js.Scripte.Heizung:567:13)
                                        javascript.0	2017-09-19 17:10:00.823	warn	at LoopDevices (script.js.Scripte.Heizung:646:18)
                                        javascript.0	2017-09-19 17:10:00.822	warn	at ManAdjustments (script.js.Scripte.Heizung:821:5)
                                        javascript.0	2017-09-19 17:10:00.821	warn	Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                        

                                        Könnt ihr mir sagen woran das liegt?

                                        Gruß

                                        Edit:

                                        Noch mehr Medungen:

                                        ! ````
                                        javascript.0 2017-09-19 17:32:36.435 warn at Object. (script.js.Scripte.Heizung:429:25)
                                        javascript.0 2017-09-19 17:32:36.434 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                                        javascript.0 2017-09-19 17:32:36.434 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                                        javascript.0 2017-09-19 17:32:36.434 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                        javascript.0 2017-09-19 17:32:36.432 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        javascript.0 2017-09-19 17:32:32.366 warn at Object. (script.js.Scripte.Heizung:429:25)
                                        javascript.0 2017-09-19 17:32:32.365 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                                        javascript.0 2017-09-19 17:32:32.365 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                                        javascript.0 2017-09-19 17:32:32.364 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                        javascript.0 2017-09-19 17:32:32.362 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        javascript.0 2017-09-19 17:32:31.691 warn at Object. (script.js.Scripte.Heizung:429:25)
                                        javascript.0 2017-09-19 17:32:31.691 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                                        javascript.0 2017-09-19 17:32:31.690 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                                        javascript.0 2017-09-19 17:32:31.690 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                        javascript.0 2017-09-19 17:32:31.688 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        javascript.0 2017-09-19 17:32:26.750 warn at Object. (script.js.Scripte.Heizung:429:25)
                                        javascript.0 2017-09-19 17:32:26.750 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                                        javascript.0 2017-09-19 17:32:26.750 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                                        javascript.0 2017-09-19 17:32:26.749 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                        javascript.0 2017-09-19 17:32:26.747 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        javascript.0 2017-09-19 17:32:22.460 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        javascript.0 2017-09-19 17:32:18.765 warn at Object. (script.js.Scripte.Heizung:429:25)
                                        javascript.0 2017-09-19 17:32:18.765 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                                        javascript.0 2017-09-19 17:32:18.765 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                                        javascript.0 2017-09-19 17:32:18.764 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.

                                        
                                        "Raum undefined Thermostat" ? :shock:
                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          looxer01 last edited by

                                          @Smartuser:

                                          Allerdings bekomme ich bei der Übergabe eines manuellen Setpoints folgende Meldung: `

                                          Hi,

                                          Sieht nach einem Fehler im Script aus. Der datenpunkt wird als boal angelegt, solle aber nummer sein.

                                          Habe ich für die nächste version korrigiert.

                                          hier ist die Stelle:

                                              State =  RoomPath  + "View_Manually_Adjusted";   
                                              createState(State, false,  {read: true, write: true, type: 'boolean', name: 'Zeitstempel Temperatur Absenkung bei Verschluss offen'  , desc: 'Zeitstempel wenn ein Raum durch Fensteroeffnung auf Absenkung gestellt wurde'});
                                          
                                          

                                          soll heissen:

                                              State =  RoomPath  + "View_Manually_Adjusted";   
                                              createState(State, false,  {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset'  , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
                                          
                                          

                                          Das Script funktioniert zwar trotzdem, ist aber unschön so.

                                          das undefined Thermostat ist noch eine unschöne log Meldung. Hat aber keine Auswirkung. Werde ich ebenfalls entfernen

                                          vG Looxer

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

                                            @looxer01

                                            Erstmal vielen Dank für die schnell Antwort!

                                            Ich habe die Zeile nun ersetzt:

                                            State =  RoomPath  + "View_Manually_Adjusted";   
                                                //createState(State, false,  {read: true, write: true, type: 'boolean', name: 'Zeitstempel Temperatur Absenkung bei Verschluss offen'  , desc: 'Zeitstempel wenn ein Raum durch Fensteroeffnung auf Absenkung gestellt wurde'});
                                                createState(State, false,  {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset'  , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
                                            

                                            Leider kommt die Meldung immer noch:

                                            javascript.0	2017-09-19 18:30:00.919	warn	at Object. (script.js.Scripte.Heizung:305:1)
                                            javascript.0	2017-09-19 18:30:00.919	warn	at LoopRooms (script.js.Scripte.Heizung:567:13)
                                            javascript.0	2017-09-19 18:30:00.918	warn	at LoopDevices (script.js.Scripte.Heizung:646:18)
                                            javascript.0	2017-09-19 18:30:00.917	warn	at ManAdjustments (script.js.Scripte.Heizung:862:5)
                                            javascript.0	2017-09-19 18:30:00.916	warn	Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                            

                                            Muss der Datenpunkt nochmal entfernt werden, damit er "richtig" angelegt wird?

                                            Gruß

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            978
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            34
                                            313
                                            75507
                                            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