Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Homematic IP Präsenzmelder HmIP-SPI mit Hue

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Homematic IP Präsenzmelder HmIP-SPI mit Hue

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @CyberMicha last edited by dslraser

      @CyberMicha
      ich habe so einige Präsenzmelder und Hue laufen, funktioniert problemlos. (allerdings benutze ich lieber Blockly, aber die lassen sich ja auch in Scripte umwandeln)

      C 1 Reply Last reply Reply Quote 0
      • C
        CyberMicha last edited by

        Hi,
        danke für die Rückmeldung. Hast du so ein Skript als nicht Blocky Version mal zur Hand? Frage mich wie ich das dann abbilden soll, damit er auch korrekt reagiert bei Präsenz.

        LG Micha

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @CyberMicha last edited by paul53

          @CyberMicha Etwa so.

          const idBw = 'hm-rpc...';
          const idLicht = 'hue....';
          
          var bw = getState(idBw).val;
          var licht = getState(idLicht).val;
          var timer = null;
          
          function bewegung() {
             if(bw) {
                if(timer) {
                   clearTimeout(timer);
                   timer = null;
                }   
                if(!licht) setState(idLicht, true);
             } else {
                timer = setTimeout(function() {
                   if(licht) setState(idLicht, false);
                   timer = null;
                }, 20000);  // 20 s
             }
          }
          
          bewegung();  // Skriptstart
          
          on(idBw, function(dp) {
             bw = dp.state.val;
             bewegung();
          });
          
          on(idLicht, function(dp)  {
             licht = dp.state.val;
          });
          
          1 Reply Last reply Reply Quote 0
          • C
            CyberMicha last edited by

            Wofür ist der Timer? Dachte das kann man am Präsenzmelder einstellen.

            LG Micha.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @CyberMicha last edited by

              @CyberMicha sagte:

              das kann man am Präsenzmelder einstellen.

              Den Präsenzmelder (dessen Eigenschaften) kenne ich nicht. Wenn man es an diesem einstellen kann, kann der Timer entfallen.

              1 Reply Last reply Reply Quote 0
              • C
                CyberMicha last edited by CyberMicha

                HI,
                ich muss den Thread noch mal hoch holen.
                Wollte gerade das Skript schon mal vorbereiten.
                Er erkennt aber clearTimeout und setTimeout nicht.

                Wofür ist der Timeout generell gedacht?

                Oder gibt es vielleicht schon jemanden, der ein fertiges Script dafür hat?

                LG
                Micha

                1 Reply Last reply Reply Quote 0
                • C
                  CyberMicha @dslraser last edited by

                  @dslraser sagte in Homematic IP Präsenzmelder HmIP-SPI mit Hue:

                  @CyberMicha
                  ich habe so einige Präsenzmelder und Hue laufen, funktioniert problemlos. (allerdings benutze ich lieber Blockly, aber die lassen sich ja auch in Scripte umwandeln)

                  Magst du das vielleicht mal zur Verfügung stellen als Skript oder sonst als Blocky Export?

                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @CyberMicha last edited by

                    @CyberMicha
                    Da sind jetzt zwei Präsenzmelder im Spiel

                    Meine Einstellungen der Melder:

                    Bildschirmfoto 2019-08-06 um 18.57.14.png

                    Hier ein kleines Blockly (Licht geht nach 2 Minuten aus, wenn keine Bewegung)

                    Bildschirmfoto 2019-08-06 um 18.58.49.png

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                      <variables>
                        <variable type="undefined" id="timeout">timeout</variable>
                      </variables>
                      <block type="on_ext" id="/XPPZ2Ef{Gp90PhxskTc" x="-288" y="-188">
                        <mutation items="4"></mutation>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id="4UPB+Zu~xmksZA(^wyHG">
                            <field name="oid">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field>
                          </shadow>
                        </value>
                        <value name="OID1">
                          <shadow type="field_oid" id="rCi-asJ((26g1B1@gB+V">
                            <field name="oid">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field>
                          </shadow>
                        </value>
                        <value name="OID2">
                          <shadow type="field_oid" id="b^8It/ovFq7)f%Ns3._R">
                            <field name="oid">hm-rpc.0.xxx.1.PRESENCE_DETECTION_ACTIVE</field>
                          </shadow>
                        </value>
                        <value name="OID3">
                          <shadow type="field_oid" id="1D8d(d^fg,4RScZ6W;X0">
                            <field name="oid">hm-rpc.0.xxx.1.PRESENCE_DETECTION_ACTIVE</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="r4;C-s:gJHryisv4KGb`">
                            <mutation elseif="1"></mutation>
                            <value name="IF0">
                              <block type="logic_operation" id="!DWFt=KrH@{HY^Irjo_{" inline="false">
                                <field name="OP">OR</field>
                                <value name="A">
                                  <block type="logic_compare" id="TP1|rTU91ZRI%i,rHP=Y">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="-+W!thbV^s9%DVQB4rTU">
                                        <field name="ATTR">val</field>
                                        <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="QFRR*suCU^8L_oRHF,H;">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_compare" id="?DWvJR#LVs]t9g_pCp2-">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="RTr:9XWbwVUXR4AopAVC">
                                        <field name="ATTR">val</field>
                                        <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="bW_Loan2HY5qw`xT1{Ih">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="fA7]`Ch~(e,]2).;~%G#">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">hue.0.HueBridge.Badezimmer.command</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="text" id="uw?fF)gAsM10ZM1_K};:">
                                    <field name="TEXT">{"on":true,"level":100,"transitiontime":5}</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="timeouts_cleartimeout" id="!B@KCYF|LU,_5DpFB5Hf">
                                    <field name="NAME">timeout</field>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <value name="IF1">
                              <block type="logic_operation" id="cgqIQN%kyd@zaj^gMS7(" inline="false">
                                <field name="OP">AND</field>
                                <value name="A">
                                  <block type="logic_compare" id="rT={5M#SZ]Jlj7KHq0.{">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id=".ocVQ1#eJDhQkDl]JYVV">
                                        <field name="ATTR">val</field>
                                        <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_ACTIVE</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="lrL!=Ro-+E+ylCCli9W=">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_operation" id="LKbN+LPDq4Lm{~dd!ZI8" inline="false">
                                    <field name="OP">AND</field>
                                    <value name="A">
                                      <block type="logic_compare" id="@)IC[L0N3Ls08=4B{fA/">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="C4oLI?66m-3#HKY_L,lU">
                                            <field name="ATTR">val</field>
                                            <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_ACTIVE</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_boolean" id="*rjrAzSy7HtSl6q{U5pE">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_operation" id="bM(yTZF=v*aK*unv-H}h" inline="false">
                                        <field name="OP">AND</field>
                                        <value name="A">
                                          <block type="logic_operation" id="NGnZogX~#@ogfp2ySf@i" inline="false">
                                            <field name="OP">AND</field>
                                            <value name="A">
                                              <block type="logic_compare" id="!hh1N%kL*7hq9+1E-:=#">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="get_value" id="04*}80jlf{1idn.[0-?`">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="logic_boolean" id="uVDty^,vSvL:AfTZ7Qeg">
                                                    <field name="BOOL">FALSE</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="logic_compare" id="L]`/caqE3j6Y(r.=C}GN">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="get_value" id="+|/!n9_brTM8Qh}opEfc">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">hm-rpc.xxx.1.PRESENCE_DETECTION_STATE</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="logic_boolean" id="S(a+i(w;~qeRpBSBXi7{">
                                                    <field name="BOOL">FALSE</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_compare" id="^*l0svFw;N3oZt@vsk,f">
                                            <field name="OP">NEQ</field>
                                            <value name="A">
                                              <block type="get_value" id="v)p]ndNn~t:5!Lwnd}fm">
                                                <field name="ATTR">val</field>
                                                <field name="OID">hue.0.HueBridge.Badezimmer.level</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="=fX3Go~iI~ip[alO,glF">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO1">
                              <block type="timeouts_settimeout" id="5h6itIX;TDkoxAkzeZo(">
                                <field name="NAME">timeout</field>
                                <field name="DELAY">120</field>
                                <field name="UNIT">sec</field>
                                <statement name="STATEMENT">
                                  <block type="control" id="ftP!r*}f{K0X.R)Uax?:">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">hue.0.HueBridge.Badezimmer.command</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="text" id="Roas``mxwmTae1f)q|xH">
                                        <field name="TEXT">{"on":false,"transitiontime":100}</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </xml>
                    

                    1 Reply Last reply Reply Quote 1
                    • C
                      CyberMicha last edited by

                      Danke dir.
                      Hier kommt auch die Fehlermeldung wenn ich es in JavaSkript umwandle. Werde es dennoch mal testen wenn der Melder da ist.

                      LG Micha

                      1 Reply Last reply Reply Quote 0
                      • C
                        CyberMicha last edited by CyberMicha

                        Habe es mir jetzt so gebaut.
                        Spricht da etwas dagegen? Als Erweiterung werde ich dann noch die Helligkeit mit abgreifen.

                        on({id: 'hm-rpc.1.xxx.1.PRESENCE_DETECTION_STATE', change: "ne"}, 
                        function (obj) {
                            if (getState("hm-rpc.1.xxx.1.PRESENCE_DETECTION_STATE").val == true) {
                              log("An");
                              setState("hue.0.Philips_hue.Licht_Küche.command", '{"on":true,"level":100,"transitiontime":5}');
                          } else if (getState("hm-rpc.xxx.1.PRESENCE_DETECTION_STATE").val == false && 
                                     getState("hue.0.Philips_hue.Licht_Küche.level").val != 0) {
                                       setState("hue.0.Philips_hue.Licht_Küche.command", '{"on":false,"transitiontime":100}');
                                       log("Aus")
                          }
                        });
                        

                        Wieso ein Timer verstehe ich nicht. Bei mir reagiert es mit Hue so top.

                        dslraser 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @CyberMicha last edited by

                          @CyberMicha
                          Das mit der Helligkeit (Wert von einem Bewegungsmelder draußen) und auch noch mit verschiedenen Licht Level zu anderen Uhrzeiten habe ich z.B. im Flur.
                          Deine letzte Frage habe ich nicht verstanden.

                          1 Reply Last reply Reply Quote 0
                          • C
                            CyberMicha last edited by

                            Meinte damit wieso da ein Timeout eingebaut ist.

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @CyberMicha last edited by

                              @CyberMicha
                              achso, ja braucht man ja auch nicht wirklich,. Dann müsste ich halte die Melder anders einstellen.

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                CyberMicha @dslraser last edited by

                                @dslraser sagte in Homematic IP Präsenzmelder HmIP-SPI mit Hue:

                                ja braucht man ja auch nicht wirklich,. Dann müsste ich halte die Melder anders einstellen.

                                Hm mein Melder ist genauso eingestellt und das geht super. Naja egal. Danke für die Hilfe.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                617
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                3
                                15
                                1059
                                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