Skip to content
  • Home
  • 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

Community Forum

  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.3k

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

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

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplateheatingclimate
1.1k Beiträge 115 Kommentatoren 396.6k 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
    #686

    @frostnatt:

    Ich wollte hier noch ein anderes Problem ansprechen, und zwar geht bei mir die Umschaltung der Profile über iCal nicht. Globale Events wie Gäste, Party, Urlaub_Anwesend/Abwesend etc. werden vom Script korrekt verarbeitet. Wird im Kalender "Global_Profil_2" angelegt, erfolgt keine Triggerung wenn das Ereignis eintritt. Erst wenn im View eine beliebige Änderung vorgenommen wird (z.B. "Gültigkeit in Min" wird geändert) wird ein iCal-Event erkannt und die Solltemperatur angepasst. `

    Hi,

    melde mich wieder nach einem unfreiwilligen shut down meinerseits.

    das kann eigentlich keine grosse sache sein. Schau ich mir an.

    vG Looxer

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

      @frostnatt:

      lobale Events wie Gäste, Party, Urlaub_Anwesend/Abwesend etc. werden vom Script korrekt verarbeitet. Wird im Kalender "Global_Profil_2" angelegt, erfolgt keine Triggerung wenn das Ereignis eintritt. `
      Kurze Frage:

      hast du die Variable in den Einstellungen "UseEventsRaumProfilSelect" auf true gesetzt ?

      EDIT

      sorry vergiss es. Ich sehe, dass du eine Globale Umschaltung nutzen willst.

      vG Looxer

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

        @frostnatt:

        Globale Events wie Gäste, Party, Urlaub_Anwesend/Abwesend etc. werden vom Script korrekt verarbeitet. Wird im Kalender "Global_Profil_2" angelegt, erfolgt keine Triggerung wenn das Ereignis eintritt. `
        Hi kannst du mal bitte folgendes Coding austauschen

           // Globales Profil ist prio2
            if (UseEventsGlobalProfilSelect === true) {
              for (i = 1; i <= MaxProfile; i++) {
                ProfilName = UseEventG_Profil;
                ProfilName = UseEventG_Profil.replace("<profilnummer>", i);
                if (getState(ICALPath + "." + ProfilName).val) {
                    setOwnState(pathprofile+".AktivesEventProfil", i);
                    Source_Profil = i;
                    Source_ICALEvent = ProfilName;
                    return i;
                }
              } // ende for i
            } // ende if globalProfilSelect</profilnummer> 
        

        und zwar mit:

           // Globales Profil ist prio2
            if (UseEventsGlobalProfilSelect === true) {
              for (i = 1; i <= MaxProfile; i++) {
                ProfilName = UseEventG_Profil;
                ProfilName = UseEventG_Profil.replace("<profilnummer>", i);
                if (getState(ICALPath + "." + ProfilName).val) {
                    setState(pathprofile+".AktivesEventProfil", i);
                    Source_Profil = i;
                    Source_ICALEvent = ProfilName;
                    return i;
                }
              } // ende for i
            } // ende if globalProfilSelect</profilnummer> 
        

        das löst wahrscheinlich das Problem. Ist für mich aber eine Trockenübung, da ich kein System im Zugriff habe.

        Sollte das die Lösung sein muss das gleiche für die Raumprofile gemacht werden.

        Mache ich am WE.

        vG Looxer

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

          @AxelF1977:

          Gab es denn eine Lösung für mein geschildertes Problem? `
          Hi Axel,

          hast du dein Problem gelöst ?

          Hab mir deine View angesehen - sieht super aus.

          Dort ist mir aufgefallen, dass du einen NaN Wert hast.

          Sieht so aus, dass da das mapping vom View zu den Datenpunkten nicht korrekt ist.

          vG Looxer

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

            @as15:

            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. `

            Hi,

            die betreffende Stelle im Coding ist hier:

                 if (SensorStatus === true || SensorStatus === false ) {
                     if ( debug ) { log("Routine SensorStatCalc: Sensorstatus ist "+ SensorStatus + " fuer devtype = " + devtype + " und id "+ id); }
                    return SensorStatus;
                }
            
            

            Da habe ich true und false fest verdrahtet. Du vermutest aber zurecht, dass es auch andersherum gehen müsste, weil ja so eingestellt.

            Wahrscheinlich reicht es diese Stelle einfach auszukommentieren.

            Das muss aber mit verschiedenen Konstellationen getestet werden.

            Für deinen Fall sollte es aber gehen. Kannst du das mal checken ?

            vG Looxer

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

              Hi,

              falls es noch offene Probleme gibt um die ich mich kümmern sollte, dann postet diese bitte hier nochmal.

              Ist ein wenig muehsam die Historie aufzuarbeiten.

              vG Looxer

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

                @looxer01:

                Hi,

                falls es noch offene Probleme gibt um die ich mich kümmern sollte, dann postet diese bitte hier nochmal.

                Ist ein wenig muehsam die Historie aufzuarbeiten.

                vG Looxer `

                Hi looxer01,

                danke, gerne hier nochmal mein Problem.

                @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? `

                Screenshots in Beitrag viewtopic.php?f=21&t=10096&start=640#p190026

                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
                  #693

                  Du wolltest (24.10.) noch was an der Boost Funktion ändern.

                  Hattest du inzwischen Gelegenheit dazu oder habe ich das irgendwie übersehen?

                  Ich komme zwar mit meiner Krückenlösung (4.11.) zurecht, aber schöner wäre es doch wenn alles zusammen laufen würde.

                  Ist es bei der angekündigten Lösung dann auch möglich bei "Fenster auf" den Thermostaten ganz auf "aus" zu stellen anstatt auf eine Absenktemperatur?

                  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
                    looxer01
                    schrieb am zuletzt editiert von
                    #694

                    @Chaot:

                    Du wolltest (24.10.) noch was an der Boost Funktion ändern.

                    Hattest du inzwischen Gelegenheit dazu oder habe ich das irgendwie übersehen? `

                    Ich hoffe, dass ich nächste Woche dazu komme. Leider war es mir die letzten 4 Wochen nicht möglich daran zu arbeiten.

                    @Chaot:

                    Ist es bei der angekündigten Lösung dann auch möglich bei "Fenster auf" den Thermostaten ganz auf "aus" zu stellen anstatt auf eine Absenktemperatur? `

                    Die Boost-Funktion sollte für eine einstellbare Zeit das Thermostat auf eine BoostTemp stellen. Bei Fenster Auf soll dann aber trotzdem auf die Absenktemp gestellt werden. Eine Änderung der Vorgehensweise hatte ich nicht im Sinn.

                    Wenn du aber weniger als 12 Grad einstellen möchtest, dann kannst du das ja machen. - möglichst Synchron mit den Einstellungen in der CCU.

                    Allerdings gebe ich zu bedenken, dass ein Raum nicht zu stark abkühlen sollte. Das gibt auf Dauer Feuchtigkeitsprobleme.

                    vG Looxer

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      dav71701
                      schrieb am zuletzt editiert von
                      #695

                      @dav71701:

                      Hallo Max,

                      hast Du eine Lösung für das Delay Problem gefunden? Bei mir ist es genauso, habe auch die HM-CC-RT-DN in Verbindung mit den Xiaomi Aqara Sensoren im Einsatz, was auch bis auf das "Delay nach Verschluss" alles super funktioniert (auch von mir ein großes Dankeschön in die Entwickler!).

                      Wäre so wie Du auch sehr an eine Lösung interessiert. `

                      Hi,

                      habe heute das aktuelle Skript "heizungsscript_201_Published" übernommen und folgenden Kommentar gelesen:

                      ` > // Naechste Version moegliche Erweiterungen/Aenderungen

                      //…..........................Delay fuer Nicht-HM-Geräaete (kann auf Nachfrage implementiert werden. `

                      Das wäre sehr toll.

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        torti0111
                        schrieb am zuletzt editiert von
                        #696

                        Cool wäre, wenn in deinen FAQ's stehen würde, wie man die Manuelle Verstellung mittels Alexa hinbekommt.

                        Wenn ich den Temperaturwert der manuellen Verstellung mit Alexa verändere wird er direkt wieder überschrieben.

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

                          @dav71701:

                          abe heute das aktuelle Skript "heizungsscript_201_Published" übernommen und folgenden Kommentar gelesen:

                          // Naechste Version moegliche Erweiterungen/Aenderungen

                          //…..........................Delay fuer Nicht-HM-Geräaete (kann auf Nachfrage implementiert werden.

                          Das wäre sehr toll. `

                          ok, nehme ich mit auf.

                          vG looxer

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

                            @torti0111:

                            Cool wäre, wenn in deinen FAQ's stehen würde, wie man die Manuelle Verstellung mittels Alexa hinbekommt.

                            Wenn ich den Temperaturwert der manuellen Verstellung mit Alexa verändere wird er direkt wieder überschrieben. `

                            Eine Alexa-Verstellung sollte doch keinen Unterschied zu einer beliebigen anderen manuellen Verstellung machen.

                            Hast du einen Wert im View für die manuelle Dauer eingegeben ?

                            vG Looxer

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              dav71701
                              schrieb am zuletzt editiert von
                              #699

                              @looxer01:

                              @dav71701:

                              abe heute das aktuelle Skript "heizungsscript_201_Published" übernommen und folgenden Kommentar gelesen:

                              // Naechste Version moegliche Erweiterungen/Aenderungen

                              //…..........................Delay fuer Nicht-HM-Geräaete (kann auf Nachfrage implementiert werden.

                              Das wäre sehr toll. `

                              ok, nehme ich mit auf.

                              vG looxer `

                              super, vielen dank!

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                torti0111
                                schrieb am zuletzt editiert von
                                #700

                                @looxer01:

                                @torti0111:

                                Cool wäre, wenn in deinen FAQ's stehen würde, wie man die Manuelle Verstellung mittels Alexa hinbekommt.

                                Wenn ich den Temperaturwert der manuellen Verstellung mit Alexa verändere wird er direkt wieder überschrieben. `

                                Eine Alexa-Verstellung sollte doch keinen Unterschied zu einer beliebigen anderen manuellen Verstellung machen.

                                Hast du einen Wert im View für die manuelle Dauer eingegeben ?

                                vG Looxer `

                                Ich habe meinen Fehler gerade entdeckt ;-)

                                Ich habe auf den Datenpunkt in der View geschrieben also den :

                                javascript.0.Heizung.Heizplan.Bad.View_Manually_Adjusted ###Im View manuell eingestellte Temperatur - 0=reset###

                                Wenn ich das auf den Wert vom Wandthermostat schreibe mittels alexa sollte es klappen xD

                                Edit: einfach auf den Setpoint des Thermostats geschrieben und läuft ohne Probleme ;-)

                                1 Antwort Letzte Antwort
                                0
                                • K Offline
                                  K Offline
                                  Kugelkopf
                                  schrieb am zuletzt editiert von
                                  #701

                                  Moin!!

                                  Erstmal großes Lob an die Macher des Scripts!

                                  Ich hätte da noch eine Frage:

                                  Wenn ich in VIS ein 2. Profil auswähle, dann Fehlen die Einstellmöglichkeiten der Uhrzeit und Temperatur im unteren Feld.

                                  Anscheinend ist es nicht vorgesehen, dass es diese so ohne weiteres gibt. Sehe ich das richtig?

                                  Ich habe mir nun so geholfen, dass ich Alle Knöpfe die mit dem Profil zu tun haben, Dupliziert habe und statt Profil_1 Profil_2 eingetragen habe. Diese übereinander gelegt und blende je nach Einstellung des Profils die einen oder die anderen Knöpfe und Auswahlmöglichkeiten aus.

                                  Das funktioniert soweit ganz gut. Wäre dennoch schön wenn es von vorne rein mit in dem VIS Script versehen wäre oder ist das irgendwie anders gedacht?

                                  Grüße

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

                                    @looxer01:

                                    @AxelF1977:

                                    Gab es denn eine Lösung für mein geschildertes Problem? `
                                    Hi Axel,

                                    hast du dein Problem gelöst ?

                                    Hab mir deine View angesehen - sieht super aus.

                                    Dort ist mir aufgefallen, dass du einen NaN Wert hast.

                                    Sieht so aus, dass da das mapping vom View zu den Datenpunkten nicht korrekt ist.

                                    vG Looxer `

                                    Hi Looxer,

                                    ich hatte nicht gesehen, dass Du schon geantwortet hattest. Sorry daher für den Doppelpost. Die NaN Werte habe ich mal durch die Checkbox als String dargestellt, damit sind sie weg. Wegen dem Problem mit 4.5°C ging mir auch ein Licht auf. Das lag an mir… Den manualen Modus erzwingen, ohne eine Temperatur eingetragen zu haben, gibt natürlich einen Fehler zurück.

                                    Aber im Moment nutzen die Heizungen die Werte der CCU. So richtig bin ich wohl noch nicht durchgestiegen. Eingestellt sind für den Zeitraum zwischen 18 und 21 Uhr 21°C, einstellen tut das Script 19°C. Anpassungen der FAQ habe ich schon vorgenommen.
                                    4249_002.jpg
                                    4249_001.jpg

                                    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
                                    • F Offline
                                      F Offline
                                      frostnatt
                                      schrieb am zuletzt editiert von
                                      #703

                                      @looxer01:

                                      @frostnatt:

                                      Globale Events wie Gäste, Party, Urlaub_Anwesend/Abwesend etc. werden vom Script korrekt verarbeitet. Wird im Kalender "Global_Profil_2" angelegt, erfolgt keine Triggerung wenn das Ereignis eintritt. `
                                      Hi kannst du mal bitte folgendes Coding austauschen

                                         // Globales Profil ist prio2
                                          if (UseEventsGlobalProfilSelect === true) {
                                            for (i = 1; i <= MaxProfile; i++) {
                                              ProfilName = UseEventG_Profil;
                                              ProfilName = UseEventG_Profil.replace("<profilnummer>", i);
                                              if (getState(ICALPath + "." + ProfilName).val) {
                                                  setOwnState(pathprofile+".AktivesEventProfil", i);
                                                  Source_Profil = i;
                                                  Source_ICALEvent = ProfilName;
                                                  return i;
                                              }
                                            } // ende for i
                                          } // ende if globalProfilSelect</profilnummer> 
                                      

                                      und zwar mit:

                                         // Globales Profil ist prio2
                                          if (UseEventsGlobalProfilSelect === true) {
                                            for (i = 1; i <= MaxProfile; i++) {
                                              ProfilName = UseEventG_Profil;
                                              ProfilName = UseEventG_Profil.replace("<profilnummer>", i);
                                              if (getState(ICALPath + "." + ProfilName).val) {
                                                  setState(pathprofile+".AktivesEventProfil", i);
                                                  Source_Profil = i;
                                                  Source_ICALEvent = ProfilName;
                                                  return i;
                                              }
                                            } // ende for i
                                          } // ende if globalProfilSelect</profilnummer> 
                                      

                                      das löst wahrscheinlich das Problem. Ist für mich aber eine Trockenübung, da ich kein System im Zugriff habe.

                                      Sollte das die Lösung sein muss das gleiche für die Raumprofile gemacht werden.

                                      Mache ich am WE.

                                      vG Looxer `

                                      Hi Looxer,

                                      vielen Dank für deine Rückmeldung. Ich habe es gerade ausprobiert und kann leider keine Änderung zum bereits geschilderten Verhalten feststellen…

                                      Grüße,

                                      Max

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

                                        @Kugelkopf:

                                        Ich hätte da noch eine Frage:

                                        Wenn ich in VIS ein 2. Profil auswähle, dann Fehlen die Einstellmöglichkeiten der Uhrzeit und Temperatur im unteren Feld.

                                        Anscheinend ist es nicht vorgesehen, dass es diese so ohne weiteres gibt. Sehe ich das richtig? `
                                        Hi,

                                        die Datenpunkte aus Profil-1 müssen im View angeplasst werden.

                                        Das kann mit Hilfe eines geeigneten Editors gemacht werden (ich empfehle immer notepad++) und durch suchen und Ersetzen

                                        • Suche Profil-1

                                        • Ersetze mit: Profil-2

                                        Das heisst auch, dass du dazu eine zweite View brauchst.

                                        Werde ich in die FAQs aufnehmen.

                                        vG Looxer

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

                                          @AxelF1977:

                                          Die NaN Werte habe ich mal durch die Checkbox als String dargestellt, damit sind sie weg. Wegen dem Problem mit 4.5°C ging mir auch ein Licht auf. Das lag an mir… Den manualen Modus erzwingen, ohne eine Temperatur eingetragen zu haben, gibt natürlich einen Fehler zurück.

                                          Aber im Moment nutzen die Heizungen die Werte der CCU. So richtig bin ich wohl noch nicht durchgestiegen. Eingestellt sind für den Zeitraum zwischen 18 und 21 Uhr 21°C, einstellen tut das Script 19°C. Anpassungen der FAQ habe ich schon vorgenommen. `

                                          Hi,

                                          siehe PN in deiner Inbox.

                                          vG Looxer

                                          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

                                          595

                                          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
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe