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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung - Script

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

      Hallo

      also melde dich an der CCU an

      • gehe auf Einstellungen -> Gewerke

      • unten rechts Gewerkeliste Bearbeiten klicken

      • ändere von einem Gewerk einfach mal den Namen auf der linken Seite der Tabelle und schliessen

      • dann gehst du in den ioBroker Asdmin -> Instanzen

      • hier klickst du bei hm-rega auf neu Laden

      • jetzt sollte unter Aufzählungen -> enum.functions das geänderte Gewerk auch angezeigt werden

      Versuche das mal abzuarbeiten.

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

        so sieht es bei mir aus:
        305_gewerke.jpg

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

          Das funktioniert auch so.

          Habe dann das geänderte Gewerk drin.

          Aber die Gewerke mit $ bleiben auch drin. Wo kommen die her?

          @looxer01

          Bei mir sieht es auch so aus, plus der engl. Bezeichnung mit $.

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

            Das kannst du jetzt für alle Gewerke und Räume in der CCU machen.

            Und das aktualisieren im ioBroker nicht vergessen.

            Dann kannst du im ioBroker alle Gewerke und Räume die mit $ anfangen löschen. Die kommen dann nicht wieder.

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

              … es gibt eine neue Version (aktuell ist 0.72 - neu ist 0.74)

              changelog:

              // Version 0.73 14.04.2017 - Ueberfluessige LogEintraege entfernt

              // Version 0.74 15.04.2017 - Voreinstellung geaendert - annahme ist, dass mit direkten Verknuepfungen gearbeitet wird. Wenn nicht, dann muss die ThermostatTypeTab angepasst werden (Flag zentrale Steuerung)

              • Aenderung ist nur eine Einstellung in der ThermostabTypeTab

              Ich hatte die Voreinstellungen in der ThermostabTypeTab gewählt, dass keine Direktverknuepfungen vorausgesetzt wurden (zentrale Steuerung für die neuen Thermostate war auf false). Das kann aber zu Konflikten führen, wenn doch mit Direktverknuepfungen gearbeitet wird.

              Also wird jetzt beispielsweise immer ein vorhandenes Wandthermostat eingelesen nicht aber die direkt Heizkoerperthermostate.

              Falls es mehrere (neue) Heizkoerperthermostate gibt, dann wird immer nur ein Thermostat eingelesen.

              vG Looxer

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

                Hallo looxer01,

                bin gerade dabei dein Script zu probieren.

                muß bei "var ThermostatTypeTab = [0];" eine Auswahl getroffen werden z.B. 0 eingetragen, weil bei mir das Wandthermostat die Befehle durch Direktverknüpfungen an alle anderen im Raum verteilt ?

                Und bei "var RoomList = [0];" habe ich jetzt auch eine 0 stehen weil ich als erstes mal das Schlafzimmer allein probieren möchte.

                Danke für Dein großartiges Engagement und das teilen Deines Wissens.

                Sebastian

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

                  Hi,

                  Im Grunde muss fast nichts konfiguriert werden. Auch nichts an der Thermostagtypetab - verwende die version 0.74

                  Die Gewerke sind wichtig und ja die roomlist, wenn du raum für raum vorgehen möchtest

                  Die Roomlist sieht so aus für dich:

                  var UseRoomList = true;

                  var RoomList = [];

                  RoomList[0] = ['Schlafzimmer'];

                  vG Looxer

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

                    Und die anderen RoomList mit // auskommentieren?

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

                      Ja genau

                      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                        Eine Bitte habe ich noch was gerade aufgefallen ist.

                        Ich habe andere Fenstersensoren verbaut, die nicht in der Liste auftauchen.

                        HM-Sec-RHS

                        HM-Sec-SC-2

                        kannst du die noch nachpflegen im Script?

                        Sebastian

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

                          @looxer01

                          Erstmal vielen Dank für dein Programm und deine Hilfe.

                          Habe es jetzt mit den Räumen und Gewerken hinbekommen.

                          Bekomme aber folgende Fehlermeldung:

                          javascript.0 TypeError: Cannot read property 'toString' of undefined at writelog (script.js.Haus.Heizungsthermostatsteuerung:1457:60) at LoopDevices (script.js.Haus.Heizungsthermostatsteuerung:507:17) at SensorChange (script.js.Haus.Heizungsthermostatsteuerung:603:5) at Object. (script.js.Haus.Heizungsthermostatsteuerung:373:25) at Object.subs.callback (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48) at /volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48 at getObjectEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3237:17) at getObjectEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3256:28) at getObjectEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3256:28) at checkPatterns (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17)

                          Desweiteren habe ich vier Ausrufezeichen am Rand bei Skripte.

                          Zweimal Don´t make functions within a loop Zeile 319 und Zeile 372

                          Einmal ì is already defined Zeile 351

                          Einmal x is already defined Zeile 353

                          Und bei Zeile 401 too many errors 26% scanned

                          Frohe Ostern!

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

                            @Superdad:

                            Erstmal vielen Dank für dein Programm und deine Hilfe.

                            Habe es jetzt mit den Räumen und Gewerken hinbekommen.

                            Bekomme aber folgende Fehlermeldung: `

                            ok, erstmal gut.

                            Die Fehlermeldung ist mal nicht so gut. Hast du den Parameter var LogFlag auf true ?

                            wenn ja, dann stelle ihn bitte mal auf false und teste nochmal.

                            Die untenstehenden Meldungen kannst du ignorieren.

                            Zweimal Don´t make functions within a loop Zeile 319 und Zeile 372

                            Einmal ì is already defined Zeile 351

                            Einmal x is already defined Zeile 353

                            Und bei Zeile 401 too many errors 26% scanned

                            vG Looxer

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

                              @webseb79:

                              Ich habe andere Fenstersensoren verbaut, die nicht in der Liste auftauchen.

                              HM-Sec-RHS

                              HM-Sec-SC-2

                              kannst du die noch nachpflegen im Script? `

                              kannst du bitte die beiden Zeilen hinzufügen und testen, ob es bei dir so funktioniert ?

                              SensorTypeTab[3] = ['hm-rpc.0.', 'HM-Sec-RHS', 'Fenster-Drehgriffkontakt' , 'HM', '1.STATE' , 10 ];

                              SensorTypeTab[4] = ['hm-rpc.0.', 'HM-Sec-SC-2' , 'Fenstersensor-2 (alt)' , 'HM', '1.STATE' , 10 ];

                              Bitte sag mir dann Bescheid. Wenn alles ok, dann nehme ich die Zeilen auf.

                              vG Looxer

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

                                var LogFlag = false;

                                So ist es eingestellt.

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

                                  kannst du bitte debug auf true stellen und das Programm laufen lassen bis es zum Fehler kommt und mir das log zusenden ?

                                  EDIT: bitte probiere mal folgendes aus und füre das statement "var Source_CurrentSollTemp;" ein.

                                  Die Position befindet sich unterhalb der Experten Einstellungen

                                  var Source_Profil;
                                  var Source_ICALEvent;
                                  var Source_ManualAdjustment;
                                  var Source_GlobalParameter;
                                  var Source_ProfilParameter;
                                  var Source_SchedulePoint;
                                  var Source_LastTemp;
                                  var Source_Timestamp;
                                  var Source_CurrentSollTemp;
                                  var Source_last_Program_Run;
                                  var Source_ManTempSet;
                                  var Source_CurrentSollTemp;
                                  
                                  

                                  vG Looxer

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

                                    Guten Morgen,

                                    habe die beiden Sensortypen eingepflegt.

                                    Der SC-2 funktioniert , hat ja auch die gleichen false / true Ergebnisse wie die anderen schon vorhandenen Sensoren.

                                    Beim RHS geht es nicht.

                                    Der hat folgende Rückmeldungen: geschlossen = 0 , offen = 2 , gekippt = 1

                                    Auch die Log Texte passen nicht.

                                    Gruß Sebastian

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

                                      @webseb79:

                                      Der hat folgende Rückmeldungen: geschlossen = 0 , offen = 2 , gekippt = 1 `
                                      ok, danke. Den Sensor habe ich nicht. Daher ist es noch nicht implementiert.

                                      Aber ich werde das einfach übersetzen. > 0 = true und 0 = false

                                      Ich mache heute noch eine Version 0.75 auch mit dem Fix für Superdad.

                                      vG Looxer

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

                                        Hi,

                                        es gibt eine neue Version mit folgenden Aenderungen:

                                        // Version 0.75 15.04.2017 - UserExit - Hinzugefügt

                                        //…..................... - undefined Zustand Source_CurrentSollTemp abgefangen in writelog

                                        //........................ - Sensoren 'HM-Sec-RHS und 'HM-Sec-SC-2 aufgenommen

                                        1. Ich hoffe den Fehler von Superdad damit erstmal geloest zu haben. Da er bei mir aber nicht auftritt wäre ich für feedback dankbar

                                        2. Es gibt eine neue Funktion: Es gibt die Möglichkeit über UserExits und externe Trigger die SollTemperatur der Thermostate zu beeinflussen

                                        3. Zwei neue Fenstersensoren hinzugefügt. Bitte Testen.

                                        vG Looxer

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

                                          Ich habe mal noch ein paar Fragen zum View.

                                          1. Muss ich bei "Globale Heizparameter" alles anhaken was jemals genutzt werden soll?

                                          Oder nur das, was gerade aktiv sein soll?

                                          Wenn ich also z.Bsp. Urlaub habe, dann hake ich Urlaub anwesend an?

                                          2. Ist für jedes Thermostat ein eigener View anzulegen?

                                          3. Wo sind denn die Profile hinterlegt, die man auswählen kann?

                                          Oder wie lege ich Profile an und speichere diese dann ab?

                                          So das ich dann z.Bsp. Profil 2 auswähle und die Tabelle im "Heizplan" füllt sich dann.

                                          Oder verstehe ich da was falsch?

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

                                            Hi,

                                            @Superdad:

                                            1. Muss ich bei "Globale Heizparameter" alles anhaken was jemals genutzt werden soll?

                                            Oder nur das, was gerade aktiv sein soll?

                                            Wenn ich also z.Bsp. Urlaub habe, dann hake ich Urlaub anwesend an? `

                                            Die Globalen Parameter dienen dazu grundsätzlich mitzuteilen, ob eine bestimmte Situation eingetreten ist.

                                            Gehen wir sie mal durch:

                                            1. Heizperiode ist die Ausnahme. Keine Heizung wird gesteuert, wenn der Parameter ausgeschaltet ist

                                            2. Feiertag Heute. Es wird die Feiertagszeile aus dem aktiven Profil gewählt

                                            3. Anwesend: Es wird die Abwesenheitsabsenkung von der geplanten Solltemperatur substrahiert. Bei Null passiert eben nix

                                            3. Party: Es wird die Party-Absenkungen von der geplanten Solltemperatur substrahiert. Bei Null im Profil passiert nix

                                            4. Party: Es wird die Gaeste-Anhebung zu der geplanten Solltemperatur addiert. Bei Null im Profil passiert nix

                                            5. Urlaub Anwesend. Es wird die Feiertagszeile aus dem aktiven Profil gewählt, wenn das Profil "Urlaub Anwesend wie Feiertag" getickt hat

                                            6. Urlaub Abwesend: Es wird die Urlaub-Absenkungen von der geplanten Solltemperatur substrahiert. Bei Null im Profil passiert nix

                                            @Superdad:

                                            2. Ist für jedes Thermostat ein eigener View anzulegen? `
                                            Nein- auf keinen Fall. Nur per Raum und per Profil. Mehr als ein Profil wird aber nur benötigt, wenn ich situativ eine komplett andere Steuerung benötige. Beispiel sind Schichtpläne, die jede Woche anders aussehen können. Es gibt bis zu 9 Profile

                                            @Superdad:

                                            3. Wo sind denn die Profile hinterlegt, die man auswählen kann?

                                            Oder wie lege ich Profile an und speichere diese dann ab?

                                            So das ich dann z.Bsp. Profil 2 auswähle und die Tabelle im "Heizplan" füllt sich dann.

                                            Oder verstehe ich da was falsch? `

                                            Die Profile werden automatisch angelegt. Die Views dazu musst du allerdings selber anlegen wie beschrieben.

                                            Allerdings musst du jedes Profil im Editor bearbeiten. z.B. Replace "Profil-1" durch "Profil-2". Damit hast du eine View für Profil 2

                                            wenn du Profil 2 auswählst, dann wird der Temperaturplan aus dem Profil-2 verwendet.

                                            Ich hoffe, dass das die Fragen klärt ?

                                            vG Looxer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            534
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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