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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Scheduled Pinned Locked Moved Skripten / Logik
javascripttemplateheatingclimate
1.1k Posts 115 Posters 415.0k 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.
  • Q Offline
    Q Offline
    quorle
    wrote on last edited by
    #371

    Also, ich schreibe mal ein kleines Update, denn ich habe Gestern mal wieder etwas Zeit zum "basteln" gehabt.

    Ich habe das Update von @looxer01 gerade eingespielt und lasse nun testweise alles laufen.

    Den Vorschlag von Paul53 habe ich ins Heizscript aufgenommen und somit alle SET_TEMPERATURE aller Regler ausgegrenzt.

    ! ````
    //-----------------------------------------------------------------------------------------------------
    // Wird verwendet um State-Werte zu setzen, merkt sich wenn ein eigener State geändert wurde,
    // um das später ignorieren zu können
    //-----------------------------------------------------------------------------------------------------
    function setOwnState(stateId, val) {
    if (stateId.indexOf(path) !== -1 && cron === 0) {
    if (! ownStateChanges[stateId]) ownStateChanges[stateId] = 1;
    else ownStateChanges[stateId]++;
    }
    if(stateId == 'hm-rpc.0.OEQ1712335.4.SET_TEMPERATURE') stateId = 'javascript.0.Heizung.Heizplan.Schlafzimmer_test_paul53.Source_Last_Temp';
    if(stateId == 'hm-rpc.0.OEQ1704782.4.SET_TEMPERATURE') stateId = 'javascript.0.Heizung.Heizplan.Schlafzimmer_test_paul53.Source_Last_Temp';
    setState(stateId, val);

    
    Ich lasse meinen Regler jetzt den neuen Temp-Wert auf eine Systemvariable in die CCU2 übertragen und ein Script in der CCU2 übernimmt das setzten der Temperaturen zu den Heizthermostaten. ( Damit wären auch die Übertragungsfehler seitens der CCU2 behoben, die ich ab und an hatte )
    
    Mir ist nur folgende Bedeutung noch nicht so richtig klar, was da eigentlich gemacht wird mit der Zeile:
    
    >! ````
    if(stateId == 'hm-rpc.0.OEQ1712335.4.SET_TEMPERATURE') stateId = 'javascript.0.Heizung.Heizplan.Schlafzimmer_test_paul53.Source_Last_Temp';
    

    Ein weiteres Script überprüft nun alle 30 Minuten, vergleicht die Aussentemperatur mit einem fest gewählten Schwellpunkt und setzt dann den Datenpunkt "javascript.0.Heizung.Heizplan.GlobaleParameter.Heizperiode" entweder auf "true" oder auf "false". Wenn die Heizperiode wieder eingeschalten wird, wird zudem mit einer Verzögerung von 1000 ms der Datenpunkt "View_Manually_Adjusted" auf Null gesetzt. Somit beginnt das Heizscript einmal alles einzulesen ( was ich von der LOG so verstanden habe ). Diesen Datenpunkt "View_Manually_Adjusted" setzte ich deswegen auf Null, da es gestern beim Wechsel der Heizperiode von FALSE auf TRUE Probleme gab und das Heizscript nichts mehr gemacht hat. ( eventuell gelöst durch die neue Version )

    Script Heizperiode Sommer/Winter: ( hab ich leider nur mittels Blockly so hinbekommen )

    ! schedule("*/30 * * * *", function () { if (getState("hm-rpc.1.CUX1300001.1.TEMPERATURE").val < getState("javascript.0.Heizung.Heizplan.GlobaleParameter.Vorgabe_Heizplanabschaltung_über_Aussentemperatur").val) { // Heizperiode Aktivieren setState("javascript.0.Heizung.Heizplan.GlobaleParameter.Heizperiode"/*Wenn Heizperiode dann Aktivierung der Heizplaene*/, true); // Heizplan Schlafzimmer "Manuelle" Temperatur auf "0" setzten, um Heizscript neu zu starten if (getState("javascript.0.Heizung.Heizplan.GlobaleParameter.Heizperiode").val == false) { setStateDelayed("javascript.0.Heizung.Heizplan.Schlafzimmer.View_Manual_Temp_Duration"/*Gueltigkeit in Minuten fuer manuelle Temperatur Aenderung*/, 0, true, 1000, false); console.log('Heizplan: "Manuelle" Temperatur auf "0" gesetzt'); } console.log('Heizperiode AN'); } else if (getState("javascript.0.Heizung.Heizplan.Schlafzimmer.View_Manually_Adjusted").val >= getState("javascript.0.Heizung.Heizplan.GlobaleParameter.Vorgabe_Heizplanabschaltung_über_Aussentemperatur").val) { // Heizperiode Deaktivieren setState("javascript.0.Heizung.Heizplan.GlobaleParameter.Heizperiode"/*Wenn Heizperiode dann Aktivierung der Heizplaene*/, false); console.log('Heizperiode AUS'); } }); !

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

      Update:

      Es gab noch ein kleines Problem mit meiner Abschaltung über die Aussentemp, dies hab ich gefixt und es klappt nun.

      Des weiteren, gibt es noch ein kleines Problem, dass das Heizscript ja die manuelle Temp aus dem Regler wieder liest und dann den Zeitstempel auf den aktuellen Zeitabschnitt legt.

      5278_view.png

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

        @quorle:

        Update:

        Es gab noch ein kleines Problem mit meiner Abschaltung über die Aussentemp, dies hab ich gefixt und es klappt nun.

        Des weiteren, gibt es noch ein kleines Problem, dass das Heizscript ja die manuelle Temp aus dem Regler wieder liest und dann den Zeitstempel auf den aktuellen Zeitabschnitt legt.

        filename="View.png" index="0">~~ `

        Hi.

        Dazu hatte ich ja vorher schon geschrieben. Schau dir das bitte nochmal an.

        Vg looxer

        Gesendet von meinem SM-G965F mit Tapatalk

        1 Reply Last reply
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          wrote on last edited by
          #374

          Hi @looxer01,

          gibt es da auch eine Möglichkeit die heizperiode pro thermostat an bzw aus zu stellen ?

          Im moment haben wir ja den globalen wert der sich dan auf alle auswirkt, in meiner situation möchte ich aber gerne bestimmte räume welche nicht benutzt werden für ein par tagen nicht beheizen.

          Gr,

          Dutch

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

            Hi Dutch,

            @Dutchman:

            gibt es da auch eine Möglichkeit die heizperiode pro thermostat an bzw aus zu stellen ? `
            dazu faellt mir nur ein Workaround im Moment ein.

            Ueber ICAL und setzen eines Party Events mit z.B. 3 Grad Absenkungstemperatur der jeweiligen Räume könnte das gemacht werden.

            Alle andere Räume muessten dann eine Absenkung von null haben. Ist aber nur ein Workaround.

            Das Einbauen dieser Funktion wäre natürlich möglich. Müsste ich mir mal genauer ansehen.

            Willst du erstmal den Workaround testen ?

            vG Looxer

            1 Reply Last reply
            0
            • B Offline
              B Offline
              Brati
              wrote on last edited by
              #376

              Wäre nicht auch ein 2. Wochenprofil eine Lösung?

              Grüße Brati

              Von unterwegs gesendet…

              CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

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

                @Brati:

                Wäre nicht auch ein 2. Wochenprofil eine Lösung? `
                Hi Brati,

                na klar. Vielleicht besser aber auch etwas aufwändiger.

                Das Profil kann manuell oder per ICAL aktiviert werden.

                Durch entsprechende Einstellung brauch auch nur eine einzige Temp geändert werden.

                vG Looxer

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

                  Noch ein Punkt zur Funktionalität der Heizperiode.

                  Wenn die Heizperiode ausgeschaltet wird, dann wird die Temp auf die vordefinierte Temp gesetzt um die Ventile zu öffnen und zu schliessen.

                  Unschön ist es, wenn die Ventile geöffnet werden sollen und Fensterverschluesse dann immer wieder zur Absenkung führen.

                  Daher habe ich meine SommerTemp auf 12 Grad gesetzt. (Temp bei geöffneten Fenstersensoren) Die Thermostate sind dann gesamten Sommer über ruhig und nicht unnotig Batterieenergie.

                  Im Profil kann aber natürlich ebenfalls z.B. 12 Grad hinterlegt werden.

                  vG Looxer

                  1 Reply Last reply
                  0
                  • DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    wrote on last edited by
                    #379

                    Hmm wochenprofiel währe wohl die beste lösung das stimmt damit gehts

                    –-----------------------

                    Send from mobile device

                    Das schöne ios hat Auto Korrektur zum k****

                    Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                      @looxer01:

                      @quorle:

                      Update:

                      Es gab noch ein kleines Problem mit meiner Abschaltung über die Aussentemp, dies hab ich gefixt und es klappt nun.

                      Des weiteren, gibt es noch ein kleines Problem, dass das Heizscript ja die manuelle Temp aus dem Regler wieder liest und dann den Zeitstempel auf den aktuellen Zeitabschnitt legt.

                      View.png `

                      Hi.

                      Dazu hatte ich ja vorher schon geschrieben. Schau dir das bitte nochmal an.

                      Vg looxer

                      Gesendet von meinem SM-G965F mit Tapatalk `

                      Hallo looxer01,

                      Aktuell mal muss ich glücklicherweise sagen, dass alles sauber seit 2 Tagen durchläuft. Die HKT werden sauber geregelt, die Ab - und Zuschaltung über Aussentemperatur funktioniert tadellos und auch die sonstigen Funktionen ( die für mich persönlich relevant sind ) funktionieren einwandfrei.

                      Ich wolle mich persönlich bei @looxer01 und @paul53 noch für die tatkräftige Unterstützung und für das behalten der Nerven bedanken :lol:

                      Natürlich werde ich das hier gelernte auch für andere bereit stellen und diese unterstützen.

                      Sollte jemand das Script für die Ab - und Zuschaltung mittels Aussentemp benötigen kann sich gerne melden.

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

                        @quorle:

                        atürlich werde ich das hier gelernte auch für andere bereit stellen und diese unterstützen. `
                        Danke dir Quorle,

                        Freut mich, dass es jetzt bei dir laeuft.

                        jede Unterstützung hier ist hoch willkommen. :D

                        vG Looxer

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

                          Wollte euch hier nun einmal die Regelung mittels des Heizscriptes, dem PI-Regler und dem Script für die Abschaltung über die Aussentemperatur zeigen. Nun heißt es nur doch "Optimierungen".

                          5278_unbenannt.png

                          1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            kaschperle83
                            wrote on last edited by
                            #383

                            Ich habe ein Problem mit dem View.

                            Ein einzelnes View (in meinem Fall das vom Wohnzimmer) geht. Aber jedes weiter liefert nur eine Anzeige wie auf dem Bild.

                            Die Objekte für den Staus habe ich angepasst aber weder im Profil unten noch an verschiedenen anderen Stellen wird etwas angezeigt.Dort erscheinen immer nur Fehler. Ich habe jetzt schon seit Stunden probiert aber es will einfach nicht. Im Editor Fenster werden komischer weiße die Werte angezeigt.
                            6144_problem.png

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

                              @kaschperle83:

                              Ein einzelnes View (in meinem Fall das vom Wohnzimmer) geht. Aber jedes weiter liefert nur eine Anzeige wie auf dem Bild. `
                              Hi,

                              es gibt einige Möglichkeiten warum das so aussehen kann

                              1. Der Raum "Schlafzimmer" ist nicht in den Datenobjekten angelegt

                              • überprüfe die Objektliste (ist der Raum dort angelegt ?)

                              • Überprüfe die Räume in den Aufzählungen (es könnte Probleme mit Klein-und Großschreibung geben)

                              2. Der VIS view wurde nicht korrekt mit dem Raum Schlafzimmer in allen Objekten versehen

                              • evt gibt es Probleme mit Klein-und Großschreibung (muss mit den Aufzählungen abgeglichen werden)

                              • evt gibt es Probleme mit dem Editor. Ich empfehle notepad++ (Vermeidung von Steuerzeichenproblemen)

                              • Suchen und Ersetzen war fehlerhaft für den VIS view (kann immer mal passieren )

                              • Sonderzeichen im Raumnamen können Probleme machen

                              vG Looxer

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

                                Hey Leute, ich hab wieder ein Problem. Hab mein Script ungenannt in Heizung. Dann habe ich den Raum Wohnzimmer anstatt Schlafzimmer eingebunden und dies funktioniert auch alles inclusive VIS.

                                Heute wollte ich den Raum Kind_1 einbinden. Den Thermostat sauber eingebunden in Gewerke und Räume. Im Script unter Roomlist den Raum Kind_1 eingebunden und Script Heizubg gestartet. Jedoch erstellt das Script den Ordner mit den States unter Objekte nicht. Hab schon alles versucht und das Script sagt immer ( wenn man es nur alleine mit Kind_1 startet ) das keine Thermostate gefunden werden.

                                Langsam verzweifle ich wieder einmal.

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

                                  Hi Quorle,

                                  habe mal wieder kein System vor mir.

                                  Kannst du das mal statt mit Kind_1 mit Kind1 versuchen ?

                                  Stelle auch sicher, dass auf den objektzeilen (objektliste) der Thermostate Raum und Gewerk richtig zugeordnet sind.

                                  vG Looxer

                                  1 Reply Last reply
                                  0
                                  • K Offline
                                    K Offline
                                    kaschperle83
                                    wrote on last edited by
                                    #387

                                    Ich muss mal ganz blöd Frage wie man das mit der Zuordnung der Gewerke macht?

                                    Ich habe einfach bei den Sammlungen ein Punkt Heizung angelegt und diesen inkls dem Raum zugeordnet.

                                    Ich nutze mehrere Max Thermostate, laut Anleitung müssen diese ja eigentlich gar keinem Raum zugeordnet werden

                                    Gesendet von meinem MHA-L29 mit Tapatalk

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

                                      @looxer01:

                                      Momentan haben wir das gleiche Problem, da ich aktuell in der Arbeit bin. Aber heute Abend werde ich dies mal testen. Geräte liegen in den richtigen Räumen und sind ordnungsgemäß den Gewerken zugeordnet.

                                      Ich habe wirklich alles versucht und auch das Leerzeichen zwischen Kind und 1 durch einen Unterstrich ersetzt, aber das ohne Leerzeichen habe ich nicht versucht. Ich berichte dann.

                                      @kaschperle83:

                                      Ich persönlich habe das alles in der CCU2 erledigt und Dan die HM Adapter neu gestartet. Wie das aber mit MAX! Aussieht weis ich nicht, da ich HM Geräte habe.

                                      Gesendet von iPhone mit Tapatalk

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

                                        So, also looxer01, du bist ein <u>HELD</u> 8-) denn wenn man den Raum ohne Unterstrich erstellt, klappt alles wunderbar. Ich bin davon ausgegangen das dein Script den Unterstrich erkennt :oops:

                                        Wieder etwas gelernt :D

                                        1 Reply Last reply
                                        0
                                        • K Offline
                                          K Offline
                                          kaschperle83
                                          wrote on last edited by
                                          #390

                                          Bei läuft das Script im Hintergrund nur im Vis werde keine Werte angezeigt. Im Log des Scripts kann ich sehen das ich wenn ich zb im Wohnzimmer auf anwesend schalte das ein Log Eintrag mit Wohnzimmer durchläuft. Wenn ich das aber zb in der Küche mache steht an der gleichen Stelle nur undefine.

                                          Gesendet von meinem MHA-L29 mit Tapatalk

                                          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

                                          573

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          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