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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

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

      @Dutchman:

      @pxstd:

      Gibt's da eine Art Dokumentation, die ich übersehen habe? `

      Jup und stellt die Thermostate auf manuell Betrieb.

      PDF im ersten Post gesehen?

      –-----------------------

      Send from mobile device

      Das schöne ios hat Auto Korrektur zum k****

      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

      So nah und doch so fern 😄 Danke - ich bin mal lesen!

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

        Hi,

        ich habe eine neue Version hochgeladen. Es ist jetzt die Version 2.00b02.

        Die Version ist für alle relevant, da sich im Bereich der globalen Parameter Fehler eingeschlichen hatten.

        ChangeLog:

        //````
        // Version 2.00b02 05.01.2018 - zweite Beta
        //.............................Technische Coding Aenderungen (ueberfluessige log eintragungen und doppel coding entfernt)
        //.............................Kein Trigger bei Aenderung von An/Abwesenheit und Feiertagen gefixt
        //.............................Bei Einstellung der Duration Manuelle Temp kleiner Null wurde bei einer Thermostataenderung am Thermostat keine Rückstellung auf schedule vorgenommen
        //.............................Delay Time (notwendig für alte Thermostate) nach Fensteröffnung wieder aktiviert - 2 Minuten Verzögerung nach Fensterschliessung
        //.............................Sensorstatusermittlung fuer HM-Geraete verallgemeinert (keine Speziallogik mehr notwendig. Konfig in der Sensortypetab reicht aus) / logging Eintraege fuer Sensor Aenderungen hinzugefuegt
        //.............................Bei Einschalten der Heizperiode wurden die Temperaturen nicht sofort auf die geplanten Temperaturen gesetzt

        
        Bitte beachtet folgendes:
        
        Bei den Einstellungen haben sich 3 Aenderungen ergeben
        
        1\. Thermostatabelle für die alten Thermostate sollte ein Delay von 2 Minuten eingegeben werden
        
        2\. SensorTabelle für DrehSensorGriffe muss in Spalte 6 Verschlussstatus eine 0 eingetragen werden (Wert bei geschlossen)
        
        3\. SensorTabelle für HMIP Fenstersensor muss in Spalte 6 Verschlussstatus eine 0 eingetragen werden (Wert bei geschlossen)
        
        Ansonsten gibt es keine Aenderungen bei den Usereinstellungen. Es kann also das Coding nach den Einstellungen kopiert werden und diese drei kleinen Aenderungen manuell eingetragen werden.
        
        vG Looxer
        1 Reply Last reply Reply Quote 0
        • eric2905
          eric2905 last edited by

          Hi,

          ich hätte da evtl. noch einen Verbesserungsvorschlag:

          Du hast hm-rpc.0 für HM-Komponenten und hm-rpc.1 für HMIP-Komponenten fest verdrahtet.

          Da ich das aber anders habe (hm-rpc.2 und hm-rpc.3) muss ich jedesmal den Code mit Suchen & Ersetzen anpassen.

          Würde es da evtl. Sinn machen, dies auch über Variablen abzufangen? Dann könnte man das einfach oben im Einstellungsblock anpassen und gut ist.

          –----------------------

          Nachtrag:

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

          4:16:16.991	[info]	javascript.0 script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02: Routine GetDevices Devices initialisiert
          14:16:16.991	[info]	javascript.0 script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02: registered 22 subscriptions and 0 schedules
          14:16:18.971	[info]	javascript.0 script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02: Heizungsscript verarbeitung benutzt Trigger und Events
          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)
          

          Was sie genau bedeuten, erschließt sich mir gerade nicht

          Gruß,

          Eric

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

            Kann mir wer sagen, welchen Datenpunkt ich in der Visu auswählen muss, dass die Boost Zeit angezeigt wird? Oder geht das nicht? Ich kann den Boost Haken setzen und das funktioniert auch und die Schrift wird auch rot. Aber die 300 Sekunden runterzählen tut er nicht.

            Gruß

            Markus

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

              @eric2905:

              Du hast hm-rpc.0 für HM-Komponenten und hm-rpc.1 für HMIP-Komponenten fest verdrahtet.

              Da ich das aber anders habe (hm-rpc.2 und hm-rpc.3) muss ich jedesmal den Code mit Suchen & Ersetzen anpassen. `
              Hi Eric,

              fest verdrahtet sollte da nix sein. Die ThermostatTypeTab Spalte 0 beinhaltet je Gerät die HMPRC-Instanz und ist einstellbar.

              Ich vermute nicht, dass jemand dieselben Gerätetypen verschiedenen Instanzen zuordnen will. Daher sollte das doch so passen ?

              An welchen Stellen musst du denn was verändern damit es für dich passt ?

              @eric2905:

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

              Code: Alles auswählen

              4:16:16.991 [info] javascript.0 script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02: Routine GetDevices Devices initialisiert

              14:16:16.991 [info] javascript.0 script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02: registered 22 subscriptions and 0 schedules

              14:16:18.971 [info] javascript.0 script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02: Heizungsscript verarbeitung benutzt Trigger und Events

              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)

              Was sie genau bedeuten, erschließt sich mir gerade nicht `

              Scheint was mit den globalen Events nicht zu passen. Nutzt du Events und sind die Events im ICAL Adapter eingetragen - existieren also in der Objektliste ? Checke mal bitte ob das alles so stimmt.

              Wenn ja, dann wäre interessant zu wissen welche Coding stellen es bei dir exakt sind: Zeilen 419 - 755 - 1654.

              Bei mir sind die Zeilen vermutlich nicht 100%ig identisch

              vG Looxer

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

                @Newmiraculix:

                Kann mir wer sagen, welchen Datenpunkt ich in der Visu auswählen muss, dass die Boost Zeit angezeigt wird? Oder geht das nicht? Ich kann den Boost Haken setzen und das funktioniert auch und die Schrift wird auch rot. Aber die 300 Sekunden runterzählen tut er nicht. `
                Hi Markus,

                Die Datenpunkte sind BoostTime für den Zähler bei IP und Boost_State für die HM…DN Geräte.

                und Boost Mode fuer den BoostModus.

                Leider zählt der Zaehler nur am Gerät und wird nur sporadisch an ioBroker uebertragen. Zuverlässig sieht man anfangs nur die Länge der BoostZeit und am Ende wird es zuverlässig zurückgesetzt.

                vG Looxer

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

                  Jemand ne Idee hierzu?

                  ! javascript.0 2018-01-06 22:30:30.112 error at ContextifyScript.Script.runInContext (vm.js:35:29)
                  ! javascript.0 2018-01-06 22:30:30.112 error at script.js.Heizungssteuerung.Heizungssteuerung:337:1
                  ! javascript.0 2018-01-06 22:30:30.112 error at initializeData (script.js.Heizungssteuerung.Heizungssteuerung:344:5)
                  ! javascript.0 2018-01-06 22:30:30.112 error at getDevices (script.js.Heizungssteuerung.Heizungssteuerung:576:130)
                  ! javascript.0 2018-01-06 22:30:30.112 error TypeError: $(…).each is not a function
                  ! javascript.0 2018-01-06 22:30:30.112 error ^
                  ! javascript.0 2018-01-06 22:30:30.111 error $('channel[state.id=*.' + ThermostatTypeTab[x][4] + '] (rooms=' + roomName + ') (functions=' + HeizungGewerk + ') ').each(function (id, i) {
                  ! javascript.0 2018-01-06 22:30:30.111 error script.js.Heizungssteuerung.Heizungssteuerung: script.js.Heizungssteuerung.Heizungssteuerung:576

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

                    Hi,

                    sieht für mich so aus als wäre im Einstellungsbereich irgendwas schief.

                    sende doch bitte mal deine Einstellungen - komplett

                    vG Looxer

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

                      Oder ist das Gewerk einfach nur leer?

                      Daher könnte evtl. die Meldung „each is not …“ kommen.

                      Gruß,

                      Eric

                      Von unterwegs getippert

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

                        @eric2905:

                        Oder ist das Gewerk einfach nur leer?

                        Daher könnte evtl. die Meldung „each is not …“ kommen.

                        Gruß,

                        Eric

                        Von unterwegs getippert `

                        Welches Gewerk? Heizung und Verschluss ist jeweils gefüllt.

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

                          War ja nur eine Idee.

                          Von unterwegs getippert

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

                            @eric2905:

                            War ja nur eine Idee.

                            Von unterwegs getippert `

                            Auf jeden Fall! Danke für den Hinweis 🙂

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

                              Und auch genau so geschrieben in ioBroker? Bitte prüf die Namen man unter Enums im ioBroker. Manchmal wenn man in der CCU die Namen Nicht anfasst heissen die nämlich anders!!

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

                                @apollon77:

                                Und auch genau so geschrieben in ioBroker? Bitte prüf die Namen man unter Enums im ioBroker. Manchmal wenn man in der CCU die Namen Nicht anfasst heissen die nämlich anders!! `

                                Ich verstehe die Frage nicht.

                                Die Gewerke heißen "Heizung" und "Verschluss", genau wie im Steuerungsscript.

                                3277_bildschirmfoto_2018-01-07_um_01.03.23.png

                                ` > var HeizungGewerk = "Heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein.

                                var SensorGewerk = "Verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein. `

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

                                  Wie heißen die Einträge in ioBroker?? Der ran heißt glaube auf englisch enums, deutsch listen? Weiß nicht grad aus dem Kopf.

                                  Dort gibt es dann enum.functions und enum.rooms. Die sind interessant.

                                  Wenn da was drinsteht wie ${whatever} dann musst du in der ccu einmalig alle Raum und gewerknamen anklicken und speichern und hm-Rega neu starten … im worst case in ioBroker umbenennen.

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

                                    @apollon77:

                                    Wie heißen die Einträge in ioBroker?? Der ran heißt glaube auf englisch enums, deutsch listen? Weiß nicht grad aus dem Kopf.

                                    Dort gibt es dann enum.functions und enum.rooms. Die sind interessant.

                                    Wenn da was drinsteht wie ${whatever} dann musst du in der ccu einmalig alle Raum und gewerknamen anklicken und speichern und hm-Rega neu starten … im worst case in ioBroker umbenennen. `

                                    Ich finde im Rega weder Objekte mit functions, noch mit rooms, dafür aber :

                                    ! ${ruleTmpProgramName} 1 channel
                                    ! 12534 Active state ${ruleTmpProgramName} 1 enabled state state.enabled false
                                    ! ProgramExecute state ${ruleTmpProgramName} 1 execute state action.execute false
                                    ! 13682 channel ${ruleTmpProgramName} channel
                                    ! Active state ${ruleTmpProgramName} enabled state state.enabled true
                                    ! ProgramExecute state ${ruleTmpProgramName} execute state action.execute false

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

                                      Moin,

                                      @pxstd:

                                      Ich finde im Rega weder Objekte mit functions, noch mit rooms, … `
                                      die findest Du auch nicht im Rega, sondern im Reiter „Aufzählungen“ (ggf. musst Du ihn noch einblenden).

                                      Gruß,

                                      Eric

                                      Von unterwegs getippert

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

                                        @eric2905:

                                        Moin,

                                        @pxstd:

                                        Ich finde im Rega weder Objekte mit functions, noch mit rooms, … `
                                        die findest Du auch nicht im Rega, sondern im Reiter „Aufzählungen“ (ggf. musst Du ihn noch einblenden).

                                        Gruß,

                                        Eric

                                        Von unterwegs getippert `

                                        Hier sind Sie:

                                        ! 3277_bildschirmfoto_2018-01-07_um_10.29.07.png

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

                                          Also wie vermutet. Bitte siehe mein Post von gestern Abend. Eine editiersession in der ccu bei Gewerken und räumen. Und in iobroker. Deine gewerke heißen halt faktisch anderes.

                                          Bevor die Frage kommt wo das her kommt: die ccu kann mehrere Sprachen. Also sind alle vorgefüllten Namen wie diese so genannt und werden bei der Anzeige „übersetzt“. Erst wenn man den Namen ändert stehe eigene Namen drin

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

                                            Und im Anschluss das Heizungsscript neu einlesen? Oder muss irgendwas resettet werden?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            946
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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