Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

NEWS

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

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

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

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplateheatingclimate
1.1k Beiträge 115 Kommentatoren 396.2k Aufrufe 61 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L Offline
    L Offline
    looxer01
    schrieb am zuletzt editiert von
    #633

    @thobastian:

    Derzeit ist es saukalt im Arbeitszimmer, weil das Thermostat ausgeschaltet ist. Das verstehe ich garnicht. `

    Hi,

    laut log gibt es die Datenpunkte für das Arbeitszimmer gar nicht:

    2018-10-30 19:48:22.947 - warn: javascript.0 getState "javascript.0.Heizung.Heizplan.Arbeitszimmer.Profil-1.undefined_1_bis" not found (3)
    
    

    da steht ein undefined im zu suchenden Datenpunkt. Das kann ich im Moment nicht erklären. Das undefined steht an einer Stelle wo eigentlich der Wochentag stehen sollte, also z.B. Mo, Di etc.

    ich nehme mal an, dass die Datenpunkte korrekt angelegt sind aber zur Laufzeit gibt es ein Problem und der Wochentag ist nicht definiert.

    Ich nutze da standard funktionen. Hast du an anderen Stellen noch javascript probleme ?

    Nur mal so ein Versuch:

    stoppe das Script und lösche mal alle Datenpunkte des Arbeitszimmers, warte bis alles wirklich gelöscht ist und lass das Script nochmal laufen

    vG Looxer

    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      looxer01
      schrieb am zuletzt editiert von
      #634

      @samxy:

      Hi,

      Ich habe extra gestern das aktuelle Script installiert., daran kann es nicht liegen. `
      kannst du bitte folgendes machen:

      • setze im script "var debug = true" - steht im standard auf false

      • lasse das script laufen

      • oeffne eine Türe/Fenster mit entsprechenden xiaomi Sensor

      • und kopiere / poste das log, das vom script erzeugt wurde

      Zusätzclich hätte ich gerne das Programm, das du benutzt.

      Wenn du willst entweder hier posten oder per PN.

      vG Looxer

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        thobastian
        schrieb am zuletzt editiert von
        #635

        Jetztb steht aktuell die richtige Temperatur drin.

        Wahrscheinlich hat das Löschen der Datenpunkte etwas gebracht.

        Danke!

        HW: Homematic CCU2, Amazon Echo, diverse NodeMCU's mit Sensoren,

        SW: IOBroker: immer neueste Version mit ESPEasy auf den NodeMCU's

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          looxer01
          schrieb am zuletzt editiert von
          #636

          @samxy:

          Ich habe extra gestern das aktuelle Script installiert., daran kann es nicht liegen. `
          Fehler gefunden.

          Kannst du bitte folgenden Code austauschen ?

          //                if (Check_SensorDV(roomName) === false) {  // ist der Sensor direktverknuepft ?
          //                    SetTemp(roomName, VerschlussAbsenkungsGrenze, id, false);
          //                }
          
          

          und zwar mit:

          //                if (Check_SensorDV(roomName) === false) {  // ist der Sensor direktverknuepft ?
          	                    SetTemp(roomName, VerschlussAbsenkungsGrenze, id, false);
          //                }
          
          
          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #637

            Hi,

            es scheint, dass der Fehler vom 14.10. immer noch in Script 2.00 enthalten war.

            Habe ich jetzt korrigiert mit Version 2.01. und hochgeladen.

            vG Looxer

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              swordfisch
              schrieb am zuletzt editiert von
              #638

              @looxer01:

              @samxy:

              Ich habe extra gestern das aktuelle Script installiert., daran kann es nicht liegen. `
              Fehler gefunden.

              Kannst du bitte folgenden Code austauschen ?

              //                if (Check_SensorDV(roomName) === false) {  // ist der Sensor direktverknuepft ?
              //                    SetTemp(roomName, VerschlussAbsenkungsGrenze, id, false);
              //                }
              
              

              und zwar mit:

              //                if (Check_SensorDV(roomName) === false) {  // ist der Sensor direktverknuepft ?
              	                    SetTemp(roomName, VerschlussAbsenkungsGrenze, id, false);
              //                }
              
              ```` `  
              

              Ich nutze aktuell die Vorherige Version Version 2.00a02 vom 14.10.2018

              da war das auch schon so drin bei mir läuft aktuell alles 🙂

              Vielen Dank nochmal für das Script und den großartigen Support looxer01

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                samxy
                schrieb am zuletzt editiert von
                #639

                @looxer01:

                @samxy:

                Ich habe extra gestern das aktuelle Script installiert., daran kann es nicht liegen. `
                Fehler gefunden.

                Kannst du bitte folgenden Code austauschen ? `
                Habe ich gemacht - jetzt läuft aber das script pausenlos und triggert sich immer wieder selbst - das log läuft voll - log schicke ich per pn

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  samxy
                  schrieb am zuletzt editiert von
                  #640

                  Hallo,

                  nochmal genauer analysiert:

                  Code geändert - läuft.

                  Fenster auf - geht –> Sollwert auf 12

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

                  Der Effekt ist reproduzierbar (zumindest bei mir)

                  Edit:

                  Ich weiß nicht, ob die Endlosschleife es verursacht hat, aber die CCU2 hat sich jetzt komplett weggehängt - war auch über das Webinterface nicht mehr erreichbar und die HM-Geräte konnten nicht mehr darüber gesteuert werden. Musste ich einmal aus und an schalten, um wieder Verbindung zu bekommen.

                  1 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    looxer01
                    schrieb am zuletzt editiert von
                    #641

                    @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 Antwort Letzte Antwort
                    0
                    • ChaotC Offline
                      ChaotC Offline
                      Chaot
                      schrieb am zuletzt editiert von
                      #642

                      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.

                      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        as15
                        schrieb am zuletzt editiert von
                        #643

                        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 Antwort Letzte Antwort
                        0
                        • AxelF1977A Offline
                          AxelF1977A Offline
                          AxelF1977
                          schrieb am zuletzt editiert von
                          #644

                          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

                          ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                          1 Antwort Letzte Antwort
                          0
                          • K Offline
                            K Offline
                            kaschperle83
                            schrieb am zuletzt editiert von
                            #645

                            @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 Antwort Letzte Antwort
                            0
                            • AxelF1977A Offline
                              AxelF1977A Offline
                              AxelF1977
                              schrieb am zuletzt editiert von
                              #646

                              @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

                              ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                kaschperle83
                                schrieb am zuletzt editiert von
                                #647

                                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 Antwort Letzte Antwort
                                0
                                • AxelF1977A Offline
                                  AxelF1977A Offline
                                  AxelF1977
                                  schrieb am zuletzt editiert von
                                  #648

                                  @kaschperle83:

                                  Wie bekommt man das hin mit floatent?

                                  Gesendet aus Hessen. `

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

                                  ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    kaschperle83
                                    schrieb am zuletzt editiert von
                                    #649

                                    Super vielen Dank.

                                    Gesendet aus Hessen.

                                    1 Antwort Letzte Antwort
                                    0
                                    • AxelF1977A Offline
                                      AxelF1977A Offline
                                      AxelF1977
                                      schrieb am zuletzt editiert von
                                      #650

                                      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

                                      ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                                      1 Antwort Letzte Antwort
                                      0
                                      • ChaotC Offline
                                        ChaotC Offline
                                        Chaot
                                        schrieb am zuletzt editiert von
                                        #651

                                        @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
                                        });
                                        
                                        

                                        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                        1 Antwort Letzte Antwort
                                        0
                                        • L Offline
                                          L Offline
                                          leo8405
                                          schrieb am zuletzt editiert von
                                          #652

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          554

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe