Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

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

      @samxy:

      Fenster wieder zu –> wird erkannt, aber Script triggert sich jetzt pausenlos immer wieder `

      mmmh , muss ich mir ansehen. Dauert aber vielleicht bis Morgen.

      vG Looxer

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

        Ich habe seit heute plötzlich eine Fehlermeldung:

        javascript.0	2018-11-01 20:00:01.161	warn	at Object. <anonymous>(script.js.Heizung.HeizungGesamt:648:20)
        javascript.0	2018-11-01 20:00:01.160	warn	at ThermostatChange (script.js.Heizung.HeizungGesamt:923:26)
        javascript.0	2018-11-01 20:00:01.160	warn	at ManAdjustments (script.js.Heizung.HeizungGesamt:1072:65)
        javascript.0	2018-11-01 20:00:01.160	warn	at SelectSwitchTime (script.js.Heizung.HeizungGesamt:1616:19)
        javascript.0	2018-11-01 20:00:01.152	warn	at DetermineSchedule (script.js.Heizung.HeizungGesamt:1696:25)
        javascript.0	2018-11-01 20:00:01.150	warn	getState "javascript.0.Heizung.Heizplan.Julia.Profil-1.undefined_wieVortag" not found (3)
        javascript.0	2018-11-01 20:00:01.150	warn	at Object. <anonymous>(script.js.Heizung.HeizungGesamt:648:20)
        javascript.0	2018-11-01 20:00:01.150	warn	at ThermostatChange (script.js.Heizung.HeizungGesamt:923:26)
        javascript.0	2018-11-01 20:00:01.150	warn	at ManAdjustments (script.js.Heizung.HeizungGesamt:1072:65)
        javascript.0	2018-11-01 20:00:01.150	warn	at SelectSwitchTime (script.js.Heizung.HeizungGesamt:1616:19)
        javascript.0	2018-11-01 20:00:01.150	warn	at DetermineSchedule (script.js.Heizung.HeizungGesamt:1667:25)
        javascript.0	2018-11-01 20:00:01.148	warn	getState "javascript.0.Heizung.Heizplan.Julia.Profil-1.undefined_wieVortag" not found (3)
        javascript.0	2018-11-01 20:00:01.132	warn	at Object. <anonymous>(script.js.Heizung.HeizungGesamt:648:20)
        javascript.0	2018-11-01 20:00:01.131	warn	at ThermostatChange (script.js.Heizung.HeizungGesamt:923:26)
        javascript.0	2018-11-01 20:00:01.131	warn	at ManAdjustments (script.js.Heizung.HeizungGesamt:1071:65)
        javascript.0	2018-11-01 20:00:01.131	warn	at SelectSwitchTime (script.js.Heizung.HeizungGesamt:1616:19)
        javascript.0	2018-11-01 20:00:01.131	warn	at DetermineSchedule (script.js.Heizung.HeizungGesamt:1696:25)
        javascript.0	2018-11-01 20:00:01.130	warn	getState "javascript.0.Heizung.Heizplan.Julia.Profil-1.undefined_wieVortag" not found (3)
        javascript.0	2018-11-01 20:00:01.130	warn	at Object. <anonymous>(script.js.Heizung.HeizungGesamt:648:20)
        javascript.0	2018-11-01 20:00:01.129	warn	at ThermostatChange (script.js.Heizung.HeizungGesamt:923:26)
        javascript.0	2018-11-01 20:00:01.129	warn	at ManAdjustments (script.js.Heizung.HeizungGesamt:1071:65)
        javascript.0	2018-11-01 20:00:01.129	warn	at SelectSwitchTime (script.js.Heizung.HeizungGesamt:1616:19)
        javascript.0	2018-11-01 20:00:01.129	warn	at DetermineSchedule (script.js.Heizung.HeizungGesamt:1667:25)
        javascript.0	2018-11-01 20:00:01.104	warn	getState "javascript.0.Heizung.Heizplan.Julia.Profil-1.undefined_wieVortag" not found (3)
        fritzdect.0	2018-11-01 20:00:01.058	info	Comet ID: 119600699192 identified for command (mode) : 0</anonymous></anonymous></anonymous></anonymous>
        

        Es wurde zwar am Nachmittag ein Update gemacht, aber der Fehler ist erst jetzt aufgetaucht.

        1 Reply Last reply Reply Quote 0
        • A
          as15 last edited by

          Mega Skript!

          Habe zwar keine HM Geräte aber läuft trotzdem sauber. Habe mich an die Anleitung gehalten und ließt sich super!

          Ich glaube ich habe jedoch einen Fehler entdeckt:

          Es heißt ja:

          Verschlussstatus true=geoeffnet - false = geschlossen

          In dem NoneHMSenorTab muss man an der 4. Stelle sagen welcher Zustand bei geschlossenem Fenster sein soll. Ich habe einen Sensor, da ist dieser Zustand "true". Trage ich jedoch true ein, wird bei offenem Fenster der "Verschlussstatus" mit false eingetragen und bei geschlossenem Fenster ein true. (Also falsch herum). Komischerweise kann ich das System nicht austricksen, wenn ich an der 4. Stelle ein false eintrage… Es muss also i-wo anders noch ein Fehler sein.

          Wäre cool wenn du das Problem lösen könntest.

          Vielen Dank!

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

            Hallo looxer01,

            vielen Dank an dieser Stelle für das Script. Der Wahnsinn. So muss ich nicht jedes Mal in die CCU, um was anzupassen. Allerdings habe ich auch das Problem, das die manuellen Werte leider auf 4,5°C gesetzt werden. Ich weiß das Thema gab es schon, ich habe es in den vielen Beiträgen aber nicht mehr gefunden. Siehe Screenshots. Gab es hier schon eine Lösung?
            4249_fehler-heizung-001.png
            4249_fehler-heizung-002.png

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

              @AxelF1977:

              Hallo looxer01,

              vielen Dank an dieser Stelle für das Script. Der Wahnsinn. So muss ich nicht jedes Mal in die CCU, um was anzupassen. Allerdings habe ich auch das Problem, das die manuellen Werte leider auf 4,5°C gesetzt werden. Ich weiß das Thema gab es schon, ich habe es in den vielen Beiträgen aber nicht mehr gefunden. Siehe Screenshots. Gab es hier schon eine Lösung? ` Ist das View selbst gemacht?

              Gesendet aus Hessen.

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

                @kaschperle83:

                Ist das View selbst gemacht?

                Gesendet aus Hessen. `

                Es basiert auf dem VIEW von looxer01. Ist aber modifiziert. Da ich mehrere Displays in verschiedenen Auflösungen habe, ist es floatent, passt sich automatisch der Auflösung an. Daher habe ich es meinen Bedürfnissen angepasst

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

                  Wie bekommt man das hin mit floatent?

                  @AxelF1977:

                  @kaschperle83:

                  Ist das View selbst gemacht?

                  Gesendet aus Hessen. `

                  Es basiert auf dem VIEW von looxer01. Ist aber modifiziert. Da ich mehrere Displays in verschiedenen Auflösungen habe, ist es floatent, passt sich automatisch der Auflösung an. Daher habe ich es meinen Bedürfnissen angepasst `

                  Gesendet aus Hessen.

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

                    @kaschperle83:

                    Wie bekommt man das hin mit floatent?

                    Gesendet aus Hessen. `

                    Ich stelle meins hier gerne zur Verfügung, aber nicht mehr heute.

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

                      Super vielen Dank.

                      Gesendet aus Hessen.

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

                        Kein Problem. Anbei die Dateien für das VIEW. Die CSS muss auch eingebunden werden, sonst funktioniert es nicht. Bitte nicht wundern dass es im Editor etwas verschoben aussieht, dass liegt daran, das Bildschirm keine 100% Breite hat, durch die Werkzeugfenster links und rechts. Anbei nochmal 2 Screenshots. 1x PC mit 1920px Auflösung und 1x mein Tablett mit einer 1280px Auflösung. Gleiches VIEW.

                        @looxer01, schau mal bitte nach meiner Frage in https://forum.iobroker.net/posting.php?mode=reply&f=21&t=10096#pr190026. Danke
                        4249_card_wohnzimmerheizungautomation.txt
                        4249_card_wohnzimmerheizungautomation_css.txt
                        4249_1280-tablett.png
                        4249_1920-pc.png

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

                          @looxer01: Ich habe für die DECT Thermostate durch einen Hinweis in einem anderen Tread eine Lösung gefunden.

                          Scheinbar lässt sich die Boost Funktion manuell schalten.

                          Das würde im Script eventuell unnötige Umwege ersparen.

                          Die Schaltung erfolgt direkt über einen Datenpunkt im Thermostat Objektbaum:

                          fritzdect.0.Comet_1196006xxxxx.mode
                          

                          und wird zwischen

                          0= auto

                          1= closed

                          2= open

                          geschaltet. Diese Schaltung wird weder von deinem Script noch von der Fritzbox überschrieben.

                          Der Countdown und die Funktion wird in VIS korrekt dargestellt.

                          Somit wäre nur noch die Notwendigkeit im Script die Boost Funktion direkt aufzurufen, falls du das einbauen möchtest.

                          Ansonsten funktioniert diese Lösung:

                          Boost wird ausgelöst über einen Dash Button und läuft für 60 Minuten.

                          Das dient bei mir dazu die Heizung im Bad für einige Zeit zu erhöhen und die Grundsteuerung auszuschalten (Duschen für Weicheier).

                          Trigger und Laufzeit ist im Grunde beliebig wählbar. Es würde auch über einen beliebigen Funkschalter oder einen Softbutton in VIS funktionieren.

                          Zeit ist im Script individuell einstellbar:

                          const idTaster = "amazon-dash.0.00-fc-8b-xx-xx-xx.pressed"/*pressed*/; 
                          const idBoost = "fritzdect.0.Comet_1196006xxxxx.mode";
                          const idVis = "javascript.0.Heizung.LaufzeitBad"; // Anzeige Restdauer in Minuten
                          
                          var cnt = getState(idVis).val;
                          var timer = null;
                          
                          function countDown() {
                             cnt--;
                             setState(idVis, cnt, true);
                             if(cnt <= 0) {
                                clearInterval(timer);
                                setState(idBoost, 0);
                             }   
                          }
                          
                          on({id: idTaster, val: true}, function () {
                             setState(idBoost, 2);
                             cnt = 60;
                             setState(idVis, cnt, true);
                             if(timer) clearInterval(timer);
                             timer = setInterval(countDown, 60000); // jede Minute
                          });
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • L
                            leo8405 last edited by

                            Guten Abend!

                            Erstmal bedanke ich mich für die tolle Arbeit! Ich bin noch ziemlich am Anfang mit dem Script und habe da noch zwei Baustellen an denen ich gerade nicht weiter komme.

                            1. Mir gelingt es nicht ein "zweites Script" für die Einliegerwohnung zum laufen zu bekommen. Was genau muss ich alles ändern damit die Räume der Wohnung von meinen Räumen getrennt angelegt werden? (Also die Räume habe ich bereits in RoomList eingetragen und auf true gestellt).

                            2. Beim ersten "Durchlauf" (Script 1) für meine eigenen Räume sind auch die Räume der EInliegerwohnung (Datenpunkte) angelegt worden. Muss ich diese löschen, damit diese dann über das zweite Script angelegt werden?

                            Script 1 läuft soweit mit allen Einstellungen.

                            Vielen Dank und noch einen angenehmen Abend!

                            1 Reply Last reply Reply Quote 0
                            • K
                              K-L-S last edited by

                              Hallo,

                              ich habe seit dem Wochenende das Script 201 im Einsatz.

                              Meine Umgebung: Max-Cube mit Max!-Thermostaten, Xiaomi-Fenster-Tür-Kontakte.

                              Mein Problem:

                              Wenn ich z.B. die Raumthemperatur auf 20 Grad und die Abwesenheitsabsenkung auf 5 Grad einstelle und in der View das Flag Anwesend entferne wird zunächst die Soll-Themperatur richtig auf 15 Grad gestellt. Einige Sekunden später springt die Soll-Themperatur wieder auf 20 Grad und in der View sehe ich manuell gesetzte Soll-Themperatur bei 20 Grad für 120 Minuten.

                              Da scheint irgend etwas schief zu laufen.

                              Ansonsten tolles Programm und danke für deinen Einsatz.

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

                                Mach mal ein Reset am Maxcube @K-L-S:

                                Hallo,

                                ich habe seit dem Wochenende das Script 201 im Einsatz.

                                Meine Umgebung: Max-Cube mit Max!-Thermostaten, Xiaomi-Fenster-Tür-Kontakte.

                                Mein Problem:

                                Wenn ich z.B. die Raumthemperatur auf 20 Grad und die Abwesenheitsabsenkung auf 5 Grad einstelle und in der View das Flag Anwesend entferne wird zunächst die Soll-Themperatur richtig auf 15 Grad gestellt. Einige Sekunden später springt die Soll-Themperatur wieder auf 20 Grad und in der View sehe ich manuell gesetzte Soll-Themperatur bei 20 Grad für 120 Minuten.

                                Da scheint irgend etwas schief zu laufen.

                                Ansonsten tolles Programm und danke für deinen Einsatz. `

                                Gesendet aus Hessen.

                                1 Reply Last reply Reply Quote 0
                                • K
                                  K-L-S last edited by

                                  Hatte ich schon probiert. Adapter wurde auch neu gestartet und ioBroker Neustart wurde auch durchgeführt und zu guter letzt wurde der Rechner neu gestartet. Am Ergebnis hat sich hierdurch jedoch nichts geändert weshalb ich hier auch einen Post geöffnet habe. Hast Du die 201 im Einsatz(kaschperle83) und diese Problem nicht?

                                  1 Reply Last reply Reply Quote 0
                                  • O
                                    Okidoki3009 last edited by

                                    Hallo,

                                    danke erstmal für das tolle script.

                                    Ich habe leider noch Probleme bei der Installation.

                                    Mein Log zeigt an
                                    3673_log.png

                                    Ich verwende Max-Thermostate und Xiaomi Fensterkontakte

                                    Was habe ich geändert…

                                    var UseRoomList = true;      // Wenn testmodus werden nur die Angegebenen Raeume abgearbeitet
                                    var RoomList = [];
                                    RoomList[0] = ['Kinderzimmer_OG'];   // Liste der Raeume die gesteuert werden soll zum Testen
                                    RoomList[1] = ['GästeWC'];
                                    RoomList[2] = ['Wohnzimmer'];
                                    
                                    NoneHMTab[0] = ['Kinderzimmer_OG','maxcul.0','KMD3029774','desiredTemperature',12];
                                    NoneHMTab[1] = ['GästeWC','maxcul.0','JMD3035215','desiredTemperature',12];
                                    NoneHMTab[2] = ['Wohnzimmer','maxcul.0','KMD3029415','desiredTemperature',12];
                                    
                                    NoneHMSenorTab[0] = ['Kinderzimmer_OG','mihome.0.devices','magnet_158d00016c8c03' ,'state' ,false,false];
                                    NoneHMSenorTab[1] = ['GästeWC',        'mihome.0.devices','magnet_158d0001b95a90' ,'state' ,'false',false];
                                    

                                    Räume und Funktion auch zugewiesen und auf richtige Schreibweise geachtet.

                                    Jemand eine Idee?

                                    Danke euch

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      K-L-S last edited by

                                      Hallo Okidoki3009,

                                      ich bin mir nicht sicher aber enums zeigt soweit ich weiß auf die Räume. Vielleicht Umlaute/Sonderzeichen?

                                      Gruss K_L_S

                                      1 Reply Last reply Reply Quote 0
                                      • O
                                        Okidoki3009 last edited by

                                        @K-L-S:

                                        Hallo Okidoki3009,

                                        ich bin mir nicht sicher aber enums zeigt soweit ich weiß auf die Räume. Vielleicht Umlaute/Sonderzeichen?

                                        Gruss K_L_S `

                                        Danke ,ich habe jetzt den Raum GästeWC umgeändert in EG_gwc .

                                        Leider noch der gleiche Fehler.

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

                                          @K-L-S:

                                          Hatte ich schon probiert. Adapter wurde auch neu gestartet und ioBroker Neustart wurde auch durchgeführt und zu guter letzt wurde der Rechner neu gestartet. Am Ergebnis hat sich hierdurch jedoch nichts geändert weshalb ich hier auch einen Post geöffnet habe. Hast Du die 201 im Einsatz(kaschperle83) und diese Problem nicht? ` Nein noch nicht. Bin noch nicht zum umstellen gekommen.

                                          Gesendet aus Hessen.

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            bigd-73 last edited by

                                            @K-L-S:

                                            Hallo,

                                            ich habe seit dem Wochenende das Script 201 im Einsatz.

                                            Meine Umgebung: Max-Cube mit Max!-Thermostaten, Xiaomi-Fenster-Tür-Kontakte.

                                            Mein Problem:

                                            Wenn ich z.B. die Raumthemperatur auf 20 Grad und die Abwesenheitsabsenkung auf 5 Grad einstelle und in der View das Flag Anwesend entferne wird zunächst die Soll-Themperatur richtig auf 15 Grad gestellt. Einige Sekunden später springt die Soll-Themperatur wieder auf 20 Grad und in der View sehe ich manuell gesetzte Soll-Themperatur bei 20 Grad für 120 Minuten.

                                            Da scheint irgend etwas schief zu laufen.

                                            Ansonsten tolles Programm und danke für deinen Einsatz. `

                                            Wie sehen denn deine Einstellungen für die Xiaomi Sensoren unter: // Tabelle der Verschlusssensoren fuer NichtHomematic Geräte

                                            aus?

                                            Danke

                                            SG

                                            Mario

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            797
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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