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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

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

      @looxer01:

      Wenn du allerdings von einer Offset Programmierung sprichst, dann wäre das grundsätzlich möglich. Dazu hatte ich mir schon Gedanken habe es aber aus zeitgründen nicht realieren können

      Im Script selber gibt es eine Stelle (overrule.) die jegliche geplante Temperatur übersteuern kann. Dabei kann es zu einer negativen oder positven Abweichung zur eigentlichen SollTemp kommen was auch als Offset verstanden werden kann. Ein Offset muss ja nicht ein statischer Wert sein sondern kann auch Intelligenz erhalten. (z.B. durch externe Thermostate) `

      Weißt du wie ich den Offset Wert der HKT über ioBroker beschreiben/ändern kann, dann würde ich ein Skript dafür schreiben denn die Theorie habe ich schon dafür mir fehlt nur wie ich den Wert beschreiben kann.

      Geht das vielleicht nur im CCU über deren Programmierschnittstelle?

      wurde von einem User auch bei github gepostet…

      https://github.com/ioBroker/ioBroker.hm-rpc/issues/149

      da kam folgender Hinweis...
      ` > foxriver76 commented 22 hours ago

      The way to go for this scenario would be a helper script which configures the offset by the difference of you measurement sensor and your thermostat. I haven’t tested it but with the recent introduced sendTo commands you can control the MASTER area of your devices and should be able to configure the offset via ioBroker. `

      Mic-M created this issue in ioBroker/ioBroker.hm-rpc

      closed [Feature Request] Connect 3rd party temperature sensors (like Xiaomi) with HomeMatic thermostats #149

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

        @TDCroPower:

        @looxer01:

        Wenn du allerdings von einer Offset Programmierung sprichst, dann wäre das grundsätzlich möglich. Dazu hatte ich mir schon Gedanken habe es aber aus zeitgründen nicht realieren können

        Im Script selber gibt es eine Stelle (overrule.) die jegliche geplante Temperatur übersteuern kann. Dabei kann es zu einer negativen oder positven Abweichung zur eigentlichen SollTemp kommen was auch als Offset verstanden werden kann. Ein Offset muss ja nicht ein statischer Wert sein sondern kann auch Intelligenz erhalten. (z.B. durch externe Thermostate) `

        Weißt du wie ich den Offset Wert der HKT über ioBroker beschreiben/ändern kann, dann würde ich ein Skript dafür schreiben denn die Theorie habe ich schon dafür mir fehlt nur wie ich den Wert beschreiben kann.

        Geht das vielleicht nur im CCU über deren Programmierschnittstelle?

        wurde von einem User auch bei github gepostet…

        https://github.com/ioBroker/ioBroker.hm-rpc/issues/149

        da kam folgender Hinweis...
        ` > foxriver76 commented 22 hours ago

        The way to go for this scenario would be a helper script which configures the offset by the difference of you measurement sensor and your thermostat. I haven’t tested it but with the recent introduced sendTo commands you can control the MASTER area of your devices and should be able to configure the offset via ioBroker.

        Finde es schön, dass dieses Thema wieder aufgegriffen wird. Bin ja selbst auch lange Zeit auf der Suche nach einer Lösung hierfür gewesen. Habe es leider irgendwann aufgegeben, weil mir ständig gesagt wurde es würde nicht gehen. Bin gespannt wie es sich weiter entwickelt! 😃

        Mic-M created this issue in ioBroker/ioBroker.hm-rpc

        closed [Feature Request] Connect 3rd party temperature sensors (like Xiaomi) with HomeMatic thermostats #149

        1 Reply Last reply Reply Quote 0
        • L
          looxer01 last edited by

          @Kugelkopf:

          Finde es schön, dass dieses Thema wieder aufgegriffen wird. Bin ja selbst auch lange Zeit auf der Suche nach einer Lösung hierfür gewesen. Habe es leider irgendwann aufgegeben, weil mir ständig gesagt wurde es würde nicht gehen. Bin gespannt wie es sich weiter entwickelt! 😃 `
          :shock: ich fürchte, dass ich euch da ein Stück weit enttäuschen muss. Mir send ebenfalls keine Möglichkeiten bekannt wie von aussen auf die HM Thermostate auf Offset oder Ist Temp zugegriffen werden kann.

          Worauf ich mich bezog war da eher ein Workaround, und zwar anstatt die IstTemp die SollTemp so zu beeinflussen, dass die auf die auf ebene IstTemp die SollTemp beeinflusst bis die IstTemp erreicht ist. Nicht optimal, da ja nicht direkt auf die VentilÖffnung einfluss genommen werden kann.

          Dennoch vielleicht wert es mal zu testen.

          Grundlage dazu kann das im ersten Post verlinkte Programm von Apollon77 sein. Dieses Programm beeinflusst die SollTemp der Heizungssteuerung, um das Überschwingen bei Fussboden Heizungen zu vermeiden. Es merkt sich die vergangenen Temperatur veränderungen und beeinflusst damit die SollTemp z.B. durch vorzeitiges Hochsetzen.

          was meint ihr ?

          vG Looxer

          1 Reply Last reply Reply Quote 0
          • T
            TDCroPower last edited by

            da muss man sich dann wohl mal FHEM anschauen und es darüber laufen lassen? Da soll es wohl funktionieren die beiden Geräte zu peeren.

            Ist dann halt ein wenig unschön, da man somit 3 Systeme laufen hat mit Homematic, ioBroker und FHEM.

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

              @looxer01:

              @Kugelkopf:

              Finde es schön, dass dieses Thema wieder aufgegriffen wird. Bin ja selbst auch lange Zeit auf der Suche nach einer Lösung hierfür gewesen. Habe es leider irgendwann aufgegeben, weil mir ständig gesagt wurde es würde nicht gehen. Bin gespannt wie es sich weiter entwickelt! 😃 `
              :shock: ich fürchte, dass ich euch da ein Stück weit enttäuschen muss. Mir send ebenfalls keine Möglichkeiten bekannt wie von aussen auf die HM Thermostate auf Offset oder Ist Temp zugegriffen werden kann.

              Worauf ich mich bezog war da eher ein Workaround, und zwar anstatt die IstTemp die SollTemp so zu beeinflussen, dass die auf die auf ebene IstTemp die SollTemp beeinflusst bis die IstTemp erreicht ist. Nicht optimal, da ja nicht direkt auf die VentilÖffnung einfluss genommen werden kann.

              Dennoch vielleicht wert es mal zu testen.

              Grundlage dazu kann das im ersten Post verlinkte Programm von Apollon77 sein. Dieses Programm beeinflusst die SollTemp der Heizungssteuerung, um das Überschwingen bei Fussboden Heizungen zu vermeiden. Es merkt sich die vergangenen Temperatur veränderungen und beeinflusst damit die SollTemp z.B. durch vorzeitiges Hochsetzen.

              was meint ihr ?

              vG Looxer `

              Ja.., dass es dort keine Möglichkeit gibt (nicht nur bei HM) ist wirklich schade. Ich ging aber tatsächlich von diesem Workaround aus. Also die Soll Temp. so zu steuern, dass die entsprechend der externen Sensoren gesteuert wird. Vermutlich sowas wie immer + 1-2°C mehr einstellen damit sie aufheizt und sobald die gewünschte Temp. am externen Sensor erreicht ist Soll=IST (gemessen am HKT). o.Ä… Das würde mir dazu spontan einfallen. Allerdings müsste es dann wieder einen Offset geben. Weil die gemessene externe Temp nicht mit der am HKT übereinstimmt. Also alles doch irgendwie recht komplex.

              @TDCroPower:

              da muss man sich dann wohl mal FHEM anschauen und es darüber laufen lassen? Da soll es wohl funktionieren die beiden Geräte zu peeren.

              Ist dann halt ein wenig unschön, da man somit 3 System laufen hat mit Homematic, ioBroker und FHEM. `

              Kommt aktuell für mich nicht in Frage. Erstens besitze ich z.Z. nicht die Muße mich mit FHEM zu beschäftigen, da es doch sehr Komplex ist wie mir scheint, 2. Habe ich gar kein HM :D. Es war die Überlegung darauf umzusteigen hätte es mit den externen Sensoren geklappt. 3. Mein RPI ist mit ioBroker aktuell schon RAM technisch völlig ausgelastet.

              1 Reply Last reply Reply Quote 0
              • T
                TDCroPower last edited by

                @Kugelkopf:

                Ja.., dass es dort keine Möglichkeit gibt (nicht nur bei HM) ist wirklich schade. Ich ging aber tatsächlich von diesem Workaround aus. Also die Soll Temp. so zu steuern, dass die entsprechend der externen Sensoren gesteuert wird. Vermutlich sowas wie immer + 1-2°C mehr einstellen damit sie aufheizt und sobald die gewünschte Temp. am externen Sensor erreicht ist Soll=IST (gemessen am HKT). o.Ä… Das würde mir dazu spontan einfallen. Allerdings müsste es dann wieder einen Offset geben. Weil die gemessene externe Temp nicht mit der am HKT übereinstimmt. Also alles doch irgendwie recht komplex. `

                ich hätte es so gelöst.

                IF Xiaomi Temperatur KLEINER Eingestellte Temperatur am HKT

                DANN

                -> OFFSETVARIABLE GLEICH HKT Temperatur MINUS Xiaomi Temperatur

                -> OFFSETVARIABLE auf HKT Offset schreiben

                ELSE

                HKT Offset = 0

                so würde solange der Offset des HKT angepasst bis die Temperatur vom Raumsensor erreicht ist und dann mit Offset 0 der HKT wieder ruhig gestellt bis dann in einiger Zeit der Raumtemperatur Wert unter den eingestellten HKT Wert fällt und wieder eine Offset spielerei durchlaufen wird.

                Wenn man aber überhaupt nicht den Offset Wert des HKT über ioBroker oder Homematic Skript ändern kann stehen wir auch hier wieder in einer Sackgasse.

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

                  @TDCroPower:

                  @Kugelkopf:

                  Ja.., dass es dort keine Möglichkeit gibt (nicht nur bei HM) ist wirklich schade. Ich ging aber tatsächlich von diesem Workaround aus. Also die Soll Temp. so zu steuern, dass die entsprechend der externen Sensoren gesteuert wird. Vermutlich sowas wie immer + 1-2°C mehr einstellen damit sie aufheizt und sobald die gewünschte Temp. am externen Sensor erreicht ist Soll=IST (gemessen am HKT). o.Ä… Das würde mir dazu spontan einfallen. Allerdings müsste es dann wieder einen Offset geben. Weil die gemessene externe Temp nicht mit der am HKT übereinstimmt. Also alles doch irgendwie recht komplex. `

                  ich hätte es so gelöst.

                  IF Xiaomi Temperatur KLEINER Eingestellte Temperatur am HKT

                  DANN

                  -> OFFSETVARIABLE GLEICH HKT Temperatur MINUS Xiaomi Temperatur

                  -> OFFSETVARIABLE auf HKT Offset schreiben

                  ELSE

                  HKT Offset = 0

                  so würde solange der Offset des HKT angepasst bis die Temperatur vom Raumsensor erreicht ist und dann mit Offset 0 der HKT wieder ruhig gestellt bis dann in einiger Zeit der Raumtemperatur Wert unter den eingestellten HKT Wert fällt und wieder eine Offset spielerei durchlaufen wird.

                  Wenn man aber überhaupt nicht den Offset Wert des HKT über ioBroker oder Homematic Skript ändern kann stehen wir auch hier wieder in einer Sackgasse. `

                  Ja das wäre auch eine Lösung. Also es mit dem Offset lösen. Allerdings würde bei der Lösung über die Solltemp. evtl. mehr Geräte abdecken. Denn der Offset der FritzDECT HKT sind nicht via FritzDECT iobrokerAdapter einstellbar. Nur der Sollwert. Ich weiß nicht wie es sich bei anderen HKT Anbieter verhält.

                  1 Reply Last reply Reply Quote 0
                  • Mic
                    Mic Developer last edited by Mic

                    EDIT - SIEHE NEUEN THREAD: Link

                    Falls wer Testen will:

                    Folgendes Script setzt automatisch den Offset-Wert der Homematic-Thermostate, berechnet aus dem Wert von Xiaomi-Sensoren (oder anderer) dank "sendTo". Ich musste etwas "revers engineering" machen, da die Werte, die HomeMatic will, nicht tatsächliche Temperaturwerte sind (z.B. +2° = 11).

                    Das zu setzende Offset wird im Script wie folgt berechnet: [Homematic ACTUAL_TEMPERATURE (z.B. 22°C)] minus [Xiaomi-Sensor-Wert (z.B. 20°C)].

                    Falls gesetzte HM-Temperatur unter definierter Schwellgrenze (z.B. 20°C), passiert allerdings nichts, damit das Script nicht ausgeführt wird, wenn z.B. 12°C eingestellt ist.

                    https://github.com/Mic-M/iobroker.homem … sensors.js

                    Achtung: ist eine Pre-Alpha-Version - also nur für Testwillige geeignet und kann noch Fehler enthalten. Getestet von mir mit Nicht-IP-Thermostaten.

                    Kann gerne von Euch übernommen, erweitert usw. werden, ich komme wohl die nächsten paar Wochen nicht dazu.

                    Eventuell wäre es aber sinnvoller, wenn das Heizungsscript hier sich selbst um das Offset kümmert, auch weil Homematic nur max. 3,5°C Offset zulässt.

                    1 Reply Last reply Reply Quote 0
                    • T
                      TDCroPower last edited by

                      @Mic:

                      Falls wer Testen will:

                      Folgendes Script setzt automatisch den Offset-Wert der Homematic-Thermostate, berechnet aus dem Wert von Xiaomi-Sensoren (oder anderer) dank "sendTo". Ich musste etwas "revers engineering" machen, da die Werte, die HomeMatic will, nicht tatsächliche Temperaturwerte sind (z.B. +2° = 11).

                      Das zu setzende Offset wird im Script wie folgt berechnet: [Homematic ACTUAL_TEMPERATURE (z.B. 22°C)] minus [Xiaomi-Sensor-Wert (z.B. 20°C)].

                      Falls gesetzte HM-Temperatur unter definierter Schwellgrenze (z.B. 20°C), passiert allerdings nichts, damit das Script nicht ausgeführt wird, wenn z.B. 12°C eingestellt ist.

                      https://github.com/Mic-M/iobroker.homem … sensors.js

                      Achtung: ist eine Pre-Alpha-Version - also nur für Testwillige geeignet und kann noch Fehler enthalten. Getestet von mir mit Nicht-IP-Thermostaten.

                      Kann gerne von Euch übernommen, erweitert usw. werden, ich komme wohl die nächsten paar Wochen nicht dazu.

                      Eventuell wäre es aber sinnvoller, wenn das Heizungsscript hier sich selbst um das Offset kümmert, auch weil Homematic nur max. 3,5°C Offset zulässt. `

                      ich würde es am liebsten direkt testen aber leider fehlt mir noch mein CC2531 Stick um die Xiaomi Geräte in ioBroker einzubinden.

                      Kurze Frage zum Skriptablauf, setzt du bei erreichen der Xiaomi Temperatur den Offset des Thermostat wieder auf 0 ? Habe den Teil jetzt nicht direkt im Skript gefunden.

                      edit:

                      ist hier nicht ein Fehler…

                      Zeile 84: var loopOffset = (loopHmActualTemp - loopExtTemp);
                      

                      wenn der HKT Wert bei 22 liegt und der Sensor Wert 20 ergibt deine Variable eine 2, man muss aber -2 eintragen anstatt 2.

                      Oder drehst du den Wert irgendwo weiter unten?
                      17691_offset.png

                      1 Reply Last reply Reply Quote 0
                      • F
                        frostnatt last edited by

                        @Mic:

                        Falls wer Testen will:

                        Folgendes Script setzt automatisch den Offset-Wert der Homematic-Thermostate, berechnet aus dem Wert von Xiaomi-Sensoren (oder anderer) dank "sendTo". Ich musste etwas "revers engineering" machen, da die Werte, die HomeMatic will, nicht tatsächliche Temperaturwerte sind (z.B. +2° = 11).

                        Das zu setzende Offset wird im Script wie folgt berechnet: [Homematic ACTUAL_TEMPERATURE (z.B. 22°C)] minus [Xiaomi-Sensor-Wert (z.B. 20°C)].

                        Falls gesetzte HM-Temperatur unter definierter Schwellgrenze (z.B. 20°C), passiert allerdings nichts, damit das Script nicht ausgeführt wird, wenn z.B. 12°C eingestellt ist.

                        https://github.com/Mic-M/iobroker.homem … sensors.js

                        Achtung: ist eine Pre-Alpha-Version - also nur für Testwillige geeignet und kann noch Fehler enthalten. Getestet von mir mit Nicht-IP-Thermostaten.

                        Kann gerne von Euch übernommen, erweitert usw. werden, ich komme wohl die nächsten paar Wochen nicht dazu.

                        Eventuell wäre es aber sinnvoller, wenn das Heizungsscript hier sich selbst um das Offset kümmert, auch weil Homematic nur max. 3,5°C Offset zulässt. `

                        Hallo Mic,

                        ein sehr guter Ansatz!

                        Ich habe dein Script kurz ausprobiert und habe Folgendes festgestellt:

                        1. Wie TDCroPower angemerkt hat, liefert das Script ein Offset mit dem falschen Vorzeichen.

                        –>````
                        var loopOffset = (loopExtTemp - loopHmActualTemp)

                        
                        2) Der aktuelle Offset wirde bei der Berechnung nicht berücksichtigt. ****loopHmActualTemp**** ist ja der Temperaturwert unter Berücksichtigung des eingestellten Offsets. Ich denke, der aktuelle Offset muss von der CCU abgerufen und vom ****loopHmActualTemp**** abgezogen werden.
                        
                        Grüße,
                        
                        Max
                        1 Reply Last reply Reply Quote 0
                        • T
                          TDCroPower last edited by

                          naja der aktuelle Offset ist eigentlich egal solange das Script dauerhaft die Werte regelt.

                          Sobald eine negative Differenz vorhanden ist wird der Offset Wert sowieso überschrieben.

                          1 Reply Last reply Reply Quote 0
                          • F
                            frostnatt last edited by

                            @TDCroPower:

                            naja der aktuelle Offset ist eigentlich egal solange das Script dauerhaft die Werte regelt.

                            Sobald eine negative Differenz vorhanden ist wird der Offset Wert sowieso überschrieben. `

                            Ohne berücksichtigung des aktuellen Offsets wird das Nichts…

                            Zahlenneispiel:

                            1)Offset = 0

                            HKT = 20°C

                            EXT = 18°C

                            --> Offset = 18 - 20 = -2

                            1. Offset = -2* HKT = 18°C

                              EXT = 18°C

                              –> Offset = 18 - 18 = 0

                              1. Offset = 0

                              HKT = 20°C

                              EXT = 18°C

                              --> Offset = 18 - 20 = -2

                              etc.

                              Nun unter Einbeziehung des Offsets (HKT - EXT + Offset)

                              1)Offset = 0

                              HKT = 20°C

                              EXT = 18°C

                              --> Offset = 18 - 20 + 0 = -2

                              1. Offset = -2

                              HKT = 18°C

                              EXT = 18°C

                              --> Offset = 18 - 18 + (-2) = -2

                              1. Offset = -2

                              HKT = 18°C

                              EXT = 18°C

                              --> Offset = 18 - 18 + (-2) = -2

                              Offset konvergiert hier gegen -2...

                              Grüße

                            1 Reply Last reply Reply Quote 0
                            • T
                              TDCroPower last edited by

                              ! @frostnatt:
                              ! > @TDCroPower:

                              naja der aktuelle Offset ist eigentlich egal solange das Script dauerhaft die Werte regelt.

                              Sobald eine negative Differenz vorhanden ist wird der Offset Wert sowieso überschrieben. `

                              Ohne berücksichtigung des aktuellen Offsets wird das Nichts…

                              Zahlenneispiel:

                              1)Offset = 0

                              HKT = 20°C

                              EXT = 18°C

                              --> Offset = 18 - 20 = -2

                              1. Offset = -2* HKT = 18°C

                                EXT = 18°C

                                –> Offset = 18 - 18 = 0

                                1. Offset = 0

                                HKT = 20°C

                                EXT = 18°C

                                --> Offset = 18 - 20 = -2

                                etc.

                                Nun unter Einbeziehung des Offsets (HKT - EXT + Offset)

                                1)Offset = 0

                                HKT = 20°C

                                EXT = 18°C

                                --> Offset = 18 - 20 + 0 = -2

                                1. Offset = -2

                                HKT = 18°C

                                EXT = 18°C

                                --> Offset = 18 - 18 + (-2) = -2

                                1. Offset = -2

                                HKT = 18°C

                                EXT = 18°C

                                --> Offset = 18 - 18 + (-2) = -2

                                Offset konvergiert hier gegen -2...

                                Grüße

                                du hast glaube ich einen Denkfehler oder meine Theorie falsch verstanden.

                                Es wird der Offset nicht addiert, sondern immer neu beschrieben also die Variable beinhaltet immer das Ergebnis von EXT minus HKT.

                                Natürlich immer nur solange HKT größer als EXT ist. `

                              1 Reply Last reply Reply Quote 0
                              • W
                                Worn last edited by

                                Hallo zusammen,

                                Newbie-Frage, auf welche ich bisher keine Antwort finden konnte. Ich habe das HM-MOD-RPI-PCB Modul am Raspi in Betrieb genommen und kann nun über eine Webseite auf die piVCCU (3) zugreifen und habe dort meine Heizkörper eingerichtet usw. Ich möchte gerne looxer01 Skript verwenden und letztendlich auch eine Anwesenheitskontrolle umsetzen. Alles ist ja wirklich gut dokumentiert, aber ich finde nicht raus, ob und wenn ja welche Adapter zunächst installiert werden müssen. Vielleicht habe ich es überlesen… Ich frage trotzdem:

                                Welche Adapter müssen installiert und konfiguriert sein, damit man mit dem Skript starten kann?`

                                Danke und Grüße

                                Ben

                                1 Reply Last reply Reply Quote 0
                                • T
                                  TDCroPower last edited by

                                  @Worn:

                                  Hallo zusammen,

                                  Newbie-Frage, auf welche ich bisher keine Antwort finden konnte. Ich habe das HM-MOD-RPI-PCB Modul am Raspi in Betrieb genommen und kann nun über eine Webseite auf die piVCCU (3) zugreifen und habe dort meine Heizkörper eingerichtet usw. Ich möchte gerne looxer01 Skript verwenden und letztendlich auch eine Anwesenheitskontrolle umsetzen. Alles ist ja wirklich gut dokumentiert, aber ich finde nicht raus, ob und wenn ja welche Adapter zunächst installiert werden müssen. Vielleicht habe ich es überlesen… Ich frage trotzdem:

                                  Welche Adapter müssen installiert und konfiguriert sein, damit man mit dem Skript starten kann?`

                                  Danke und Grüße

                                  Ben `

                                  hm-repa und hm-rpc für die Anbindung zu piVCCU und für die Anwesenheit ping oder tr-064 oder ähnliches.

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pxstd last edited by

                                    Hey @looxer01 - Heute nochmal was ganz spannendes (von jetzt gerade):

                                    Bildschirmfoto 2019-02-10 um 11.42.28.png

                                    Script Startup Log:

                                    11:40:42.314	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.314	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.314	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.314	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1535:19)
                                    11:40:42.315	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1037:65)
                                    11:40:42.315	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.315	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.315	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Nächste Solltemperatur ist 0 fuer RaumDachboden Raumprofil ist 1
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechnete Current SollTemp ist 0
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechneter Current TimeSlot ist Mo_16:00:00
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechnete Next SollTemp ist 0
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechneter Next Timeslot ist Mo_21:00:00
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ManAdjustments: Manuell Relevant?: true
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: keine ManAdjustments festgestellt fuer Raum Dachboden
                                    11:40:42.315	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.315	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1460:15)
                                    11:40:42.315	[warn]	javascript.0 at ExecuteTempDetermination (script.js.Heizungssteuerung.Heizungssteuerung:1386:25)
                                    11:40:42.315	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:865:13)
                                    11:40:42.315	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.315	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 0 fuer Raum Dachboden Raumprofil ist 1
                                    11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ExecuteTempDetermination: raum DachbodenSolltemp nach Switchtime: 0 Findung Mo_16:00:00
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ExecuteTempDetermination: raum DachbodenSolltemp nach overrule: 0 Findung
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SetTemp: ID updated hm-rpc.0.OEQ1255819.4.SET_TEMPERATURE Raum Dachboden SollTemp = 0
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Setze Schedule für nächste Planzeit 0 0 16 * * * für Raum Dachboden
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine LoopRooms Ende Abarbeitung fuer Raum Dachboden
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung:
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine LoopRooms Starte Abarbeitung fuer Raum Badezimmer
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine LoopDevices: Sensorstatus fuer raum Badezimmer ist false
                                    11:40:42.316	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.316	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1460:15)
                                    11:40:42.316	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1034:68)
                                    11:40:42.316	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.316	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.316	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.316	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 18 fuer Raum Badezimmer Raumprofil ist 1
                                    11:40:42.316	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.316	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1460:15)
                                    11:40:42.316	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1035:68)
                                    11:40:42.316	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.317	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.317	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.317	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.317	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Aktueller Zeitslot ist Mo_16:00:00 fuer RaumBadezimmer Raumprofil ist 1
                                    11:40:42.317	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.317	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1460:15)
                                    11:40:42.317	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1036:65)
                                    11:40:42.317	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.317	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.317	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.317	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.317	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.317	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1535:19)
                                    11:40:42.317	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1036:65)
                                    11:40:42.317	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.317	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.317	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.317	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Nächster Zeitslot ist Mo_21:00:00 fuer RaumBadezimmer Raumprofil ist 1
                                    11:40:42.318	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.318	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1460:15)
                                    11:40:42.318	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1037:65)
                                    11:40:42.318	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.318	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.318	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.318	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.318	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1535:19)
                                    11:40:42.318	[warn]	javascript.0 at ManAdjustments (script.js.Heizungssteuerung.Heizungssteuerung:1037:65)
                                    11:40:42.318	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:863:18)
                                    11:40:42.318	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.318	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Nächste Solltemperatur ist 18 fuer RaumBadezimmer Raumprofil ist 1
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechnete Current SollTemp ist 18
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechneter Current TimeSlot ist Mo_16:00:00
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechnete Next SollTemp ist 18
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine Manadj: errechneter Next Timeslot ist Mo_21:00:00
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ManAdjustments: Manuell Relevant?: false
                                    11:40:42.318	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ManAdjustments: DelayTime fuer Raum Badezimmer ist 0
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: aktuelle Millisekunden 1549795242000
                                    11:40:42.319	[warn]	javascript.0 at DetermineSchedule (script.js.Heizungssteuerung.Heizungssteuerung:1574:30)
                                    11:40:42.319	[warn]	javascript.0 at SelectSwitchTime (script.js.Heizungssteuerung.Heizungssteuerung:1460:15)
                                    11:40:42.319	[warn]	javascript.0 at ExecuteTempDetermination (script.js.Heizungssteuerung.Heizungssteuerung:1386:25)
                                    11:40:42.319	[warn]	javascript.0 at LoopDevices (script.js.Heizungssteuerung.Heizungssteuerung:865:13)
                                    11:40:42.319	[warn]	javascript.0 at LoopRooms (script.js.Heizungssteuerung.Heizungssteuerung:763:13)
                                    11:40:42.319	[warn]	javascript.0 at Object. (script.js.Heizungssteuerung.Heizungssteuerung:419:9)
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Mo
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 18 fuer Raum Badezimmer Raumprofil ist 1
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ExecuteTempDetermination: raum BadezimmerSolltemp nach Switchtime: 18 Findung Mo_16:00:00
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ExecuteTempDetermination: raum BadezimmerSolltemp nach overrule: 18 Findung
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Setze Badezimmer.Source_Global_Parameter zu
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Setze Schedule für nächste Planzeit 0 0 16 * * * für Raum Badezimmer
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine LoopRooms Ende Abarbeitung fuer Raum Badezimmer
                                    11:40:42.319	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung:
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Wohnzimmer.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Schlafzimmer.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine ThermostatChange: Der Raum wurde vor weniger als 1 Sekunde bereits upgedated Aenderung wird ignoriert 0
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Kinderzimmer.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Flur.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Dachboden.Source_last_Program_Run
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Badezimmer.Source_Global_Parameter
                                    11:40:42.323	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Badezimmer.Source_last_Program_Run
                                    

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      @pxstd sagte in [Vorlage] Heizungsthermostatsteuerung 2.1 - Script:

                                      Hey @looxer01 - Heute nochmal was ganz spannendes (von jetzt gerade):

                                      Hi,
                                      mein erster Post im neuen Forum 🙂

                                      ich nehme an, dass du dieses hier meinst:

                                      11:40:42.315	[info]	javascript.0 script.js.Heizungssteuerung.Heizungssteuerung: Routine SelectSwitchTime - Nächste Solltemperatur ist 0 fuer RaumDachboden Raumprofil ist 1
                                      

                                      das kann eigentlich nur dann passieren, wenn du Null-Werte in den Objekte bei den Temps stehen hast.
                                      Schaul da bitte mal nach.

                                      vG Looxer

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

                                        Hi looxer01,

                                        mal eine kleine Frage und ggf. ein Verbesserungsvorschlag:

                                        Besteht die Möglichkeit, eine weitere Boolsche Variable "Manuell Heizung an" (o.ä.) einzuführen?
                                        Diese Variable soll dazu dienen, manuell die Heizung in den Feiertagsmodus zu stellen.

                                        Momentan gibt es so keine Möglichkeit, die Heizung in den Feiertagsmodus zu stellen, ohne das es ein Feiertag ist (und der Feiertagsadapter eingebunden ist) oder man über iCAL "Urlaub_Anwesend" gesetzt hat.

                                        Ist man nun mal einen Tag krank und will nicht in den Google-Kalender (wie meine holde Gattin), fehlt die Möglichkeit, hier den gewünschten Modus manuell zu triggern.

                                        Stelle ich den Datenpunkt für den Feiertag manuell auf true, wird er ruckartig vom Script wieder auf false gesetzt - bringt so als nix.

                                        Ich könnte jetzt im Script diese beiden Zeilen "missbrauchen"

                                        var StateFeiertagHeuteAdapter = "feiertage.0.heute.boolean";
                                        var StateFeiertagMorgenAdapter = "feiertage.0.morgen.boolean";
                                        

                                        aber ein sep. Möglichkeit wäre evtl. sinnvoller.

                                        Gruß,
                                        Eric

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

                                          Gibt es eine einfache Methode, um den Kalender-Eintrag 'Homeoffice' genauso zu behandeln wie 'Urlaub-Anwesend', wobei 'Urlaub-Anwesend' auch noch zur Verfügung stehen soll?

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            looxer01 last edited by

                                            @eric2905 said in [Vorlage] Heizungsthermostatsteuerung 2.1 - Script:

                                            Momentan gibt es so keine Möglichkeit, die Heizung in den Feiertagsmodus zu stellen, ohne das es ein Feiertag ist (und der Feiertagsadapter eingebunden ist) oder man über iCAL "Urlaub_Anwesend" gesetzt hat.

                                            Hi Eric,
                                            na ja es gibt einen workaround.
                                            Wenn du im View ICAL deaktivierst und manuell das Urlaub_Anwesend flag setzt.
                                            bei deaktiviertem ICLA wird das flag nicht zurückgesetzt.

                                            wäre das ok ?

                                            @OstfrieseUnterwegs said in [Vorlage] Heizungsthermostatsteuerung 2.1 - Script:

                                            Gibt es eine einfache Methode, um den Kalender-Eintrag 'Homeoffice' genauso zu behandeln wie 'Urlaub-Anwesend', wobei 'Urlaub-Anwesend' auch noch zur Verfügung stehen soll?

                                            Hi Ostfriese,
                                            Im Moment nicht. Ich nehme das Thema mal mit auf und hoffe, dass es nicht allzu drängend ist.
                                            Ich könnte mir z.B. vorstellen 1-2 Joker einzuführen, die dann genau das machen könnten.
                                            Ist aber ein Stück Arbeit.

                                            vG Looxer

                                            eric2905 OstfrieseUnterwegs 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            878
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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