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

      Hallo Looxer!!

      Sehr, sehr schöne Arbeit! Ganz großes Lob! Habe den Beitrag erst jetzt entdeckt und werde es die nächsten Tage bei mir einrichten.

      Frage:

      Ich verwende zur Fensterüberwachung den HM Wired 12fach-Kontaktsensor für Schaltzustandserkennung (HMW-Sen-SC-12-DR). Gehe ich recht in der Annahme, dass es reicht, bei den

      // Typen-Tabelle der Verschlusssensoren fuer Homematic Geräte

      im Script einfach folgende Zeile zu ergänzen?

      SensorTypeTab[6] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR'  , 'Schließerkontakt HMW' ,     'HMW',  '1.STATE' ,        false,         false,                 false];
      

      Natürlich mit der entsprechenden hm-rpc Instanz für die Wired Produkte.

      Oder muss ich das eventuell für jeden der 12 Eingänge machen?

      
      SensorTypeTab[6] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR'  , 'Schließerkontakt HMW' ,     'HMW',  '1.STATE' ,        false,         false,                 false];
      SensorTypeTab[7] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR'  , 'Schließerkontakt HMW' ,     'HMW',  '2.STATE' ,        false,         false,                 false];
      SensorTypeTab[8] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR'  , 'Schließerkontakt HMW' ,     'HMW',  '3.STATE' ,        false,         false,                 false];
      SensorTypeTab[9] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR'  , 'Schließerkontakt HMW' ,     'HMW',  '4.STATE' ,        false,         false,                 false];
      SensorTypeTab[10] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR'  , 'Schließerkontakt HMW' ,     'HMW',  '5.STATE' ,        false,         false,                 false];
      
      ... 
      
      

      Danke für die Antwort!

      Gruß

      Markus

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

        Hi,
        @RamSauer:

        m Script einfach folgende Zeile zu ergänzen? `

        so sollte es sein. Damit werden alle Geräte eingelesen, wenn sie dem entsprechenden Gewerk zugeorndet sind.

        Nur bei Nicht-HM Sensoren müssen alle Datenpunkte eingegeben werden. Bei HM wird automatisch anhand des Types eingelesen.

        Eine Bitte. Wenn das so funktioniert, dann sag mir bitte Bescheid, dann nehme ich diesen Type mit auf.

        Ansonsten schauen wir dann drüber damit diese Sensoren auf funktionieren. Es sollte aber auf jeden Fall funktionieren, wenn die Sensoren true and false annehmen für geschlossen/geöffnet. Ansonsten brauchts ggf noch einen Fix. Ist aber halb so wild.

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • R
          RamSauer last edited by

          @looxer01:

          Eine Bitte. Wenn das so funktioniert, dann sag mir bitte Bescheid, dann nehme ich diesen Type mit auf.

          Ansonsten schauen wir dann drüber damit diese Sensoren auf funktionieren. Es sollte aber auf jeden Fall funktionieren, wenn die Sensoren true and false annehmen für geschlossen/geöffnet. Ansonsten brauchts ggf noch einen Fix. Ist aber halb so wild.

          vG Looxer `

          Ich werde berichten!!!

          Danke!

          1 Reply Last reply Reply Quote 0
          • M
            mrMuppet last edited by

            Ich hab mal wieder den Fehler, dass anscheinend irgendwelche Datentypen sich verstellen:````
            javascript.0 2017-12-01 21:00:05.721 warn at Object. (script.js.working.Heizungsther_0_81_2:466:25)
            javascript.0 2017-12-01 21:00:05.721 warn at ThermostatChange (script.js.working.Heizungsther_0_81_2:775:22)
            javascript.0 2017-12-01 21:00:05.721 warn at ManAdjustments (script.js.working.Heizungsther_0_81_2:952:5)
            javascript.0 2017-12-01 21:00:05.717 warn Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.

            
            irgend eine Idee?
            1 Reply Last reply Reply Quote 0
            • L
              looxer01 last edited by

              @mrMuppet:

              irgend eine Idee? `
              Ich glaube nicht, dass sich was verstellt. vermutlich gibt es noch Räume, die nicht auf number umgestellt waren.

              Check das bitte mal für alle Räume. Das Object …..View_Manually_Adjusted muss für alle Räume auf number stehen.

              vG Looxer

              1 Reply Last reply Reply Quote 0
              • M
                mrMuppet last edited by

                @looxer01:

                Ich glaube nicht, dass sich was verstellt. vermutlich gibt es noch Räume, die nicht auf number umgestellt waren.

                Check das bitte mal für alle Räume. Das Object …..View_Manually_Adjusted muss für alle Räume auf number stehen. `
                Ja, das wars! Ein Raum stand noch auf Logikwert. Aber wie ist es zu dieser Einstellung gekommen? Die Datenpunkte hat doch alle dein Skript angelegt… ?

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

                  @mrMuppet:

                  Ja, das wars! Ein Raum stand noch auf Logikwert. Aber wie ist es zu dieser Einstellung gekommen? Die Datenpunkte hat doch alle dein Skript angelegt… ? `

                  korrekt, allerdings hatte das Script zu einer früheren Version einen Fehler.

                  Wenn du also das Script mit einer frühreren Version laufen lassen hast, dann wurden dann schon ein paar Datenpunkte mit falschen Datentypen angelegt.

                  vG Looxer

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

                    Hi,

                    habe Dein super Script auch seit ca. 1 Woche laufen - Danke dafür.

                    Heute ist mir was aufgefallen (was ich aber nochmal überprüfen möchte):

                    Ich habe im Kalender "Urlaub_anwesend" hinterlegt - allerdings über 2 Tage (also über Mitternacht hinweg).

                    Die Einbindung via iCal funktioniert, aber um Mitternacht wurden wieder die normalen Abläufe und Absenkungen verwendet.

                    Erst als ich den Kalendereintrag gesplittet und auf die beiden Tage verteilt habe, lief es wie gewünscht.

                    Ich werde das heute Abend / Nacht nochmal probieren - vielleicht habe ich auch nur einen Fehler gemacht.

                    Gruß,

                    Eric

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

                      Ich glaube dazu gibt schon ein issue beim iCal Adapter …

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

                        @eric2905:

                        Die Einbindung via iCal funktioniert, aber um Mitternacht wurden wieder die normalen Abläufe und Absenkungen verwendet. `

                        die Frage ist was bei den Events bei den ICAL Datenpunkten passiert.

                        Die subscriptions gehen ja darauf und checken, ob ein Event auf true oder false steht.

                        Protokoliere doch mal die Aenderungen auf dem ICAL Event was da über Nacht passiert.

                        Es wird demnächst eine überarbeitete Version geben 😉

                        Allerdings gibt es an dieser Stelle keine Änderung.

                        vG Looxer

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

                          Hi,

                          @looxer01:

                          die Frage ist was bei den Events bei den ICAL Datenpunkten passiert. `
                          habe jetzt mal einen neuen Kalendereintrag eingestellt (heute 15:00 Uhr bis morgen 14:00 Uhr) und die Aufzeichnung aktiviert.

                          Bin mal gespannt, was heute um Mitternacht aufgezeichnet wird.

                          Gruß,

                          Eric

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

                            Hi Looxer,

                            habe jetzt mal ein wenig rum getestet ….

                            Der iCal-Adapter kann anscheinend nicht mit mehrtägigen Einträgen umgehen - ab Mitternacht ist das Event auf false, obwohl der Eintrag als solches noch angezeigt wird. Habe jetzt erst mal für jeden Tag einen sep. Eintrag gemacht, damit das Script über den Urlaub sauber läuft.

                            Mache später noch ein Github-Issue zum iCal auf.

                            Dein Script ist erst mal „raus aus der Nummer“

                            Das läuft bisher sehr gut und stabil - Danke für das geile Teil (inkl. View)

                            Gruß,

                            Eric

                            Von unterwegs getippert

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

                              Danke für das issue. Hab den iCal auf meiner mentalen „muss ich mal reinschauen ob man da nicht Dinge fixen kann“ Liste 😉

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

                                @apollon77:

                                Danke für das issue `
                                Issue gab es schon ==> https://github.com/ioBroker/ioBroker.ical/issues/20

                                Gruß,

                                Eric

                                Von unterwegs getippert

                                1 Reply Last reply Reply Quote 0
                                • R
                                  reinhard400 last edited by

                                  Hallo zusammen !

                                  Das script sieht richtig gut aus.

                                  Leider funktioniert das script bei mir nicht, ich bekomme immer

                                  00:16:05.764 [error] javascript.0 script.js.common.Heizung.HeizungV2: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2035

                                  die Max Thermostate hab ich wie folgt eingebunden

                                  NoneHMTab[0] = ['Schlafzimmer', 'maxcube.0.devices', 'thermostat_197b0b', 'setpoint', 12];

                                  NoneHMTab[1] = ['Kueche', 'maxcube.0.devices', 'thermostat_1a040e', 'setpoint', 12];

                                  NoneHMTab[2] = ['WohnEsszimmer', 'maxcube.0.devices', 'thermostat_1950cd', 'setpoint', 12];

                                  NoneHMTab[2] = ['WohnEsszimmer', 'maxcube.0.devices', 'thermostat_1950d0', 'setpoint', 12];

                                  NoneHMTab[4] = ['Claudiazimmer', 'maxcube.0.devices', 'thermostat_1950b3', 'setpoint', 12];

                                  NoneHMTab[5] = ['Bad', 'maxcube.0.devices', 'thermostat_1a0412', 'setpoint', 12];

                                  die Verschlusssensoren ( max und mihome )

                                  NoneHMSenorTab[0] = ['Schlafzimmer', 'maxcube.0.devices', 'contact_0a9d75', 'opened', false, true];

                                  NoneHMSenorTab[1] = ['Kueche', 'maxcube.0.devices', 'contact_0a9631', 'opened', false, true];

                                  NoneHMSenorTab[2] = ['WohnEsszimmer', 'mihome.0.devices', 'magnet_158d00019db4aa', 'state', false, false];

                                  NoneHMSenorTab[2] = ['WohnEsszimmer', 'mihome.0.devices', 'magnet_158d00019f8973', 'state', false, false];

                                  NoneHMSenorTab[4] = ['Claudiazimmer', 'mihome.0.devices', 'magnet_158d00019f896b', 'state', false, false];

                                  NoneHMSenorTab[5] = ['Bad', 'maxcube.0.devices', 'contact_0a9e8d', 'opened', false, true];

                                  Räume und Sensoren sind soweit angelegt

                                  https://drive.google.com/file/d/1t0kZV6 … sp=sharing

                                  Reinhard

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

                                    Zeig bitte mal die komplette Fehlermeldung. Da muss mehr sein als die eine Zeile.

                                    Ansonsten ist in deinen konfig der Array Index 2 doppelt und die 3 fehlt. Vllt ists das auch schon.

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

                                      Hi Reinhard,

                                      ich kann jetzt nur raten.

                                      Um besser sehen zu können was passiert könntest du deine Programmversion posten.

                                      Auch waere es hilfreich die variable "debug" im Programm auf "true" zu setzen.

                                      Dann gibt es mehr messages.

                                      Aber mal davon abgesehen versuche es erstmal Raum für Raum.

                                      Möglicherweise gibt es ein Problem beim Anlegen der rooms (aufzaehlungen). z.B Sonderzeichen bei "Wohn-/Esszimmer.

                                      Raumweise kannst du über die raumliste vorgehen. Die setzt du auf "true" und gibst erstmal einen Raum ein.

                                      z.B. Schlafzimmer. Dann siehst du ob es generell ein Problem ist.

                                      vG Looxer

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

                                        …überschnitten 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          reinhard400 last edited by

                                          Danke für die prompte Hilfe, werd ich morgen probieren / umstellen

                                          Version ist die aktuelle von heute nachmittag

                                          SG Reinhard

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            reinhard400 last edited by

                                            Hallo !

                                            Ich komme der Sache schon näher, ein Neustart des Javascript Adapters brachte einiges an Erfolg

                                            Es werden jedoch die Fensterkontakte nicht richtig ausgelesen, ich habe derzeit das Fenster im "Claudiazimmer" und im Bad offen, im Claudiazimmer erfolgt keine Reaktion, im Bad wird die Temperatur direkt über die Verknüpfung im MaxCube auf 8° geregelt, unter Objekte sind beide Datenpunkte auf true gesetzt, im Log wird aber ser Status als false angezeigt

                                            Datenpunkte hab ich nochmals überprüft bzw nochmal direkt über die Kopierfunktion im Objekte Tab übernommen, diese passen

                                            Log-Auszug

                                            ! javascript.0 2017-12-10 17:40:00.224 info script.js.HeizungV2:
                                            ! javascript.0 2017-12-10 17:40:00.224 info script.js.HeizungV2: Routine LoopRooms Ende Abarbeitung fuer Raum Claudiazimmer
                                            ! javascript.0 2017-12-10 17:40:00.223 info script.js.HeizungV2: 6b.FallManuelle Temperatur noch aktuell - warten bis 2017/12/10 19:05:00 - Temperatur ist 18
                                            ! javascript.0 2017-12-10 17:40:00.223 info script.js.HeizungV2: aktuelle Millisekunden 1512924000000
                                            ! javascript.0 2017-12-10 17:40:00.222 info script.js.HeizungV2: Routine ManAdjustments: DelayTime fuer Raum Claudiazimmer ist 0
                                            ! javascript.0 2017-12-10 17:40:00.221 info script.js.HeizungV2: Routine LoopDevices: Sensorstatus fuer raum Claudiazimmer ist false
                                            ! javascript.0 2017-12-10 17:40:00.220 info script.js.HeizungV2: Routine LoopRooms Starte Abarbeitung fuer Raum Claudiazimmer
                                            ! javascript.0 2017-12-10 17:40:00.220 info script.js.HeizungV2: Routine ChckRoom - Dem Raum Claudiazimmer ist ein Gerät zugeordnet
                                            ! javascript.0 2017-12-10 17:40:00.220 info script.js.HeizungV2:
                                            ! javascript.0 2017-12-10 17:40:00.219 info script.js.HeizungV2: Routine LoopRooms Ende Abarbeitung fuer Raum Bad
                                            ! javascript.0 2017-12-10 17:40:00.218 info script.js.HeizungV2: 6b.FallManuelle Temperatur noch aktuell - warten bis 2017/12/10 18:05:00 - Temperatur ist 8
                                            ! javascript.0 2017-12-10 17:40:00.217 info script.js.HeizungV2: aktuelle Millisekunden 1512924000000
                                            ! javascript.0 2017-12-10 17:40:00.217 info script.js.HeizungV2: Routine ManAdjustments: DelayTime fuer Raum Bad ist 0
                                            ! javascript.0 2017-12-10 17:40:00.215 info script.js.HeizungV2: Routine LoopDevices: Sensorstatus fuer raum Bad ist false
                                            ! javascript.0 2017-12-10 17:40:00.214 info script.js.HeizungV2: Routine LoopRooms Starte Abarbeitung fuer Raum Bad
                                            ! javascript.0 2017-12-10 17:40:00.213 info script.js.HeizungV2: Routine ChckRoom - Dem Raum Bad ist ein Gerät zugeordnet

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            572
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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