Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    309

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

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

[Vorlage] Einfaches Blockly für Homematic IP Fernbedienung

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklytemplate
18 Beiträge 5 Kommentatoren 3.7k Aufrufe 6 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.
  • A Offline
    A Offline
    Ahnungsbefreit
    schrieb am zuletzt editiert von Ahnungsbefreit
    #1

    EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen

    Hallo ioBroker Gemeinde,

    bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.

    Aufgabe:
    Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.

    Voraussetzung:
    Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

    Nutzung:

    • Script aus dem Code Block unten oder der Textdatei importieren
    • In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
    • Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
    • Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
    • Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich

    So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

    dcd05c1a-890c-4ced-844b-17c3697ee0d9-image.png

    Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

    d8eaf99d-cbc1-4c34-adfe-b3f776bc4f37-image.png


    <xml xmlns="https://developers.google.com/blockly/xml">
    <variables>
    <variable id="6W)^|[WJI;(-,Y;05-/b">block</variable>
    <variable id="tqFR/K_^zET3:bqQ#B-A">triggers</variable>
    <variable id="IVv9)b|$!yoV+Q*=Y$P">liste</variable> <variable type="timeout" id="Entprellen">Entprellen</variable> <variable id="0OF1cRLepM|.TR{/z~">taste</variable> <variable id="s|%TT$X[vLa~}S!izq?t">press_what</variable> <variable id="G$8ozEEfjvdYEi2Siu5$">press_short</variable> </variables> <block type="comment" id="ASR{u{AS/W8+n@LaYe" x="62" y="13"> <field name="COMMENT">Trigger auf alle Tasten der HMiP-RC8</field> <next> <block type="variables_set" id="~uv9I^vV4sh}{MdMU1nw"> <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field> <value name="VALUE"> <block type="logic_boolean" id="2r5*5#7$Kr.:{@i(x1_Z"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$-Z9ap;CmIn:1Ca5h,|0"> <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field> <value name="VALUE"> <block type="lists_create_with" id="T!.+)Wn#AXu^E%|m^Z1">
    <mutation items="2"></mutation>
    <value name="ADD0">
    <block type="selector" id="4s20Q.CPnm64|B_mF{D,">
    <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344..PRESS_SHORT]</field>
    </block>
    </value>
    <value name="ADD1">
    <block type="selector" id="QQ1g4;z.f{^z-u}Wh?i4">
    <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344.
    .PRESS_LONG]</field>
    </block>
    </value>
    </block>
    </value>
    <next>
    <block type="on_ext" id="b:!!35W]-lzk[c8Wg9$n">
    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
    <field name="CONDITION">any</field>
    <field name="ACK_CONDITION"></field>
    <value name="OID0">
    <shadow type="field_oid" id="LL(RxzQSwm+%@-Fu;god">
    <field name="oid">default</field>
    </shadow>
    <block type="variables_get" id="Du7V[6`9=)~e+`7eOT{">
    <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field>
    </block>
    </value>
    <statement name="STATEMENT">
    <block type="controls_if" id="Bq]eeShB0{gl(b,pk/:;">
    <value name="IF0">
    <block type="logic_negate" id="Kp11%YuH2po=Z`xf~2nU">
    <value name="BOOL">
    <block type="variables_get" id="Z)i3weli#O4iOLpfpb$D">
    <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
    </block>
    </value>
    </block>
    </value>
    <statement name="DO0">
    <block type="variables_set" id="{6p,jnD.Qk
    !Au+q-4!p">
    <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
    <value name="VALUE">
    <block type="logic_boolean" id="~a~)_~GcJ~)xhXcfQEk">
    <field name="BOOL">TRUE</field>
    </block>
    </value>
    <next>
    <block type="variables_set" id="f+(?0s|HE:tzU2/g244(">
    <field name="VAR" id="IVv9)b|$!yoV`+Q
    =Y$P">liste</field>
    <value name="VALUE">
    <block type="lists_split" id="7FkO9CqjS}qAC1JT71C!">
    <mutation mode="SPLIT"></mutation>
    <field name="MODE">SPLIT</field>
    <value name="INPUT">
    <block type="on_source" id="{y~Ns%ztDkv1q^^g~hkc">
    <field name="ATTR">id</field>
    </block>
    </value>
    <value name="DELIM">
    <shadow type="text" id=":5wc|r/Qy=i%-zTfV-i9">
    <field name="TEXT">.</field>
    </shadow>
    </value>
    </block>
    </value>
    <next>
    <block type="variables_set" id="G1lzw(nu0cU[oV!w(s`u">
    <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
    <value name="VALUE">
    <block type="lists_getIndex" id="{eZl4e~4f=#onP-%?zsd">
    <mutation statement="false" at="true"></mutation>
    <field name="MODE">GET</field>
    <field name="WHERE">FROM_START</field>
    <value name="VALUE">
    <block type="variables_get" id="ejKf(8^4!3W8PlkcH-ni">
    <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
    </block>
    </value>
    <value name="AT">
    <block type="math_number" id="H!gXr^f@bqHyA2/U`Z">
    <field name="NUM">4</field>
    </block>
    </value>
    </block>
    </value>
    <next>
    <block type="variables_set" id="x_nzpMi#gE(1153PB$%@">
    <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
    <value name="VALUE">
    <block type="lists_getIndex" id="R||=oQ:60~T#Bd8NXr~k">
    <mutation statement="false" at="true"></mutation>
    <field name="MODE">GET</field>
    <field name="WHERE">FROM_START</field>
    <value name="VALUE">
    <block type="variables_get" id="lCa=S!G`/wckJeGA.tI">
    <field name="VAR" id="IVv9)b|$!yoV`+Q
    =Y$P">liste</field>
    </block>
    </value>
    <value name="AT">
    <block type="math_number" id="6l8+,@7Neq%V2`{91nG$">
    <field name="NUM">5</field>
    </block>
    </value>
    </block>
    </value>
    <next>
    <block type="variables_set" id="dl!.naGznpCc[@^+u!?U">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    <value name="VALUE">
    <block type="logic_compare" id="3=!|{L|$G7MZFd-oeEWc">
    <field name="OP">EQ</field>
    <value name="A">
    <block type="variables_get" id=";SUn@pfuyM66dFfm,M!2">
    <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
    </block>
    </value>
    <value name="B">
    <block type="text" id="5v30WKJxz[wJiXQ~P}a^">
    <field name="TEXT">PRESS_SHORT</field>
    </block>
    </value>
    </block>
    </value>
    <next>
    <block type="debug" id="L3fUHN8g^ySJ^9B?s4,t" collapsed="true" disabled="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text">
    <field name="TEXT">test</field>
    </shadow>
    <block type="text_join" id="eScYMI@~ze![%tJ^Pk{U">
    <mutation items="3"></mutation>
    <value name="ADD0">
    <block type="text" id="b;O6#0^t4mv?=q(zw-ZT">
    <field name="TEXT">Liste hat </field>
    </block>
    </value>
    <value name="ADD1">
    <block type="lists_length" id="-`og3CoD$3g/|uQ$mJ.{">
    <value name="VALUE">
    <block type="variables_get" id=",{fta@O0K@
    %}Ovlc7%p">
    <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
    </block>
    </value>
    </block>
    </value>
    <value name="ADD2">
    <block type="text" id="l,(c*Vw+ATXKr{T88J@u">
    <field name="TEXT"> Einträge</field>
    </block>
    </value>
    </block>
    </value>
    <next>
    <block type="debug" id="{@GM
    }TqtlLRea)fHvY" collapsed="true" disabled="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="B$ZRLw:Uv6{wH9:s:NyY">
    <field name="TEXT">test</field>
    </shadow>
    <block type="text_join" id="]e;)2aN={~-#vb8wP:yP">
    <mutation items="5"></mutation>
    <value name="ADD0">
    <block type="text" id="b)eFq./uUQmiF?4S6~}1">
    <field name="TEXT">Taste: "</field>
    </block>
    </value>
    <value name="ADD1">
    <block type="variables_get" id="SIL^ia/=5ybK({/cxi">
    <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
    </block>
    </value>
    <value name="ADD2">
    <block type="text" id="N~@%0(^0@.}ZukN9)b9|">
    <field name="TEXT">" und Press: "</field>
    </block>
    </value>
    <value name="ADD3">
    <block type="variables_get" id="VmkEDejC[#I#?N?$j%cj">
    <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
    </block>
    </value>
    <value name="ADD4">
    <block type="text" id="b^)KPKa,.gT8s7X_lp+v">
    <field name="TEXT">"</field>
    </block>
    </value>
    </block>
    </value>
    <next>
    <block type="logic_switch_case" id="{%ftVMm^mb?nRx_Iv]U0">
    <mutation xmlns="http://www.w3.org/1999/xhtml" case="7"></mutation>
    <value name="CONDITION">
    <block type="variables_get" id="R3U@CvKjZ(:}pZKMbTmg">
    <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
    </block>
    </value>
    <value name="CASECONDITION0">
    <block type="text" id="Y[^EYGw:,A=)^B:q@JK$">
    <field name="TEXT">1</field>
    </block>
    </value>
    <statement name="CASE0">
    <block type="controls_if" id="2TQQ4f`Kd2LArR:vnK~c">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="84`8T3:;bDjB^A1L
    ]5T">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="$#54,pT8vu_6-5A
    1{3#" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="sUM5Sz0p|vwzb-Xyc1VD">
    <field name="TEXT">1/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="u1cY]hojM|sBHY[aAxGo" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="VY0M6`U0#)dJ{h@tD-N#">
    <field name="TEXT">1/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION1">
    <block type="text" id="8Gv(Tn^is:ZQh_8MtBC+">
    <field name="TEXT">2</field>
    </block>
    </value>
    <statement name="CASE1">
    <block type="controls_if" id="iiM3}FqR8e}MHaeo`A">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="~BKSf}lSM71T@1#u5~}">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="
    .^B?I,B$_aQ]z#{gz" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="DIpcfaee?ff`GEdi_38[">
    <field name="TEXT">2/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="+10vtnT%RMxj,#
    )0[cj" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="L26L5V~v#lcmj,Qns(rz">
    <field name="TEXT">2/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION2">
    <block type="text" id="~mYtFg}8/2PDcU[FuMQ">
    <field name="TEXT">3</field>
    </block>
    </value>
    <statement name="CASE2">
    <block type="controls_if" id="%M8R]?2JKXlk_rHvRTCH">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="~uGbX=$?F9xlYXcAL5~1">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="Ilf$Zoa3$]cZ^rg=HRY/" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="!`$009t}C
    /el!n6~STH">
    <field name="TEXT">3/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="REdU)@{P|^hx{9Suzz@" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="u_yl=eu%yZzTjD0jAG~4">
    <field name="TEXT">3/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION3">
    <block type="text" id="5RA/_4Z
    {~I?WaVpUjqK">
    <field name="TEXT">4</field>
    </block>
    </value>
    <statement name="CASE3">
    <block type="controls_if" id=";~f^xxX@k1s7F]QdB5xN">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="CG{inW$0#Y,i0uR-b1pd">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id=":Cwpd2|OQmez7A9pR2b9" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="GMtFL--).)[!9vT`gFY9">
    <field name="TEXT">4/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="|n-:C7Js}7R;:sZ;Xy@{" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="KpWdoFnEv5gQBDRj,I8z">
    <field name="TEXT">4/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION4">
    <block type="text" id="#;UprwY[6#c!!oJjLaj|">
    <field name="TEXT">5</field>
    </block>
    </value>
    <statement name="CASE4">
    <block type="controls_if" id="qL$/iiJZT`#olAmP^[2n">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="+wdpM1^4FsDOwAnA4PEw">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="|WShnjgU:PK|Vc~715yy" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="mSRUZSee4q5V3N`v3`+}">
    <field name="TEXT">5/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="Lx6obW@Pr6I{`ec0Fy~d" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="a|AU/RE=Hb:Ha3Om]qp0">
    <field name="TEXT">5/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION5">
    <block type="text" id="t%uYvAyb@(]iS-:qhK9C">
    <field name="TEXT">6</field>
    </block>
    </value>
    <statement name="CASE5">
    <block type="controls_if" id="A!gxWzVj/vwXxNLhE2ll">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="y}T}N5vW5*.v0@u??Bvz">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="nDqoSlzfo|gIv5c|@t3p" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="vnA|As-hD2`P29!|s=E">
    <field name="TEXT">6/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id=",,lDRFsuUzaFsDA~z_e?" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="Y+7,Q5t3;RAk}O4tD5U;">
    <field name="TEXT">6/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION6">
    <block type="text" id="U@YsK8?wB,CFj|sCtEY7">
    <field name="TEXT">7</field>
    </block>
    </value>
    <statement name="CASE6">
    <block type="controls_if" id="arn@8,ff1rE,$RoRQdZ`">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id=";HABJ~(,El1xZvi_wLbs">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="mf
    3s|QB!6Ua(._TV,w" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="8^yHkOcs^dD6x0J|BhgL">
    <field name="TEXT">7/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="#6NQ0F%Mm[?]rB]d-kSD" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="/[Atbp$kcgF[_b}Q(.H">
    <field name="TEXT">7/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    <value name="CASECONDITION7">
    <block type="text" id="[@D44QbB:??Mc{!w:1y2">
    <field name="TEXT">8</field>
    </block>
    </value>
    <statement name="CASE7">
    <block type="controls_if" id="wQlxT~1))!{vxOrC-|+!">
    <mutation else="1"></mutation>
    <value name="IF0">
    <block type="variables_get" id="UHg-[#D4HJi:v(VyV7:]">
    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
    </block>
    </value>
    <statement name="DO0">
    <block type="debug" id="%?;!YQl3:m(gK`|SuxzI" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="z7XT+Pmn?fzCCq7w,Qx.">
    <field name="TEXT">8/S</field>
    </shadow>
    </value>
    </block>
    </statement>
    <statement name="ELSE">
    <block type="debug" id="Q
    =6Bo)fpkDGRP[,q%^Z" collapsed="true">
    <field name="Severity">log</field>
    <value name="TEXT">
    <shadow type="text" id="D
    $iabK47==6~[HV1(X#">
    <field name="TEXT">8/L</field>
    </shadow>
    </value>
    </block>
    </statement>
    </block>
    </statement>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    </statement>
    <next>
    <block type="timeouts_cleartimeout" id=")ezWEe,~L~zuML?uDp@5">
    <field name="NAME">Entprellen</field>
    <next>
    <block type="timeouts_settimeout" id="w7V$]k(g+%14pgCWs13W">
    <field name="NAME">Entprellen</field>
    <field name="DELAY">200</field>
    <field name="UNIT">ms</field>
    <statement name="STATEMENT">
    <block type="variables_set" id="cY4n@GvbXr1Hd}:oRJ=p">
    <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
    <value name="VALUE">
    <block type="logic_boolean" id="R#P@Mc|yz2+W8lLB=kfr">
    <field name="BOOL">FALSE</field>
    </block>
    </value>
    </block>
    </statement>
    </block>
    </next>
    </block>
    </next>
    </block>
    </statement>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    <block type="comment" id="H_YO`XEu]?%S8Bd]W61," x="613" y="37">
    <field name="COMMENT">Hier die richtige ID einstellen (2x)</field>
    </block>
    </xml>

    Template HmIP Remote (blockly).txt

    Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...

    Fragen oder Anregungen gerne hier oder auf Discord.

    Gruß

    Thomas (@Ahnungsbefreit)

    Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

    FenriswolfF M J 3 Antworten Letzte Antwort
    1
    • A Ahnungsbefreit

      EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen

      Hallo ioBroker Gemeinde,

      bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.

      Aufgabe:
      Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.

      Voraussetzung:
      Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

      Nutzung:

      • Script aus dem Code Block unten oder der Textdatei importieren
      • In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
      • Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
      • Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
      • Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich

      So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

      dcd05c1a-890c-4ced-844b-17c3697ee0d9-image.png

      Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

      d8eaf99d-cbc1-4c34-adfe-b3f776bc4f37-image.png


      <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
      <variable id="6W)^|[WJI;(-,Y;05-/b">block</variable>
      <variable id="tqFR/K_^zET3:bqQ#B-A">triggers</variable>
      <variable id="IVv9)b|$!yoV+Q*=Y$P">liste</variable> <variable type="timeout" id="Entprellen">Entprellen</variable> <variable id="0OF1cRLepM|.TR{/z~">taste</variable> <variable id="s|%TT$X[vLa~}S!izq?t">press_what</variable> <variable id="G$8ozEEfjvdYEi2Siu5$">press_short</variable> </variables> <block type="comment" id="ASR{u{AS/W8+n@LaYe" x="62" y="13"> <field name="COMMENT">Trigger auf alle Tasten der HMiP-RC8</field> <next> <block type="variables_set" id="~uv9I^vV4sh}{MdMU1nw"> <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field> <value name="VALUE"> <block type="logic_boolean" id="2r5*5#7$Kr.:{@i(x1_Z"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$-Z9ap;CmIn:1Ca5h,|0"> <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field> <value name="VALUE"> <block type="lists_create_with" id="T!.+)Wn#AXu^E%|m^Z1">
      <mutation items="2"></mutation>
      <value name="ADD0">
      <block type="selector" id="4s20Q.CPnm64|B_mF{D,">
      <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344..PRESS_SHORT]</field>
      </block>
      </value>
      <value name="ADD1">
      <block type="selector" id="QQ1g4;z.f{^z-u}Wh?i4">
      <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344.
      .PRESS_LONG]</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="on_ext" id="b:!!35W]-lzk[c8Wg9$n">
      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
      <field name="CONDITION">any</field>
      <field name="ACK_CONDITION"></field>
      <value name="OID0">
      <shadow type="field_oid" id="LL(RxzQSwm+%@-Fu;god">
      <field name="oid">default</field>
      </shadow>
      <block type="variables_get" id="Du7V[6`9=)~e+`7eOT{">
      <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field>
      </block>
      </value>
      <statement name="STATEMENT">
      <block type="controls_if" id="Bq]eeShB0{gl(b,pk/:;">
      <value name="IF0">
      <block type="logic_negate" id="Kp11%YuH2po=Z`xf~2nU">
      <value name="BOOL">
      <block type="variables_get" id="Z)i3weli#O4iOLpfpb$D">
      <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
      </block>
      </value>
      </block>
      </value>
      <statement name="DO0">
      <block type="variables_set" id="{6p,jnD.Qk
      !Au+q-4!p">
      <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
      <value name="VALUE">
      <block type="logic_boolean" id="~a~)_~GcJ~)xhXcfQEk">
      <field name="BOOL">TRUE</field>
      </block>
      </value>
      <next>
      <block type="variables_set" id="f+(?0s|HE:tzU2/g244(">
      <field name="VAR" id="IVv9)b|$!yoV`+Q
      =Y$P">liste</field>
      <value name="VALUE">
      <block type="lists_split" id="7FkO9CqjS}qAC1JT71C!">
      <mutation mode="SPLIT"></mutation>
      <field name="MODE">SPLIT</field>
      <value name="INPUT">
      <block type="on_source" id="{y~Ns%ztDkv1q^^g~hkc">
      <field name="ATTR">id</field>
      </block>
      </value>
      <value name="DELIM">
      <shadow type="text" id=":5wc|r/Qy=i%-zTfV-i9">
      <field name="TEXT">.</field>
      </shadow>
      </value>
      </block>
      </value>
      <next>
      <block type="variables_set" id="G1lzw(nu0cU[oV!w(s`u">
      <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
      <value name="VALUE">
      <block type="lists_getIndex" id="{eZl4e~4f=#onP-%?zsd">
      <mutation statement="false" at="true"></mutation>
      <field name="MODE">GET</field>
      <field name="WHERE">FROM_START</field>
      <value name="VALUE">
      <block type="variables_get" id="ejKf(8^4!3W8PlkcH-ni">
      <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
      </block>
      </value>
      <value name="AT">
      <block type="math_number" id="H!gXr^f@bqHyA2/U`Z">
      <field name="NUM">4</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="variables_set" id="x_nzpMi#gE(1153PB$%@">
      <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
      <value name="VALUE">
      <block type="lists_getIndex" id="R||=oQ:60~T#Bd8NXr~k">
      <mutation statement="false" at="true"></mutation>
      <field name="MODE">GET</field>
      <field name="WHERE">FROM_START</field>
      <value name="VALUE">
      <block type="variables_get" id="lCa=S!G`/wckJeGA.tI">
      <field name="VAR" id="IVv9)b|$!yoV`+Q
      =Y$P">liste</field>
      </block>
      </value>
      <value name="AT">
      <block type="math_number" id="6l8+,@7Neq%V2`{91nG$">
      <field name="NUM">5</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="variables_set" id="dl!.naGznpCc[@^+u!?U">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      <value name="VALUE">
      <block type="logic_compare" id="3=!|{L|$G7MZFd-oeEWc">
      <field name="OP">EQ</field>
      <value name="A">
      <block type="variables_get" id=";SUn@pfuyM66dFfm,M!2">
      <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
      </block>
      </value>
      <value name="B">
      <block type="text" id="5v30WKJxz[wJiXQ~P}a^">
      <field name="TEXT">PRESS_SHORT</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id="L3fUHN8g^ySJ^9B?s4,t" collapsed="true" disabled="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text">
      <field name="TEXT">test</field>
      </shadow>
      <block type="text_join" id="eScYMI@~ze![%tJ^Pk{U">
      <mutation items="3"></mutation>
      <value name="ADD0">
      <block type="text" id="b;O6#0^t4mv?=q(zw-ZT">
      <field name="TEXT">Liste hat </field>
      </block>
      </value>
      <value name="ADD1">
      <block type="lists_length" id="-`og3CoD$3g/|uQ$mJ.{">
      <value name="VALUE">
      <block type="variables_get" id=",{fta@O0K@
      %}Ovlc7%p">
      <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
      </block>
      </value>
      </block>
      </value>
      <value name="ADD2">
      <block type="text" id="l,(c*Vw+ATXKr{T88J@u">
      <field name="TEXT"> Einträge</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id="{@GM
      }TqtlLRea)fHvY" collapsed="true" disabled="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="B$ZRLw:Uv6{wH9:s:NyY">
      <field name="TEXT">test</field>
      </shadow>
      <block type="text_join" id="]e;)2aN={~-#vb8wP:yP">
      <mutation items="5"></mutation>
      <value name="ADD0">
      <block type="text" id="b)eFq./uUQmiF?4S6~}1">
      <field name="TEXT">Taste: "</field>
      </block>
      </value>
      <value name="ADD1">
      <block type="variables_get" id="SIL^ia/=5ybK({/cxi">
      <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
      </block>
      </value>
      <value name="ADD2">
      <block type="text" id="N~@%0(^0@.}ZukN9)b9|">
      <field name="TEXT">" und Press: "</field>
      </block>
      </value>
      <value name="ADD3">
      <block type="variables_get" id="VmkEDejC[#I#?N?$j%cj">
      <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
      </block>
      </value>
      <value name="ADD4">
      <block type="text" id="b^)KPKa,.gT8s7X_lp+v">
      <field name="TEXT">"</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="logic_switch_case" id="{%ftVMm^mb?nRx_Iv]U0">
      <mutation xmlns="http://www.w3.org/1999/xhtml" case="7"></mutation>
      <value name="CONDITION">
      <block type="variables_get" id="R3U@CvKjZ(:}pZKMbTmg">
      <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
      </block>
      </value>
      <value name="CASECONDITION0">
      <block type="text" id="Y[^EYGw:,A=)^B:q@JK$">
      <field name="TEXT">1</field>
      </block>
      </value>
      <statement name="CASE0">
      <block type="controls_if" id="2TQQ4f`Kd2LArR:vnK~c">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="84`8T3:;bDjB^A1L
      ]5T">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="$#54,pT8vu_6-5A
      1{3#" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="sUM5Sz0p|vwzb-Xyc1VD">
      <field name="TEXT">1/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="u1cY]hojM|sBHY[aAxGo" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="VY0M6`U0#)dJ{h@tD-N#">
      <field name="TEXT">1/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION1">
      <block type="text" id="8Gv(Tn^is:ZQh_8MtBC+">
      <field name="TEXT">2</field>
      </block>
      </value>
      <statement name="CASE1">
      <block type="controls_if" id="iiM3}FqR8e}MHaeo`A">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="~BKSf}lSM71T@1#u5~}">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="
      .^B?I,B$_aQ]z#{gz" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="DIpcfaee?ff`GEdi_38[">
      <field name="TEXT">2/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="+10vtnT%RMxj,#
      )0[cj" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="L26L5V~v#lcmj,Qns(rz">
      <field name="TEXT">2/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION2">
      <block type="text" id="~mYtFg}8/2PDcU[FuMQ">
      <field name="TEXT">3</field>
      </block>
      </value>
      <statement name="CASE2">
      <block type="controls_if" id="%M8R]?2JKXlk_rHvRTCH">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="~uGbX=$?F9xlYXcAL5~1">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="Ilf$Zoa3$]cZ^rg=HRY/" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="!`$009t}C
      /el!n6~STH">
      <field name="TEXT">3/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="REdU)@{P|^hx{9Suzz@" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="u_yl=eu%yZzTjD0jAG~4">
      <field name="TEXT">3/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION3">
      <block type="text" id="5RA/_4Z
      {~I?WaVpUjqK">
      <field name="TEXT">4</field>
      </block>
      </value>
      <statement name="CASE3">
      <block type="controls_if" id=";~f^xxX@k1s7F]QdB5xN">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="CG{inW$0#Y,i0uR-b1pd">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id=":Cwpd2|OQmez7A9pR2b9" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="GMtFL--).)[!9vT`gFY9">
      <field name="TEXT">4/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="|n-:C7Js}7R;:sZ;Xy@{" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="KpWdoFnEv5gQBDRj,I8z">
      <field name="TEXT">4/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION4">
      <block type="text" id="#;UprwY[6#c!!oJjLaj|">
      <field name="TEXT">5</field>
      </block>
      </value>
      <statement name="CASE4">
      <block type="controls_if" id="qL$/iiJZT`#olAmP^[2n">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="+wdpM1^4FsDOwAnA4PEw">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="|WShnjgU:PK|Vc~715yy" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="mSRUZSee4q5V3N`v3`+}">
      <field name="TEXT">5/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="Lx6obW@Pr6I{`ec0Fy~d" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="a|AU/RE=Hb:Ha3Om]qp0">
      <field name="TEXT">5/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION5">
      <block type="text" id="t%uYvAyb@(]iS-:qhK9C">
      <field name="TEXT">6</field>
      </block>
      </value>
      <statement name="CASE5">
      <block type="controls_if" id="A!gxWzVj/vwXxNLhE2ll">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="y}T}N5vW5*.v0@u??Bvz">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="nDqoSlzfo|gIv5c|@t3p" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="vnA|As-hD2`P29!|s=E">
      <field name="TEXT">6/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id=",,lDRFsuUzaFsDA~z_e?" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="Y+7,Q5t3;RAk}O4tD5U;">
      <field name="TEXT">6/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION6">
      <block type="text" id="U@YsK8?wB,CFj|sCtEY7">
      <field name="TEXT">7</field>
      </block>
      </value>
      <statement name="CASE6">
      <block type="controls_if" id="arn@8,ff1rE,$RoRQdZ`">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id=";HABJ~(,El1xZvi_wLbs">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="mf
      3s|QB!6Ua(._TV,w" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="8^yHkOcs^dD6x0J|BhgL">
      <field name="TEXT">7/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="#6NQ0F%Mm[?]rB]d-kSD" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="/[Atbp$kcgF[_b}Q(.H">
      <field name="TEXT">7/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      <value name="CASECONDITION7">
      <block type="text" id="[@D44QbB:??Mc{!w:1y2">
      <field name="TEXT">8</field>
      </block>
      </value>
      <statement name="CASE7">
      <block type="controls_if" id="wQlxT~1))!{vxOrC-|+!">
      <mutation else="1"></mutation>
      <value name="IF0">
      <block type="variables_get" id="UHg-[#D4HJi:v(VyV7:]">
      <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
      </block>
      </value>
      <statement name="DO0">
      <block type="debug" id="%?;!YQl3:m(gK`|SuxzI" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="z7XT+Pmn?fzCCq7w,Qx.">
      <field name="TEXT">8/S</field>
      </shadow>
      </value>
      </block>
      </statement>
      <statement name="ELSE">
      <block type="debug" id="Q
      =6Bo)fpkDGRP[,q%^Z" collapsed="true">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text" id="D
      $iabK47==6~[HV1(X#">
      <field name="TEXT">8/L</field>
      </shadow>
      </value>
      </block>
      </statement>
      </block>
      </statement>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </statement>
      <next>
      <block type="timeouts_cleartimeout" id=")ezWEe,~L~zuML?uDp@5">
      <field name="NAME">Entprellen</field>
      <next>
      <block type="timeouts_settimeout" id="w7V$]k(g+%14pgCWs13W">
      <field name="NAME">Entprellen</field>
      <field name="DELAY">200</field>
      <field name="UNIT">ms</field>
      <statement name="STATEMENT">
      <block type="variables_set" id="cY4n@GvbXr1Hd}:oRJ=p">
      <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
      <value name="VALUE">
      <block type="logic_boolean" id="R#P@Mc|yz2+W8lLB=kfr">
      <field name="BOOL">FALSE</field>
      </block>
      </value>
      </block>
      </statement>
      </block>
      </next>
      </block>
      </next>
      </block>
      </statement>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      <block type="comment" id="H_YO`XEu]?%S8Bd]W61," x="613" y="37">
      <field name="COMMENT">Hier die richtige ID einstellen (2x)</field>
      </block>
      </xml>

      Template HmIP Remote (blockly).txt

      Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...

      Fragen oder Anregungen gerne hier oder auf Discord.

      Gruß

      Thomas (@Ahnungsbefreit)

      FenriswolfF Offline
      FenriswolfF Offline
      Fenriswolf
      schrieb am zuletzt editiert von
      #2

      @Ahnungsbefreit

      Danke für das bereitstellen!
      Habe es für mich und meine HM Handsender angepasst und arbeitet sehr gut.
      Hatte es vorher mit einfachen abfragen realisiert, aber so gefällt es mir deutlich besser.

      bis denne

      Press any key to continue or any other to quit

      A 1 Antwort Letzte Antwort
      0
      • FenriswolfF Fenriswolf

        @Ahnungsbefreit

        Danke für das bereitstellen!
        Habe es für mich und meine HM Handsender angepasst und arbeitet sehr gut.
        Hatte es vorher mit einfachen abfragen realisiert, aber so gefällt es mir deutlich besser.

        bis denne

        A Offline
        A Offline
        Ahnungsbefreit
        schrieb am zuletzt editiert von
        #3

        @Fenriswolf Freut mich, wenn es hilfreich war. Du darfst gerne den Beitrag "upvoten"...:face_with_rolling_eyes:

        Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

        1 Antwort Letzte Antwort
        0
        • A Ahnungsbefreit

          EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen

          Hallo ioBroker Gemeinde,

          bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.

          Aufgabe:
          Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.

          Voraussetzung:
          Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

          Nutzung:

          • Script aus dem Code Block unten oder der Textdatei importieren
          • In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
          • Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
          • Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
          • Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich

          So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

          dcd05c1a-890c-4ced-844b-17c3697ee0d9-image.png

          Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

          d8eaf99d-cbc1-4c34-adfe-b3f776bc4f37-image.png


          <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
          <variable id="6W)^|[WJI;(-,Y;05-/b">block</variable>
          <variable id="tqFR/K_^zET3:bqQ#B-A">triggers</variable>
          <variable id="IVv9)b|$!yoV+Q*=Y$P">liste</variable> <variable type="timeout" id="Entprellen">Entprellen</variable> <variable id="0OF1cRLepM|.TR{/z~">taste</variable> <variable id="s|%TT$X[vLa~}S!izq?t">press_what</variable> <variable id="G$8ozEEfjvdYEi2Siu5$">press_short</variable> </variables> <block type="comment" id="ASR{u{AS/W8+n@LaYe" x="62" y="13"> <field name="COMMENT">Trigger auf alle Tasten der HMiP-RC8</field> <next> <block type="variables_set" id="~uv9I^vV4sh}{MdMU1nw"> <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field> <value name="VALUE"> <block type="logic_boolean" id="2r5*5#7$Kr.:{@i(x1_Z"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$-Z9ap;CmIn:1Ca5h,|0"> <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field> <value name="VALUE"> <block type="lists_create_with" id="T!.+)Wn#AXu^E%|m^Z1">
          <mutation items="2"></mutation>
          <value name="ADD0">
          <block type="selector" id="4s20Q.CPnm64|B_mF{D,">
          <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344..PRESS_SHORT]</field>
          </block>
          </value>
          <value name="ADD1">
          <block type="selector" id="QQ1g4;z.f{^z-u}Wh?i4">
          <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344.
          .PRESS_LONG]</field>
          </block>
          </value>
          </block>
          </value>
          <next>
          <block type="on_ext" id="b:!!35W]-lzk[c8Wg9$n">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">any</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
          <shadow type="field_oid" id="LL(RxzQSwm+%@-Fu;god">
          <field name="oid">default</field>
          </shadow>
          <block type="variables_get" id="Du7V[6`9=)~e+`7eOT{">
          <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field>
          </block>
          </value>
          <statement name="STATEMENT">
          <block type="controls_if" id="Bq]eeShB0{gl(b,pk/:;">
          <value name="IF0">
          <block type="logic_negate" id="Kp11%YuH2po=Z`xf~2nU">
          <value name="BOOL">
          <block type="variables_get" id="Z)i3weli#O4iOLpfpb$D">
          <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
          </block>
          </value>
          </block>
          </value>
          <statement name="DO0">
          <block type="variables_set" id="{6p,jnD.Qk
          !Au+q-4!p">
          <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
          <value name="VALUE">
          <block type="logic_boolean" id="~a~)_~GcJ~)xhXcfQEk">
          <field name="BOOL">TRUE</field>
          </block>
          </value>
          <next>
          <block type="variables_set" id="f+(?0s|HE:tzU2/g244(">
          <field name="VAR" id="IVv9)b|$!yoV`+Q
          =Y$P">liste</field>
          <value name="VALUE">
          <block type="lists_split" id="7FkO9CqjS}qAC1JT71C!">
          <mutation mode="SPLIT"></mutation>
          <field name="MODE">SPLIT</field>
          <value name="INPUT">
          <block type="on_source" id="{y~Ns%ztDkv1q^^g~hkc">
          <field name="ATTR">id</field>
          </block>
          </value>
          <value name="DELIM">
          <shadow type="text" id=":5wc|r/Qy=i%-zTfV-i9">
          <field name="TEXT">.</field>
          </shadow>
          </value>
          </block>
          </value>
          <next>
          <block type="variables_set" id="G1lzw(nu0cU[oV!w(s`u">
          <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
          <value name="VALUE">
          <block type="lists_getIndex" id="{eZl4e~4f=#onP-%?zsd">
          <mutation statement="false" at="true"></mutation>
          <field name="MODE">GET</field>
          <field name="WHERE">FROM_START</field>
          <value name="VALUE">
          <block type="variables_get" id="ejKf(8^4!3W8PlkcH-ni">
          <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
          </block>
          </value>
          <value name="AT">
          <block type="math_number" id="H!gXr^f@bqHyA2/U`Z">
          <field name="NUM">4</field>
          </block>
          </value>
          </block>
          </value>
          <next>
          <block type="variables_set" id="x_nzpMi#gE(1153PB$%@">
          <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
          <value name="VALUE">
          <block type="lists_getIndex" id="R||=oQ:60~T#Bd8NXr~k">
          <mutation statement="false" at="true"></mutation>
          <field name="MODE">GET</field>
          <field name="WHERE">FROM_START</field>
          <value name="VALUE">
          <block type="variables_get" id="lCa=S!G`/wckJeGA.tI">
          <field name="VAR" id="IVv9)b|$!yoV`+Q
          =Y$P">liste</field>
          </block>
          </value>
          <value name="AT">
          <block type="math_number" id="6l8+,@7Neq%V2`{91nG$">
          <field name="NUM">5</field>
          </block>
          </value>
          </block>
          </value>
          <next>
          <block type="variables_set" id="dl!.naGznpCc[@^+u!?U">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          <value name="VALUE">
          <block type="logic_compare" id="3=!|{L|$G7MZFd-oeEWc">
          <field name="OP">EQ</field>
          <value name="A">
          <block type="variables_get" id=";SUn@pfuyM66dFfm,M!2">
          <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
          </block>
          </value>
          <value name="B">
          <block type="text" id="5v30WKJxz[wJiXQ~P}a^">
          <field name="TEXT">PRESS_SHORT</field>
          </block>
          </value>
          </block>
          </value>
          <next>
          <block type="debug" id="L3fUHN8g^ySJ^9B?s4,t" collapsed="true" disabled="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text">
          <field name="TEXT">test</field>
          </shadow>
          <block type="text_join" id="eScYMI@~ze![%tJ^Pk{U">
          <mutation items="3"></mutation>
          <value name="ADD0">
          <block type="text" id="b;O6#0^t4mv?=q(zw-ZT">
          <field name="TEXT">Liste hat </field>
          </block>
          </value>
          <value name="ADD1">
          <block type="lists_length" id="-`og3CoD$3g/|uQ$mJ.{">
          <value name="VALUE">
          <block type="variables_get" id=",{fta@O0K@
          %}Ovlc7%p">
          <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
          </block>
          </value>
          </block>
          </value>
          <value name="ADD2">
          <block type="text" id="l,(c*Vw+ATXKr{T88J@u">
          <field name="TEXT"> Einträge</field>
          </block>
          </value>
          </block>
          </value>
          <next>
          <block type="debug" id="{@GM
          }TqtlLRea)fHvY" collapsed="true" disabled="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="B$ZRLw:Uv6{wH9:s:NyY">
          <field name="TEXT">test</field>
          </shadow>
          <block type="text_join" id="]e;)2aN={~-#vb8wP:yP">
          <mutation items="5"></mutation>
          <value name="ADD0">
          <block type="text" id="b)eFq./uUQmiF?4S6~}1">
          <field name="TEXT">Taste: "</field>
          </block>
          </value>
          <value name="ADD1">
          <block type="variables_get" id="SIL^ia/=5ybK({/cxi">
          <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
          </block>
          </value>
          <value name="ADD2">
          <block type="text" id="N~@%0(^0@.}ZukN9)b9|">
          <field name="TEXT">" und Press: "</field>
          </block>
          </value>
          <value name="ADD3">
          <block type="variables_get" id="VmkEDejC[#I#?N?$j%cj">
          <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
          </block>
          </value>
          <value name="ADD4">
          <block type="text" id="b^)KPKa,.gT8s7X_lp+v">
          <field name="TEXT">"</field>
          </block>
          </value>
          </block>
          </value>
          <next>
          <block type="logic_switch_case" id="{%ftVMm^mb?nRx_Iv]U0">
          <mutation xmlns="http://www.w3.org/1999/xhtml" case="7"></mutation>
          <value name="CONDITION">
          <block type="variables_get" id="R3U@CvKjZ(:}pZKMbTmg">
          <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
          </block>
          </value>
          <value name="CASECONDITION0">
          <block type="text" id="Y[^EYGw:,A=)^B:q@JK$">
          <field name="TEXT">1</field>
          </block>
          </value>
          <statement name="CASE0">
          <block type="controls_if" id="2TQQ4f`Kd2LArR:vnK~c">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="84`8T3:;bDjB^A1L
          ]5T">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="$#54,pT8vu_6-5A
          1{3#" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="sUM5Sz0p|vwzb-Xyc1VD">
          <field name="TEXT">1/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="u1cY]hojM|sBHY[aAxGo" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="VY0M6`U0#)dJ{h@tD-N#">
          <field name="TEXT">1/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION1">
          <block type="text" id="8Gv(Tn^is:ZQh_8MtBC+">
          <field name="TEXT">2</field>
          </block>
          </value>
          <statement name="CASE1">
          <block type="controls_if" id="iiM3}FqR8e}MHaeo`A">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="~BKSf}lSM71T@1#u5~}">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="
          .^B?I,B$_aQ]z#{gz" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="DIpcfaee?ff`GEdi_38[">
          <field name="TEXT">2/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="+10vtnT%RMxj,#
          )0[cj" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="L26L5V~v#lcmj,Qns(rz">
          <field name="TEXT">2/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION2">
          <block type="text" id="~mYtFg}8/2PDcU[FuMQ">
          <field name="TEXT">3</field>
          </block>
          </value>
          <statement name="CASE2">
          <block type="controls_if" id="%M8R]?2JKXlk_rHvRTCH">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="~uGbX=$?F9xlYXcAL5~1">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="Ilf$Zoa3$]cZ^rg=HRY/" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="!`$009t}C
          /el!n6~STH">
          <field name="TEXT">3/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="REdU)@{P|^hx{9Suzz@" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="u_yl=eu%yZzTjD0jAG~4">
          <field name="TEXT">3/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION3">
          <block type="text" id="5RA/_4Z
          {~I?WaVpUjqK">
          <field name="TEXT">4</field>
          </block>
          </value>
          <statement name="CASE3">
          <block type="controls_if" id=";~f^xxX@k1s7F]QdB5xN">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="CG{inW$0#Y,i0uR-b1pd">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id=":Cwpd2|OQmez7A9pR2b9" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="GMtFL--).)[!9vT`gFY9">
          <field name="TEXT">4/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="|n-:C7Js}7R;:sZ;Xy@{" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="KpWdoFnEv5gQBDRj,I8z">
          <field name="TEXT">4/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION4">
          <block type="text" id="#;UprwY[6#c!!oJjLaj|">
          <field name="TEXT">5</field>
          </block>
          </value>
          <statement name="CASE4">
          <block type="controls_if" id="qL$/iiJZT`#olAmP^[2n">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="+wdpM1^4FsDOwAnA4PEw">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="|WShnjgU:PK|Vc~715yy" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="mSRUZSee4q5V3N`v3`+}">
          <field name="TEXT">5/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="Lx6obW@Pr6I{`ec0Fy~d" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="a|AU/RE=Hb:Ha3Om]qp0">
          <field name="TEXT">5/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION5">
          <block type="text" id="t%uYvAyb@(]iS-:qhK9C">
          <field name="TEXT">6</field>
          </block>
          </value>
          <statement name="CASE5">
          <block type="controls_if" id="A!gxWzVj/vwXxNLhE2ll">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="y}T}N5vW5*.v0@u??Bvz">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="nDqoSlzfo|gIv5c|@t3p" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="vnA|As-hD2`P29!|s=E">
          <field name="TEXT">6/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id=",,lDRFsuUzaFsDA~z_e?" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="Y+7,Q5t3;RAk}O4tD5U;">
          <field name="TEXT">6/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION6">
          <block type="text" id="U@YsK8?wB,CFj|sCtEY7">
          <field name="TEXT">7</field>
          </block>
          </value>
          <statement name="CASE6">
          <block type="controls_if" id="arn@8,ff1rE,$RoRQdZ`">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id=";HABJ~(,El1xZvi_wLbs">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="mf
          3s|QB!6Ua(._TV,w" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="8^yHkOcs^dD6x0J|BhgL">
          <field name="TEXT">7/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="#6NQ0F%Mm[?]rB]d-kSD" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="/[Atbp$kcgF[_b}Q(.H">
          <field name="TEXT">7/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          <value name="CASECONDITION7">
          <block type="text" id="[@D44QbB:??Mc{!w:1y2">
          <field name="TEXT">8</field>
          </block>
          </value>
          <statement name="CASE7">
          <block type="controls_if" id="wQlxT~1))!{vxOrC-|+!">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="variables_get" id="UHg-[#D4HJi:v(VyV7:]">
          <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
          </block>
          </value>
          <statement name="DO0">
          <block type="debug" id="%?;!YQl3:m(gK`|SuxzI" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="z7XT+Pmn?fzCCq7w,Qx.">
          <field name="TEXT">8/S</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="Q
          =6Bo)fpkDGRP[,q%^Z" collapsed="true">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="D
          $iabK47==6~[HV1(X#">
          <field name="TEXT">8/L</field>
          </shadow>
          </value>
          </block>
          </statement>
          </block>
          </statement>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </statement>
          <next>
          <block type="timeouts_cleartimeout" id=")ezWEe,~L~zuML?uDp@5">
          <field name="NAME">Entprellen</field>
          <next>
          <block type="timeouts_settimeout" id="w7V$]k(g+%14pgCWs13W">
          <field name="NAME">Entprellen</field>
          <field name="DELAY">200</field>
          <field name="UNIT">ms</field>
          <statement name="STATEMENT">
          <block type="variables_set" id="cY4n@GvbXr1Hd}:oRJ=p">
          <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
          <value name="VALUE">
          <block type="logic_boolean" id="R#P@Mc|yz2+W8lLB=kfr">
          <field name="BOOL">FALSE</field>
          </block>
          </value>
          </block>
          </statement>
          </block>
          </next>
          </block>
          </next>
          </block>
          </statement>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          <block type="comment" id="H_YO`XEu]?%S8Bd]W61," x="613" y="37">
          <field name="COMMENT">Hier die richtige ID einstellen (2x)</field>
          </block>
          </xml>

          Template HmIP Remote (blockly).txt

          Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...

          Fragen oder Anregungen gerne hier oder auf Discord.

          Gruß

          Thomas (@Ahnungsbefreit)

          M Offline
          M Offline
          M1R0O
          schrieb am zuletzt editiert von
          #4

          Vielen Dank für deine Anleitung!

          Du erwähnst so nebenbei:

          Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

          Um welches Skript handelt es sich? Ich habe dieses gefunden!?
          Ist das das korrekte?

          Danke

          A FenriswolfF 2 Antworten Letzte Antwort
          0
          • M M1R0O

            Vielen Dank für deine Anleitung!

            Du erwähnst so nebenbei:

            Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

            Um welches Skript handelt es sich? Ich habe dieses gefunden!?
            Ist das das korrekte?

            Danke

            A Offline
            A Offline
            Ahnungsbefreit
            schrieb am zuletzt editiert von
            #5

            @M1R0O ich habe eben nur mein Handy und sehe das Script in dem Beitrag nicht aber Du brauchst nur ein CCU Script, das auf alle Tasten (jeweils short und long) reagiert und einfach nix macht

            Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

            1 Antwort Letzte Antwort
            0
            • M M1R0O

              Vielen Dank für deine Anleitung!

              Du erwähnst so nebenbei:

              Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

              Um welches Skript handelt es sich? Ich habe dieses gefunden!?
              Ist das das korrekte?

              Danke

              FenriswolfF Offline
              FenriswolfF Offline
              Fenriswolf
              schrieb am zuletzt editiert von Fenriswolf
              #6

              @M1R0O sagte in [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung:

              Vielen Dank für deine Anleitung!

              Du erwähnst so nebenbei:

              Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

              Um welches Skript handelt es sich? Ich habe dieses gefunden!?
              Ist das das korrekte?

              Danke

              Du legst in der CCU einfach ein Programm an, in das du alle Tasten einträgst. Am besten mit oder verknüpft, aber keine Aktionen eintragen.
              So triggert die CCU die Tasten richtig, führt aber selber nichts aus.

              IMG_2013.jpg

              Press any key to continue or any other to quit

              A 1 Antwort Letzte Antwort
              0
              • FenriswolfF Fenriswolf

                @M1R0O sagte in [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung:

                Vielen Dank für deine Anleitung!

                Du erwähnst so nebenbei:

                Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

                Um welches Skript handelt es sich? Ich habe dieses gefunden!?
                Ist das das korrekte?

                Danke

                Du legst in der CCU einfach ein Programm an, in das du alle Tasten einträgst. Am besten mit oder verknüpft, aber keine Aktionen eintragen.
                So triggert die CCU die Tasten richtig, führt aber selber nichts aus.

                IMG_2013.jpg

                A Offline
                A Offline
                Ahnungsbefreit
                schrieb am zuletzt editiert von
                #7

                @Fenriswolf genau so meinte ich das

                Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  M1R0O
                  schrieb am zuletzt editiert von
                  #8

                  Ok, danke!

                  1 Antwort Letzte Antwort
                  0
                  • A Ahnungsbefreit

                    EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen

                    Hallo ioBroker Gemeinde,

                    bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.

                    Aufgabe:
                    Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.

                    Voraussetzung:
                    Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.

                    Nutzung:

                    • Script aus dem Code Block unten oder der Textdatei importieren
                    • In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
                    • Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
                    • Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
                    • Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich

                    So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

                    dcd05c1a-890c-4ced-844b-17c3697ee0d9-image.png

                    Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

                    d8eaf99d-cbc1-4c34-adfe-b3f776bc4f37-image.png


                    <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                    <variable id="6W)^|[WJI;(-,Y;05-/b">block</variable>
                    <variable id="tqFR/K_^zET3:bqQ#B-A">triggers</variable>
                    <variable id="IVv9)b|$!yoV+Q*=Y$P">liste</variable> <variable type="timeout" id="Entprellen">Entprellen</variable> <variable id="0OF1cRLepM|.TR{/z~">taste</variable> <variable id="s|%TT$X[vLa~}S!izq?t">press_what</variable> <variable id="G$8ozEEfjvdYEi2Siu5$">press_short</variable> </variables> <block type="comment" id="ASR{u{AS/W8+n@LaYe" x="62" y="13"> <field name="COMMENT">Trigger auf alle Tasten der HMiP-RC8</field> <next> <block type="variables_set" id="~uv9I^vV4sh}{MdMU1nw"> <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field> <value name="VALUE"> <block type="logic_boolean" id="2r5*5#7$Kr.:{@i(x1_Z"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$-Z9ap;CmIn:1Ca5h,|0"> <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field> <value name="VALUE"> <block type="lists_create_with" id="T!.+)Wn#AXu^E%|m^Z1">
                    <mutation items="2"></mutation>
                    <value name="ADD0">
                    <block type="selector" id="4s20Q.CPnm64|B_mF{D,">
                    <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344..PRESS_SHORT]</field>
                    </block>
                    </value>
                    <value name="ADD1">
                    <block type="selector" id="QQ1g4;z.f{^z-u}Wh?i4">
                    <field name="TEXT">channel[state.id=hm-rpc.1.00011122233344.
                    .PRESS_LONG]</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="on_ext" id="b:!!35W]-lzk[c8Wg9$n">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                    <field name="CONDITION">any</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                    <shadow type="field_oid" id="LL(RxzQSwm+%@-Fu;god">
                    <field name="oid">default</field>
                    </shadow>
                    <block type="variables_get" id="Du7V[6`9=)~e+`7eOT{">
                    <field name="VAR" id="tqFR/K_^zET3:bqQ#B-A">triggers</field>
                    </block>
                    </value>
                    <statement name="STATEMENT">
                    <block type="controls_if" id="Bq]eeShB0{gl(b,pk/:;">
                    <value name="IF0">
                    <block type="logic_negate" id="Kp11%YuH2po=Z`xf~2nU">
                    <value name="BOOL">
                    <block type="variables_get" id="Z)i3weli#O4iOLpfpb$D">
                    <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="variables_set" id="{6p,jnD.Qk
                    !Au+q-4!p">
                    <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
                    <value name="VALUE">
                    <block type="logic_boolean" id="~a~)_~GcJ~)xhXcfQEk">
                    <field name="BOOL">TRUE</field>
                    </block>
                    </value>
                    <next>
                    <block type="variables_set" id="f+(?0s|HE:tzU2/g244(">
                    <field name="VAR" id="IVv9)b|$!yoV`+Q
                    =Y$P">liste</field>
                    <value name="VALUE">
                    <block type="lists_split" id="7FkO9CqjS}qAC1JT71C!">
                    <mutation mode="SPLIT"></mutation>
                    <field name="MODE">SPLIT</field>
                    <value name="INPUT">
                    <block type="on_source" id="{y~Ns%ztDkv1q^^g~hkc">
                    <field name="ATTR">id</field>
                    </block>
                    </value>
                    <value name="DELIM">
                    <shadow type="text" id=":5wc|r/Qy=i%-zTfV-i9">
                    <field name="TEXT">.</field>
                    </shadow>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="variables_set" id="G1lzw(nu0cU[oV!w(s`u">
                    <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
                    <value name="VALUE">
                    <block type="lists_getIndex" id="{eZl4e~4f=#onP-%?zsd">
                    <mutation statement="false" at="true"></mutation>
                    <field name="MODE">GET</field>
                    <field name="WHERE">FROM_START</field>
                    <value name="VALUE">
                    <block type="variables_get" id="ejKf(8^4!3W8PlkcH-ni">
                    <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
                    </block>
                    </value>
                    <value name="AT">
                    <block type="math_number" id="H!gXr^f@bqHyA2/U`Z">
                    <field name="NUM">4</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="variables_set" id="x_nzpMi#gE(1153PB$%@">
                    <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
                    <value name="VALUE">
                    <block type="lists_getIndex" id="R||=oQ:60~T#Bd8NXr~k">
                    <mutation statement="false" at="true"></mutation>
                    <field name="MODE">GET</field>
                    <field name="WHERE">FROM_START</field>
                    <value name="VALUE">
                    <block type="variables_get" id="lCa=S!G`/wckJeGA.tI">
                    <field name="VAR" id="IVv9)b|$!yoV`+Q
                    =Y$P">liste</field>
                    </block>
                    </value>
                    <value name="AT">
                    <block type="math_number" id="6l8+,@7Neq%V2`{91nG$">
                    <field name="NUM">5</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="variables_set" id="dl!.naGznpCc[@^+u!?U">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    <value name="VALUE">
                    <block type="logic_compare" id="3=!|{L|$G7MZFd-oeEWc">
                    <field name="OP">EQ</field>
                    <value name="A">
                    <block type="variables_get" id=";SUn@pfuyM66dFfm,M!2">
                    <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
                    </block>
                    </value>
                    <value name="B">
                    <block type="text" id="5v30WKJxz[wJiXQ~P}a^">
                    <field name="TEXT">PRESS_SHORT</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="debug" id="L3fUHN8g^ySJ^9B?s4,t" collapsed="true" disabled="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text">
                    <field name="TEXT">test</field>
                    </shadow>
                    <block type="text_join" id="eScYMI@~ze![%tJ^Pk{U">
                    <mutation items="3"></mutation>
                    <value name="ADD0">
                    <block type="text" id="b;O6#0^t4mv?=q(zw-ZT">
                    <field name="TEXT">Liste hat </field>
                    </block>
                    </value>
                    <value name="ADD1">
                    <block type="lists_length" id="-`og3CoD$3g/|uQ$mJ.{">
                    <value name="VALUE">
                    <block type="variables_get" id=",{fta@O0K@
                    %}Ovlc7%p">
                    <field name="VAR" id="IVv9)b|$!yoV`+Q*=Y$P">liste</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <value name="ADD2">
                    <block type="text" id="l,(c*Vw+ATXKr{T88J@u">
                    <field name="TEXT"> Einträge</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="debug" id="{@GM
                    }TqtlLRea)fHvY" collapsed="true" disabled="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="B$ZRLw:Uv6{wH9:s:NyY">
                    <field name="TEXT">test</field>
                    </shadow>
                    <block type="text_join" id="]e;)2aN={~-#vb8wP:yP">
                    <mutation items="5"></mutation>
                    <value name="ADD0">
                    <block type="text" id="b)eFq./uUQmiF?4S6~}1">
                    <field name="TEXT">Taste: "</field>
                    </block>
                    </value>
                    <value name="ADD1">
                    <block type="variables_get" id="SIL^ia/=5ybK({/cxi">
                    <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
                    </block>
                    </value>
                    <value name="ADD2">
                    <block type="text" id="N~@%0(^0@.}ZukN9)b9|">
                    <field name="TEXT">" und Press: "</field>
                    </block>
                    </value>
                    <value name="ADD3">
                    <block type="variables_get" id="VmkEDejC[#I#?N?$j%cj">
                    <field name="VAR" id="s|%TT$X[vLa~}S!izq?t">press_what</field>
                    </block>
                    </value>
                    <value name="ADD4">
                    <block type="text" id="b^)KPKa,.gT8s7X_lp+v">
                    <field name="TEXT">"</field>
                    </block>
                    </value>
                    </block>
                    </value>
                    <next>
                    <block type="logic_switch_case" id="{%ftVMm^mb?nRx_Iv]U0">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" case="7"></mutation>
                    <value name="CONDITION">
                    <block type="variables_get" id="R3U@CvKjZ(:}pZKMbTmg">
                    <field name="VAR" id="0O`F1cRLepM|.TR{`/z~">taste</field>
                    </block>
                    </value>
                    <value name="CASECONDITION0">
                    <block type="text" id="Y[^EYGw:,A=)^B:q@JK$">
                    <field name="TEXT">1</field>
                    </block>
                    </value>
                    <statement name="CASE0">
                    <block type="controls_if" id="2TQQ4f`Kd2LArR:vnK~c">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="84`8T3:;bDjB^A1L
                    ]5T">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="$#54,pT8vu_6-5A
                    1{3#" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="sUM5Sz0p|vwzb-Xyc1VD">
                    <field name="TEXT">1/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="u1cY]hojM|sBHY[aAxGo" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="VY0M6`U0#)dJ{h@tD-N#">
                    <field name="TEXT">1/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION1">
                    <block type="text" id="8Gv(Tn^is:ZQh_8MtBC+">
                    <field name="TEXT">2</field>
                    </block>
                    </value>
                    <statement name="CASE1">
                    <block type="controls_if" id="iiM3}FqR8e}MHaeo`A">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="~BKSf}lSM71T@1#u5~}">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="
                    .^B?I,B$_aQ]z#{gz" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="DIpcfaee?ff`GEdi_38[">
                    <field name="TEXT">2/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="+10vtnT%RMxj,#
                    )0[cj" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="L26L5V~v#lcmj,Qns(rz">
                    <field name="TEXT">2/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION2">
                    <block type="text" id="~mYtFg}8/2PDcU[FuMQ">
                    <field name="TEXT">3</field>
                    </block>
                    </value>
                    <statement name="CASE2">
                    <block type="controls_if" id="%M8R]?2JKXlk_rHvRTCH">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="~uGbX=$?F9xlYXcAL5~1">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="Ilf$Zoa3$]cZ^rg=HRY/" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="!`$009t}C
                    /el!n6~STH">
                    <field name="TEXT">3/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="REdU)@{P|^hx{9Suzz@" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="u_yl=eu%yZzTjD0jAG~4">
                    <field name="TEXT">3/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION3">
                    <block type="text" id="5RA/_4Z
                    {~I?WaVpUjqK">
                    <field name="TEXT">4</field>
                    </block>
                    </value>
                    <statement name="CASE3">
                    <block type="controls_if" id=";~f^xxX@k1s7F]QdB5xN">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="CG{inW$0#Y,i0uR-b1pd">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id=":Cwpd2|OQmez7A9pR2b9" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="GMtFL--).)[!9vT`gFY9">
                    <field name="TEXT">4/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="|n-:C7Js}7R;:sZ;Xy@{" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="KpWdoFnEv5gQBDRj,I8z">
                    <field name="TEXT">4/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION4">
                    <block type="text" id="#;UprwY[6#c!!oJjLaj|">
                    <field name="TEXT">5</field>
                    </block>
                    </value>
                    <statement name="CASE4">
                    <block type="controls_if" id="qL$/iiJZT`#olAmP^[2n">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="+wdpM1^4FsDOwAnA4PEw">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="|WShnjgU:PK|Vc~715yy" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="mSRUZSee4q5V3N`v3`+}">
                    <field name="TEXT">5/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="Lx6obW@Pr6I{`ec0Fy~d" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="a|AU/RE=Hb:Ha3Om]qp0">
                    <field name="TEXT">5/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION5">
                    <block type="text" id="t%uYvAyb@(]iS-:qhK9C">
                    <field name="TEXT">6</field>
                    </block>
                    </value>
                    <statement name="CASE5">
                    <block type="controls_if" id="A!gxWzVj/vwXxNLhE2ll">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="y}T}N5vW5*.v0@u??Bvz">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="nDqoSlzfo|gIv5c|@t3p" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="vnA|As-hD2`P29!|s=E">
                    <field name="TEXT">6/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id=",,lDRFsuUzaFsDA~z_e?" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="Y+7,Q5t3;RAk}O4tD5U;">
                    <field name="TEXT">6/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION6">
                    <block type="text" id="U@YsK8?wB,CFj|sCtEY7">
                    <field name="TEXT">7</field>
                    </block>
                    </value>
                    <statement name="CASE6">
                    <block type="controls_if" id="arn@8,ff1rE,$RoRQdZ`">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id=";HABJ~(,El1xZvi_wLbs">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="mf
                    3s|QB!6Ua(._TV,w" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="8^yHkOcs^dD6x0J|BhgL">
                    <field name="TEXT">7/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="#6NQ0F%Mm[?]rB]d-kSD" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="/[Atbp$kcgF[_b}Q(.H">
                    <field name="TEXT">7/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    <value name="CASECONDITION7">
                    <block type="text" id="[@D44QbB:??Mc{!w:1y2">
                    <field name="TEXT">8</field>
                    </block>
                    </value>
                    <statement name="CASE7">
                    <block type="controls_if" id="wQlxT~1))!{vxOrC-|+!">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                    <block type="variables_get" id="UHg-[#D4HJi:v(VyV7:]">
                    <field name="VAR" id="G$8ozEEfjvdYEi2Siu5$">press_short</field>
                    </block>
                    </value>
                    <statement name="DO0">
                    <block type="debug" id="%?;!YQl3:m(gK`|SuxzI" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="z7XT+Pmn?fzCCq7w,Qx.">
                    <field name="TEXT">8/S</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    <statement name="ELSE">
                    <block type="debug" id="Q
                    =6Bo)fpkDGRP[,q%^Z" collapsed="true">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                    <shadow type="text" id="D
                    $iabK47==6~[HV1(X#">
                    <field name="TEXT">8/L</field>
                    </shadow>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </statement>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </statement>
                    <next>
                    <block type="timeouts_cleartimeout" id=")ezWEe,~L~zuML?uDp@5">
                    <field name="NAME">Entprellen</field>
                    <next>
                    <block type="timeouts_settimeout" id="w7V$]k(g+%14pgCWs13W">
                    <field name="NAME">Entprellen</field>
                    <field name="DELAY">200</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT">
                    <block type="variables_set" id="cY4n@GvbXr1Hd}:oRJ=p">
                    <field name="VAR" id="6W)^|[WJI;(-,Y;05-/b">block</field>
                    <value name="VALUE">
                    <block type="logic_boolean" id="R#P@Mc|yz2+W8lLB=kfr">
                    <field name="BOOL">FALSE</field>
                    </block>
                    </value>
                    </block>
                    </statement>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </statement>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    </next>
                    </block>
                    <block type="comment" id="H_YO`XEu]?%S8Bd]W61," x="613" y="37">
                    <field name="COMMENT">Hier die richtige ID einstellen (2x)</field>
                    </block>
                    </xml>

                    Template HmIP Remote (blockly).txt

                    Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...

                    Fragen oder Anregungen gerne hier oder auf Discord.

                    Gruß

                    Thomas (@Ahnungsbefreit)

                    J Offline
                    J Offline
                    jwerlsdf
                    schrieb am zuletzt editiert von
                    #9

                    @Ahnungsbefreit
                    erst einmal vielen Dank für dein Blockly. Das ist genau das, was ich gerade suche.
                    Bei mir gibt es jedoch ein Problem.
                    Zunächst habe ich ein Dummy in der CCU angelernt (nur Wenn ohne Dann). Danach das blockly bearbeitet (ID eingetragen) und mit den osram steckdosen verknüpft.
                    Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
                    Wo könnte bei mir der Fehler liegen?


                    5cf01c6c-b82a-4e52-9768-875b2e89314e-grafik.png

                    FenriswolfF A 2 Antworten Letzte Antwort
                    0
                    • J jwerlsdf

                      @Ahnungsbefreit
                      erst einmal vielen Dank für dein Blockly. Das ist genau das, was ich gerade suche.
                      Bei mir gibt es jedoch ein Problem.
                      Zunächst habe ich ein Dummy in der CCU angelernt (nur Wenn ohne Dann). Danach das blockly bearbeitet (ID eingetragen) und mit den osram steckdosen verknüpft.
                      Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
                      Wo könnte bei mir der Fehler liegen?


                      5cf01c6c-b82a-4e52-9768-875b2e89314e-grafik.png

                      FenriswolfF Offline
                      FenriswolfF Offline
                      Fenriswolf
                      schrieb am zuletzt editiert von
                      #10

                      @jwerlsdf sagte in [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung:

                      Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.

                      Das ist wenn ich richtig informiert bin normal.

                      Press any key to continue or any other to quit

                      1 Antwort Letzte Antwort
                      0
                      • J jwerlsdf

                        @Ahnungsbefreit
                        erst einmal vielen Dank für dein Blockly. Das ist genau das, was ich gerade suche.
                        Bei mir gibt es jedoch ein Problem.
                        Zunächst habe ich ein Dummy in der CCU angelernt (nur Wenn ohne Dann). Danach das blockly bearbeitet (ID eingetragen) und mit den osram steckdosen verknüpft.
                        Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
                        Wo könnte bei mir der Fehler liegen?


                        5cf01c6c-b82a-4e52-9768-875b2e89314e-grafik.png

                        A Offline
                        A Offline
                        Ahnungsbefreit
                        schrieb am zuletzt editiert von Ahnungsbefreit
                        #11

                        @jwerlsdf Genau deswegen triggere ich ja auf "aktualisiert" und nicht auf "geändert". Allerdings springt das bei mir nach kurzer Zeit zurück auf FALSE.

                        Was mich bei Dir wundert ist das Du die gleiche Taste für an/aus bei SHORT/LONG nimmst. Leg das doch mal probeweise auf 2 verschiedene Tasten...

                        Und noch eine Frage: Wenn Du mal DEBUG Blöcke überall einbaust, siehst Du dann die Tastendrücke? Ich habe das Template oben jetzt in der DEBUG Version hochgeladen, nimm doch die mal bitte und ändere nur die OID

                        Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                        J 1 Antwort Letzte Antwort
                        0
                        • A Ahnungsbefreit

                          @jwerlsdf Genau deswegen triggere ich ja auf "aktualisiert" und nicht auf "geändert". Allerdings springt das bei mir nach kurzer Zeit zurück auf FALSE.

                          Was mich bei Dir wundert ist das Du die gleiche Taste für an/aus bei SHORT/LONG nimmst. Leg das doch mal probeweise auf 2 verschiedene Tasten...

                          Und noch eine Frage: Wenn Du mal DEBUG Blöcke überall einbaust, siehst Du dann die Tastendrücke? Ich habe das Template oben jetzt in der DEBUG Version hochgeladen, nimm doch die mal bitte und ändere nur die OID

                          J Offline
                          J Offline
                          jwerlsdf
                          schrieb am zuletzt editiert von
                          #12

                          @Ahnungsbefreit
                          ich habe Debug eingestaltet, aber ich sehe leider keine Befehle im LOG (mit deinem urspünrlichen Skript)
                          Ich wollte "an" mit "short" und "aus" mit "long" schalten. So habe ich das bei meinen anderen homematic tastern gemacht...

                          A 1 Antwort Letzte Antwort
                          0
                          • J jwerlsdf

                            @Ahnungsbefreit
                            ich habe Debug eingestaltet, aber ich sehe leider keine Befehle im LOG (mit deinem urspünrlichen Skript)
                            Ich wollte "an" mit "short" und "aus" mit "long" schalten. So habe ich das bei meinen anderen homematic tastern gemacht...

                            A Offline
                            A Offline
                            Ahnungsbefreit
                            schrieb am zuletzt editiert von
                            #13

                            @jwerlsdf Nimm mal die Version, die jetzt oben im 1.Post im Spoiler steckt. Die erzeugt nur DEBUG Ausgaben

                            Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                            J 1 Antwort Letzte Antwort
                            0
                            • A Ahnungsbefreit

                              @jwerlsdf Nimm mal die Version, die jetzt oben im 1.Post im Spoiler steckt. Die erzeugt nur DEBUG Ausgaben

                              J Offline
                              J Offline
                              jwerlsdf
                              schrieb am zuletzt editiert von
                              #14

                              @Ahnungsbefreit
                              Geht leider immer noch nicht.
                              bekomme nur im Log folgendes

                              javascript.0 (1263) script.js.Test2: registered 0 subscriptions and 0 schedules
                              

                              Normalerweise muss ja schedules wenigstens auf 1 stehen?!

                              Ich benutze im Moment die aktuellsten versionen der Adapter. Hast du ggf. einen älteren?

                              Testweise habe ich schnell ein blockly selbst zusammengebaut. Damit ging es. Ich würde aber gerne deine Version bevorzugen:


                              05a8d3f6-2d67-470a-9e22-a8f429ff45ef-grafik.png

                              A 1 Antwort Letzte Antwort
                              0
                              • J jwerlsdf

                                @Ahnungsbefreit
                                Geht leider immer noch nicht.
                                bekomme nur im Log folgendes

                                javascript.0 (1263) script.js.Test2: registered 0 subscriptions and 0 schedules
                                

                                Normalerweise muss ja schedules wenigstens auf 1 stehen?!

                                Ich benutze im Moment die aktuellsten versionen der Adapter. Hast du ggf. einen älteren?

                                Testweise habe ich schnell ein blockly selbst zusammengebaut. Damit ging es. Ich würde aber gerne deine Version bevorzugen:


                                05a8d3f6-2d67-470a-9e22-a8f429ff45ef-grafik.png

                                A Offline
                                A Offline
                                Ahnungsbefreit
                                schrieb am zuletzt editiert von
                                #15

                                @jwerlsdf Hast Du die IDs angepasst? Bei mir sind da Dummy-Werte drin

                                Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                                J 1 Antwort Letzte Antwort
                                0
                                • A Ahnungsbefreit

                                  @jwerlsdf Hast Du die IDs angepasst? Bei mir sind da Dummy-Werte drin

                                  J Offline
                                  J Offline
                                  jwerlsdf
                                  schrieb am zuletzt editiert von jwerlsdf
                                  #16

                                  @Ahnungsbefreit
                                  Ja. lautet dann z.B. so:

                                  channel[state.id=hm-rpc.1.000C1DE82140DED.PRESS_SHORT]
                                  
                                  A 1 Antwort Letzte Antwort
                                  0
                                  • J jwerlsdf

                                    @Ahnungsbefreit
                                    Ja. lautet dann z.B. so:

                                    channel[state.id=hm-rpc.1.000C1DE82140DED.PRESS_SHORT]
                                    
                                    A Offline
                                    A Offline
                                    Ahnungsbefreit
                                    schrieb am zuletzt editiert von
                                    #17

                                    @jwerlsdf Ich nutze den JS Adapter aus DEFAULT aber ich glaube kaum, dass es daran liegt.

                                    Aber Dein Channel Selektor sieht falsch aus. Probier mal:

                                    channel[state.id=hm-rpc.1.000C1DE82140DED.*.PRESS_SHORT]
                                    

                                    und das Gleiche für LONG

                                    Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                                    1 Antwort Letzte Antwort
                                    0
                                    • D Online
                                      D Online
                                      darkiop
                                      Most Active
                                      schrieb am zuletzt editiert von darkiop
                                      #18

                                      Guten Morgen,
                                      Danke für dein Skript. Durch Zufall drüber gestolpert. Da ich eh gerade etwas am aufräumen/ausmisten/vereinfachen bin trifft sich das ganz gut :)
                                      Hast du noch eine Idee wie ich bei einem langen Tastendruck dafür sorge, das dieser nur einmal ausgelöst wird?

                                      Edit:

                                      Guten Morgen zum 2. - nach dem Kaffee hab ich mir dein Skript dann mal genauer angeschaut - passt jetzt, hab einfach nur die Entprellzeit etwas erhöht ;)

                                      Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                      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

                                      574

                                      Online

                                      32.7k

                                      Benutzer

                                      82.5k

                                      Themen

                                      1.3m

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

                                      • Du hast noch kein Konto? Registrieren

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