Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung - Script

NEWS

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

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

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

[Vorlage] Heizungsthermostatsteuerung - Script

Scheduled Pinned Locked Moved Skripten / Logik
313 Posts 34 Posters 85.1k Views 1 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.
  • L Offline
    L Offline
    looxer01
    wrote on last edited by
    #84

    @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
    0
    • J Offline
      J Offline
      JesusC
      wrote on last edited by
      #85

      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
      0
      • W Offline
        W Offline
        webseb79
        wrote on last edited by
        #86

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

          @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
          0
          • W Offline
            W Offline
            webseb79
            wrote on last edited by
            #88

            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
            0
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              wrote on last edited by
              #89

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

                @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
                0
                • DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  wrote on last edited by
                  #91

                  @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
                  0
                  • J Offline
                    J Offline
                    JesusC
                    wrote on last edited by
                    #92

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

                      @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
                      0
                      • J Offline
                        J Offline
                        JesusC
                        wrote on last edited by
                        #94

                        Funktioniert. Die Warnungen irritieren mich lediglich. 🙂

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

                          aaah, ok.

                          setze debug auf false.

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

                          vG Looxer

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            Smartuser
                            wrote on last edited by
                            #96

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

                              @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
                              0
                              • S Offline
                                S Offline
                                Smartuser
                                wrote on last edited by
                                #98

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

                                  Ja genau. Einmal manuell loeschen

                                  Gesendet von meinem SM-G935F mit Tapatalk

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    Smartuser
                                    wrote on last edited by
                                    #100

                                    @looxer01:

                                    Ja genau. Einmal manuell loeschen

                                    Gesendet von meinem SM-G935F mit Tapatalk `
                                    Danke dir! 🙂

                                    Meldungen sind weg.

                                    Ich stell mal alles ein und komm dann mit neuen Fragen wieder 😉

                                    Gruß

                                    1 Reply Last reply
                                    0
                                    • W Online
                                      W Online
                                      Wildbill
                                      wrote on last edited by
                                      #101

                                      Hi,

                                      dann meld ich mich auch noch schnell. Ich habe auch die Warn-Meldungen im Log, allerdings jedesmal, wenn das Skript die Temperaturen anpasst (bei Kommen/Gehen oder Zeitplan). Hier ein Auszug aus dem Log:

                                      ! ````
                                      javascript.0 2017-09-19 15:00:00.084 warn at Object. (script.js.common.Heizung:307:1)
                                      javascript.0 2017-09-19 15:00:00.084 warn at LoopRooms (script.js.common.Heizung:569:13)
                                      javascript.0 2017-09-19 15:00:00.084 warn at LoopDevices (script.js.common.Heizung:650:13)
                                      javascript.0 2017-09-19 15:00:00.084 warn at ExecuteTempDetermination (script.js.common.Heizung:1013:1)
                                      javascript.0 2017-09-19 15:00:00.083 warn at SetTemp (script.js.common.Heizung:1228:5)
                                      javascript.0 2017-09-19 15:00:00.083 warn Wrong type of fhem.0.FHT_Wohnzimmer.desired-temp: "number". Please fix, while deprecated and will not work in next versions.

                                      
                                      Da muss ich ja an anderer Stelle editieren? Die "desired-temp"-Datenpunkte sind bei mir vom Typ Zeichenkette/string und liegen unter fhem0…, da alle FS20-Geräte bei mir den Weg iobroker<>FHEM-Adapter gehen.
                                      
                                      Wo im Skript muss ich anpassen und auf was?
                                      
                                      Danke schonmal.
                                      
                                      Gruss, Jürgen
                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        wrote on last edited by
                                        #102

                                        @Wildbill:

                                        Da muss ich ja an anderer Stelle editieren? `
                                        Hi,

                                        na ja, im Script ist da nichts zu machen. Es wird eine Zahl gespeichert und es muss auch eine Zahl sein.

                                        Dein Datenpunkt ist aber ein String. Ich nehme mal an, dass du die Datenpunkte im script so angepasst hast, dass die so angesteuert werden.

                                        Du könntest doch deinen FHEM Datenpunkt auf "number" stellen - oder spricht was dagegen ?

                                        vG Looxer

                                        1 Reply Last reply
                                        0
                                        • W Online
                                          W Online
                                          Wildbill
                                          wrote on last edited by
                                          #103

                                          Hi,

                                          ja die Steuerung an sich funktioniert problemlos, es sind halt nur die WARN-Meldungen im Log, die nicht so schön aussehen und die "Drohung" dass da in Zukunft was nicht mehr funktionieren könnte, weil es veraltet ist. :lol:

                                          Die Datenpunkte hat mir der FHEM-Adapter automatisch als string angelgt, keine Ahnung, ob noch alles funktioniert, wenn ich sie manuell auf number stelle. Das nehme ich mir mal für die nächsten Tage vor, wenn ich dabei zuhause bin. Nicht dass die Wohnung auskühlt, weil da irgendwas nicht mehr so will wie ich es gern hätte. 🙂

                                          Blöd, dass mein nanoCUL absolut nicht mit iobroker will und ich die ganzen alten Sachen (FS20, FHTs mit Tür-/Fensterkontakten und Elro-Steckdosen) über FHEM ansteuern muss. Aber es tut ja alles, so dass ich da momentan noch keinen Bedarf sehe, auf Homematic oder Ähnliches umzusteigen.

                                          Nichtsdestotrotz, Danke für Deine Unterstützung und das Skript an sich. 8-)

                                          Gruss, Jürgen

                                          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

                                          521

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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