Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker 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.1k

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

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

Yet another HomeKit adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
1.8k Beiträge 206 Kommentatoren 832.8k Aufrufe 68 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #1250

    @loverz Dann sag ich jetzt schon mal Danke ☺️

    1 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #1252

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

        1 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #1257

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

                  w00dst0ckW 1 Antwort Letzte Antwort
                  0
                  • L loverz

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

                    w00dst0ckW Offline
                    w00dst0ckW Offline
                    w00dst0ck
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    1
                    • w00dst0ckW w00dst0ck

                      @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 Offline
                      L Offline
                      loverz
                      schrieb am zuletzt editiert von
                      #1259

                      @w00dst0ck sagte in Yet another HomeKit adapter:

                      setPointTemperature & valveActualTemperature

                      Also sind die beiden in/out-Werte setPointTemperature & valveActualTemperature
                      Und dein Script vergleicht beide miteinander?

                      w00dst0ckW 1 Antwort Letzte Antwort
                      0
                      • L loverz

                        @w00dst0ck sagte in Yet another HomeKit adapter:

                        setPointTemperature & valveActualTemperature

                        Also sind die beiden in/out-Werte setPointTemperature & valveActualTemperature
                        Und dein Script vergleicht beide miteinander?

                        w00dst0ckW Offline
                        w00dst0ckW Offline
                        w00dst0ck
                        schrieb am zuletzt editiert von
                        #1260

                        @loverz eigentlich ganz simpel..

                        Wenn die eingestellte Temperatur höher als die am Ventil gemessene Temperatur ist, wird geheizt.

                        Wenn die eingestellte Temperatur niedriger als die am Ventil gemessene ist, wird abgekühlt.

                        V 1 Antwort Letzte Antwort
                        0
                        • w00dst0ckW w00dst0ck

                          @loverz eigentlich ganz simpel..

                          Wenn die eingestellte Temperatur höher als die am Ventil gemessene Temperatur ist, wird geheizt.

                          Wenn die eingestellte Temperatur niedriger als die am Ventil gemessene ist, wird abgekühlt.

                          V Offline
                          V Offline
                          Videonisse
                          schrieb am zuletzt editiert von
                          #1261

                          @w00dst0ck Nice work!

                          So value[0] is the first value in the array and value[1] is the second? (I'm not a developer...)

                          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 Antwort Letzte Antwort
                          0
                          • V Videonisse

                            @w00dst0ck Nice work!

                            So value[0] is the first value in the array and value[1] is the second? (I'm not a developer...)

                            w00dst0ckW Offline
                            w00dst0ckW Offline
                            w00dst0ck
                            schrieb am zuletzt editiert von
                            #1262

                            @videonisse Yes that's true. If you add more values at Read, then it continues like this.
                            value[0], value[1], value[2]...

                            1 Antwort Letzte Antwort
                            1
                            • L Offline
                              L Offline
                              loverz
                              schrieb am zuletzt editiert von loverz
                              #1263

                              ich habe meinen Raspberry Pi ins LAN5 (Gastnetz) meiner Fritzbox gepackt. Meine iPhones sind ebenfalls alle im Gast-WLAN. Die Geräte können untereinander kommunizieren (Client-Isolation Aus)

                              Nun ist es aber so, dass YAHKA bzw. Die Geräte in meiner Home-App nach dem Neustart des YAHKA Adapter nur kurz funktionieren und dann gehen sämtliche Geräte auf "keine Antwort" oder "aktualisieren".

                              Nach dem Neustart (oft nur für einige Sekunden) sind alle Geräte und Stati verfügbar. Auch steuern kann ich alles, aber wieso geht das nach kurzer Zeit nicht mehr?

                              Weiß da jemand mehr?
                              Was für ein Service wird denn da von Apple verwendet? Bein YAHKA Start steht etwas von "Ciao" im log?

                              yahka.1	2021-04-17 17:11:14.877	info	(1764) publishing bridge Yahka-1 on 0.0.0.0 using ciao
                              

                              Woran könnte es denn liegen?
                              Vor der Einbindung ins Gast-Netz hat alles funktioniert.

                              Wir benötigen das mit dem Gastnetz aber leider so, da wir bei 2 Haushalten 1 Internet teilen und wir dabei im Gastnetz sind...

                              L 1 Antwort Letzte Antwort
                              0
                              • L loverz

                                ich habe meinen Raspberry Pi ins LAN5 (Gastnetz) meiner Fritzbox gepackt. Meine iPhones sind ebenfalls alle im Gast-WLAN. Die Geräte können untereinander kommunizieren (Client-Isolation Aus)

                                Nun ist es aber so, dass YAHKA bzw. Die Geräte in meiner Home-App nach dem Neustart des YAHKA Adapter nur kurz funktionieren und dann gehen sämtliche Geräte auf "keine Antwort" oder "aktualisieren".

                                Nach dem Neustart (oft nur für einige Sekunden) sind alle Geräte und Stati verfügbar. Auch steuern kann ich alles, aber wieso geht das nach kurzer Zeit nicht mehr?

                                Weiß da jemand mehr?
                                Was für ein Service wird denn da von Apple verwendet? Bein YAHKA Start steht etwas von "Ciao" im log?

                                yahka.1	2021-04-17 17:11:14.877	info	(1764) publishing bridge Yahka-1 on 0.0.0.0 using ciao
                                

                                Woran könnte es denn liegen?
                                Vor der Einbindung ins Gast-Netz hat alles funktioniert.

                                Wir benötigen das mit dem Gastnetz aber leider so, da wir bei 2 Haushalten 1 Internet teilen und wir dabei im Gastnetz sind...

                                L Offline
                                L Offline
                                loverz
                                schrieb am zuletzt editiert von
                                #1264

                                Keiner eine Idee?

                                AsgothianA V 2 Antworten Letzte Antwort
                                0
                                • L loverz

                                  Keiner eine Idee?

                                  AsgothianA Offline
                                  AsgothianA Offline
                                  Asgothian
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #1265

                                  @loverz
                                  Eine Idee woran es liegen kann schon, aber keinen echten Lösungsvorschlag.

                                  A.

                                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                  1 Antwort Letzte Antwort
                                  0
                                  • L loverz

                                    Keiner eine Idee?

                                    V Offline
                                    V Offline
                                    Videonisse
                                    schrieb am zuletzt editiert von
                                    #1266

                                    @loverz Welchen Yahka Version hast du? Es kann sein das es ein Problem mit dem Bonjour dienst "Ciao" ist. Probiere dann mit Yahka v0.13.0 oder früher.

                                    Oder vieleicht kann man auch "useLegacyAdvertiser option" in Yahka v.0.13.1 aktivieren, aber ich weiß leider nicht wie.

                                    Hap-nodejs Issue "Accessories deregistered from Bonjour about 1-2min after launching": https://github.com/homebridge/HAP-NodeJS/issues/856

                                    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

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • V Videonisse

                                      @loverz Welchen Yahka Version hast du? Es kann sein das es ein Problem mit dem Bonjour dienst "Ciao" ist. Probiere dann mit Yahka v0.13.0 oder früher.

                                      Oder vieleicht kann man auch "useLegacyAdvertiser option" in Yahka v.0.13.1 aktivieren, aber ich weiß leider nicht wie.

                                      Hap-nodejs Issue "Accessories deregistered from Bonjour about 1-2min after launching": https://github.com/homebridge/HAP-NodeJS/issues/856

                                      L Offline
                                      L Offline
                                      loverz
                                      schrieb am zuletzt editiert von
                                      #1267

                                      @videonisse guter Hinweis!

                                      Mit Version 0.13 ging es noch nicht, 0.12 auch nicht, aber mit 0.11 dann geht es wieder.

                                      Wie gesagt: Das Problem trat erst auf, als ich meine Geräte ins Fritz!Box Gast-Netzwerk umgezogen habe. Zuvor im normalen Fritz!Box Netzwerk haben alle Versionen tadellos funktioniert.

                                      Tausend Dank!

                                      1 Antwort Letzte Antwort
                                      1
                                      • D Offline
                                        D Offline
                                        DarkDevil
                                        schrieb am zuletzt editiert von
                                        #1268

                                        Hi, habt ihr eine Idee wie ich nur einen prozentualen Wert anzeigen lassen kann? Ähnlich wie bei einer Lampe die Helligkeit? Ich habe es über Batterystatus probiert, da sehe ich die Prozentzahl erst wenn ich auf das Gerät klicke

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • D DarkDevil

                                          Hi, habt ihr eine Idee wie ich nur einen prozentualen Wert anzeigen lassen kann? Ähnlich wie bei einer Lampe die Helligkeit? Ich habe es über Batterystatus probiert, da sehe ich die Prozentzahl erst wenn ich auf das Gerät klicke

                                          L Offline
                                          L Offline
                                          loverz
                                          schrieb am zuletzt editiert von
                                          #1269

                                          @darkdevil über humidity würde das gehen.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          713

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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