Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Garagentor mit Shelly Yahka & Aqara Sensor

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    340

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    308

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    931

Garagentor mit Shelly Yahka & Aqara Sensor

Geplant Angeheftet Gesperrt Verschoben Hardware
aqaradoorstategaragegaragentorhomekitshellyyahka
3 Beiträge 2 Kommentatoren 558 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    SoerenKaiser99
    schrieb am zuletzt editiert von SoerenKaiser99
    #1

    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 Antwort Letzte Antwort
    0
    • S 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 Offline
      L Offline
      lessthanmore
      schrieb am zuletzt editiert von lessthanmore
      #2

      @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 Antwort Letzte Antwort
      0
      • L 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 Offline
        S Offline
        SoerenKaiser99
        schrieb am zuletzt editiert von
        #3

        @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 Antwort Letzte Antwort
        1

        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

        Registrieren Anmelden
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        554

        Online

        32.8k

        Benutzer

        82.8k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe