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.
    • eric2905
      eric2905 last edited by

      Ich würde keine Umlaute nehmen. Die Views werden im Browser über die URL aufgerufen … und da sind Umlaute nicht die beste Wahl.

      Die Ventilstellung müsstest Du selber in der jeweiligen View nachtragen - zumindest müsste ich das (bin seit der Version v0.8x dabei).

      Gruß,

      Eric

      Von unterwegs getippert

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

        Okay, okay - die Raumnamen in der CCU haben allerdings dort schon Umlaute. Aber davon kann der Visname ja abweichen.

        Was hat es mit der Seitenleiste auf sich?

        3277_bildschirmfoto_2018-01-07_um_20.49.34.png

        Hier sind komplett nicht existente Geräte zugewiesen. Soll das so?

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

          Da musst Du manuell die Datenpunkte deines Raumthermostats einfüllen das korrekte Werte kommen. Klicke auf die "NaN" und dann die Object-ID ändern in der Widget Konfig

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

            @apollon77:

            Da musst Du manuell die Datenpunkte deines Raumthermostats einfüllen das korrekte Werte kommen. Klicke auf die "NaN" und dann die Object-ID ändern in der Widget Konfig `

            Okay - das ist also bewusst so wie es ist. Ich dachte man könnte mit einem cleveren Dev-Trick/Funktion die passenden Geräte auswählen.

            1 Reply Last reply Reply Quote 0
            • S
              StefanLue last edited by

              Auch von mir ein zunächst mal ein herzliches Danke für die tolle Arbeit mit dem Script.

              Eine simple (?) Frage:

              Mein Wandthermostat HM-TC-IT-WM-W-EU wird in enum.functions (wie auch in der CCU) als "Klima" geführt. Die Heizkörperthermostate als "Heizung".

              Wie kann ich das vereinheitlichen um alle im Script bei var HeizungGewerk zu berücksichtigen?

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

                Moin,

                die Aufteilung der Geräte aus die Gewerke findet auf der CCU statt.

                Dort die Zuordnung ändern und dann den hm-rega neu starten (ggf. musst Du dann noch die enum.functions „aufräumen“, falls der rega-Adapter das nicht automatisch macht).

                Gruß,

                Eric

                Von unterwegs getippert

                1 Reply Last reply Reply Quote 0
                • S
                  StefanLue last edited by

                  Danke. War etwas versteckt in der CCU…

                  1 Reply Last reply Reply Quote 0
                  • S
                    swordfisch last edited by

                    Schöne Sache aber irgendwie komme ich nicht klar

                    immer wenn ich das Script starte kommt diese meldung im LOg

                    ! javascript.0 2018-01-09 22:09:40.129 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                    ! javascript.0 2018-01-09 22:09:40.129 warn at LoopRooms (script.js.common.Heizungssteuerung:754:5)
                    ! javascript.0 2018-01-09 22:09:40.129 warn at setOwnState (script.js.common.Heizungssteuerung:482:5)
                    ! javascript.0 2018-01-09 22:09:40.126 warn State "javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run" not found
                    ! javascript.0 2018-01-09 22:09:40.123 info script.js.common.Heizungssteuerung: Heizungsscript verarbeitung benutzt Trigger und Events
                    ! javascript.0 2018-01-09 22:09:38.124 info script.js.common.Heizungssteuerung: registered 0 subscriptions and 0 schedules
                    ! javascript.0 2018-01-09 22:09:38.123 info script.js.common.Heizungssteuerung: Routine GetDevices Devices initialisiert
                    ! javascript.0 2018-01-09 22:09:38.070 info Start javascript script.js.common.Heizungssteuerung

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

                      @swordfisch:

                      immer wenn ich das Script starte kommt diese meldung im LOg `

                      Hi,

                      das script kann keine Geräte einlesen. In den meisten Fällen liegt es an Raum/Gewerkezuordnung.

                      Dazu gab es ja einige posts hier im Thread -ein wenig weiter oben-

                      (Einstellung im Script, Einstellung in der CCU, Check die Aufzählungen in ioBroker etc)

                      Schau dir das mal an.

                      Ich kenne allerdings auch deine Einstellungen nicht. Könnte ja sein, dass du NICHT-HM Geräte verwendest, In dem Fall müssen aber trotzdem die Räume in den Aufzählungen vorhanden sein.

                      vG Looxer

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

                        Hallo zusammen!

                        Ich wollte mich zurückmelden und erstmal ein Lob aussprechen:

                        Danke loxxer! Tolles Script und alles funktioniert wie es soll.

                        Einen Zusammenhang verstehe ich allerdings noch nicht:

                        Ich habe im EG einen Raum aus Homematic Wandthermostat und 2 Heizungsaktoren.

                        Was wird im Vis "Heizung_Wohnzimmer" jetzt angesteuert?

                        Die Geräte haben eine Direktverknüpfung via HM, aber was steuert das Script an, wenn ich Temperaturen verändere?

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

                          @pxstd:

                          ch habe im EG einen Raum aus Homematic Wandthermostat und 2 Heizungsaktoren.

                          Was wird im Vis "Heizung_Wohnzimmer" jetzt angesteuert?

                          Die Geräte haben eine Direktverknüpfung via HM, aber was steuert das Script an, wenn ich Temperaturen verändere? `

                          Hi,

                          kommt auf deine Einstellungen an. Es gibt eine Spalte bei der Thermostat Tabelle. Direktverknuepft true/false

                          Wenn auf True, dann sucht das Script die Wandthermostate. Wenn es keines findet, dann nimmt es die Heizkörperthermostate.

                          Wenn nicht-direktverknuepft, dann synchronisiert das Script alle Thermostate. (Simulation der Gruppenfunktion)

                          also in Short,

                          • Wenn DV, dann wird nur ein Thermostat eines Raumes angesteuert

                          • Wenn nicht DV, dann werden alle Geräte eines Raumes synchronisiert (Gruppenfunktion Simulation)

                          vG Looxer

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

                            @looxer01:

                            Es gibt eine Spalte bei der Thermostat Tabelle. `
                            Wo das? In den Objekten?

                            Die Frage resultiert daraus, dass ich ständig eine manuell gesetzte Temperatur im Wohnzimmer habe, die ich mir nicht erklären kann:

                            Heizprogramm in der CCU2 steht durchgehend auf 17°C

                            3277_bildschirmfoto_2018-01-10_um_10.07.59.png
                            3277_bildschirmfoto_2018-01-10_um_10.13.25.png

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

                              @pxstd:

                              Wo das? In den Objekten? `

                              Nein, im Script in der Thermostattype-Tab im Bereich der Einstellungen.

                              Dort sind alle Geräte gelistet. Check das bitte mal was zu deinen Thermostaten passt ?

                              Welche hast du ?

                              vG Looxer

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

                                Im Wohnzimmer habe ich HM-TC-IT-WM-W-EU an der Wand und HM-CC-RT-DN an den Heizkörpern.

                                Script sagt:

                                ! var ThermostatTypeTab = [];
                                ! // 0.RPC-Pfad 1.GeraeteType 2. Beschreibung, 3. Type 4.DP-SollTemp 5.nicht verwendet ID 6.DP MANU/AUTO Schaltung 7.Steuerung DV 8. IstTemp 9-Check-MANU-Mode 10-Ventilstellung wenn nicht Heizperiode 11. Delay nach Verschluss zu
                                ! ThermostatTypeTab[0] = ['hm-rpc.0.', 'HM-TC-IT-WM-W-EU', 'Wandthermostat (neu)' ,'WT', '2.SET_TEMPERATURE' , false, '2.MANU_MODE', true, '1.TEMPERATURE', '2.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[1] = ['hm-rpc.0.', 'HM-CC-TC' , 'Wandthermostat (alt)' ,'WT', '2.SETPOINT' , false, false, false, '1.TEMPERATURE', false, 12, 0];
                                ! ThermostatTypeTab[2] = ['hm-rpc.0.', 'HM-CC-RT-DN' , 'Heizkoerperthermostat(neu)' ,'HT', '4.SET_TEMPERATURE' , false, '4.MANU_MODE', true, '4.ACTUAL_TEMPERATURE', '4.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[3] = ['hm-rpc.1.', 'HmIP-eTRV' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[4] = ['hm-rpc.1.', 'HmIP-eTRV-2' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[5] = ['hm-rpc.1.', 'HmIP-WTH' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[6] = ['hm-rpc.1.', 'HmIP-WTH-2' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[7] = ['hm-rpc.1.', 'HmIP-STH' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
                                ! ThermostatTypeTab[8] = ['hm-rpc.1.', 'HmIP-STHD' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];

                                Sollte also (eigentlich) passen. Ich weiß nur nicht woher die Temperatur kommt 😄

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

                                  @pxstd:

                                  Im Wohnzimmer habe ich HM-TC-IT-WM-W-EU an der Wand und HM-CC-RT-DN an den Heizkörpern. `

                                  kannst du bitte mal im Script debug = true setzen , das script laufen lassen und das Ergebnis posten ?

                                  vG Looxer

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

                                    bitte sende das Log auf jeden Fall.

                                    ABER

                                    mir ist noch was aufgefallen. 17 Grad ist die minimaltemp und die Parameter stehen auf Abwesend.

                                    Absenkung Abwesenheit steht auf 3 Grad. Vielleicht gibt es noch ein Problem mit der Minimaltemperatur.

                                    Nachdem du das Log gezogen hast teste bitte nochmal eine geringere Absenkung.

                                    Könnte sein, dass die Minimaltemp hier als manuelle temp einschlägt - wäre ein Bug.

                                    vG Looxer

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      booehmemaik last edited by

                                      Hi ,

                                      danke erstmal für die zweite Version des Skriptes.

                                      Bei mir verhält es sich auch so, ich hab sporadisch die Situation das bei einzelnen Räumen die Solltemperatur nicht wie im Zeitplan gesetzt ,gesetzt wird.

                                      Auch bei mir steht es einfach mal auf 17 Grad, siehe Bild.

                                      3916_heizung_solltemp_issue.jpg

                                      Selbes verhalten hatte ich aber auch beim Skript version 1

                                      Wäre es möglich, das die Felder in der Tabelle vom Zeitplan im Skript vertauscht wurden und sich die Werte aus der falschen Tabelle holt bzw vom falschen Raum ?

                                      bei mir handelt es sich um NonHM Thermostate (Max e-Q3)

                                      Gruß

                                      Maik

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

                                        Hi,

                                        @booehmemaik:

                                        Selbes verhalten hatte ich aber auch beim Skript version 1 `
                                        na ja, schon ein wenig anders.

                                        Deine SollTemperatur für den Mittwoch 20:00 Slot ist als 17 Grad geplant. Möglicherweise liest du die Spalten falsch.

                                        Bis 20:00 = 17 Grad - so ist es zu lesen

                                        ich sehe auch, dass du für die Absenkungen Minuswerte angegeben hast. Das heisst aber, dass du eine TempAnhebung definiert hast.

                                        (hat aber nichts mit den Manuellen Temps zu tun)

                                        Auch bei dir würde ich gerne sehen was die Logs zeigen, wenn du IM Script auf debug = true gestellt hast.

                                        vG Looxer

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

                                          Hi looxer01,

                                          @looxer01:

                                          @eric2905:

                                          Bekomme folgende Meldung ins Log (die unteren 3 Warn-Zeilen):

                                          Code: Alles auswählen

                                          ….

                                          14:16:18.971 [warn] javascript.0 at SetEventGlobalParameter (script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02:1654:9)

                                          14:16:18.971 [warn] javascript.0 at LoopRooms (script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02:755:5)

                                          14:16:18.971 [warn] javascript.0 at Object. (script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02:419:9)

                                          …. Scheint was mit den globalen Events nicht zu passen.
                                          komme erst jetzt dazu, dem mal nachzugehen … und DU hattest recht.

                                          Ich hatte bei einem Even (Urlaub_Abwesend) ein Leerzeichen hinten dran ... und das passte natürlich nicht.

                                          Jetzt rennt es ohne WARNs.

                                          Gruß,

                                          Eric

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            swordfisch last edited by

                                            @looxer01:

                                            Hi,

                                            das script kann keine Geräte einlesen. In den meisten Fällen liegt es an Raum/Gewerkezuordnung.

                                            Dazu gab es ja einige posts hier im Thread -ein wenig weiter oben-

                                            (Einstellung im Script, Einstellung in der CCU, Check die Aufzählungen in ioBroker etc)

                                            Schau dir das mal an.

                                            Ich kenne allerdings auch deine Einstellungen nicht. Könnte ja sein, dass du NICHT-HM Geräte verwendest, In dem Fall müssen aber trotzdem die Räume in den Aufzählungen vorhanden sein.

                                            vG Looxer `

                                            Verwende Hauptsächlich Homematic geräte bzw bis jetzt einen HK-Thermostat ein Wandthermostat und einen optischen Fensterkontakt und würde versuchen wenn es denn dann läuft xiaomi fenster sensoren zu intergrieren Thermostate werden es auch noch ein paar mehr werden war halt erstmal zum testen

                                            Jetzt bin ich schon ein bissel weiter

                                            ! javascript.0 2018-01-10 20:11:39.037 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                                            ! javascript.0 2018-01-10 20:11:39.037 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
                                            ! javascript.0 2018-01-10 20:11:39.037 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
                                            ! javascript.0 2018-01-10 20:11:39.037 warn at ManAdjustments (script.js.common.Heizungssteuerung:1037:65)
                                            ! javascript.0 2018-01-10 20:11:39.037 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1535:19)
                                            ! javascript.0 2018-01-10 20:11:39.037 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
                                            ! javascript.0 2018-01-10 20:11:39.037 warn State "feiertage.0.morgen.boolean" not found
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at ManAdjustments (script.js.common.Heizungssteuerung:1037:65)
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
                                            ! javascript.0 2018-01-10 20:11:39.036 warn State "feiertage.0.morgen.boolean" not found
                                            ! javascript.0 2018-01-10 20:11:39.036 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                                            ! javascript.0 2018-01-10 20:11:39.035 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
                                            ! javascript.0 2018-01-10 20:11:39.035 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
                                            ! javascript.0 2018-01-10 20:11:39.035 warn at ManAdjustments (script.js.common.Heizungssteuerung:1036:65)
                                            ! javascript.0 2018-01-10 20:11:39.035 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1535:19)
                                            ! javascript.0 2018-01-10 20:11:39.035 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
                                            ! javascript.0 2018-01-10 20:11:39.035 warn State "feiertage.0.morgen.boolean" not found
                                            ! javascript.0 2018-01-10 20:11:39.034 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                                            ! javascript.0 2018-01-10 20:11:39.034 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
                                            ! javascript.0 2018-01-10 20:11:39.034 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
                                            ! javascript.0 2018-01-10 20:11:39.034 warn at ManAdjustments (script.js.common.Heizungssteuerung:1036:65)
                                            ! javascript.0 2018-01-10 20:11:39.034 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
                                            ! javascript.0 2018-01-10 20:11:39.034 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
                                            ! javascript.0 2018-01-10 20:11:39.034 warn State "feiertage.0.morgen.boolean" not found
                                            ! javascript.0 2018-01-10 20:11:39.033 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                                            ! javascript.0 2018-01-10 20:11:39.033 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
                                            ! javascript.0 2018-01-10 20:11:39.033 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
                                            ! javascript.0 2018-01-10 20:11:39.033 warn at ManAdjustments (script.js.common.Heizungssteuerung:1035:68)
                                            ! javascript.0 2018-01-10 20:11:39.033 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
                                            ! javascript.0 2018-01-10 20:11:39.033 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
                                            ! javascript.0 2018-01-10 20:11:39.033 warn State "feiertage.0.morgen.boolean" not found
                                            ! javascript.0 2018-01-10 20:11:39.031 warn at Object. (script.js.common.Heizungssteuerung:419:9)
                                            ! javascript.0 2018-01-10 20:11:39.031 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
                                            ! javascript.0 2018-01-10 20:11:39.031 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
                                            ! javascript.0 2018-01-10 20:11:39.031 warn at ManAdjustments (script.js.common.Heizungssteuerung:1034:68)
                                            ! javascript.0 2018-01-10 20:11:39.031 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
                                            ! javascript.0 2018-01-10 20:11:39.031 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
                                            ! javascript.0 2018-01-10 20:11:39.028 warn State "feiertage.0.morgen.boolean" not found
                                            ! javascript.0 2018-01-10 20:11:39.023 info script.js.common.Heizungssteuerung: Heizungsscript verarbeitung benutzt Trigger und Events
                                            ! javascript.0 2018-01-10 20:11:37.022 info script.js.common.Heizungssteuerung: registered 2 subscriptions and 0 schedules
                                            ! javascript.0 2018-01-10 20:11:37.022 info script.js.common.Heizungssteuerung: Routine GetDevices Devices initialisiert
                                            ! javascript.0 2018-01-10 20:11:37.018 info script.js.common.Heizungssteuerung: Routine GetDevices fuer HM Sensoren Wohnzimmer_Heizun - Wohnzimmer_Heizun,hm-rpc.0.MEQ0951131.1.STATE,HM-Sec-SCo,Fensterkontakt Zimmer:1.STATE,hm-rpc.0.MEQ0951131,
                                            ! javascript.0 2018-01-10 20:11:37.009 info script.js.common.Heizungssteuerung: Routine GetDevices fuer HM Thermostate Wohnzimmer_Heizun - hm-rpc.0.,HM-CC-RT-DN,Heizkoerperthermostat(neu),HT,4.SET_TEMPERATURE,false,4.MANU_MODE,true,4.ACTUAL_T
                                            ! javascript.0 2018-01-10 20:11:36.949 info Start javascript script.js.common.Heizungssteuerung

                                            ! 3690_unbenannt.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            479
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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