Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Yet another HomeKit adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Yet another HomeKit adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
1.8k Posts 206 Posters 832.5k 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.
  • L loverz

    Hat jemand eine Idee, wie ich den Stellwert des Heizungsventils (in %) sinnvoll in Homekit anzeigen kann?

    Hab im Moment den Weg über "Current relative humidity" gewählt, aber das ist nicht so schön, wie es vielleicht sein könnte:

    213cddd0-2a17-49ef-b112-8a3bae054766-image.png

    f8880f2b-5071-42d6-aa4b-14adb558d131-image.png

    oberfraggerO Offline
    oberfraggerO Offline
    oberfragger
    wrote on last edited by
    #1239

    Hi in die Runde,

    hat jemand eine Ahnung wie ich foilgende Thematik direkt im Yakha-Adapter ohne extra Script (das läuft aber vielleicht gehts ja ohne) umsetzen kann?

    Auf einem Datenpunkt steht "enabled" oder "disabled". Dieser DP ist NICHT beschreibbar sondern nur eine Statusanzeige.
    Zum schalten an sich muss ich "Ausschaltknopf" oder "Asusschaltknopf" drücken.

    E 1 Reply Last reply
    0
    • oberfraggerO oberfragger

      Hi in die Runde,

      hat jemand eine Ahnung wie ich foilgende Thematik direkt im Yakha-Adapter ohne extra Script (das läuft aber vielleicht gehts ja ohne) umsetzen kann?

      Auf einem Datenpunkt steht "enabled" oder "disabled". Dieser DP ist NICHT beschreibbar sondern nur eine Statusanzeige.
      Zum schalten an sich muss ich "Ausschaltknopf" oder "Asusschaltknopf" drücken.

      E Offline
      E Offline
      el_malto
      wrote on last edited by
      #1240

      @oberfragger das müsste eigentlich mit "multi-state" gehen.

      B 1 Reply Last reply
      0
      • E el_malto

        @oberfragger das müsste eigentlich mit "multi-state" gehen.

        B Offline
        B Offline
        Berti_Sto
        wrote on last edited by
        #1241

        Hallo zusammen,

        kann mir jemand sagen, wie ich diese zwei Schalter / Doppelschalter erstellen kann?

        Bildschirmfoto 2021-04-01 um 20.55.31.png

        Vielen Dank.

        noch eine andere Frage:
        Dieser Thread ist sehr lang und übersichtlich aber mit sehr vielen guten Informationen gefüllt. Ist es denn möglich einen eigenen YAHKA-Forum zu eröffnen?

        L 1 Reply Last reply
        0
        • B Berti_Sto

          Hallo zusammen,

          kann mir jemand sagen, wie ich diese zwei Schalter / Doppelschalter erstellen kann?

          Bildschirmfoto 2021-04-01 um 20.55.31.png

          Vielen Dank.

          noch eine andere Frage:
          Dieser Thread ist sehr lang und übersichtlich aber mit sehr vielen guten Informationen gefüllt. Ist es denn möglich einen eigenen YAHKA-Forum zu eröffnen?

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

          @berti_sto den Doppelschalter bekommst du hin, wenn du einem Schalter zwei Subtypes hinzufügst. Also quasi 2 Schalter in einem Schalter.
          Ein eigenes YAHKA Forum halte ich für überflüssig.
          Wenn du hier etwas nicht findest kannst du ja einfach ein neues Thema eröffnen.

          B 1 Reply Last reply
          0
          • L loverz

            @berti_sto den Doppelschalter bekommst du hin, wenn du einem Schalter zwei Subtypes hinzufügst. Also quasi 2 Schalter in einem Schalter.
            Ein eigenes YAHKA Forum halte ich für überflüssig.
            Wenn du hier etwas nicht findest kannst du ja einfach ein neues Thema eröffnen.

            B Offline
            B Offline
            Berti_Sto
            wrote on last edited by
            #1243

            @loverz

            Hat auf Anhieb geklappt. Vielen Dank 👍

            Bildschirmfoto 2021-04-01 um 23.59.31.png

            IMG_518B3CC79B4C-1.jpeg

            -> bei Lampe1 "Subtype 1" wählen

            1 Reply Last reply
            3
            • T TheAriba

              @loverz ich muss manchmal ein Gerät zweimal antippen bis es reagiert.
              Also bspw. Licht an, aus und dann beim nächsten an geht es an.

              T Offline
              T Offline
              TheAriba
              wrote on last edited by
              #1244

              @theariba said in Yet another HomeKit adapter:

              @loverz ich muss manchmal ein Gerät zweimal antippen bis es reagiert.
              Also bspw. Licht an, aus und dann beim nächsten an geht es an.

              Kann mir hier denn jemand von den Profis helfen?

              L T 2 Replies Last reply
              0
              • T TheAriba

                @theariba said in Yet another HomeKit adapter:

                @loverz ich muss manchmal ein Gerät zweimal antippen bis es reagiert.
                Also bspw. Licht an, aus und dann beim nächsten an geht es an.

                Kann mir hier denn jemand von den Profis helfen?

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

                @theariba welchen Status haben die Lampen, wenn sie nicht reagieren?

                Bei mir ist es oft so, dass eine Lampe als „an“ angezeigt wird, obwohl diese in Wirklichkeit „aus“ ist. Wenn ich die Home App über den Task-switcher komplett beende und anschließend neu öffnen, dann ist die Lampe in der Home App plötzlich „aus“.

                T 1 Reply Last reply
                0
                • w00dst0ckW Offline
                  w00dst0ckW Offline
                  w00dst0ck
                  wrote on last edited by
                  #1246

                  Hallo zusammen,

                  leider habe ich über die Suche nix gefunden und hoffe jemand hat die Info, die ich suche.

                  Ich möchte bei meinen HomematicIP Thermostaten (Accesspoint) den HeatingCoolingState verwenden. Da es diesen Datenpunkt nicht gibt, möchte ich diesen per Script anhand der aktuellen und zieltemperatur an HomeKit übergeben.

                  Die IDE ist, dass ich mir die Werte über iobroker.MultiState hole, per ConversionScript vergleiche und den entsprechenden Status per return value ausgebe.

                  Allerdings habe ich keine Ahnung, wie ich im Script auf die zwei Values aus iobroker.MultiState zugreifen kann.

                  Jemand ne Idee, in welchen Variablen die Werte zu finden sind?

                  L w00dst0ckW 3 Replies Last reply
                  0
                  • L loverz

                    @theariba welchen Status haben die Lampen, wenn sie nicht reagieren?

                    Bei mir ist es oft so, dass eine Lampe als „an“ angezeigt wird, obwohl diese in Wirklichkeit „aus“ ist. Wenn ich die Home App über den Task-switcher komplett beende und anschließend neu öffnen, dann ist die Lampe in der Home App plötzlich „aus“.

                    T Offline
                    T Offline
                    TheAriba
                    wrote on last edited by
                    #1247

                    @loverz Status bleibt dann unverändert. Also es wird nicht geschalten, aber angezeigt.
                    Bsp. möchte ein Licht anschalten, betätige den Button, Button leuchtet, Lampe wird nicht geschalten. Beim nächsten Versuch funktioniert es dann.

                    L 1 Reply Last reply
                    0
                    • w00dst0ckW w00dst0ck

                      Hallo zusammen,

                      leider habe ich über die Suche nix gefunden und hoffe jemand hat die Info, die ich suche.

                      Ich möchte bei meinen HomematicIP Thermostaten (Accesspoint) den HeatingCoolingState verwenden. Da es diesen Datenpunkt nicht gibt, möchte ich diesen per Script anhand der aktuellen und zieltemperatur an HomeKit übergeben.

                      Die IDE ist, dass ich mir die Werte über iobroker.MultiState hole, per ConversionScript vergleiche und den entsprechenden Status per return value ausgebe.

                      Allerdings habe ich keine Ahnung, wie ich im Script auf die zwei Values aus iobroker.MultiState zugreifen kann.

                      Jemand ne Idee, in welchen Variablen die Werte zu finden sind?

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

                      @w00dst0ck hab da eine Lösung für, bin aber erst in einigen Tagen wieder an meinem iobroker. Melde mich.

                      w00dst0ckW 1 Reply Last reply
                      0
                      • T TheAriba

                        @loverz Status bleibt dann unverändert. Also es wird nicht geschalten, aber angezeigt.
                        Bsp. möchte ein Licht anschalten, betätige den Button, Button leuchtet, Lampe wird nicht geschalten. Beim nächsten Versuch funktioniert es dann.

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

                        @theariba das kommt mir komisch vor.
                        Was macht das zugehörige iobroker Objekt? Nichts oder?
                        Was passiert wenn du die Home-App killst?

                        T 1 Reply Last reply
                        0
                        • L loverz

                          @w00dst0ck hab da eine Lösung für, bin aber erst in einigen Tagen wieder an meinem iobroker. Melde mich.

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

                          @loverz Dann sag ich jetzt schon mal Danke ☺️

                          1 Reply Last reply
                          0
                          • w00dst0ckW w00dst0ck

                            Hallo zusammen,

                            leider habe ich über die Suche nix gefunden und hoffe jemand hat die Info, die ich suche.

                            Ich möchte bei meinen HomematicIP Thermostaten (Accesspoint) den HeatingCoolingState verwenden. Da es diesen Datenpunkt nicht gibt, möchte ich diesen per Script anhand der aktuellen und zieltemperatur an HomeKit übergeben.

                            Die IDE ist, dass ich mir die Werte über iobroker.MultiState hole, per ConversionScript vergleiche und den entsprechenden Status per return value ausgebe.

                            Allerdings habe ich keine Ahnung, wie ich im Script auf die zwei Values aus iobroker.MultiState zugreifen kann.

                            Jemand ne Idee, in welchen Variablen die Werte zu finden sind?

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

                            @w00dst0ck so hier bin ich mit der Einbindung von HomematicIP in Homekit:

                            Homekit Betriebsart:
                            4432f513-7096-49ff-9506-4cd9735e9e5e-image.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <block type="on_ext" id="%m[LZ#HLD{N$0KpC;u^z" x="87" y="62">
                                <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="St|MNIqw-nvgF}z=xyov">
                                    <field name="oid">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                  </shadow>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="controls_if" id="#V[!^zrOJR#jhht-)_hL">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_compare" id="CJW^#tmBPbnTNIy];zF:">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="FRsC6ghriAIg-%CePkK#">
                                            <field name="ATTR">val</field>
                                            <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="a2o+`ypo^?Z6hJ^7`}AW">
                                            <field name="NUM">7</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="control" id="2WE_$Bl.hYW0f{ggWpM:">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="_K/{M.{RTL}_BjyufF2`">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <statement name="ELSE">
                                      <block type="controls_if" id="%V2PHY@vfAj1kKzZZ4J-">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id="XhWnw198nH$0FYbiM#.L">
                                            <field name="OP">GT</field>
                                            <value name="A">
                                              <block type="get_value" id="cn%-*=qL+Zr(|ucA^GXm">
                                                <field name="ATTR">val</field>
                                                <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="get_value" id="o4dyP@+k!XCPPWb*$7!M">
                                                <field name="ATTR">val</field>
                                                <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Ist</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="control" id="3w|0ka2mD5[pLZl!*=,$">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="=bADj4AaPZ5}lMrJ:1J}">
                                                <field name="NUM">1</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="control" id="eCn#jXxtKS|F^V8Ptl.M">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="LULQ0Y5gs.[:^IXryvJi">
                                                <field name="NUM">3</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                                <next>
                                  <block type="on_ext" id="fxl%fTISCSz5hZgV4e8Z">
                                    <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="p=z-GndO5XZW5Mx^*AlQ">
                                        <field name="oid">knx.0.EG.Heizung.Bad_Temperatur_Ist</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="controls_if" id="|@z4v,oR0{A`dmLRghg`">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id="yqmxN|0(8.E$4k[?EfB.">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="My]s0U,U}l0$Mzfus([[">
                                                <field name="ATTR">val</field>
                                                <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id=",su;S8!dI7e}J3XWB^m|">
                                                <field name="NUM">7</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="control" id="_n]Ak|m5e4;~Cr-.4rY8">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="oJLm0pLQN~J|.UT#{fX0">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="controls_if" id="7u~D+LuPft!C)q-$;g`E">
                                            <mutation else="1"></mutation>
                                            <value name="IF0">
                                              <block type="logic_compare" id="y@8ZU=~Bomlwc]}T?Gw)">
                                                <field name="OP">GT</field>
                                                <value name="A">
                                                  <block type="get_value" id="Q7`*JQz[-?-b#U13+(Xt">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="get_value" id="HSjBgx[_B!.PVME#ZPex">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Ist</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="r9mfEjKgK:8:~Qmhdc@g">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="jw,*ar|t@Jnc,Z+GP2Zy">
                                                    <field name="NUM">1</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <statement name="ELSE">
                                              <block type="control" id="kCwrXR*,OU~g0T68H~15">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="yPE?xZJ9WzoSg_^UXtI0">
                                                    <field name="NUM">3</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </xml>
                            

                            Homekit Ventilposition [hier habe ich den Wert "humidity" zweckentfremdet]:

                            5734efd9-5eb8-46e9-b78b-8fe515ee364a-image.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <block type="on_ext" id="VY.r@5H22S4GM3vLjI^n" x="62" y="62">
                                <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="G|nKQ0g`Idp!Q@_JwdX9">
                                    <field name="oid">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                  </shadow>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="control" id="?m`R+/MONWtx]s#A5@`/">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">javascript.0.Variablen.Heizung.Ventilposition.Bad</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="math_arithmetic" id="HYIFAeaozz[mj|b[iT~4">
                                        <field name="OP">MULTIPLY</field>
                                        <value name="A">
                                          <shadow type="math_number" id="(gx=Qi~lo,9Y0BVdewCd">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="get_value" id="3|^f}}bXu42XN7T;~08[">
                                            <field name="ATTR">val</field>
                                            <field name="OID">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id="Wr{z2Lo7+f/!#[OD-N??">
                                            <field name="NUM">100</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </xml>
                            

                            Homekit Ventilstatus:
                            527d1127-ae7c-4f93-b511-feb5c9f94a9b-image.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <block type="on_ext" id="tv$0!4E1vlk;3tyK$Y[]" x="62" y="62">
                                <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="|=N|6wW){`jH_91_.X#5">
                                    <field name="oid">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                  </shadow>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="controls_if" id="-O=vEQDY(ShEs}gc*e2@">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_compare" id="D_9|1EP!/6xvq]~C5-/}">
                                        <field name="OP">GT</field>
                                        <value name="A">
                                          <block type="get_value" id="^-EOpyE*nG,n)[tD_hOl">
                                            <field name="ATTR">val</field>
                                            <field name="OID">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="lav{cSqb[v8=!xFGfNmB">
                                            <field name="NUM">0.01</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="control" id="aDLF]S`5zxhPU$Zp4OCw">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">javascript.0.Variablen.Heizung.Ventilstatus.Bad</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="okwUy9r)4[OJv6[85uEV">
                                            <field name="NUM">1</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <statement name="ELSE">
                                      <block type="control" id="kkXj$;AarM8/SSb)f`A,">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">javascript.0.Variablen.Heizung.Ventilstatus.Bad</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="IWKFK~-m#5/DzNO=RY.K">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </xml>
                            

                            Hier die benötigten Variablen:
                            6587ec1a-d8a6-44da-8a04-0ddce35fc51d-image.png

                            w00dst0ckW 1 Reply Last reply
                            0
                            • L loverz

                              @theariba das kommt mir komisch vor.
                              Was macht das zugehörige iobroker Objekt? Nichts oder?
                              Was passiert wenn du die Home-App killst?

                              T Offline
                              T Offline
                              TheAriba
                              wrote on last edited by
                              #1252

                              @loverz das Objekt macht nichts. Wenn ich die Home App kille dann wird nichts angezeigt. Also Home springt dann auch zurück.

                              1 Reply Last reply
                              0
                              • L loverz

                                @w00dst0ck so hier bin ich mit der Einbindung von HomematicIP in Homekit:

                                Homekit Betriebsart:
                                4432f513-7096-49ff-9506-4cd9735e9e5e-image.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <block type="on_ext" id="%m[LZ#HLD{N$0KpC;u^z" x="87" y="62">
                                    <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="St|MNIqw-nvgF}z=xyov">
                                        <field name="oid">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="controls_if" id="#V[!^zrOJR#jhht-)_hL">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id="CJW^#tmBPbnTNIy];zF:">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="FRsC6ghriAIg-%CePkK#">
                                                <field name="ATTR">val</field>
                                                <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="a2o+`ypo^?Z6hJ^7`}AW">
                                                <field name="NUM">7</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="control" id="2WE_$Bl.hYW0f{ggWpM:">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="_K/{M.{RTL}_BjyufF2`">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="controls_if" id="%V2PHY@vfAj1kKzZZ4J-">
                                            <mutation else="1"></mutation>
                                            <value name="IF0">
                                              <block type="logic_compare" id="XhWnw198nH$0FYbiM#.L">
                                                <field name="OP">GT</field>
                                                <value name="A">
                                                  <block type="get_value" id="cn%-*=qL+Zr(|ucA^GXm">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="get_value" id="o4dyP@+k!XCPPWb*$7!M">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Ist</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="3w|0ka2mD5[pLZl!*=,$">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="=bADj4AaPZ5}lMrJ:1J}">
                                                    <field name="NUM">1</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <statement name="ELSE">
                                              <block type="control" id="eCn#jXxtKS|F^V8Ptl.M">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="LULQ0Y5gs.[:^IXryvJi">
                                                    <field name="NUM">3</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="on_ext" id="fxl%fTISCSz5hZgV4e8Z">
                                        <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="p=z-GndO5XZW5Mx^*AlQ">
                                            <field name="oid">knx.0.EG.Heizung.Bad_Temperatur_Ist</field>
                                          </shadow>
                                        </value>
                                        <statement name="STATEMENT">
                                          <block type="controls_if" id="|@z4v,oR0{A`dmLRghg`">
                                            <mutation else="1"></mutation>
                                            <value name="IF0">
                                              <block type="logic_compare" id="yqmxN|0(8.E$4k[?EfB.">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="get_value" id="My]s0U,U}l0$Mzfus([[">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="math_number" id=",su;S8!dI7e}J3XWB^m|">
                                                    <field name="NUM">7</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="_n]Ak|m5e4;~Cr-.4rY8">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="oJLm0pLQN~J|.UT#{fX0">
                                                    <field name="NUM">0</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <statement name="ELSE">
                                              <block type="controls_if" id="7u~D+LuPft!C)q-$;g`E">
                                                <mutation else="1"></mutation>
                                                <value name="IF0">
                                                  <block type="logic_compare" id="y@8ZU=~Bomlwc]}T?Gw)">
                                                    <field name="OP">GT</field>
                                                    <value name="A">
                                                      <block type="get_value" id="Q7`*JQz[-?-b#U13+(Xt">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Soll</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="get_value" id="HSjBgx[_B!.PVME#ZPex">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">knx.0.EG.Heizung.Bad_Temperatur_Ist</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="control" id="r9mfEjKgK:8:~Qmhdc@g">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="jw,*ar|t@Jnc,Z+GP2Zy">
                                                        <field name="NUM">1</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                                <statement name="ELSE">
                                                  <block type="control" id="kCwrXR*,OU~g0T68H~15">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">javascript.0.Variablen.Heizung.Betriebsart.Bad</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="yPE?xZJ9WzoSg_^UXtI0">
                                                        <field name="NUM">3</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </next>
                                  </block>
                                </xml>
                                

                                Homekit Ventilposition [hier habe ich den Wert "humidity" zweckentfremdet]:

                                5734efd9-5eb8-46e9-b78b-8fe515ee364a-image.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <block type="on_ext" id="VY.r@5H22S4GM3vLjI^n" x="62" y="62">
                                    <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="G|nKQ0g`Idp!Q@_JwdX9">
                                        <field name="oid">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="control" id="?m`R+/MONWtx]s#A5@`/">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">javascript.0.Variablen.Heizung.Ventilposition.Bad</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_arithmetic" id="HYIFAeaozz[mj|b[iT~4">
                                            <field name="OP">MULTIPLY</field>
                                            <value name="A">
                                              <shadow type="math_number" id="(gx=Qi~lo,9Y0BVdewCd">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="get_value" id="3|^f}}bXu42XN7T;~08[">
                                                <field name="ATTR">val</field>
                                                <field name="OID">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <shadow type="math_number" id="Wr{z2Lo7+f/!#[OD-N??">
                                                <field name="NUM">100</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </xml>
                                

                                Homekit Ventilstatus:
                                527d1127-ae7c-4f93-b511-feb5c9f94a9b-image.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <block type="on_ext" id="tv$0!4E1vlk;3tyK$Y[]" x="62" y="62">
                                    <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="|=N|6wW){`jH_91_.X#5">
                                        <field name="oid">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="controls_if" id="-O=vEQDY(ShEs}gc*e2@">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id="D_9|1EP!/6xvq]~C5-/}">
                                            <field name="OP">GT</field>
                                            <value name="A">
                                              <block type="get_value" id="^-EOpyE*nG,n)[tD_hOl">
                                                <field name="ATTR">val</field>
                                                <field name="OID">hmip.0.devices.3014F711A0000393C99C0F1B.channels.1.valvePosition</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="lav{cSqb[v8=!xFGfNmB">
                                                <field name="NUM">0.01</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="control" id="aDLF]S`5zxhPU$Zp4OCw">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Variablen.Heizung.Ventilstatus.Bad</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="okwUy9r)4[OJv6[85uEV">
                                                <field name="NUM">1</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="control" id="kkXj$;AarM8/SSb)f`A,">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Variablen.Heizung.Ventilstatus.Bad</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="IWKFK~-m#5/DzNO=RY.K">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                  </block>
                                </xml>
                                

                                Hier die benötigten Variablen:
                                6587ec1a-d8a6-44da-8a04-0ddce35fc51d-image.png

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

                                @loverz Vielen Dank für den Input.

                                Der Lösungsansatz ist sicher funktional, sorgt aber dafür, dass ich hier 2 Stellen berücksichtigen muss.
                                Am liebsten wäre mir ja eine Script Lösung direkt im YAHKA Adapter. Aber vermutlich geht das nicht.

                                Werde dann übergangsweise ersmal Deine Blocky Lösung adaptieren.

                                V 1 Reply Last reply
                                0
                                • w00dst0ckW w00dst0ck

                                  @loverz Vielen Dank für den Input.

                                  Der Lösungsansatz ist sicher funktional, sorgt aber dafür, dass ich hier 2 Stellen berücksichtigen muss.
                                  Am liebsten wäre mir ja eine Script Lösung direkt im YAHKA Adapter. Aber vermutlich geht das nicht.

                                  Werde dann übergangsweise ersmal Deine Blocky Lösung adaptieren.

                                  V Offline
                                  V Offline
                                  Videonisse
                                  wrote on last edited by Videonisse
                                  #1254

                                  @w00dst0ck sagte in Yet another HomeKit adapter:

                                  Am liebsten wäre mir ja eine Script Lösung direkt im YAHKA Adapter. Aber vermutlich geht das nicht.

                                  I'm not sure Yahka is the right place to solve this. If I understand what you need to achieve is it a "virtual" data point where the state/value is based on values from other data points (Off = 0; Heat = 1; Cool = 2).

                                  In the long-term, you maybe also want to use this virtual DP in other ioBroker adapters, like for history and visualisation?

                                  If yes, then it would probably be better if it was available as an Object in ioBroker. But I'm not sure if it can be realized based on an Alias with a script calculating what you want, or if it has to be stored in a User object.

                                  I see the similar needs to calculate for example a second colour space for lights and have this available as a virtual data point/object for ioBroker Adapters to use when they don't support the native colour space used by the light device (RGB <-> HUE). To do this calculation in each Adapter is not effective.

                                  ioBroker v3.3.18, Debian 10 Buster 64-bit (Vmware 6.5 VM), Node.js: v12.22.6, NPM: 6.14.15
                                  Most important Device Adapters: KNX, Trådfri, Homekit/Yahka

                                  w00dst0ckW 1 Reply Last reply
                                  0
                                  • V Videonisse

                                    @w00dst0ck sagte in Yet another HomeKit adapter:

                                    Am liebsten wäre mir ja eine Script Lösung direkt im YAHKA Adapter. Aber vermutlich geht das nicht.

                                    I'm not sure Yahka is the right place to solve this. If I understand what you need to achieve is it a "virtual" data point where the state/value is based on values from other data points (Off = 0; Heat = 1; Cool = 2).

                                    In the long-term, you maybe also want to use this virtual DP in other ioBroker adapters, like for history and visualisation?

                                    If yes, then it would probably be better if it was available as an Object in ioBroker. But I'm not sure if it can be realized based on an Alias with a script calculating what you want, or if it has to be stored in a User object.

                                    I see the similar needs to calculate for example a second colour space for lights and have this available as a virtual data point/object for ioBroker Adapters to use when they don't support the native colour space used by the light device (RGB <-> HUE). To do this calculation in each Adapter is not effective.

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

                                    @videonisse @loverz

                                    I've found a solution to solve it in the YAHKA adapter.

                                    I add it as a comment to my initial post.

                                    1 Reply Last reply
                                    0
                                    • w00dst0ckW w00dst0ck

                                      Hallo zusammen,

                                      leider habe ich über die Suche nix gefunden und hoffe jemand hat die Info, die ich suche.

                                      Ich möchte bei meinen HomematicIP Thermostaten (Accesspoint) den HeatingCoolingState verwenden. Da es diesen Datenpunkt nicht gibt, möchte ich diesen per Script anhand der aktuellen und zieltemperatur an HomeKit übergeben.

                                      Die IDE ist, dass ich mir die Werte über iobroker.MultiState hole, per ConversionScript vergleiche und den entsprechenden Status per return value ausgebe.

                                      Allerdings habe ich keine Ahnung, wie ich im Script auf die zwei Values aus iobroker.MultiState zugreifen kann.

                                      Jemand ne Idee, in welchen Variablen die Werte zu finden sind?

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

                                      @videonisse @loverz

                                      I've found a solution to solve it in the YAHKA adapter.

                                      if (value) {
                                          if (value.length == 2) {
                                              if (value[0] == value[1]) {return 0;}
                                              if (value[0] > value[1]) {return 1;}
                                              if (value[0] < value[1]) {return 2;}
                                          }
                                      }
                                      
                                      L 1 Reply Last reply
                                      0
                                      • w00dst0ckW w00dst0ck

                                        @videonisse @loverz

                                        I've found a solution to solve it in the YAHKA adapter.

                                        if (value) {
                                            if (value.length == 2) {
                                                if (value[0] == value[1]) {return 0;}
                                                if (value[0] > value[1]) {return 1;}
                                                if (value[0] < value[1]) {return 2;}
                                            }
                                        }
                                        
                                        L Offline
                                        L Offline
                                        loverz
                                        wrote on last edited by
                                        #1257

                                        @w00dst0ck Kannst du uns kurz erklären was genau diese Zeilen machen?

                                        w00dst0ckW 1 Reply Last reply
                                        0
                                        • L loverz

                                          @w00dst0ck Kannst du uns kurz erklären was genau diese Zeilen machen?

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

                                          @loverz Sehr gerne.

                                          In meinem Fall geht es darum, dass ich für HomeMaticIP Thermostate keinen direkten Datenpunkt für CurrentHeatingCoolingState habe, der anzeigt, ob gerade geheizt wird oder nicht.

                                          Daher greife ich auf die zur Verfügung stehenden Datenpunkte setPointTemperature & valveActualTemperature zu, vergleiche diese per ConversionScript und gebe abhängig von der Differenz einen gültigen Wert an Homekit aus. Gültige Werte habe ich hier gefunden.

                                          Wenn man per iobroker.Multistate mehrere Daten holt, werden diese als Array in "value" gespeichert und können so ausgewertet werden.

                                          927efb64-631f-44bc-9db0-31d72909c176-image.png

                                          L 1 Reply Last reply
                                          1
                                          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

                                          632

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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