Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Heizungssteuerung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Heizungssteuerung

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

      Hallo,

      ich probiere mir grade eine sinnige Heizungssteuerung zu programmieren.
      Ich weiß, dass es da schon einiges im Forum gibt. Die Scripte sind mir persönlich alle was zu komplex. Ich bin wirklich ein absoluter blockly Anfänger.

      Die passende Hardware habe ich leider noch nicht 😄
      Wenn denn alles da ist, soll aber alles zügig laufen.
      Wenn es meiner Frau kalt wird, wird es unangenehm 😁
      Deshalb habe ich jetzt schonmal angefangen.
      Da noch kein Thermostat vorhande ist, habe ich es mit dem Datenpunkt "Pseudotemperatur" ersetzt.

      Klappt das so, wie ich es gemacht habe?
      Habe ich ggf. noch was vergessen, was in die Logik gehört?

      Ich möchte eigentlich nur eine Nachtabsenkung haben, die Zeiten für jeden Tag individuell eingeben können und die Heizungen ausschalten, wenn ein Fenster offen ist.
      Zusätzlich noch einen simplen Urlaubsmodus, die eine niedrige Grundtemperatur halten soll.

      Habe alles zusammen in einem blockly.

      Würde mich über eine Rückmeldung freuen.

      heizung.JPG

      buggybeast 1 Reply Last reply Reply Quote 0
      • buggybeast
        buggybeast @David G. last edited by

        @David-G sagte in Heizungssteuerung:

        Wenn es meiner Frau kalt wird, wird es unangenehm

        Eigentlich ist ja grad quasi Sommer, aber ich weiß wie frier-affin Frauen sein können 😁
        Ich habe ganz ähnliche Anforderungen an eine Heizungssteuerung gehabt wie Du. Hardware technisch bin ich mit einer CCU3 und Geräten von HmIP ausgestattet.
        Einen Urlaubsmodus habe ich auch nicht, aber ist ja erstmal egal. Mein Skript sieht so aus (ich finde es ist recht einfach gehalten und es funktioniert bei mir super).
        Bildschirmfoto 2020-06-11 um 15.48.28.png
        Bzgl. Fenster offen Steuerung habe ich ein separates Skript.
        Bildschirmfoto 2020-06-11 um 16.01.11.png
        Mir ist klar, dass Du das noch stark an Deine Bedürfnisse und Hardware anpassen müsstest, aber ich hoffe es gibt Dir einen guten Überblick. Hier noch als Export.


        <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
        <variable id="p#Zo1q9NFnm@p;)bqSAx">temperatur</variable>
        <variable id="~5YWxKH3Fl3^,IRHLR2E">tempTagAnwesend</variable>
        <variable id="g|ry,ace6!8Csl]WNNW!">tempTagAbwesend</variable>
        <variable id="le[I|p08dj%]SN8iTUj!">tempNacht</variable>
        <variable type="timeout" id="bad_timer_woche">bad_timer_woche</variable>
        <variable type="timeout" id="bad_timer_wochenende">bad_timer_wochenende</variable>
        </variables>
        <block type="procedures_defnoreturn" id="c#s6@a#0iP%:z):^E?" x="-1487" y="-912"> <mutation> <arg name="temperatur" varid="p#Zo1q9NFnm@p;)bqSAx"></arg> </mutation> <field name="NAME">setzeTemp</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="^VS,sW3qCdo(DXFDog4">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
        <field name="OID">hm-rpc.0.000A98A994FD59.1.SET_POINT_TEMPERATURE</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="variables_get" id="!T=D^I5-}e|W!XVElM1x">
        <field name="VAR" id="p#Zo1q9NFnm@p;)bqSAx">temperatur</field>
        </block>
        </value>
        <next>
        <block type="control" id="C:8=](6$3r)vQZ
        W0l5;">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
        <field name="OID">hm-rpc.0.000A98A994FC85.1.SET_POINT_TEMPERATURE</field>
        <field name="WITH_DELAY">TRUE</field>
        <field name="DELAY_MS">5</field>
        <field name="UNIT">sec</field>
        <field name="CLEAR_RUNNING">TRUE</field>
        <value name="VALUE">
        <block type="variables_get" id="Ek%k]dg=hdX%eaIxhIQ{">
        <field name="VAR" id="p#Zo1q9NFnm@p;)bqSAx">temperatur</field>
        </block>
        </value>
        <next>
        <block type="control" id="m9880[IjBteB+p+$y]h">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
        <field name="OID">hm-rpc.0.000A98A994FC67.1.SET_POINT_TEMPERATURE</field>
        <field name="WITH_DELAY">TRUE</field>
        <field name="DELAY_MS">10</field>
        <field name="UNIT">sec</field>
        <field name="CLEAR_RUNNING">TRUE</field>
        <value name="VALUE">
        <block type="variables_get" id="oLvwpMmhEr+I#dIOs#zT">
        <field name="VAR" id="p#Zo1q9NFnm@p;)bqSAx">temperatur</field>
        </block>
        </value>
        </block>
        </next>
        </block>
        </next>
        </block>
        </statement>
        </block>
        <block type="variables_set" id="_+-2hC=;pOAPb7@Q]m2b" x="-1487" y="-737">
        <field name="VAR" id="~5YWxKH3Fl3^,IRHLR2E">tempTagAnwesend</field>
        <value name="VALUE">
        <block type="math_number" id="EEQbK,yonbOc{5Q7eZnP">
        <field name="NUM">21</field>
        </block>
        </value>
        <next>
        <block type="variables_set" id="T
        k[.9[$qH)KYI|~c+A">
        <field name="VAR" id="g|ry,ace6!8Csl]WNNW!">tempTagAbwesend</field>
        <value name="VALUE">
        <block type="math_number" id="w+;4~uod%WGH2niS9NY0">
        <field name="NUM">19</field>
        </block>
        </value>
        <next>
        <block type="variables_set" id="I@R%pFsUpqu{z/S|gs|j">
        <field name="VAR" id="le[I|p08dj%]SN8iTUj!">tempNacht</field>
        <value name="VALUE">
        <block type="math_number" id="V+#sT~Ci$]6Uon(RGy]{">
        <field name="NUM">18</field>
        </block>
        </value>
        <next>
        <block type="comment" id="|Y_H/8+B6
        q]x1Ljz+"> <field name="COMMENT">Heizung in der Woche um 05:30 auf anwesend</field> <next> <block type="schedule" id="dFgBUJPUD%v1]?HUKE8S"> <field name="SCHEDULE">0 5 * * 1-5</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="kbByx-?hC~^fb8^I484U"> <mutation name="setzeTemp"> <arg name="temperatur"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="U4EDw:^8t#?I}u.qS_$n"> <field name="VAR" id="~5YWxKH3Fl3^,IRHLR2E">tempTagAnwesend</field> </block> </value> <next> <block type="control" id="u-=Vg#2nd|g53kpS;.t$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">15</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="math_number" id="Ipnt:3]KQ5Ntv*~kw}K8"> <field name="NUM">22</field> </block> </value> <next> <block type="timeouts_settimeout" id="EKk[/?jU1CK$$1G!=hR`"> <field name="NAME">bad_timer_woche</field> <field name="DELAY">90</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="ZHufBX~fg-k65BehKW`V"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="21fuve^OxfGZ/,zN2y}!"> <field name="NUM">20</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="|8r~9LQNd6WPq-[)cRJ8"> <field name="COMMENT">Heizung am Wochenende um 06:30 auf anwesend</field> <next> <block type="schedule" id="tOf}?%xa;rG6/2;W4Dp!"> <field name="SCHEDULE">30 6 * * 0,6</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="=aRv*KNF7A.#?~W@svjD"> <mutation name="setzeTemp"> <arg name="temperatur"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="R])YTeJg$b)f-W?cT?)U"> <field name="VAR" id="~5YWxKH3Fl3^,IRHLR2E">tempTagAnwesend</field> </block> </value> <next> <block type="control" id="X/gT%e~#%dMf)iMsZld%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">15</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="math_number" id=",G.!a6CI}5[]p=g}S9*2"> <field name="NUM">22</field> </block> </value> <next> <block type="timeouts_settimeout" id="j^;WpCd]+lkrV-KChv+D"> <field name="NAME">bad_timer_wochenende</field> <field name="DELAY">90</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="?Qf4UtLP!*Zwm2%`wuFf"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="{f`0d4Uv){I/1tf]#m,h"> <field name="NUM">20</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="schedule" id="6r}w!$u,w+QZ*:BY,l??"> <field name="SCHEDULE">30 14 * * 1-5</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="c#c-}+j4}iaF_^oxFBt/"> <mutation name="setzeTemp"> <arg name="temperatur"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="eK+$_oCz7m0rD3*njbEY"> <field name="VAR" id="~5YWxKH3Fl3^,IRHLR2E">tempTagAnwesend</field> </block> </value> <next> <block type="control" id="#@lv}T6N44vz:~RTWvNI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">15</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="math_number" id="chJ|KMw|L%c)#-sGL-b]"> <field name="NUM">20</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id=";hai//]SM%l*fF~(C-es"> <field name="COMMENT">Heizung an jedem Tag um 21:00 auf Nachtschaltung</field> <next> <block type="schedule" id="YVGQtmV9klnl`/=V,Y7c"> <field name="SCHEDULE">5 21 * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="aYIsX@ZMM30rt_pqf~M("> <mutation name="setzeTemp"> <arg name="temperatur"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="eoiT-|m~z`2h^^@i0%`w"> <field name="VAR" id="le[I|p08dj%]SN8iTUj!">tempNacht</field> </block> </value> <next> <block type="control" id="g:*A8=rHEvwUml,P~cOS"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">15</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="math_number" id="I[4WCn9Hw^.L^`b*~sMg"> <field name="NUM">18</field> </block> </value> </block> </next> </block> </statement> <next> <block type="on" id="b6#M4/yyl2!)vHX|9woQ"> <field name="OID">tr-064.0.devices.Dirk-iPhone.active</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="sxZzOKqCyVV785aJ=1cU"> <value name="IF0"> <block type="logic_operation" id="mSU*Zw^{P,k6Rt(t0*==" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="q^JTf:n{`rsL`#EdGCRt"> <field name="OP">GTE</field> <value name="A"> <block type="time_get" id="e|.,j/a{{=^Oz5:TUJ@P"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">wd</field> </block> </value> <value name="B"> <block type="math_number" id="Kl!ftV]q:mU81=zSP$lt"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="jA5oixT{oCCHhFejuSvt"> <field name="OP">LTE</field> <value name="A"> <block type="time_get" id="lT9r1xIQPYcez)x6x|:_"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">wd</field> </block> </value> <value name="B"> <block type="math_number" id="%0g/KOzFn;oS4]ai.]B8"> <field name="NUM">5</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="lqbL@W_}KlOPPkfqFke,"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="z{Z8#q*x,({~v#Cw:i5{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="OjQc7uFfq@{][fl)J!">
        <field name="ATTR">val</field>
        <field name="OID">tr-064.0.devices.Dirk-iPhone.active</field>
        </block>
        </value>
        <value name="B">
        <block type="logic_boolean" id="|((h3fuZGTSyS)Y@|3@s">
        <field name="BOOL">FALSE</field>
        </block>
        </value>
        </block>
        </value>
        <statement name="DO0">
        <block type="controls_if" id="al(pk[nSOw!-8TeJipcM">
        <value name="IF0">
        <block type="time_compare" id=";[qdH4vh-ckC*!Nwds8v">
        <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation>
        <field name="OPTION">between</field>
        <field name="START_TIME">05:00</field>
        <field name="END_TIME">14:00</field>
        </block>
        </value>
        <statement name="DO0">
        <block type="procedures_callnoreturn" id="t}AqL9k/yXB?aDngglV">
        <mutation name="setzeTemp">
        <arg name="temperatur"></arg>
        </mutation>
        <value name="ARG0">
        <block type="variables_get" id="%$S]=z5#P
        NDJsOo6-5@">
        <field name="VAR" id="g|ry,ace6!8Csl]WNNW!">tempTagAbwesend</field>
        </block>
        </value>
        <next>
        <block type="control" id="PuWonQqx(u0AXD_^azX">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
        <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field>
        <field name="WITH_DELAY">TRUE</field>
        <field name="DELAY_MS">15</field>
        <field name="UNIT">sec</field>
        <field name="CLEAR_RUNNING">TRUE</field>
        <value name="VALUE">
        <block type="math_number" id="U5Th%x
        LK5F~ADHc6?aX">
        <field name="NUM">19</field>
        </block>
        </value>
        <next>
        <block type="timeouts_cleartimeout" id="70kmT!vKl5bp,/5%|9mc">
        <field name="NAME">bad_timer_woche</field>
        </block>
        </next>
        </block>
        </next>
        </block>
        </statement>
        </block>
        </statement>
        <statement name="ELSE">
        <block type="controls_if" id="r46}!@-tn3a($O8nD#(F">
        <value name="IF0">
        <block type="time_compare" id="/aIcsZX~TzhE$198=/gw">
        <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation>
        <field name="OPTION">between</field>
        <field name="START_TIME">05:00</field>
        <field name="END_TIME">14:00</field>
        </block>
        </value>
        <statement name="DO0">
        <block type="procedures_callnoreturn" id="AMt.5YT]!+%C~2_IB-:G">
        <mutation name="setzeTemp">
        <arg name="temperatur"></arg>
        </mutation>
        <value name="ARG0">
        <block type="variables_get" id="VjLX$3VN~^H7)5ImQQCl">
        <field name="VAR" id="~5YWxKH3Fl3^,IRHLR2E">tempTagAnwesend</field>
        </block>
        </value>
        <next>
        <block type="control" id="t~FE;gj(Dt5D7%j!!J2[">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
        <field name="OID">hm-rpc.0.000A98A994FB72.1.SET_POINT_TEMPERATURE</field>
        <field name="WITH_DELAY">TRUE</field>
        <field name="DELAY_MS">15</field>
        <field name="UNIT">sec</field>
        <field name="CLEAR_RUNNING">TRUE</field>
        <value name="VALUE">
        <block type="math_number" id="FHRz1Kb#jsgU(85LSPhy">
        <field name="NUM">20</field>
        </block>
        </value>
        </block>
        </next>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </xml>

        Dann nochmal zumindest eine Anmerkung zu Deinem Blockly. Deine Zeitpläne sind in Blockly Trigger. Du hast die Trigger innerhalb eines falls-Blockes. Das funktioniert nicht. Ein Skript muss immer von einem Trigger "gestartet" werden (da gibt es Ausnahmen/Sonderfälle, aber das lasse ich hier mal weg). Du kannst Dich ja mal auf YouTube oder so umschauen, wie Blockly bzw. die JS-Programme im ioBroker (ab)laufen.
        Wenn Du noch Fragen hast zu dem Skript .... gerne 👍

        David G. 1 Reply Last reply Reply Quote 0
        • G
          guergen last edited by guergen

          Zuerst, quasi um die ganzen Befehle drumherum, benötigst Du erst mal einen Trigger.... Schau Dir besser vorher mal ein paar Blockly-Videos an, da gibt es reichlich!

          1 Reply Last reply Reply Quote 1
          • David G.
            David G. @buggybeast last edited by David G.

            @buggybeast

            Habe mein Script jetzt mal angepasst.
            Also die Trigger aus den Falls-Flock entfernt und genau umgekehrt eingesetzt.

            Dein Script verstehe ich soweit. Bis auf ein paar Kleinigkeiten.
            z.B. die violetten Blöcke mit "setzeTemp mit", ist doch eigentlich dasselbe wie das "steuere" oder?

            Hier meine Überarbeitung:

            heizung.JPG

            EDIT:

            Mir hat sich eben noch eine 2te Frage aufgetan.
            Ich werde für den Raum 5 Fensterkontakte bekommen. Habe mir gerade mit einem Tutorial ein Script erstellt um meinen Datenpunkt "Fenster offen" zu befüllen.
            Ich schaffe aber nur 2 Fensterkontakte einzubinden.

            Beim "oder" Baustein bekomme ich nicht mehr als 2 Ausgänge hin ......

            fenster offen.JPG

            Oder bleibt mir da nur die Variante die Kontakte zu zählen?

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

              @David-G Dein Skript sieht gut aus 👍
              Es liesse sich noch optimieren, aber das ist dann quasi nur Kosmetik bzw. Programmierstil. Z.b. Brauchst du eine boolsche Variable oder datenpunkt nicht mehr auf falls var=wahr prüfen, einfach falls var genügt dann. Habe ich bei mir auch noch an einer Stelle drin 😉
              Und die violetten Teile ist eine Funktion. Da ich mehrere Thermostate steuere, muss ich dann nicht jedes Mal alle wth steuern, sondern mache das einmal über den funktionsaufruf.
              Der macht aber genau das, was du gesagt hast.
              Sind meine ersten Gehversuche mit Funktionen 😂

              David G. 1 Reply Last reply Reply Quote 0
              • buggybeast
                buggybeast last edited by

                @David-G wenn du wert1 oder wert2 hast, dann packe in wert2 wieder einen oder Block. Und so weiter.

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

                  Dein Fenster Skript wird nicht funktionieren, denke ich. Warum 2 Trigger einmal auf geändert und einmal auf wahr?
                  Wann möchtest du deinen datenpunkt Fenster offen ändern? Sobald ein Fenster Status sich ändert oder zu einem bestimmten Ereignis wie verlassen des Hauses?
                  Das kann man geschickter lösen. Ich bin aber erst später am Rechner. Vielleicht meldet sich ja noch wer anders bis dahin.

                  1 Reply Last reply Reply Quote 0
                  • David G.
                    David G. @buggybeast last edited by David G.

                    @buggybeast

                    Dann kann der Winter ja kommen 😄
                    Okay, ich verstehe.
                    Werde auch mehrere Heizungsthermostate haben. Allerdings auch ein Wandthermostat, wie ich gelesen habe, reicht es dieses zu regeln, wenn alles in einer Gruppe in der CCU ist.

                    Dann werde ich das mal machen. Auch, wenn es komisch aussieht ^^. oder oder oder oder

                    Das Fenster Skript habe ich aus diesem Video hier

                    Oder meinst du den Bereich, der die Heizung ein und wieder einschaltet?

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

                      @David-G Hi, ich vermute Du hast Aqara Sensoren für die Fenster, so dass Sensor Wert = WAHR bedeutet, dass das Fenster geschlossen ist.
                      Und in Deinem aktuellen Skript willst Du nur wissen, ob eines der Fenster offen ist. Du schreibst den Gesamtstatus (WAHR=irgendein Fenster ist offen, FALSCH=alle Fenster geschlossen) in einen manuell angelegten Datenpunkt Fenster_wohnbereich_offen.
                      Wenn ich das soweit richtig verstanden habe, dann sollte folgendes Skript dies erfüllen ... denke ich 🙄
                      Bildschirmfoto 2020-06-12 um 16.21.43.png
                      Du weißt damit natürlich nicht, wie viele Fenster offen sind und welche.

                      David G. 1 Reply Last reply Reply Quote 0
                      • David G.
                        David G. @buggybeast last edited by David G.

                        @buggybeast

                        Weiß nicht ob ich das Wochenende an den PC komme.

                        Werde Homatic IP Fensterkontakte verbauen.
                        Um ehrlich zu sein weiß ich garnicht wie diese den Status offen und zu setzen.

                        Bei meinem "Fenster_wohnbereich_offen" habe ich "wahr" für ein offenes Fenster genommen, da es von der logig zum Namen des Datenpunktes passt.

                        Stellt dein Vorschlag den Status auch wieder zurück auf false wenn alle Fenster geschlossen werden ?

                        Zählen muss ich die Fenster nicht.

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

                          @David-G Jau super. Mit HmIP Fensterkontakten wird das alles nicht funktionieren. Die verwenden als Wertebereich 0 und 1 (also Zahlen).

                          @David-G sagte in Heizungssteuerung:

                          Stellt dein Vorschlag den Status auch wieder zurück auf false wenn alle Fenster geschlossen werden ?

                          In diesem Fall ja. Nur wenn alle ObjektIDs WAHR sind (also geschlossen bei Aqara), dann ist auch fenster_status = WAHR und Deine Variable geht auf FALSCH.
                          Leider kannst Du das mit HmIP alles wieder vergessen 😞
                          Das könnte dann ggf. so gehen.
                          Bildschirmfoto 2020-06-12 um 17.05.16.png
                          Hier nur als Beispiel in der ersten Zeile.

                          1 Reply Last reply Reply Quote 0
                          • David G.
                            David G. last edited by

                            Hab grad einen Kumpel angerufen, der einen Fensterkontakt über den Homatic IP Accespoint eingebunden hat.

                            Er hat true und false.

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

                              Habe keinen Accesspoint, sondern die CCU3. Da ist definitiv 0 und 1.
                              Aber siehe oben, mein letzter Beitrag ....

                              1 Reply Last reply Reply Quote 0
                              • David G.
                                David G. last edited by

                                Ach wie doof, dass es nicht einheitlich ist.

                                Bin mir auch noch nicht sicher, ob es eine ccu3 oder der Accespoint wird.
                                Hat beides seine pro uns contra Seiten.

                                Aber meine gadanken dazu haben hier im Thread nichts verloren.....

                                Versuche auf jedenfall, die Komponenten jetzt so schnell wie möglich zu bekommen. Ist zwar Sommer, aber will es ans laufen bekommen ^^.

                                Mit einer deiner Lösungen klappt es aber bestimmt.

                                Jetzt schonmal vielen Dank für deinen Einsatz.

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

                                  @David-G Klar gerne ... und keine Garantien 😁
                                  Und meine persönliche Empfehlung: Nimm die CCU, dann bist Du zumindest da raus aus der Cloud

                                  David G. 1 Reply Last reply Reply Quote 0
                                  • David G.
                                    David G. @buggybeast last edited by David G.

                                    @buggybeast

                                    Die cloud ist der Segen und Fluch.

                                    Finde es konfortabel alles in der App schalten zu können ohne alles in VIS oder meinem Fall lovelace einzubinden.

                                    Auf der anderen Seite keine Alarmanlage etc wenn ich offline bin. Plane ich auch über den iobroker zu realisieren.

                                    Und die ccu3 kostet mehr.
                                    Der Rest geht schon gut ins Geld ^^.

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      Tardar last edited by Tardar

                                      Hi zusammen,

                                      ich bin neu im ioBroker und hab eine Frage zur Heizungssteuerung 😉
                                      Ich habe mir die Script hier angesehen und denke, dass meins funktionieren müsste.

                                      Ich habe XIAOMI Temperatursensoren und wohne in einer Dachgeschosswohnung 😞 😉

                                      Mein Script sieht folgendermaßen aus:
                                      heizung_steuerung.png

                                      Für die Ermittlung, ob die Fenster offen sind habe ich ein Script geschrieben, dass mir den Wert "WohnzimmerFensterGeoeffnet" auf true oder false setzt, sobald ein Fenster geöffnet ist.
                                      Als Heizkörperthermostate verwende ich HMIP Thermostate, die ich mit ioBroker steuern möchte.
                                      Diese sind angeschlossen an eine CCU2 - über die Objektverwaltung kann ich die Temperaturen manuell setzen - die Werte kommen an und das funktioniert 😉

                                      Leider kommt über das Blockly Script an den Heizkörpern nichts an - d.h. die Temperatur wird nicht gesetzt.

                                      Würde mich freuen, wenn da jemand von Euch nochmal einen Blick rauf werfen kann.

                                      Ganz lieben Dank und beste Grüße

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      934
                                      Online

                                      32.0k
                                      Users

                                      80.4k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      1239
                                      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