Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Garagentor mit Shelly Yahka & Aqara Sensor

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Garagentor mit Shelly Yahka & Aqara Sensor

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

      Moin Zs,

      da ich nun fast 3 Tage gebraucht habe, um mir eine Lösung zu basteln, die sowohl die Öffnung per Homekit, Shelly-App und manuell mit Handsender ermöglicht, dabei aber jeweils den Status des Tores korrekt in Homekit anzeigt, nachfolgend mal meine Lösung:

      • Shelly Plus 1 mit o / i am Schaltereingang des Tores ( Bei mir reicht es den Kontakt mit dem potentialfreien Relais vom Shelly zu schließen, kein Strom Eingangseitig nötig)
      • Aqara doorsensor via Conbee https://www.aqara.com/us/product/door-and-window-sensor/ in iobroker
        angebunden
      • eine Osram smart+ Steckdosen als Zigbee repeater (je nach Signalstärke) in der Garage die ich gleichzeitig für die
        Weihnachtsbeleuchtung nehme.
      • Aqara Garagentorhalterung 3D gedruckt für Türsensor https://www.thingiverse.com/thing:5405600
        oder zum kaufen https://threedee.nl/produkt/xiaomi-aqara-sensor-garagentorhalter/?lang=de
        Der Sensor "pendelt" bei öffnung des Tores vor und öfftnet den Kontakt, wenn das Tor zu ist, liegt das Pendel an
        und der Kontakt ist geschlossen. Super simpel aber funktioniert mega gut.
        medium_preview_IMG_1633.jpg
        large_display_IMG_1634.jpg
        Hier die Yahka Einstellungen dazu:
        Bildschirmfoto 2023-10-17 um 09.01.31.png
        Dazu ein kleines Script:

      Bildschirmfoto 2023-10-17 um 09.09.38.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable type="timeout" id="Öffnungszeit">Öffnungszeit</variable>
        </variables>
        <block type="create" id="sF(t:%t/_0rK`vj2E0{v" disabled="true" x="-1787" y="-1338">
          <field name="NAME">0_userdata.0.Garage.Garagentor_offen</field>
          <value name="VALUE">
            <block type="math_number" id="k~N2*pVx)GvfXiH*op7g">
              <field name="NUM">0</field>
            </block>
          </value>
          <value name="COMMON">
            <block type="text" id="W6dC-JA2T{I{N8pu;ap|">
              <field name="TEXT">{ type:"number", name:"Garagentor_offen"}</field>
            </block>
          </value>
          <next>
            <block type="create" id="taODgD#mV!M@G_?+d-q2" disabled="true">
              <field name="NAME">0_userdata.0.Garage.Target</field>
              <value name="VALUE">
                <block type="math_number" id="*txh%6k2Nypu*eOH!H+J">
                  <field name="NUM">0</field>
                </block>
              </value>
              <value name="COMMON">
                <block type="text" id="U?+HHJQ$/XXHJVujtHfx">
                  <field name="TEXT">{ type:"number", name:"Target"}</field>
                </block>
              </value>
              <next>
                <block type="on" id="S6+*M-n7_Ao+HPgulE_t">
                  <field name="OID">0_userdata.0.Garage.Target</field>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION">false</field>
                  <statement name="STATEMENT">
                    <block type="control" id="Ci0+B_;}:u{,]-q@lpoX">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">shelly.2.shellyplus1#441793a381a0#1.Relay0.Switch</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="_}L%FcGT{.J9S5BZFGD:">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <next>
                    <block type="comment" id="SC2{|(BKaSP^:0{JIC+U">
                      <field name="COMMENT">DP vom Aqara Sensor als Trigger-&gt;</field>
                      <next>
                        <block type="on" id="/Uz$cpQJmj{:lxY}ryi_">
                          <field name="OID">deconz.0.Sensors.44.open</field>
                          <field name="CONDITION">any</field>
                          <field name="ACK_CONDITION"></field>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="P2xkSX%L2^/6SrOw/MZM">
                              <mutation elseif="1"></mutation>
                              <value name="IF0">
                                <block type="logic_compare" id="2Ck)ALcUq-U/F+4(uy*3">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="on_source" id="hhEwO=_h_K]t-,n;0J$O">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="Mx)!CyV$]:*:j+mmnU2t">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="comment" id="l48SB@u,*O9%(+=pynJ+">
                                  <field name="COMMENT">geschlossen</field>
                                  <next>
                                    <block type="update" id="wiY9a[9K{S}l`B6[F*u-">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Garage.Garagentor_offen</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="math_number" id="mV[-6;;CDH.c{g73/$Pi">
                                          <field name="NUM">1</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="update" id="aHo=4gmY:-8[)z:*=:~P">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.Garage.Target</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="math_number" id="/e(/tojNYP39JE0us#ZI">
                                              <field name="NUM">1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                              <value name="IF1">
                                <block type="logic_compare" id="gh?cbXZ6g:1d_QF2S[8m">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="on_source" id="]y~285-d__0*#EjV^G@.">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="t~)9SWbK#96$DFDl*-OY">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO1">
                                <block type="comment" id="[.c50^LM.xGrqw({7E(@">
                                  <field name="COMMENT">Offen - Timeout an Öffnungszeit des Tores anpassen!</field>
                                  <next>
                                    <block type="update" id="}1v%$1|PKPA%`}pa=F~#">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Garage.Target</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="math_number" id="C%21#MGv_k-igv?2cEpy">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="timeouts_settimeout" id="nN@ED4lbTKB]vSKD6OkW">
                                          <field name="NAME">Öffnungszeit</field>
                                          <field name="DELAY">12</field>
                                          <field name="UNIT">sec</field>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="/3Bd=vHA*N#qit9{}9w(">
                                              <value name="IF0">
                                                <block type="logic_compare" id="d@l^_IT]3isV5I(~_Ax}">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="#|C[DN@b[oAb*MiY(atS">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">deconz.0.Sensors.44.open</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="logic_boolean" id="q=_{[T}OERl0,8PX$7jP">
                                                      <field name="BOOL">TRUE</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="update" id="t7+qWJWF%=983V8EJ05=">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                  <field name="OID">0_userdata.0.Garage.Garagentor_offen</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="math_number" id="^wk.BSIYk|Wzf3lN:`j;">
                                                      <field name="NUM">0</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      
      L 1 Reply Last reply Reply Quote 0
      • L
        lessthanmore @SoerenKaiser99 last edited by lessthanmore

        @soerenkaiser99 Da gibt es doch schon massig Lösungen und Lösungsvorschläge (u. a. https://forum.iobroker.net/topic/45039/garagentor-mit-homekit-steuern) 🙂
        Aber schön, dass es bei dir so funktioniert.

        Mein Blockly sieht so aus:
        2023-10-17_09-25-08.png

        Viele Wege führen nach Rom.

        S 1 Reply Last reply Reply Quote 0
        • S
          SoerenKaiser99 @lessthanmore last edited by

          @lessthanmore ja stimmt schon, aber die (funktionierende) Kombi habe ich nicht gefunden.
          Entweder nur Homekit-Steuerung oder nur Status.
          Selbst das habe ich in 4 Posts bis zum Ende durch gehabt, der Status war trotzdem nicht korrekt in Homekit.

          Die Infos habe ich dann aus diesen 4 Posts kombinieren müssen bis es gepasst hatte.
          Bei dem einen war in Yahka etwas falsch, beim anderen das script nicht fertig ....

          So kann man es ohne Aufwand und sehr günstig realisieren und hat alle Infos zusammen.
          Wollte nur etwas zurückgeben 🙂

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

          Support us

          ioBroker
          Community Adapters
          Donate

          980
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          aqara doorstate garage garagentor homekit shelly yahka
          2
          3
          331
          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