Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Yet another HomeKit adapter

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    127

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

Yet another HomeKit adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
1.8k Posts 206 Posters 879.0k Views 68 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E 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 Offline
    I Offline
    iPhoneDan
    wrote on last edited by
    #1337

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

    draexlerD 1 Reply Last reply
    1
    • I iPhoneDan

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

      draexlerD Offline
      draexlerD Offline
      draexler
      wrote on last edited by
      #1338

      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 wendy2702W 2 Replies Last reply
      0
      • draexlerD draexler

        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 Offline
        L Offline
        loverz
        wrote on last edited by
        #1339

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

        draexlerD 1 Reply Last reply
        0
        • draexlerD draexler

          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

          wendy2702W Offline
          wendy2702W Offline
          wendy2702
          wrote on last edited by
          #1340

          @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?

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          L draexlerD 2 Replies Last reply
          0
          • wendy2702W wendy2702

            @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 Offline
            L Offline
            loverz
            wrote on last edited by
            #1341

            @wendy2702 said in Yet another HomeKit adapter:

            Sind die nicht direkt HomeKit tauglich?

            Nein, die Türklingelkameras leider nicht :(

            1 Reply Last reply
            0
            • L loverz

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

              draexlerD Offline
              draexlerD Offline
              draexler
              wrote on last edited by
              #1342

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

              1 Reply Last reply
              1
              • wendy2702W wendy2702

                @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?

                draexlerD Offline
                draexlerD Offline
                draexler
                wrote on last edited by
                #1343

                @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 wendy2702W 3 Replies Last reply
                0
                • draexlerD draexler

                  @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 Offline
                  L Offline
                  loverz
                  wrote on last edited by loverz
                  #1344

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

                  w00dst0ckW 1 Reply Last reply
                  0
                  • L 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.

                    w00dst0ckW Offline
                    w00dst0ckW Offline
                    w00dst0ck
                    wrote on last edited by
                    #1345

                    @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
                    0
                    • w00dst0ckW w00dst0ck

                      @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 Offline
                      L Offline
                      loverz
                      wrote on last edited by
                      #1346

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

                      coyoteC 1 Reply Last reply
                      0
                      • draexlerD draexler

                        @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?!

                        wendy2702W Offline
                        wendy2702W Offline
                        wendy2702
                        wrote on last edited by
                        #1347

                        @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" ?

                        Bitte keine Fragen per PN, die gehören ins Forum!

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        draexlerD 1 Reply Last reply
                        0
                        • L loverz

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

                          coyoteC Offline
                          coyoteC Offline
                          coyote
                          Most Active
                          wrote on last edited by
                          #1348

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

                          L 1 Reply Last reply
                          0
                          • coyoteC coyote

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

                            L Offline
                            L Offline
                            loverz
                            wrote on last edited by loverz
                            #1349

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

                            coyoteC 1 Reply Last reply
                            0
                            • L loverz

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

                              coyoteC Offline
                              coyoteC Offline
                              coyote
                              Most Active
                              wrote on last edited by
                              #1350

                              @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
                              0
                              • coyoteC coyote

                                @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 Offline
                                L Offline
                                loverz
                                wrote on last edited by
                                #1351

                                @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
                                0
                                • wendy2702W wendy2702

                                  @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" ?

                                  draexlerD Offline
                                  draexlerD Offline
                                  draexler
                                  wrote on last edited by
                                  #1352

                                  @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
                                  0
                                  • draexlerD draexler

                                    @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?!

                                    wendy2702W Offline
                                    wendy2702W Offline
                                    wendy2702
                                    wrote on last edited by
                                    #1353

                                    @draexler sagte in Yet another HomeKit adapter:

                                    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.

                                    Das verstehe ich zwar nicht aber wenn das so ist.... ich habe so ein Teil nicht und kann dazu dann leider nichts weiter sagen. Finde das nur merkwürdig und sehe den Sinn einer solchen Station nicht wenn sich die Links ändern.

                                    Inwiefern ändern sich die links denn? Kannst du mal zwei zeigen vor / nach restart?

                                    Bitte keine Fragen per PN, die gehören ins Forum!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    draexlerD 1 Reply Last reply
                                    0
                                    • wendy2702W wendy2702

                                      @draexler sagte in Yet another HomeKit adapter:

                                      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.

                                      Das verstehe ich zwar nicht aber wenn das so ist.... ich habe so ein Teil nicht und kann dazu dann leider nichts weiter sagen. Finde das nur merkwürdig und sehe den Sinn einer solchen Station nicht wenn sich die Links ändern.

                                      Inwiefern ändern sich die links denn? Kannst du mal zwei zeigen vor / nach restart?

                                      draexlerD Offline
                                      draexlerD Offline
                                      draexler
                                      wrote on last edited by
                                      #1354

                                      @wendy2702: Ich hänge mal einen Screenshot dran. Es gibt zwar die Möglichkeit zusagen das er dauerhaft sein soll, aber ich habe die Erfahrung gemacht das z.B. nach einen Stromausfall (hatten wir in unserer Gegend jetzt zweimal im letzten Monat) neue URLs generiert wurden. Klar wäre das dann eventuell ein Bug bei der Synology, aber ob das mal gefixt wird....
                                      Ändern tut sich nur etwas in dem "Hashwert".
                                      Bildschirmfoto 2022-03-15 um 07.55.05.png

                                      wendy2702W 1 Reply Last reply
                                      0
                                      • draexlerD draexler

                                        @wendy2702: Ich hänge mal einen Screenshot dran. Es gibt zwar die Möglichkeit zusagen das er dauerhaft sein soll, aber ich habe die Erfahrung gemacht das z.B. nach einen Stromausfall (hatten wir in unserer Gegend jetzt zweimal im letzten Monat) neue URLs generiert wurden. Klar wäre das dann eventuell ein Bug bei der Synology, aber ob das mal gefixt wird....
                                        Ändern tut sich nur etwas in dem "Hashwert".
                                        Bildschirmfoto 2022-03-15 um 07.55.05.png

                                        wendy2702W Offline
                                        wendy2702W Offline
                                        wendy2702
                                        wrote on last edited by
                                        #1355

                                        @draexler OK.

                                        Das ist natürlich blöd.

                                        Interne IP's und auch den Hash wert musst du nicht unkenntlich machen. Kann nur jemand der in deinem Netzwerk ist was mit anfangen aber dann ist das Kind eh schon in den Brunnen gefallen.

                                        Hast übrigens einmal vergessen die IP unkenntlich zu machen ;-)

                                        Bitte keine Fragen per PN, die gehören ins Forum!

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        draexlerD 1 Reply Last reply
                                        0
                                        • wendy2702W wendy2702

                                          @draexler OK.

                                          Das ist natürlich blöd.

                                          Interne IP's und auch den Hash wert musst du nicht unkenntlich machen. Kann nur jemand der in deinem Netzwerk ist was mit anfangen aber dann ist das Kind eh schon in den Brunnen gefallen.

                                          Hast übrigens einmal vergessen die IP unkenntlich zu machen ;-)

                                          draexlerD Offline
                                          draexlerD Offline
                                          draexler
                                          wrote on last edited by
                                          #1356

                                          @wendy2702 Stimmt :grinning: Ist so eine Angewohnheit... Mit Greenshot geht das so schnell, das ich es einfach immer mitmache.

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          586

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe