Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Yet another HomeKit adapter

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Yet another HomeKit adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      el_malto @iPhoneDan last edited by el_malto

      @iphonedan ich habe das bei mir mal simuliert und das klappt soweit. Ich kann den schon per HomeKit steuern usw.
      Ein paar Fragen noch:

      1. Wie verhalten sich die Datenpunkte wenn du "fan_mode" auf "auto" stellst? Wird dann lediglich bei "fan_speed" angezeigt auf welche Stufe der gerade läuft? Also "1-9" und wenn die Luft gut ist und der nicht läuft "off" oder wie im Bild zu sehen "0"?
      2. Was passiert mit "fan_state" wenn "fan_mode" auf "off" gestellt wird? Bleibt "fan_state" dann an oder geht mit aus?
      3. Was wenn "fan_state" auf 0 ist und du "fan_mode" auf z.B. 3 stellst? Geht "fan_state" dann auf 1?
      4. Den Datenpunkt "fan_speed" kannst du nicht steuern? Der ist rein zum ablesen da?
      5. Welche Anzeigen gibt es für "air_quality" ? unknown, poor... wie geht weiter?

      Bitte die Fragen genau beantworten.

      I 1 Reply Last reply Reply Quote 0
      • M-A Hueb
        M-A Hueb last edited by M-A Hueb

        Hat sich erledigt

        1 Reply Last reply Reply Quote 0
        • I
          iPhoneDan @el_malto last edited by

          @el_malto

          super danke fürs simulieren. Gerne beantworte ich dir die Fragen:

          1. wenn ich den "fan_mode" auf "auto" stelle geht der Lüfter an und stellt sich auf die Stufe "5" wenn die Luft besser geworden ist geht die Stufe runter. Aktuell im Bild ist er auf Stufe 1. Kann gerne ein Update geben sollte er automatisch auf off gehen.
          2. stelle ich "fan_mode" auf "off" geht der "fan_state" auf "false" er geht also mit aus. Stelle ich wieder auf "auto" oder eine Zahl geht der Wert wieder auf "true"
          3. setze ich den "fan_state" auf "false" und ändere den "fan_mode" z.B. wechselt er auf true somit besteht hier eine Abhängigkeit.
          4. ja genau hier wird nur die Zahl angezeigt. Ändern kann ich diesen hier nicht. Er zeigt die Zahl vom "fan_mode" an. Bei "auto" wird eine 5 dargestellt. Vermutlich mittlere Lüftergeschwindigkeit
          5. Folgende states sind unter "air_quality" vorhanden: "states": "excellent:excellent;good:good;moderate:moderate;poor:poor;unhealthy:unhealthy;hazardous:hazardous;out_of_range:out_of_range;unknown:unknown",

          bei den angehängten Bildern habe ich dir mal vom setzen des "fan_mode" auto die Zustände aufgelistet einmal beim anschalten, kurzen Moment später und dann einmal nach ca. 30 Betrieb

          ioBroker Zigbee IKEA Starkvind  fan_state auto.png ioBroker Zigbee IKEA Starkvind  fan_state auto2.png ioBroker Zigbee IKEA Starkvind  fan_state auto3.png

          Wenn du noch mehr Infos brauchst oder ich irgendwie helfen kann lass es mich wissen. 🙂 ich danke dir jetzt schon für deine Hilfe 🙂

          E 1 Reply Last reply Reply Quote 0
          • E
            el_malto @iPhoneDan last edited by el_malto

            @iphonedan hier mal meine Lösung.
            Im Grunde musst du wie Anfangs geschrieben gucken welche Werte der Yahka Adapter für HomeKit erwartet. Das kannst du sehen wenn du auf [properties] gehst. So weißt du schon mal ob deine Datenpunkte von Geräten passen. Wenn die Datenpunkte deiner Geräte nicht passen musst du mit Hilfe von Skripten und Hilfsdatenpunkten die passend bauen und die Hilfsdatenpunkte dann in Yahka einfügen.
            Ich habe mich vom Aufbau des Skriptes ein bisschen aus den Wiki bedient. Da ist ein Tut für einen Staubsauger Robotor der als Ventilator in HomeKit abgebildet.
            https://github.com/jensweigele/ioBroker.yahka/wiki/Staubsauger-Roboter-als-Lüfter-mit-Anwesenheitssensor---Xiaomi-Mi-Robot-oder-Roborock-S50
            Da wandelt er auch die Werte entsprechend passend für Yahka um.

            Erklärung:
            Unter "originalDP" sind die originalen Datenpunkte von deinen Luftreiniger.
            Unter "varDP" sind die Hilfsdatenpunkte die du selbst anlegen musst.
            DP.JPG

            Datenpunkte anlegen und so bearbeiten.
            "varAirQuality"
            varAirQuality.JPG

            "varCurrentAirPurifierState"
            varCurrentAirPurifierState.JPG

            "varRotationSpeed"
            varRotationSpeed.JPG

            Dann das Blockly Skript einfügen und die Datenpunkte entsprechend anpassen.

            <xml xmlns="https://developers.google.com/blockly/xml">
             <block type="comment" id="t6:.n+qhf(*BzU^$KkQG" x="87" y="37">
               <field name="COMMENT">Steuerung über HomeKit</field>
               <next>
                 <block type="on_ext" id="mW3?K0sqI9$,G8sG=+3p">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="vS6}{z6sO[oThjsA+Sg4">
                       <field name="oid">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="s/Xj.e@.n?cRX0sgUo~)">
                       <value name="IF0">
                         <block type="logic_compare" id="l(9HA$221dU|AQy!=FR#">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="on_source" id="MHo^fKZw-#4pMn6?T#:t">
                               <field name="ATTR">state.from</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="text" id="/`BAASoCk)_smm[OSt+{">
                               <field name="TEXT">system.adapter.yahka.0</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="controls_if" id="J25I1Y3)s#o.sPL38|f!">
                           <mutation elseif="9"></mutation>
                           <value name="IF0">
                             <block type="logic_compare" id="3;,#6pg;:i#uuh)u{1))">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="K1,q)2%P`kF6_[ayHyeL">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="6lRDEZ^1oG%A5)llD-uG">
                                   <field name="NUM">0</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="UD7C1_~oN$jKgm_3oBI`">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="text" id="~f10OhCz1m7_(Dcy0_9x">
                                   <field name="TEXT">off</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF1">
                             <block type="logic_operation" id="6R2w1S^sM@A4?[AC:vK7">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="yH(4fPr(mGnXpAG1pMF]">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="L80D-i2EiGFCAtVCckC#">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="^3nU1gO{@HDs+ztzKBQa">
                                       <field name="NUM">1</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="#Ss|FEB;+xtBveo4a9ct">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="BrOO{v*BaU429xTi*~XY">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="XJ9RV^kK]Rg}OLA-1$d/">
                                       <field name="NUM">10</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO1">
                             <block type="control" id="mUH1]c!?c,#C|t2Qko%R">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="p9YbwvGq+hs;,gBKyjLr">
                                   <field name="NUM">1</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF2">
                             <block type="logic_operation" id="h,hPPKD|rGZv@(o1dCRn">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="QO4oVbkvg#d[JQj9if|%">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="Qiz2PSltM~BmJ$(Z,X{`">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="`/ql!?v_XYT?O6{#Vj*S">
                                       <field name="NUM">11</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="17~6XR]-m-45in.Y;%@V">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="i.dBI9d?#HOJ/N]wXa3J">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="okH(bD=r%yMc$L*n=?!L">
                                       <field name="NUM">20</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO2">
                             <block type="control" id="_xVMSr-USFp(18jWyS)x">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="D%?4SD;N*3xsVn#)IeOn">
                                   <field name="NUM">2</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF3">
                             <block type="logic_operation" id="B@~19dn-OQ]i?HX4S(RK">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id=":S4gC(=`xR$u6N;E:$uR">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="kNSq%J_ji0sW*k!^))7D">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="TKa`cbpp(c3G!2n!r566">
                                       <field name="NUM">21</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="%qv]obrL6},v1*;`R?$w">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="dLx:Yhg+DcaRy/v5WDNY">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="vALC@6lg0]8v?K6w0KMc">
                                       <field name="NUM">30</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO3">
                             <block type="control" id="OhJ~@cXUE=]h|7Gl23pO">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="sy6zCobHL,^Fv|Cp5;U7">
                                   <field name="NUM">3</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF4">
                             <block type="logic_operation" id="W2e33}$O:nEIoze1f]D6">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="[eX8n.*b%VTH))*wT[;2">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id=";S+/UX-G=fp^3`8=UIO/">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="rXi,/hb:}.k@.Zbx5BGz">
                                       <field name="NUM">31</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="F_8(*PSB|O[c_g(^UE}m">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="`pLf,{7z.Q{n,tk#$z_*">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="+UH%AbaKzx4rq1m#`bk0">
                                       <field name="NUM">40</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO4">
                             <block type="control" id="/B_to|N)1tn7f{(CEVA`">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="_xeoO.:?5,/#IJBp*3dg">
                                   <field name="NUM">4</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF5">
                             <block type="logic_operation" id="h;O:pclT:hxvHDljF7=3">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="`j^U0hI]LbeVoaTnT{in">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="|R]g:otTKtR45kv[M;.5">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="#f53)KM7/Q?|)f:Hr1pD">
                                       <field name="NUM">41</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="jS8Hv{w/[?2I7lX!)b9h">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="V^B~#[,yd{X1AG@pb+@s">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="3zhmIA]PF:1$JyAFFTlP">
                                       <field name="NUM">50</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO5">
                             <block type="control" id="eM:fun-g*H}TP{`GHe;x">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="UmCqtE~Pn5cVf@q@+L$r">
                                   <field name="NUM">5</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF6">
                             <block type="logic_operation" id="%tl9IdR4Bc~:wzBOp:%_">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="5M%%aUk*vj?[o-xDgd3H">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="-i!Ca!@T5Zi5W7`_kfGg">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="r^IFFasM$5hn5c4#ZSt}">
                                       <field name="NUM">51</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="~EaKljJt%=$v/3Z~*!BU">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="Ai2ez8${l*!m~Jk2e*=v">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="|~{CYg|.H]Wzef^rn6F/">
                                       <field name="NUM">60</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO6">
                             <block type="control" id="nE1WW7GNEl)agGb$|3c@">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="++3p}|e+-$ZN5/KOL:+6">
                                   <field name="NUM">6</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF7">
                             <block type="logic_operation" id="N1UURjJWn0:mC1wBgsV6">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="9=]F=6g(`WDsZ#Z#or5v">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="nSm,_KB0`VZA~VZFOROD">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="`a!FwlNxw{_VG2,P7Cr%">
                                       <field name="NUM">61</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="%3,YJh#/#%jsaez@RP*m">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="n`p^Jvf|Y_#X`qN1A]gE">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="l;m~C#vK]g?D+!][S63@">
                                       <field name="NUM">70</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO7">
                             <block type="control" id="F$5.Ij/)rrH$OzmsPz!{">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="hYjcJO8L6=wZDr*8i[6;">
                                   <field name="NUM">7</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF8">
                             <block type="logic_operation" id="o0-{g%=2KXG6fPE*vN1`">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id="{{D-ga.9Y@B2v`3T2e;8">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="+W;!F3D?|)]]KKFQ4VQY">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="qQ9;7rE6HH:c({H7$TQ%">
                                       <field name="NUM">71</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="XP.,VB#ElGa:cG?_E1:2">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="@k^epZW#j`uaa]JoBP1q">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="7S=.cT*4p|?`=`4qX)2h">
                                       <field name="NUM">80</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO8">
                             <block type="control" id="D@Sh31{k4B0,Eq[1=O{P">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="O*K|w`n6,]p;KGkF,3EQ">
                                   <field name="NUM">8</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <value name="IF9">
                             <block type="logic_operation" id="XHD1xJ+8k%{`BuURlERC">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_compare" id=";j/yYCfW{;Og4@:R}clW">
                                   <field name="OP">GTE</field>
                                   <value name="A">
                                     <block type="get_value" id="z35q~i*kh:6B3kO5$,Qb">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="RrXf@NVYgwX2jgCaCCe3">
                                       <field name="NUM">81</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="t;IQ3Z1u-gP}l;NZLvBQ">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="get_value" id="Jht`zW2V,r(1bc$N5ajU">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="CjE+Nw@A0Q]ML^N#Ser%">
                                       <field name="NUM">100</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO9">
                             <block type="control" id="9=;MF`yDA^Aot~kemp!O">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="CxIPVa|e?SK]2V.C@=xw">
                                   <field name="NUM">9</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </statement>
                   <next>
                     <block type="comment" id="WnDF@_k|#_aT2.)+@^}?">
                       <field name="COMMENT">Steuerung nicht über HomeKit</field>
                       <next>
                         <block type="on_ext" id="8Q%f_3TxMOw(Bf9EcY?l">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="19r`j%XA/[iLNhicDLnv">
                               <field name="oid">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="controls_if" id="_x6Mt4A1x/t7]UmDJJM5">
                               <mutation elseif="9"></mutation>
                               <value name="IF0">
                                 <block type="logic_compare" id="GDg]$-3P1/M/B:g|s$iF">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="M5joz_3G8h`Tp]=JO0%q">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="text" id="][ij7|G:ixwIG$BjGOLK">
                                       <field name="TEXT">off</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="control" id="I?h]W,2[Z:LeYPq?syl^">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="z?Hfpi3}QriA]Z_+#9##">
                                       <field name="NUM">0</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF1">
                                 <block type="logic_compare" id="b^zEKi=dWSSX4`igi5zY">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="!T!hqX+G4nu89aOhlEas">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="gdQ:fv|qG$NV05.;Q%BP">
                                       <field name="NUM">1</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO1">
                                 <block type="control" id="BZT.=efGB=;p5JV]vixF">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="y5KC9R#VR*^?Q!vWf![.">
                                       <field name="NUM">10</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF2">
                                 <block type="logic_compare" id="q?RDa.A]R@EUhno[q!fM">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="~v(L`[Uv*@i4ML7xPc;]">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="4DkWrC`b@^Ip}pqqOM1[">
                                       <field name="NUM">2</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO2">
                                 <block type="control" id="u(3[^plRcURU~2@F=|R5">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="43{7nkJ%n~6{UpEE7n(c">
                                       <field name="NUM">20</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF3">
                                 <block type="logic_compare" id="QSX~`V.0HM:`.tY`i_{G">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="jAPL4tSEp`,ZPB!l5%23">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="KTH9Gw+|?CT,$[bwd6Gn">
                                       <field name="NUM">3</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO3">
                                 <block type="control" id="b^2]vN6YX$qQhj{aA$;T">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="LIO-R2uXZk;OB@)F;R4h">
                                       <field name="NUM">30</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF4">
                                 <block type="logic_compare" id="hj%;gt`$WUTJA|suuaFW">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="ANmw*8)jP9p.M0/|km6v">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="{7.b9VitzQm@d5idqR{f">
                                       <field name="NUM">4</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO4">
                                 <block type="control" id="N9/+*[hnhk5Ty_2N~;9,">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="sV}:ZVY}^oi}Mi@hyIa]">
                                       <field name="NUM">40</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF5">
                                 <block type="logic_compare" id="UdZK1UwYQl)vIz7DoSpN">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="]r3z/mr).DXK(}oYZ(S4">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="wZhr8$)m3(:C,#sA@}yZ">
                                       <field name="NUM">5</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO5">
                                 <block type="control" id="gGe7KhF`U`9Z7!L/18TV">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="H4pzk]{naYxqmVw(J$BP">
                                       <field name="NUM">50</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF6">
                                 <block type="logic_compare" id="Uxxnx$dLYo-3A`FRYFs-">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="}1Hf#pIg`@pWNe.c]iVb">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="*Yr=rf_Ll:ziU%AG?ST}">
                                       <field name="NUM">6</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO6">
                                 <block type="control" id="-01b8MqHgrn^z_7bD8Vl">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="IO!*_TG9C1cTk8x]FI~R">
                                       <field name="NUM">60</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF7">
                                 <block type="logic_compare" id="^LVLW(j^#.tZ4;LIx~d,">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="E(`CEza;3tfWHA6sp8.0">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="AZi_6@p*jf=V[ZSbLyS+">
                                       <field name="NUM">7</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO7">
                                 <block type="control" id="#~rgiT|)p?wl9mP84~5x">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="D)U[*O^@w#X@nuJX;xyu">
                                       <field name="NUM">70</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF8">
                                 <block type="logic_compare" id="_f2tWVcFseK*A=hzYApN">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="Tfqkl^k@!ihR98CLTi?8">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="5))=Jl[:|P43G*hslFF|">
                                       <field name="NUM">8</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO8">
                                 <block type="control" id="Z-z0_IPr9^}]#*X,brHp">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="KPLm[0-QpsCS*0h-L`;d">
                                       <field name="NUM">80</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF9">
                                 <block type="logic_compare" id="^PY(X$!@XJw0:C*WSB;;">
                                   <field name="OP">EQ</field>
                                   <value name="A">
                                     <block type="get_value" id="H:%k5T$xne8V92;2(Jk/">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_mode</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="qp8Up+a{t]HSgdUi|,{3">
                                       <field name="NUM">9</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO9">
                                 <block type="control" id="{MFg,K`a|4Q9Y2m/vN:C">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varRotationSpeed</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="t!7;T7gng*Kf8b.RMi+x">
                                       <field name="NUM">90</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                           <next>
                             <block type="comment" id="TY0l]=7k7V:JLyw,_.D+">
                               <field name="COMMENT">Um die richtige Anzeige von An/Aus in HomeKit zu haben</field>
                               <next>
                                 <block type="on_ext" id="/D}hGt]=-my45(=#@@$A">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                   <field name="CONDITION">ne</field>
                                   <field name="ACK_CONDITION"></field>
                                   <value name="OID0">
                                     <shadow type="field_oid" id="P5aPV8{fvwC@!B^Y9_GG">
                                       <field name="oid">0_userdata.0.Luftreiniger.originalDP.fan_state</field>
                                     </shadow>
                                   </value>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="t$X10HwI}+Pn*6)/m3k4">
                                       <mutation elseif="1"></mutation>
                                       <value name="IF0">
                                         <block type="logic_compare" id="=}gLK2n4rX=0[w1+xK(%">
                                           <field name="OP">EQ</field>
                                           <value name="A">
                                             <block type="get_value" id="Tv)upj@62k%IF#7vZlmm">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_state</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_boolean" id=",6|gUyD||y@kI(M$M(s|">
                                               <field name="BOOL">TRUE</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="control" id="YL,Sbj8$:s2_.?^9J?zo">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">0_userdata.0.Luftreiniger.varDP.varCurrentAirPurifierState</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="naXT.R%qRE8!PwLzYxc,">
                                               <field name="NUM">2</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <value name="IF1">
                                         <block type="logic_compare" id="U_~vc_zU;4WY%@LzM:{e">
                                           <field name="OP">EQ</field>
                                           <value name="A">
                                             <block type="get_value" id="#bN:A3D0l_.H;AJ$4Vm+">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Luftreiniger.originalDP.fan_state</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_boolean" id="}%B+VvV){3k?fECn@5m$">
                                               <field name="BOOL">FALSE</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO1">
                                         <block type="control" id="UB56t%(j#(+_,nOvP!o[">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">0_userdata.0.Luftreiniger.varDP.varCurrentAirPurifierState</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="p5ksc|7tX(z9+5XmTeZP">
                                               <field name="NUM">0</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="comment" id="P.P4Ze|mT0uwDiNA-l[R">
                                       <field name="COMMENT">Übersetzung der AirQuality für HomeKit</field>
                                       <next>
                                         <block type="on_ext" id="+npPAmocI#G=0E63Y$rI">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                           <field name="CONDITION">ne</field>
                                           <field name="ACK_CONDITION"></field>
                                           <value name="OID0">
                                             <shadow type="field_oid" id="^4l.8YO_DBJtb~agg{l:">
                                               <field name="oid">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                             </shadow>
                                           </value>
                                           <statement name="STATEMENT">
                                             <block type="controls_if" id="0B1oI^$xn!ay5(O?VzvN">
                                               <mutation elseif="4"></mutation>
                                               <value name="IF0">
                                                 <block type="logic_compare" id="zf8x,LN5B:Fd?tc=vObu">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="roXTb4zHvw0HZ|%V5dUa">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="text" id="e%%T2ygM.XuGn%CYBgL_">
                                                       <field name="TEXT">excellent</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="control" id="l;@m[**(^eg$^lP}+/Kx">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varAirQuality</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="i5sv/Ji(!5/m3V@jp{In">
                                                       <field name="NUM">1</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <value name="IF1">
                                                 <block type="logic_compare" id="/r~apZHO@9f-`4sE1kuU">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="e`6{6v~VkHddTQq](?}L">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="text" id="AL.8X.~d3ny|=TkV5Bp(">
                                                       <field name="TEXT">good</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO1">
                                                 <block type="control" id="EXz5AeI|__lM+S~MlwRj">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varAirQuality</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="sAex!SXagZc6{}=N}(A:">
                                                       <field name="NUM">2</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <value name="IF2">
                                                 <block type="logic_compare" id="i%*Ep;BIZd*g]nf$]YiD">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="7%HZ:ug[HQxQL/R)b?NS">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="text" id="@N(W5~nvpY?^O;ycs]+$">
                                                       <field name="TEXT">moderate</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO2">
                                                 <block type="control" id="+G(JI5(%`,v3dd7*z;oZ">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varAirQuality</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="%fz.Ikg_sQVk=uDvqw0|">
                                                       <field name="NUM">3</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <value name="IF3">
                                                 <block type="logic_compare" id="u5{GGZO5q^_Br*}#y5O3">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="@GREg/WyDJx=4%IPMtA7">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="text" id="UtGfEO2;Yil{H#!C[~k5">
                                                       <field name="TEXT">poor</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO3">
                                                 <block type="control" id="yQzS3aTsCJszw4LoTzU{">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Luftreiniger.varDP.varAirQuality</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="J$mMUUBl8{j^bzQ,S]f$">
                                                       <field name="NUM">4</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <value name="IF4">
                                                 <block type="logic_operation" id="KhkLB}!tLbWBfo~r$v$F">
                                                   <field name="OP">OR</field>
                                                   <value name="A">
                                                     <block type="logic_compare" id="-voe@?c+^*NRuP*Yb(cm">
                                                       <field name="OP">EQ</field>
                                                       <value name="A">
                                                         <block type="get_value" id="6/GlNN]}MBdhYrJ{,ICH">
                                                           <field name="ATTR">val</field>
                                                           <field name="OID">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="text" id="FH@p#RMY4H,0I%wMR{lC">
                                                           <field name="TEXT">unhealthy</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="logic_compare" id="L0+%8?~+JD4A.Q{_O,fO">
                                                       <field name="OP">EQ</field>
                                                       <value name="A">
                                                         <block type="get_value" id="^Y]Kreu((f3F2}%uUVV#">
                                                           <field name="ATTR">val</field>
                                                           <field name="OID">0_userdata.0.Luftreiniger.originalDP.air_quality</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="text" id="Qidb}dvo!gXpS*y{4?*f">
                                                           <field name="TEXT">hazardous</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO4">
                                                 <block type="comment" id="A?:Q?C=zIbF5r;pi~JnU">
                                                   <field name="COMMENT">HomeKit kennt bei AirQuality nur 5 Zustände, daher habe ich die letzten beiden auf 5 gesetzt</field>
                                                   <next>
                                                     <block type="control" id="B/Wmy.fnQ.OycYMkhPK/">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Luftreiniger.varDP.varAirQuality</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="-^(]@AZd_0lOFw]bY|8v">
                                                           <field name="NUM">5</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            In Yahka ein neues Gerät hinzufügen.
            Air.JPG

            Neuen Service-Type "AirPurifier" hinzufügen und Datenpunkte entsprechend anpassen und einstellen.
            AirP.JPG
            "SwingMode" kannst du auch weg lassen. Dann hast du in der HomeKit App aber so einen großen An/Aus Slider und der "Schieberegler" ist weiter unten. Wenn du "SwingMode" mit rein machst hast du einen kleinen runden Button für An/Aus. Finde ich persönlich schöner und der Schieberegler ist direkt da drunter. So hast du alles auf einer Seite. Einfach mal ausprobieren wenn alles eingerichtet ist dann siehst du was ich meine.

            Neuen Service-Type "AirQualitySensor" hinzufügen und Datenpunkte entsprechend anpassen und einstellen.
            AirQ1.JPG

            Dann speichern und schließen.
            In der HomeKit App dürfte dann ein neues Gerät und ein neuer Sensor auftauchen. Die Bedienung ist denke ich selbsterklärend.
            Man kann in HomeKit aber leider nicht den Modus "auto" abbilden. Somit kannst du nur An/Aus und die Stufen regeln. Eine Idee wäre hier z.B. das wenn du den Slider ganz nach oben schiebst den Modus "auto" einstelllst. Dann wäre Slider ganze unten (0) "off". zwischen 1-99 dann die Stufen 1-9 und bei Slider ganz oben (100) den "auto" Modus. Dafür im Skript unter "Steuerung über HomeKit" im zweiten "falls mache" Baustein ganz unten ein weiteres "falls mache" hinzufügen und
            falls varRotationSpeed zwischen 81 und 98 mache Mode "9"
            und
            falls varRotationSpeed zwischen 99 und 100 mache Mode "auto"
            Keine Ahnung wie ich das beschreiben soll. Hier noch ein Bild.
            Blockly.JPG
            Hoffe du kommst damit so klar.

            Wenn du das mit "auto" bei Slider ganz oben haben willst kann man auch noch mit den Datenpunkt "fan_speed" arbeiten. Wenn der "auto" Mode dann an ist könnte man sich die Geschwindigkeit mit dem Slider in HomeKit anzeigen lassen. Allerdings weißt du dann nicht wenn du z.B. mit der Fernbedinung den Luftreiniger auf "auto" gestellt hast und dann in HomeKit guckst ob der "auto" Mode an ist oder der z.B. auf 60% oder so gestellt ist. Obwohl, wo ich das gerade schreibe könnte man das evtl. noch mit "CurrentAirPurifierState" darstellen. Wenn der auf "1" steht wird der Luftreiniger in der HomeKit App mit "inaktiv" angezeigt. Das könnte man als "auto" nutzen. Habe ich noch nicht ausprobiert.

            I 1 Reply Last reply Reply Quote 0
            • I
              iPhoneDan @el_malto last edited by

              @el_malto

              vielen Dank für die Erklärung und die gemachte Mühe.
              Werde dies zur Hilfe nehmen und dir schnellstmöglich eine Rückmeldung geben.

              draexler 1 Reply Last reply Reply Quote 1
              • draexler
                draexler @iPhoneDan last edited by

                Hallo Zusammen,

                ich habe über den YAHKA Kameras eingebunden. Nach langen Versuchen habe ich es nun geschafft das diese flüssig laufen. (Viele Einstellungen auch bei den Erweiterten Eigenschaften.

                Nun habe ich aber z.B. den RTSP Stream Link und das Bild für den Snapshot direkt im Adapter eingebunden.
                Gibt es irgendeine Möglichkeit das diese Werte über einen Datenpunkt geliefert werden?
                Das Problem ist nämlich das sich die URLs manchmal ändern und im Synology Adapter wären immer die aktuellsten.

                Bildschirmfoto 2022-03-11 um 18.18.16.png

                L wendy2702 2 Replies Last reply Reply Quote 0
                • L
                  loverz @draexler last edited by

                  @draexler welchen YAHKA Service hast du verwendet? Würde auch gerne meine Eufy Cams einrichten, wenn das geht.

                  draexler 1 Reply Last reply Reply Quote 0
                  • wendy2702
                    wendy2702 @draexler last edited by

                    @draexler sagte in Yet another HomeKit adapter:

                    Das Problem ist nämlich das sich die URLs manchmal ändern

                    Welche URLs ändern sich manchmal?

                    @loverz sagte in Yet another HomeKit adapter:

                    @draexler welchen YAHKA Service hast du verwendet? Würde auch gerne meine Eufy Cams einrichten, wenn das geht.

                    Sind die nicht direkt HomeKit tauglich?

                    L draexler 2 Replies Last reply Reply Quote 0
                    • L
                      loverz @wendy2702 last edited by

                      @wendy2702 said in Yet another HomeKit adapter:

                      Sind die nicht direkt HomeKit tauglich?

                      Nein, die Türklingelkameras leider nicht 😞

                      1 Reply Last reply Reply Quote 0
                      • draexler
                        draexler @loverz last edited by

                        @loverz: Der Kamera Service der im Yahka angeboten wird. Ganz prominent in den Einstellungen oben links "KAMERA HINZUFÜGEN"

                        1 Reply Last reply Reply Quote 1
                        • draexler
                          draexler @wendy2702 last edited by

                          @wendy2702: Ich habe die Kamera über die Surveilance Station von Synology eingebunden, also von dort den freigegeben RTSP Pfad genommen.
                          Ich habe natürlich probiert den RTSP von der Kamera direkt zu nehmen, aber da hat das Bild gestockt, Fragmente etc. gehabt. Vermutlich weil der Stream den die Surveilance liefert, besser konfiguriert werden kann (Bitrate, etc.)

                          Jetzt ist aber das Problem das z.B. bei einen Neustart der Surveilance es sein kann das sich die URL des RTSP Links in der Surveilance ändert.

                          Da ich aber die Synology als Adapter im iBroker habe, habe ich ich in bei den dortigen Datenpunkten auch die derzeit gültigen URLs.

                          Jetzt ist die Frage wie ich die Datenpunkte im Yahka bei der Kamerakonfiguration einbinden kann?!

                          L wendy2702 3 Replies Last reply Reply Quote 0
                          • L
                            loverz @draexler last edited by loverz

                            @draexler stimmt, bei der Kamera URL ist ja nur ein absoluter Pfad möglich.
                            Frag das mal bei @JW86 an. Ggf auf Github.

                            So wie ich sehe können meine Eufy Kameras kein RTSP 😞

                            Die URL im EuSec Adapter endet mit m3u oder so.

                            w00dst0ck 1 Reply Last reply Reply Quote 0
                            • w00dst0ck
                              w00dst0ck @loverz last edited by

                              @loverz
                              Hast Du schon mal geschaut, ob Du den RTSP Stream in der Cam aktivieren kannst?
                              http://community.anker.com/t/how-to-setup-rtsp-on-eufycam-to-stream-video-to-your-compatible-nas/64833

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                loverz @w00dst0ck last edited by

                                @w00dst0ck ja hab geschaut, aber dieser Punkt existiert bei meinen beiden Kameras nicht.
                                -Doorbell Wired
                                -Pan and Tilt

                                coyote 1 Reply Last reply Reply Quote 0
                                • wendy2702
                                  wendy2702 @draexler last edited by

                                  @draexler sagte in Yet another HomeKit adapter:

                                  Ich habe natürlich probiert den RTSP von der Kamera direkt zu nehmen, aber da hat das Bild gestockt,

                                  Ich habe drei Hikvision und eine Trendnet direkt in Yahka.

                                  Bei mir ruckelt nichts. Wie sind denn deine Einstellungen in Yahka gewesen?

                                  Decken sich die Stream Einstellungen mit denen was die Kamera wirklich liefert?

                                  Standen die Erweiterten Einstellungen auf "Default" ?

                                  draexler 1 Reply Last reply Reply Quote 0
                                  • coyote
                                    coyote Most Active @loverz last edited by

                                    @loverz welche Pan Tilt? Hab die P24, geht auf jeden Fall.

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      loverz @coyote last edited by loverz

                                      @coyote die hier
                                      AD3C78E3-48C2-47DF-B11A-D0F366B2F6C6.jpeg

                                      coyote 1 Reply Last reply Reply Quote 0
                                      • coyote
                                        coyote Most Active @loverz last edited by

                                        @loverz die habe ich auch.
                                        Du musst unter den Kameraeinstellungen -> Allgemein -> Speicher -> NAS(RTSP) aktivieren und dann den rstp stream nutzen.
                                        Wäre dann rtsp://DeineIP/live0

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          loverz @coyote last edited by

                                          @coyote du hast Recht! die Option gibt es tatsächlich.
                                          Doof nur, dass genau diese Kamera (Pan and Tilt) von Haus aus Homekit hat.

                                          Meine Video Türklingel hat kein Homekit und auch kein RTSP 😞 Echt doof!
                                          D6DF844C-B432-47E7-96C0-6B2D1448C951.jpeg

                                          1 Reply Last reply Reply Quote 0
                                          • draexler
                                            draexler @wendy2702 last edited by

                                            @wendy2702: Ja, war komplett deckungsgleich. Erst als ich die RTSP URL und die Screengröße etc. bei den erweiterten Einstellungen eingetragen habe wurde es besser, aber ganz flüssig wurde es erst wie ich den Synology Stream genommen habe.
                                            Ehrlich gesagt habe ich solange probiert und mit diesen Setting ging es dann, jetzt wäre halt das "i Tüpfelchen" wenn ich die Werte direkt aus den Synology Datenpunkten nehmen könnte 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            731
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            204
                                            1746
                                            617351
                                            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