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.
    • C
      CyberMicha last edited by CyberMicha

      Hallo zusammen,
      auf der Suche nach einer eleganteren Methode mein Licht ( HUE ) automatisch zu schalten bin ich auf den Homematic IP Präsenzmelder HmIP-SPI gestossen. Der Hue Bewegungsmelder ist das nicht so der Bringer.
      Hat jemand diese Kombi im Einsatz? Ich frage mich, wie ich die beiden am besten zusammen bringen kann. Möchte ungern mein Hue in die CCU3 einbinden.

      Vermutlich dann über ein Skript? Nutze kein Blocky 🙂

      LG Micha

      dslraser 1 Reply Last reply Reply Quote 0
      • 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

                                  880
                                  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