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

      Also ich schreibe noch einmal alles zusammen, um eine bessere Übersicht zu bekommen.

      Verwendete Sensoren und Thermostate sind alle von EQ-3, sprich HomeMatic Produkte.

      Als Schnittstelle nutze ich das Programm Homegear, wo alle auch eingetragen sind.

      Händisch habe ich eine " enum.functions " in ioBroker erstellt und die Gerätschaften zugeordnet:

      Fensterkontakt –> verschluss

      Thermostat --> heizung

      Die " enum.rooms habe ich auch erstellt und die Sensoren und Aktoren diesen zugeordnet.

      5278_aufz_hlungen.png

      Hier die noch einmal meine Geräteliste:

      5278_objekte.png

      Nun zum VIS:

      Ich habe den VIEW erst einmal unverändert kopiert mit CTRL + C und eingefügt. Im Anschluss habe ich im Widget " Status " alles den jeweiligen Aktoren und Sensoren zugeordnet ( die gleichen Kanäle wie im "original " Script ). Diese werden auch angezeigt und z.B. der BOOST funktioniert –> klar geht ja direkt auf den Thermostat.

      Jedoch ist es egal, ob ich z.B. einen manuellen Sollwert vorgebe und den manuellen Modus erzwinge, denn es passiert am Thermostat nichts.

      Sensoren und Thermostate sind in Homegear <u>nicht direkt miteinander Verknüpft</u>.

      Ical, usw.. habe ich noch nicht eingerichtet, da ich erst einmal ohne diese Funktion testen wollte. Das dürfte ja nichts ausmachen? Oder muss man zusätzlich noch irgendetwas anderes an Dateien erstellen?

      Wenn ihr noch irgendwelche Infos braucht, dann bitte einfach fragen 😉

      1 Reply Last reply Reply Quote 0
      • U
        UweS last edited by

        @looxer01:

        @UweS:

        1: Wenn ich im VIS auf abwesend schalte, dann schalten sich bei mir alle Räume die ich im Skript habe , auf abwesend. Kann ich das auch Raumgesteuert machen?

        2: Wenn ich mit der Anwesenheitserkennung soweit bin, wie kann ich den Status ins VIS übernehmen? `

        Hi,

        zu 1. du kannst in den Profilparametern bei "Abwesenheit Absenkung" eine "0" eintragen. Damit hat die Abwesenheit keine Wirkung im Raum.

        zu 2. kannst du in den Script-Einstellungen einstellen. Du brauchst halt einen Datenpunkt, der die An/Abwesenheit darstellt. Meine Empfehlung ist, dass du deine Anwesenheitserkennung zunächst mal installierst -wie auch immer du das vor hast, da es ja unterschiedlichste Wege gibt.

        Solltest du TR064 (Fritzbox) nutzen, dann habe ich ein Script, ebenso für Unifi und schauaufdich hat ja dann wohl was mit der CCU. Auf jeden Fall kriegst du das hin.

        vG Looxer `

        zu 2; habe ich jetzt über BT und Radar hinbekommen, An Abwesenheit funkt für alle Räume super.

        kurze Erklärung warum ich Frage,

        Wenn alle weg sind werden alle Räume abgesenkt, perfekt

        Wenn allerdings meine Frau zu Hause ist und meine Tochter in der Schule ist würde ich gerne nur denRaum meiner Tochter absenken.

        Ich habe das jetzt einfach über das VIS gelöst indem ich ihren Stundenplan verwendet habe.

        Gibt es eine Möglichkeit wenn alle Anwesend auser unserer Tochter automatisch ihren Raum abzusenken ohne die anderen zu beeinflussen?

        Danke

        1 Reply Last reply Reply Quote 0
        • U
          UweS last edited by

          @booehmemaik:

          Ich exportier dir gleich die Daten.

          hier der View für Selina

          ! Selina2.JPG `

          Hi,

          ich klinke mich mal kurz ein weil ich hatte einen ähnlichen Fehler.

          Ich hatte VIS 1.1.1 installiert und ab dem dritten View hat er mir auch ab und zu den Wert auf irgendeinem Thermostat überschrieben.

          Jetzt habe ich wieder 1.0.4 und das Problem hat sich erledigt, dafür schaut der View wieder etwas komisch aus.

          Als Laie kann ich dir etwaige Hintergründe nicht erklären, aber vielleicht hilft es .

          LG

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

            @UweS:

            Gibt es eine Möglichkeit wenn alle Anwesend auser unserer Tochter automatisch ihren Raum abzusenken ohne die anderen zu beeinflu `

            Hi,

            du meinst automatisch ? Dazu muesste eine Anwesenheitsliste mit Räumen verknüpft sein.

            Wäre denkbar, ist aber nicht programmiert.

            Über den Kalender geht da schon eher was - aber nicht automatisiert sondern über Kalendereinträge.

            vG Looxer

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

              Hi
              @quorle:

              Also ich schreibe noch einmal alles zusammen, um eine bessere Übersicht zu bekommen. `
              Danke, hatte irgendwie die Übersicht verloren.

              Bitte Ersetze:

              var HeizungGewerk           = "heizung";        //  diesem Gewerk muessen alle Thermostate zugeordnet sein.
              var SensorGewerk            = "verschluss";     //  diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein.
              
              

              mit

              var HeizungGewerk           = "Heizung";        //  diesem Gewerk muessen alle Thermostate zugeordnet sein.
              var SensorGewerk            = "Verschluss";     //  diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein.
              
              

              Ich denke, dass das der Fehler ist.

              vG Looxer

              1 Reply Last reply Reply Quote 0
              • U
                UweS last edited by

                HI,

                Ja meinte ich.

                Dachte ich mir schon, aber nachdem sich der Stundenplan eh nur alle 6 Monate ändert ist das kein Ding.

                Vielen Dank nochmal für die tolle Arbeit.

                LG

                1 Reply Last reply Reply Quote 0
                • D
                  Dirk last edited by

                  @looxer01:

                  @UweS:

                  Gibt es eine Möglichkeit wenn alle Anwesend auser unserer Tochter automatisch ihren Raum abzusenken ohne die anderen zu beeinflu `

                  Hi,

                  du meinst automatisch ? Dazu muesste eine Anwesenheitsliste mit Räumen verknüpft sein.

                  Wäre denkbar, ist aber nicht programmiert.

                  Über den Kalender geht da schon eher was - aber nicht automatisiert sondern über Kalendereinträge.

                  vG Looxer `

                  Hallo Uwe,

                  nur so als Idee - ich habe das über die Profile gelöst.

                  Also habe ich für die entsprechenden Räume (Arbeitszimmer, Kinderzimmer, usw) ein Profil 2 angelegt und dort andere Temperaturen hinterlegt.

                  Jetzt prüfe ich über ein anderes Script die Anwesenheit der Personen - Wenn meine Frau oder ich zu Hause sind - dann hat das Arbeitszimmer Profil 1 - wenn wir nicht zu Hause sind das Profil 2.

                  Wenn unsere Tochter zu Hause ist dann hat das Kinderzimmer Profil 1 wenn nicht wird das Kinderzimmer auf Profil 2 geschaltet.

                  usw. usw.

                  Damit kann ich automatisch die Temperaturen schalten lassen auch wenn die Kids mal Frei haben oder einer von den Eltern Homeoffice macht.

                  Gruß

                  Dirk

                  1 Reply Last reply Reply Quote 0
                  • U
                    UweS last edited by

                    Hi,

                    Gute Idee, mit was für einem Skript hast du das realisiert?

                    Danke

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

                      @UweS: kannst du das vis Problem bitte nochmal detaillieren/testen und ggf als bug bei vis im github melden. Wenn alles korrekt ist sollte nichts falsch angezeigt werden. Danke

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

                        Hi,

                        Ich möchte das Thema "manuelle Temperaturen" aufgreifen und transparenter machen.

                        Ausserdem wird es demnächst noch einen Fix dazu geben.

                        1. Funktionsweise

                        Es gibt zwei Quellen für manuelle Temperaturen. Erstens ein Thermostat und zweitens die VIS-View mit dem Feld "manuell gesetzte Soll Temperatur".

                        a. manuelle Verstellung am Thermostat

                        Jede geplante SollTemp Aenderung wird an einer zentralen Stelle im entsprechenden Datenpunkt abgespeichert. Gleichzeitig wird eine Kontrollspeicherung im Datenpunkg "Source_Last_Temp" vorgenommen. Dies ist der Vergleichswert. Wenn jetzt die aktuelle SollTemp im Datenpunkt vom Kontrollpunkt abweicht, dann muss es also eine Verstellung am Thermostat geben. Die Vorgehensweise funktioniert zuverlässig.

                        b. manuelle Verstellung in VIS

                        Wenn im VIS (mit dem mitgelieferten VIEW) eine Verstellung vorgenommen wird, dannn wird überprüft ob die aktuelle SollTemp vom Wert in VIS abweicht. Wenn dies der Fall ist, dann wird eine manuelle Verstellung angenommen. Auch dieses Verfahren funktioniert zuverlässig.

                        2. Spezialfall Absenktemperatur (Fenster offen)

                        Wenn ein Thermostat durch eine eigene Steuerung eine Absenktemperatur setzt (Fenster offen), dann ist das nach 1.a für das Thermostatscript zunächst mal eine manuell gesetzte Temperatur. Hier wird aber vorher noch übperüft, ob die manuelle Temperatur nicht der im Script definierten Absenktemperatur entspricht. Wenn dies der Fall ist, dann ignoriert das Programm diese Temperatur bis eine andere Temperatur vom Thermostat gemeldet wird.

                        Es ist also wichtig, dass alle Thermostate auf die im Script angegebene Absenktemperatur (standard = 12 Grad) in den Thermostaten identisch eingestellt sind. Es gibt sonst keine weitere Möglichkeit eine Absenkung bei Fenster offen zu erkennen.

                        Wenn das nicht gemacht wird, dann wird das Script immer wieder manuelle Temperaturen erkennen

                        3. Spezialfall Scriptstart

                        Bei Start des Scriptes läuft die gleiche Logik wie unter 1.a beschrieben ab. Hier können dann zwei Situationen auftreten, die zu manuellen Temperaturen führen können

                        a. Die augenblickliche SollTemp weicht von der der "Source_Last_Temp" ab (wie unter 1.a beschrieben) Dies ist der Fall, wenn das script erstmalig gestartet wird oder seit dem letzten Stop andere geplante SollTemperaturen vorliegen. (also wenn das Script längere Zeit nicht gelaufen ist oder zwischenzeitig ein Schedulewechsel erfolgte). In diesem Fall werden nicht gewünschte manuelle Temperturen gesetzt

                        b. Bei Stopp des Scriptes gab es bereits eine manuelle Temperatur mit Ablaufzeit. Allerdings erfolgt kein Trigger mit dem Ablauf der Ablaufzeit und die manuelle Temperatur bleibt bis zum nächsten Schedulewechsel bestehen. Auch dieser Fall ist offensichtlich nicht gewünscht.

                        Für den Fall 3 werde ich demnächst einen Fix posten.

                        Bezüglich VIS Einfluss auf die manuellen Temperaturen

                        Ich hatte mit Maik eine Session, um auch dem auf den Grund zu gehen, konnten aber keinen Einfluss feststellen.

                        Ich hoffe, dass das ein wenig mehr Klarheit bringt. Bei Beachtung von Punkt 2 und nach dem Fix sollten die meisten nicht erwarteten Quellen von manuellen Temperaturen sich erledigt haben.

                        vG Looxer

                        1 Reply Last reply Reply Quote 0
                        • Q
                          quorle last edited by

                          Hey,

                          ` > Hi

                          quorle hat geschrieben:

                          Also ich schreibe noch einmal alles zusammen, um eine bessere Übersicht zu bekommen.

                          Danke, hatte irgendwie die Übersicht verloren.

                          Bitte Ersetze:

                          Code:

                          var HeizungGewerk = "heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein.

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

                          mit

                          Code:

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

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

                          Ich denke, dass das der Fehler ist.

                          vG Looxer `

                          Ich habe das einmal geändert, jedoch kann ich mit VIS immer noch nichts steuern. Egal welchen Haken ich setze ändert sich nichts.

                          Hier der Log aus dem Script:

                          ! ````
                          14:31:34.571 [info] javascript.0 Start javascript script.js.common.Heizung.Heizplan.Schlafzimmer(1)
                          14:31:34.572 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): getEnums(enumName=rooms) => [{"id":"enum.rooms.schlafzimmer","members":["hm-rpc.0.OEQ0705944","hm-rpc.0.OEQ1712335"],"name":"Schlafzimmer"},{"id":"enum.rooms.wohnzimmer","members":[],"name":"Wohnzimmer"},{"id":"enum.rooms.küche","members":[],"name":"Küche"},{"id":"enum.rooms.badezimmer","members":[],"name":"Badezimmer"},{"id":"enum.rooms.kind_1","members":[],"name":"Kind_1"},{"id":"enum.rooms.kind_2","members":[],"name":"Kind_2"}]
                          14:31:34.573 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): Routine GetDevices Devices initialisiert
                          14:31:34.573 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): setTimeout(ms=2000)
                          14:31:34.573 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): registered 0 subscriptions and 0 schedules
                          14:31:36.582 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): Heizungsscript verarbeitung benutzt Trigger und Events
                          14:31:36.583 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"feiertage.0.heute.boolean","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
                          14:31:36.583 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"javascript.0.Anwesenheitssteuerung.Userlist.JemandDa","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
                          14:31:36.583 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"javascript.0.Heizung.Heizplan.GlobaleParameter.Heizperiode","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
                          14:31:36.584 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"ical.0.events.Feiertag","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
                          14:31:36.584 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":{},"change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
                          14:31:36.584 [warn] javascript.0 at setOwnState (script.js.common.Heizung.Heizplan.Schlafzimmer(1):482:5)
                          14:31:36.584 [warn] javascript.0 at LoopRooms (script.js.common.Heizung.Heizplan.Schlafzimmer(1):754:5)
                          14:31:36.584 [warn] javascript.0 at Object. (script.js.common.Heizung.Heizplan.Schlafzimmer(1):419:9)
                          14:31:36.585 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): setTimeout(ms=10000)

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

                            @quorle:

                            Hier der Log aus dem Script: `
                            Hab dir eine PN gesendet.

                            vG Looxer

                            1 Reply Last reply Reply Quote 0
                            • D
                              Dirk last edited by

                              @UweS:

                              Hi,

                              Gute Idee, mit was für einem Skript hast du das realisiert?

                              Danke `

                              Hi,

                              Du hattes geschrieben: zu 2; habe ich jetzt über BT und Radar hinbekommen, An Abwesenheit funkt für alle Räume super.

                              Ich gehe mal davon aus, dass du somit weist welche Person im Haus ist.

                              Jetzt kannst Du auf den Status der einzelnen Anwesenheiten einen Trigger legen und entsprechend in den Räumen die Profile setzen.

                              Da ich nicht scripten kann habe ich es mit Blockly gemacht. Hier noch meines als Ideengeber.

                              Ein Bild spare ich mir da es etwas groß ist - ich habe noch extra Heizperioden für die Badezimmer und ein Profil 3 für den Sommer.

                              Zusätzlich habe ich noch Eltern-Anwesend und Kinder-Anwesend da ich die Badezimmer einzel schalten möchte.

                              Wenn keiner zu Hause ist nutze ich die Abwesenheitsabsenkung die in dem Script schon eingebaut ist.

                              ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                              ! <block type="on_ext" id="E^XM5cv_JMZ#kBLhtQnY" x="-497" y="-478"><mutation items="7"></mutation>
                              ! <field name="CONDITION">any</field>
                              ! <field name="ACK_CONDITION">true</field>
                              ! <value name="OID0"><shadow type="field_oid" id="e_7gKMCf8(@xpkEIWX^C"><field name="oid">javascript.0.V_Handy_Dirk</field></shadow></value>
                              ! <value name="OID1"><shadow type="field_oid" id="IXe!~B{BS:Oa0.o^x;]U"><field name="oid">javascript.0.V_Handy_Susanne</field></shadow></value>
                              ! <value name="OID2"><shadow type="field_oid" id="B#tNC73W[0~OOELo49G"><field name="oid">javascript.0.V_Handy_Lara</field></shadow></value>
                              ! <value name="OID3"><shadow type="field_oid" id="Q4}DP4~)YRjE8eAbK9c"><field name="oid">javascript.0.V_Handy_Moritz</field></shadow></value> ! <value name="OID4"><shadow type="field_oid" id="xw:@Q~Pn(-zDoSk[DW=Q"><field name="oid">javascript.0.Anwesenheit</field></shadow></value> ! <value name="OID5"><shadow type="field_oid" id="p51Jn/3djkugQU^7I_/A"><field name="oid">javascript.0.Anwesenheit_Eltern</field></shadow></value> ! <value name="OID6"><shadow type="field_oid" id="31TQ|5-JK!4LyXe^(cp"><field name="oid">javascript.0.Anwesenheit_Kinder</field></shadow></value>
                              ! <statement name="STATEMENT"><block type="controls_if" id="(SZuALE(9ig)%Ckfpoo1"><mutation else="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="=wb)euf@9hlIalj%y9"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="xA2N(P@(6,bU3:](;p"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Heizung.V_Heizperiode_Bad</field></block></value> ! <value name="B"><block type="logic_boolean" id="@w|Nj5uy%P+_rLP1n03"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="controls_if" id=";~JcG?BOYslAeAmZBmbU"><mutation else="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="IV~DAKI}XA{}4
                              re=nw1"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="g,8QxCI]4+MN48|^U4,8"><field name="ATTR">val</field>
                              ! <field name="OID">javascript.0.Anwesenheit_Kinder</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id=")0
                              k_S0t5j|6i5zFSI2s"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="comment" id=".dIv|!IJnh!)eXh)b8SJ"><field name="COMMENT">Kinderbad Wand</field>
                              ! <next><block type="control" id="[eDf2q}~NrNh4vFc@z0"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.KinderbadW.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="i0,)ZPlq@{htReG:YbbB"><field name="NUM">1</field></block></value>
                              ! <next><block type="comment" id="swdZ6)e|Y#uW+BAsBtY"><field name="COMMENT">Kinderbad Boden</field>
                              ! <next><block type="control" id="YjNu|Vs-?27;LTQSsCC;"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Kinderbad.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="}}IP@,W]O7yj8d?%3H%F"><field name="NUM">1</field></block></value></block></next></block></next></block></next></block></statement>
                              ! <statement name="ELSE"><block type="comment" id="N0(v{A+WHl7DjL^)R{H."><field name="COMMENT">Kinderbad Wand</field>
                              ! <next><block type="control" id="Mw]0
                              Mz3erW5nE[S8!GC"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.KinderbadW.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="xw,eVb8~!XNqdp/wK)"><field name="NUM">2</field></block></value>
                              ! <next><block type="comment" id="?mpy)YRr.oh9acHb6[X"><field name="COMMENT">Kinderbad Boden</field> ! <next><block type="control" id=".EGRj^/n*wNWEywcQ03d"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Kinderbad.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="za]-57Ty,!RqZzM6qDj|"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block></statement> ! <next><block type="controls_if" id="X*phzX}_YGN3]/z%?qA="><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="-gn+e#epm4-H4:G@#SY-"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="zMGl)v?MI~ws,7:/PTtJ"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Anwesenheit_Eltern</field></block></value> ! <value name="B"><block type="logic_boolean" id="ZAPO(UdF|M}y^U?eeX9b"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="vbOak!.p:NpmEtfF3C*5"><field name="COMMENT">Elternbad Wand</field> ! <next><block type="control" id="VAGDLfxQ:hah{.cJ-X7*"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.ElternbadW.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="07~(p^=j?KaoJ]g+zn"><field name="NUM">1</field></block></value>
                              ! <next><block type="comment" id="cpG:;;F[[(T15fvsr_C"><field name="COMMENT">Elternbad Boden</field>
                              ! <next><block type="control" id="rRWS.-L.ul(Fg[8MEzH2"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Elternbad.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="^t2EjX]D}~Zjt]!s1Myg"><field name="NUM">1</field></block></value></block></next></block></next></block></next></block></statement>
                              ! <statement name="ELSE"><block type="comment" id="6BL!|7j}xpi1TW%
                              }wTf"><field name="COMMENT">Elternbad Wand</field>
                              ! <next><block type="control" id="=N+tZk]Z}jcvi~H}##]Z"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.ElternbadW.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="@zUcmWG/bA
                              ;d3y?(dAG"><field name="NUM">2</field></block></value>
                              ! <next><block type="comment" id="uWiRIh-zIkM4c3e(~}oQ"><field name="COMMENT">Elternbad Boden</field>
                              ! <next><block type="control" id="QRAr20?m,y084c2|K}-V"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Elternbad.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="07XyF]J6M];A~jJ~j^)"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="-~JM2P@-*/FwD8N=U;La"><field name="COMMENT">Kinderbad Wand</field> ! <next><block type="control" id="g)v7ZMOW%Q|=Afbpk}ke"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.KinderbadW.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="g1%I0b}r;Ix1b)@Wt]L"><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="alaK)]u?p0b?kF!oXd0B"><field name="COMMENT">Kinderbad Boden</field>
                              ! <next><block type="control" id="W}b}8k-w(5.nwPAw=fn9"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Kinderbad.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="qfr=LEE7Y/BNau
                              !Jg;Y"><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="y^W.+IgiDbL6w8@TzX/:"><field name="COMMENT">Elternbad Wand</field>
                              ! <next><block type="control" id="kzx/btwtCDSa/TH,j5zQ"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.ElternbadW.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="^g~-V+~SNc%+XTt0:3R."><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="cMXuI:5.h^Tiba.ixdZ"><field name="COMMENT">Elternbad Boden</field>
                              ! <next><block type="control" id="}fa+aFLMvTk7uM{8Vpuu"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Elternbad.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="fp/YRlca#Pt=icZ7QG"><field name="NUM">3</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement>
                              ! <next><block type="controls_if" id="Rms-KjnO:fxd.NPKf4W["><mutation else="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id=";jyH
                              ySF#p)6Wz,0Zj5"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="Us@(JbT-jEZ@BqHg{8}y"><field name="ATTR">val</field>
                              ! <field name="OID">javascript.0.Heizung.V_Heizperiode</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="5E,j2;CXMAcAf7qXH!im"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="controls_if" id=",+?yWF)*:xTuEQ213
                              ,c"><mutation else="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="[fs1C8mBCMjVjqH~XYz"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="g}BW3+PR:zzIIn/Rro!{"><field name="ATTR">val</field> ! <field name="OID">javascript.0.V_Handy_Lara</field></block></value> ! <value name="B"><block type="logic_boolean" id="hgJp*4_-8sR:(/%ZuT"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="comment" id="njIzQ}g%NSjb{4X@9.6U"><field name="COMMENT">Lara Zimmer</field>
                              ! <next><block type="control" id="=TNQ!v@9h62t?l|~nuiY"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Lara.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="lnune-~Sp[}w;|BhxCwI"><field name="NUM">1</field></block></value></block></next></block></statement>
                              ! <statement name="ELSE"><block type="comment" id="(Y~(apiET.j[@^;2)H#"><field name="COMMENT">Lara Zimmer</field> ! <next><block type="control" id="05~}Z]vbkk@,A,mu,l/i"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Lara.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="tGk./Jjp-VbVo,y1MLt-"><field name="NUM">2</field></block></value></block></next></block></statement> ! <next><block type="controls_if" id="YC+08J]L.tigJPEQyJhY"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="YFg+q;*OV}cW6*mtJKx@"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="1z7ZnEHk?M*FH@+pqJeq"><field name="ATTR">val</field> ! <field name="OID">javascript.0.V_Handy_Moritz</field></block></value> ! <value name="B"><block type="logic_boolean" id="G?1ml.g+)T7,.k.8lhmO"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="*TL=b0RTrr.2~xj%FE?"><field name="COMMENT">Moritz Zimmer</field>
                              ! <next><block type="control" id=")^|(3J3h9z[hK=UyF%Sn"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Moritz.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="GBp2[5Ii~Z0B!v-aw!@4"><field name="NUM">1</field></block></value></block></next></block></statement>
                              ! <statement name="ELSE"><block type="comment" id="%v_gE;FGX[fa:}09^e)d"><field name="COMMENT">Moritz Zimmer</field>
                              ! <next><block type="control" id="2nESNpNY8pgP|A5ofBd4"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Moritz.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="WJ-8xxzzVLRA_MZ,-4qQ"><field name="NUM">2</field></block></value></block></next></block></statement>
                              ! <next><block type="controls_if" id="p3LPXW-GD=W5j}[UjuF7"><mutation else="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="m655Y)%ipp%oBfuvPMK"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="jlz.w({3At?qMah8T6s0"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Anwesenheit_Eltern</field></block></value> ! <value name="B"><block type="logic_boolean" id="Eb;=pnk:*GJv2a%6YhKy"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="3mTk}jz^]8VY08g7,p"><field name="COMMENT">Arbeitszimmer</field> ! <next><block type="control" id="xt:jL^!M,6LMwfK.Dvjv"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Arbeitszimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="9=r|9/L(oYXc/]0B=h}1"><field name="NUM">1</field></block></value> ! <next><block type="comment" id="mtd3Zja(!O{#Vp;XWQ"><field name="COMMENT">Schlafzimmer</field>
                              ! <next><block type="control" id="nix;~MvMNI8ms3|0{rd"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Schlafzimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="(*{ed_2i:*T46qB^o7]M"><field name="NUM">1</field></block></value></block></next></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="oyRVb[/S/HjF*Q0jDHMd"><field name="COMMENT">Arbeitszimmer</field> ! <next><block type="control" id="4-L{/eXTR6W7f[m140rL"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Arbeitszimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="8LT]X^+)ZLW9dDC-sPUx"><field name="NUM">2</field></block></value> ! <next><block type="comment" id="asLN)9)hkVo1Fv^v[1|H"><field name="COMMENT">Schlafzimmer</field> ! <next><block type="control" id="eA-{QD5N?n!%y}XBX8.)"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Schlafzimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="ky^kRvD,ZFcK)Yg@{Z:o"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block></statement> ! <next><block type="controls_if" id="O1i=^*qva%AW%k?pG2g4"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="~J+~{,2306~E|s^C[dI]"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="8XKGBlD5E(Rjq*RSVp_E"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Anwesenheit</field></block></value> ! <value name="B"><block type="logic_boolean" id="2=MFx}OU5)7776MM–%~"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="Jf29gv6pO1Y(!.7?)f"><field name="COMMENT">Wohnzimmer</field>
                              ! <next><block type="comment" id="8hcj58RwylziHgu9H;"><field name="COMMENT">Flur</field> ! <next><block type="comment" id="CES+;R%()NDCgJlR.M/T"><field name="COMMENT">KEINE Einstellung nötig</field></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id=",SdWfED{Zuj*)@b,tm]a"><field name="COMMENT">Wohnzimmer</field> ! <next><block type="comment" id="]KcYp5#cO=7UMLboCZw5"><field name="COMMENT">Flur</field> ! <next><block type="comment" id="Opw5iKgv%/9FB]%w2/To"><field name="COMMENT">KEINE Einstellung nötig</field></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="Ajpua?=)X[iom0uVi.]m"><field name="COMMENT">Arbeitszimmer</field> ! <next><block type="control" id="}WdvY_8]#2^?:gY3!%x"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Arbeitszimmer.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="eN#N/4Koq%LB
                              KMa,7y"><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="~nmeS=o^qeb:H_Xt/w/j"><field name="COMMENT">Lara Zimmer</field>
                              ! <next><block type="control" id="#!w|Av+A_fpDK)c]X3cr"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Lara.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="e
                              i-pwtHv0fQ(U:7aFr+"><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="ZgA;0dMJn;k0KjAX7^
                              )"><field name="COMMENT">Moritz Zimmer</field>
                              ! <next><block type="control" id="H8,hzSTV7fW#jJA5d5)v"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Moritz.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id=")+xyH~}C:uYV(S)~%O}"><field name="NUM">3</field></block></value> ! <next><block type="comment" id=")fMm0CI,1J(UW
                              +,P[H"><field name="COMMENT">Schlafzimmer</field>
                              ! <next><block type="control" id="di=y+LVO*+
                              ^.3lCGXSC"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Schlafzimmer.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="dk^vRt6Tf)tr{b5@DXSQ"><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="t1.hVf=O@C6LEKPQhX_U"><field name="COMMENT">Wohnzimmer</field>
                              ! <next><block type="control" id="#O{QFZs2kwD1KrXy~3c"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Wohnzimmer.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="07C~z]-TBPw_AWRht];
                              "><field name="NUM">3</field></block></value>
                              ! <next><block type="comment" id="~BkE(]ok7ORvb;8):)6B"><field name="COMMENT">Flur</field>
                              ! <next><block type="control" id="oL5cp|Ub2HLUPBi~Toq0"><mutation delay_input="false"></mutation>
                              ! <field name="OID">javascript.0.Heizung.Heizplan.Flur_unten.AktivesRaumProfil</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="math_number" id="M[XyN-NyDvaT|?(?eXkR"><field name="NUM">3</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml>

                              Gruß

                              Dirk

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

                                @looxer01:

                                @quorle:

                                Hier der Log aus dem Script: `
                                Hab dir eine PN gesendet.

                                vG Looxer `

                                Hallo zusammen,

                                konntet ihr die Probleme schon gemeinsam lösen?

                                Ich bekomme das Script leider auch noch nicht zum laufen.

                                Meine Konstellation ist der von quorle ziemlich ähnlich. Ich habe einen RPI3 mit hmcom und musste dementsprechend die Gewerke und Räume manuell anlegen und zuordnen.

                                Gruß pulv

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

                                  @pulv:

                                  konntet ihr die Probleme schon gemeinsam lösen? `
                                  Hi,

                                  nein, noch nicht. Ich möchte mir das im System ansehen.

                                  Kannst du aber auch bei dir.

                                  Es gibt 4 Kriterien für die Selektion:

                                  1. Function = Gewerk

                                  2. room = Raumname

                                  3. GerätePfad (Adapter) und Instance z.B. für CCU = hm-rpc.0

                                  4. Gerätetype = native.TYPE

                                  • Gewerk und Räume werden über die Aufzählungen eingestellt

                                  • Gerätepfad wird einfach in der ThermostatTypeTab je Gerät eingestellt

                                  • GeräteTyp könnte ein Problem sein.

                                  Bitte schau in die Objektliste und markiere das Gerät auf Ebene der Geräte-ID.

                                  Dann ganz rechts auf das Icon für "aendern" gehen und auf "Experteneinstellungen" oder so ähnlich gehen.

                                  Dort gibt es bei Verwendung von hm-rpc eine Definition (JSON) unter native und type.

                                  Der Gerätetyp ist dort eingetragen. Davon mache ich einige Steuerungen abhängig, weil die Geräte eben unterschiedlich reagieren.

                                  Wenn du das nicht findest, dann werden die Geräte im Moment nicht automatisch eingelesen.

                                  Dann bleibt aber immer noch die Einstellung über die NichtHM Geräte Tabelle. Ist allerdings etwas mühsamer, da ja jedes Gerät eingetragen werden muss. Einige Funktionen sind im Moment auch dann nicht möglich. (Modus Umschaltung und Delay für alte Thermostate)

                                  vG Looxer

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

                                    @UweS:

                                    @booehmemaik:

                                    Ich exportier dir gleich die Daten.

                                    hier der View für Selina

                                    ! Selina2.JPG `

                                    Hi,

                                    ich klinke mich mal kurz ein weil ich hatte einen ähnlichen Fehler.

                                    Ich hatte VIS 1.1.1 installiert und ab dem dritten View hat er mir auch ab und zu den Wert auf irgendeinem Thermostat überschrieben.

                                    Jetzt habe ich wieder 1.0.4 und das Problem hat sich erledigt, dafür schaut der View wieder etwas komisch aus.

                                    Als Laie kann ich dir etwaige Hintergründe nicht erklären, aber vielleicht hilft es .

                                    LG `

                                    Hallo Uwe,

                                    hmm Loxxer01 und ich haben es sich bei mir angeschaut… nach dem ich die Zeit für die Manuelle temperatur auf 15min runtergenommen hatte, ging es eine weile ohne unkontrollierte änderungen.

                                    Jetzt habe ich aber wieder die situation das es wieder häufiger vorkommt.

                                    Ich glaub das hängt ganz stark damit zusammen wenn vom Thermostat nur 0 geschickt wird.

                                    Ich starte gerade meinen CUBE durch und starte den Adapter neu. mal sehen ob es sich dann beruhigt wieder.

                                    Gruss

                                    Maik

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      flavsta last edited by

                                      Ich habe nach der Doku alle Schritte durchgeführt. Leider bekomme ich folgenden Fehler:

                                       javascript.0 2018-01-23 20:55:24.557errorTypeError: Cannot read property 'common' of undefined
                                      
                                      javascript.0 2018-01-23 20:55:24.557error^
                                      
                                      javascript.0 2018-01-23 20:55:24.556errormembers: (objects[enums[i]].common) ? objects[enums[i]].common.members : [],
                                      
                                      javascript.0 2018-01-23 20:55:24.556errorscript.js.common.Heizungssteuerung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2207 
                                      

                                      Gesendet von meinem SM-G955F mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • O
                                        onkelfrisko last edited by

                                        Hallo,

                                        gibt es die Möglichkeit nicht HM Raumthermostate einzusetzen ?

                                        Ich messe im Wohnzimmer die Temperatur mit Xiaomi Sensoren und würde diese gern als IST Temp nehmen da die Temp am Heizkörperthermostat immer zu hoch angezeigt wird da Wärmestau.

                                        Und wenn ja , wie und wo muss ich das angeben?

                                        MfG

                                        Sven

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          flavsta last edited by

                                          @flavsta:

                                          Ich habe nach der Doku alle Schritte durchgeführt. Leider bekomme ich folgenden Fehler:

                                           javascript.0 2018-01-23 20:55:24.557errorTypeError: Cannot read property 'common' of undefined
                                           
                                          javascript.0 2018-01-23 20:55:24.557error^
                                          
                                          javascript.0 2018-01-23 20:55:24.556errormembers: (objects[enums[i]].common) ? objects[enums[i]].common.members : [],
                                          
                                          javascript.0 2018-01-23 20:55:24.556errorscript.js.common.Heizungssteuerung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2207 
                                          

                                          Gesendet von meinem SM-G955F mit Tapatalk `

                                          Niemand eine Idee?

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

                                            Hast Du, wie ich Dir bei Facebook geraten habe, erst mal mit einem Raum gestartet?

                                            Poste bitte mal:

                                            Einen Screenshot vom Admin, Reiter Aufzählungen, enum.rooms und enum.functions aufgeklappt

                                            Einen Scrrenshot vom Code, wo die Räume definiert sind (das zu verwendende Gewrk sollte auch sichtbar sein)

                                            Gruß,

                                            Eric

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            908
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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