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.
    • 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

                            461
                            Online

                            31.8k
                            Users

                            79.9k
                            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