Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorlage] Heizungsthermostatsteuerung - Script

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

      Sieht wirklich gut aus und hat so wie ich das sehe alle Funktionen wie das Script das auf der CCU läuft.

      Habe mal versucht das für einen Raum zu testen.

      Leider passiert garnichts. Es werden keine Variablen angelegt.

      Habe den Debugmodus mal angeschaltet. Im Log steht dann folgendes

      javascript.0	2017-04-13 15:03:23.489	info	script.js.Heizung: registered 0 subscriptions and 1 schedule
      javascript.0	2017-04-13 15:03:23.488	info	script.js.Heizung: schedule(cron=*/5 * * * *)
      javascript.0	2017-04-13 15:03:23.486	warn	State "javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run" not found
      javascript.0	2017-04-13 15:03:23.485	info	script.js.Heizung: Devices initialisiert
      javascript.0	2017-04-13 15:03:23.392	info	script.js.Heizung: getEnums(enumName=rooms) => [{"id":"enum.rooms.Wohnzimmer","members":["hm-rpc.0.LEQ0400973.4","hm-rpc.0.LEQ0400973.1","hm-rpc.0.LEQ0593850.1","hm-rpc.0.LEQ0593850.3","hm-rpc.0.LEQ0
      javascript.0	2017-04-13 15:03:23.385	info	Start javascript script.js.Heizung 
      

      Mehr steht im Logfile nicht. Eventuell kannst du mir sagen wo ich da suchen muss.

      Gruß Norbert

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

        Hi,

        Welche Thermostattypen nutzt du ? (HM-IP ist noch nicht richtig konfiguriert, da ich solche Geräte nicht habe.

        Wenn jemand aber IP hat, dann kann ich das noch hinzufügen (konfigurieren nur)

        bitte überprüfe die folgenden Punkte:

        • es gibt zwei Gewerke in den Einstellungen. Die musst du auf jeden Fall dort hinterlegen

        • Die Geräte aus der CCU müssen dem Gewerk und Raum zugeordnet sei. Bitte in der CCU überprüfen

        • Sind die Räume in den Aufzählungen identisch zu den CCU Räumen ?

        Wenn du keine manuellen Einstellungen bei den Räumen in ioBroker vorgenommen hast, kannst du alle Räume aus den Aufzählungen

        löschen und den RegaAdapter neu starten. Danach ist alles 100% ig Synchron

        Hier ist die Stelle wo die Thermostate rausgefiltert werden:

        $('channel[state.id=*.'+ThermostatTypeTab[x][4]+'] (rooms='+roomName+') (functions='+HeizungGewerk+') ').each(function (id, i) {

        Bedingung 1 = Der Thermostattype muss konfiguriert sein. Diese sind konfiguriert: HM-TC-IT-WM-W-EU, 'HM-CC-TC, HM-CC-RT-DN

        Bedingung 2 = Das Gerät muss einem Raum zugeordnet sein und der Raum muss in den Aufzählungen fehlerfrei enthalten sein

        Bedingung 3 = Das Gerät muss dem Gewerk zugeorndet sein, dass im Programm eingestellt wird:

        Wenn alles korrekt ist, dann muss es funktionieren

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • N
          nobse last edited by

          So Problem ist gelöst.

          Die Gewerke waren auf der CCU richtig angelegt. Im ioBroker aber fehlerhaft Importiert. Hier waren falsche Namen vorhanden. Ist wohl ein alter Fehler den ich bis jetzt nicht korigiert hatte.

          Nun werden erstmal alle Variablen angelegt.

          Dann kann ich jetzt weiter testen.

          1 Reply Last reply Reply Quote 0
          • N
            nobse last edited by

            Das erste Thermostat habe ich nun umgestellt und es funktioniert super.

            Allgemeine Anmerkungen zum View

            • Datumsanzeigen im Deutschen Format

            • Temperatur immer mit Kommer und eine Nachkommerstelle anzeigen

            Die var VerschlussAbsenkungsGrenze sollte eventuell auch im View eingestellt werden.

            Die neuen Thermostate erkennen ja einen schnellen Temperaturabfall selber als Fenster offen. Wird da auch die var VerschlussAbsenkungsGrenze benutzt und wie lange ist die dann wirksam?

            Bei Heizperiode aktiv = aus sollten dann die Thermostate alle auf 100% gefahren werden um dann über den Sommer die Thermostate zu schonen.

            Bei jeden lauf des Scriptes wird ja immer die Function CreateStates aufgerufen um die Variablen anzulegen. Hier sollte man versuchen dieses nur ein mal zu machen. Ist bestimmt dann auch schneller.

            Hast da wirklich eine Super Arbeit geleistet. Vielen Dank.

            Ich teste weiter.

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

              …freut mich, dass es soweit bei dir klappt.

              Nun zu deinen Punkten:

              • Datumsanzeigen im Deutschen Format

              da gibt es eines - letzter Programmlauf - nehme ich mal auf

              • Temperatur immer mit Kommer und eine Nachkommerstelle anzeigen

              das liegt am Widget. Ich habe dieses Widget set gewählt, weil es touch bedienbar ist.

              • Die var VerschlussAbsenkungsGrenze sollte eventuell auch im View eingestellt werden.

              ****die ist standardmaessig auf 12 Grad wie auch bei der CCU. Dies sollte über alle Thermostate und dem Script synchronsiert sein. Dann

              gibt es kein Problem****

              • Die neuen Thermostate erkennen ja einen schnellen Temperaturabfall selber als Fenster offen. Wird da auch die var VerschlussAbsenkungsGrenze

              benutzt und wie lange ist die dann wirksam?

              ich habe das nicht getestet. Sensoren sind auf jeden Fall die bessere Wahl. Wenn das Thermostat auf 12 Grad geht und nach z.B. 15 Minuten wieder auf Normaltemperatur sollte es keine Probleme geben ( die Dauer z.B. 15 kann in der CCu eingestellt werden )

              • Bei Heizperiode aktiv = aus sollten dann die Thermostate alle auf 100% gefahren werden um dann über den Sommer die Thermostate zu schonen.

              das kann eingestellt werden und steht auf 30 Grad . 100 geht in ioBroker nicht

              • Bei jeden lauf des Scriptes wird ja immer die Function CreateStates aufgerufen um die Variablen anzulegen. Hier sollte man versuchen dieses nur ein

              mal zu machen. Ist bestimmt dann auch schneller.

              ****das ist nicht so. Die States werden nur einmal ausgelesen und das ist bei Programmstart. Im Schedule werden die States nicht mehr gecheckt.

              Darum muss auch bei neuen Thermostaten das Programm neu gestartet werden, damit es diese erkennt. Eine merkliche Performance Anforderung ist

              ohne nur dann vorhanden, wenn neue States angelegt werden müssen****

              vG Looxer

              1 Reply Last reply Reply Quote 0
              • N
                nobse last edited by

                ` > - Bei Heizperiode aktiv = aus sollten dann die Thermostate alle auf 100% gefahren werden um dann über den Sommer die Thermostate zu schonen.

                das kann eingestellt werden und steht auf 30 Grad . 100 geht in ioBroker nicht `

                Bei Heizperiode aktiv = aus muss die Ventielstellung auf 100 % gesetz werden das sollte 4.valve_state sein.

                Alles ander tasten wir uns dann mal ran.

                Wünsche euch ein schönes Osterfest.

                Gruß Norbert

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

                  @nobse:

                  … Ventielstellung auf 100 % gesetz werden das sollte 4.valve_state sein. `
                  VALVE_STATE ist "read only" !

                  1 Reply Last reply Reply Quote 0
                  • N
                    nobse last edited by

                    OK

                    muss aber gehen.

                    Wenn ich in der CCU Heizperiode auf false setze werden alle Thermostate auf ventilstellung 100% gefahre.

                    Muss mir noch mal das CCU Script ansehen was da genau passiert.

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

                      in der CCU können 0 und 100 gesetzt werden. In ioBoker nicht.

                      es gab auch mal eine Meldung dazu:

                      http://forum.iobroker.net/viewtopic.php … 100#p62099

                      1 Reply Last reply Reply Quote 0
                      • N
                        nobse last edited by

                        Hallo

                        habe bei mir das Feiertagsscript installiert und var UseFeiertagskalender = true; gesetzt.

                        feiertage.0.heute.boolean ist true

                        Es wird aber nicht die Einstellung für Feiertag verwendet sondern die für Freitag.

                        Ist das bei euch auch so?

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

                          Hast du evt bei feiertag,Sonntag und Samstag im view den tick “wie Vortag“ gesetzt?

                          Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                          1 Reply Last reply Reply Quote 0
                          • N
                            nobse last edited by

                            Nein habe ich nicht.

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

                              Hi,

                              Feiertage wurden nicht erkannt. Fehler ist gefixt.

                              Wird gleich hochgeladen.

                              vG Looxer

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

                                Version 0.72 ist hochgeladen.

                                Fixes:

                                // Version 0.72 14.04.2017 - Feiertag wurde nicht korrekt erkannt

                                // ….......................Datumsformat für die Anzeige "letzter Programmlauf im View" wurde auf DDMMYYYY umgestellt

                                // ..........................Das Feiertagsflag vom Feiertagsadapter wird synchronisiert mit dem Feiertagsflag der Heizungssteuerung

                                //...........................Das Anwesenheitsflag von der Anwesenheitsfunktion wird synchronisiert mit dem Feiertagsflag der Heizungssteuerung

                                vG Looxer

                                1 Reply Last reply Reply Quote 0
                                • N
                                  nobse last edited by

                                  Vielen Dank!

                                  Jetzt klappt es Super.

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

                                    @nobse:

                                    So Problem ist gelöst.

                                    Die Gewerke waren auf der CCU richtig angelegt. Im ioBroker aber fehlerhaft Importiert. Hier waren falsche Namen vorhanden. Ist wohl ein alter Fehler den ich bis jetzt nicht korigiert hatte.

                                    Nun werden erstmal alle Variablen angelegt.

                                    Dann kann ich jetzt weiter testen. `

                                    Hallo,

                                    wie hast du diesen Fehler korrigiert?

                                    Bei mir steht immer dieses $-Zeichen davor. Wenn ich es lösche, kommt es nach einer Weile wieder.

                                    Bekomme dann immer eine Fehlermeldung vom Script.

                                    javascript.0 script.js.Haus.Heizungsthermostatsteuerung: TypeError: $(…).each is not a function at getDevices (script.js.Haus.Heizungsthermostatsteuerung:296:114) at script.js.Haus.Heizungsthermostatsteuerung:249:1

                                    Frohe Ostern!

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

                                      @Superdad:

                                      wie hast du diesen Fehler korrigiert?

                                      Bei mir steht immer dieses $-Zeichen davor. Wenn ich es lösche, kommt es nach einer Weile wieder.

                                      Bekomme dann immer eine Fehlermeldung vom Script. `

                                      Hi,

                                      hast du denn die letzte Version aus dem ersten post hochgeladen ?

                                      Der Code nach den Einstellungen sollte nicht geändert werden.

                                      vG Looxer

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        nobse last edited by

                                        Hallo Superdad

                                        ich bin wie folgt vorgegangen

                                        • in der CCU habe ich die Gewerke Editiert und dann mit gleichem Namen abgespeichert

                                        • in ioBroker dann HM-REGA einmal aktualisiert

                                        • danach waren die Gewerke mit dem richtiegen Namen vorhanden

                                        • dann die alten löschen

                                        So hat es bei mir funktioniert.

                                        Gruß Norbert

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

                                          Habe es auch so gemacht.

                                          In der CCU gibt es z.Bsp. das Gewerk Heizung und Verschluss.

                                          In IoBroker heisst das aber ${funcHeating}.

                                          Habe das per Hand umbenannt.

                                          Dann kommt im Script die Meldung:

                                          javascript.0 script.js.Haus.Heizungsthermostatsteuerung: TypeError: Cannot read property 'common' of undefined at sandbox.getEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1871:56) at script.js.Haus.Heizungsthermostatsteuerung:246:9

                                          Also IoBroker neu starten und die Fehlermeldung ist weg.

                                          Aber unter enum.functions steht dann wieder ${funcHeating}, zusätzlich zum Gewerk Heizung.

                                          Das Gleiche gilt für Räume.

                                          Und dann kommt wieder die Fehlermeldung:

                                          javascript.0 script.js.Haus.Heizungsthermostatsteuerung: TypeError: $(…).each is not a function at getDevices (script.js.Haus.Heizungsthermostatsteuerung:296:114) at script.js.Haus.Heizungsthermostatsteuerung:249:1

                                          Was meinst du mit Gewerke editiert?

                                          Frohe Ostern!

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

                                            @Superdad:

                                            In der CCU gibt es z.Bsp. das Gewerk Heizung und Verschluss.

                                            In IoBroker heisst das aber ${funcHeating}.

                                            Habe das per Hand umbenannt. `

                                            Hi,

                                            falls du keine eigenen Gewerke/Räume in IoBroker eingerichet hast, dann empfehle ich dir einen Neusynch.

                                            Lösche die Funktionen und Räume aus den Aufzählungen und restarte den REGA Adapter. (knopf "neuladen")

                                            Dann sollte alles gut sein.

                                            vG Looxer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            34
                                            313
                                            74509
                                            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