Alexa Abfragen nach Status von Geräten
Code
- <xml xmlns="http://www.w3.org/1999/xhtml">
- <block type="comment" id="Dp(3PV*Q;}9zI1G[bM,{" x="388" y="-662">
- <field name="COMMENT">Echte Geräte</field>
- <next>
- <block type="on_ext" id="tHgjsmc[+a^q,4=3b~,a">
- <mutation items="2"></mutation>
- <field name="CONDITION">any</field>
- <field name="ACK_CONDITION"></field>
- <value name="OID0">
- <shadow type="field_oid" id="LQ=k,+pFMnSYK1x]EP5!">
- <field name="oid">tuya.0.0120000660019448d9fe.1</field>
- </shadow>
- </value>
- <value name="OID1">
- <shadow type="field_oid" id="cvqe3~n@1v.qMik(/5d0">
- <field name="oid">Meine_Geräte.0.Wasserkocher</field>
- </shadow>
- </value>
- <statement name="STATEMENT">
- <block type="variables_set" id="rlpXvI!d?ZX}gQP4Brf4">
- <field name="VAR">An</field>
- <value name="VALUE">
- <block type="text" id="v:QxB]i-}nTEtMTy}0Bo">
- <field name="TEXT"></field>
- </block>
- </value>
- <next>
- <block type="variables_set" id=",9Y|-:AD|AOe.At=v+V|">
- <field name="VAR">Aus</field>
- <value name="VALUE">
- <block type="text" id="D}ZI9l`YC^[bz%=7rE}W">
- <field name="TEXT"></field>
- </block>
- </value>
- <next>
- <block type="comment" id="hAWn8dh(V8egm7nl*2Ci">
- <field name="COMMENT">Lampe Wohnzimmer</field>
- <next>
- <block type="controls_if" id="~{Usm9.bUnw:eFa`+~}Q">
- <mutation elseif="1"></mutation>
- <value name="IF0">
- <block type="logic_compare" id="Oe]%.UKw,?g?gB9@,{9`">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="get_value" id="L*|C5ub^wU2{KUt/K(%C">
- <field name="ATTR">val</field>
- <field name="OID">tuya.0.0120000660019448d9fe.1</field>
- </block>
- </value>
- <value name="B">
- <block type="logic_boolean" id=".CdS~|b!*YvFrgD|=,e%">
- <field name="BOOL">TRUE</field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO0">
- <block type="comment" id="_toZ:7whxFNR*c}w/`Ur">
- <field name="COMMENT">iotZustandAn</field>
- <next>
- <block type="update" id="6:s2:HbMVPYlUr8+*fiq">
- <mutation delay_input="false"></mutation>
- <field name="OID">StatusIoT.0.Geräte.Lampe_Wohnzimmer</field>
- <field name="WITH_DELAY">FALSE</field>
- <value name="VALUE">
- <block type="text" id="s|yf%9W:#=/LBuD.tc)_">
- <field name="TEXT">an</field>
- </block>
- </value>
- <next>
- <block type="variables_set" id="KZ5fWw-KxL.tgbmM^9^i">
- <field name="VAR">An</field>
- <value name="VALUE">
- <block type="text_join" id="u8qd7Jh1DZ!%}u}lkW3f">
- <mutation items="2"></mutation>
- <value name="ADD0">
- <block type="variables_get" id="/b5uV+f:x3z@dqg646/Q">
- <field name="VAR">An</field>
- </block>
- </value>
- <value name="ADD1">
- <block type="text" id="I^tO-]AEH,Qhh2+]H6kk">
- <field name="TEXT">Lampe Wohnzimmer. </field>
- </block>
- </value>
- </block>
- </value>
- </block>
- </next>
- </block>
- </next>
- </block>
- </statement>
- <value name="IF1">
- <block type="logic_compare" id="5/oxWuHdc=q2A%3OIjsF">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="get_value" id="SaXk0fgT*g?swBfHY(8W">
- <field name="ATTR">val</field>
- <field name="OID">tuya.0.0120000660019448d9fe.1</field>
- </block>
- </value>
- <value name="B">
- <block type="logic_boolean" id="c^*}zb9mXmV3:;hv%;1T">
- <field name="BOOL">FALSE</field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO1">
- <block type="comment" id="/:d@Jn;TL1v/ZmScVS1}">
- <field name="COMMENT">iotZustandAus</field>
- <next>
- <block type="update" id="I;`fJI!?Z+)or6/eB!MC">
- <mutation delay_input="false"></mutation>
- <field name="OID">StatusIoT.0.Geräte.Lampe_Wohnzimmer</field>
- <field name="WITH_DELAY">FALSE</field>
- <value name="VALUE">
- <block type="text" id="=N`u7gtxVYREFb:)Qn(Y">
- <field name="TEXT">aus</field>
- </block>
- </value>
- <next>
- <block type="variables_set" id="D;b,z#IPNiN]([QN~!~J">
- <field name="VAR">Aus</field>
- <value name="VALUE">
- <block type="text_join" id=")wE@SYs0w!sME){ezMM|">
- <mutation items="2"></mutation>
- <value name="ADD0">
- <block type="variables_get" id="O-Nj3A4MH4Uj5so=(E46">
- <field name="VAR">Aus</field>
- </block>
- </value>
- <value name="ADD1">
- <block type="text" id=",i0bQ)vz4pW:f6NB~#%Y">
- <field name="TEXT">Lampe Wohnzimmer. </field>
- </block>
- </value>
- </block>
- </value>
- </block>
- </next>
- </block>
- </next>
- </block>
- </statement>
- <next>
- <block type="comment" id="Ne.kiatgP(iVt[Q.|Qpy">
- <field name="COMMENT">Wasserkocher</field>
- <next>
- <block type="controls_if" id="fE+xGv8239pjG/RLA`Bi">
- <mutation elseif="1"></mutation>
- <value name="IF0">
- <block type="logic_compare" id="o.3aemvVjfwBD2j831zt">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="get_value" id="FinPmSL;Q?,}nI^,*C|:">
- <field name="ATTR">val</field>
- <field name="OID">Meine_Geräte.0.Wasserkocher</field>
- </block>
- </value>
- <value name="B">
- <block type="math_number" id="*.dtJcMzxn=jGAw_wc,C">
- <field name="NUM">100</field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO0">
- <block type="comment" id="4k,_NB~R@BqPBxz%(LBz">
- <field name="COMMENT">iotZustandAn</field>
- <next>
- <block type="update" id="q/nEN:L6E?Ze8{5*=9sZ">
- <mutation delay_input="false"></mutation>
- <field name="OID">StatusIoT.0.Geräte.Wasserkocher</field>
- <field name="WITH_DELAY">FALSE</field>
- <value name="VALUE">
- <block type="text" id=".c:K%3OT:o2,1u97.p1i">
- <field name="TEXT">an</field>
- </block>
- </value>
- <next>
- <block type="variables_set" id="PCMp)Y}P(c+Ly@%P123n">
- <field name="VAR">An</field>
- <value name="VALUE">
- <block type="text_join" id="5p[-R0fs*-Z;vueEb{H/">
- <mutation items="2"></mutation>
- <value name="ADD0">
- <block type="variables_get" id="q^)9XP`iZ.AJjhOJ{#W_">
- <field name="VAR">An</field>
- </block>
- </value>
- <value name="ADD1">
- <block type="text" id="XtZ[=XSJqW=6):bdH6TM">
- <field name="TEXT">Wasserkocher. </field>
- </block>
- </value>
- </block>
- </value>
- </block>
- </next>
- </block>
- </next>
- </block>
- </statement>
- <value name="IF1">
- <block type="logic_compare" id="I?lMY`6rfWmS|s;(hxrx">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="get_value" id="(iGsB3roYi[[lYO]V{`m">
- <field name="ATTR">val</field>
- <field name="OID">Meine_Geräte.0.Wasserkocher</field>
- </block>
- </value>
- <value name="B">
- <block type="math_number" id="df;ugTK{8]/Y#)xa2n{-">
- <field name="NUM">0</field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO1">
- <block type="comment" id="R]Q:z[o;Tf|.Cvr^uRf`">
- <field name="COMMENT">iotZustandAus</field>
- <next>
- <block type="update" id="]AfK{M:s=!XjzLNW!]]:">
- <mutation delay_input="false"></mutation>
- <field name="OID">StatusIoT.0.Geräte.Wasserkocher</field>
- <field name="WITH_DELAY">FALSE</field>
- <value name="VALUE">
- <block type="text" id="ADh#ydJe.9i?e9C({b%0">
- <field name="TEXT">aus</field>
- </block>
- </value>
- <next>
- <block type="variables_set" id="_+UdD:iAJWfTi(5[aaaL">
- <field name="VAR">Aus</field>
- <value name="VALUE">
- <block type="text_join" id="pPjU~wvYiO-0:)/JV,|A">
- <mutation items="2"></mutation>
- <value name="ADD0">
- <block type="variables_get" id="@un!XY{*`Ix_9O)UzeiT">
- <field name="VAR">Aus</field>
- </block>
- </value>
- <value name="ADD1">
- <block type="text" id="Ld(5p#GR6R0IbyHw,ex6">
- <field name="TEXT">Wasserkocher. </field>
- </block>
- </value>
- </block>
- </value>
- </block>
- </next>
- </block>
- </next>
- </block>
- </statement>
- <next>
- <block type="comment" id="f`prC=ZSN7NEo,TN!I6x">
- <field name="COMMENT">Zustand Wohnzimmer</field>
- <next>
- <block type="controls_if" id="iNpwZeJpu^~skNw4#+cq">
- <value name="IF0">
- <block type="logic_compare" id="@~6Mw}1ylV`4JqQjxsu;">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="variables_get" id="hQ1?Mn9(Ah6J{O^CX)~)">
- <field name="VAR">An</field>
- </block>
- </value>
- <value name="B">
- <block type="text" id="7j!yrQS/Yym;2L(1vls]">
- <field name="TEXT"></field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO0">
- <block type="variables_set" id="Ws]8[BHoR;=B#S-3Enzr">
- <field name="VAR">An</field>
- <value name="VALUE">
- <block type="text" id="IuUfyOk:Un|)Lpx?us%9">
- <field name="TEXT"> nichts. </field>
- </block>
- </value>
- </block>
- </statement>
- <next>
- <block type="controls_if" id="O*VQ]BxYE~8jy,wQzbD/">
- <value name="IF0">
- <block type="logic_compare" id="Oe%1ocE^4JwAk?ltI63*">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="variables_get" id="YHpM-HSy=*I#d]5Xn;y3">
- <field name="VAR">Aus</field>
- </block>
- </value>
- <value name="B">
- <block type="text" id="P}GPUV2?`:S%EqOn?96j">
- <field name="TEXT"></field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO0">
- <block type="variables_set" id="vHMuuw[I^%2Fn~2#25-M">
- <field name="VAR">Aus</field>
- <value name="VALUE">
- <block type="text" id=":u@r%il8fz8shHA^E?S{">
- <field name="TEXT"> nichts. </field>
- </block>
- </value>
- </block>
- </statement>
- <next>
- <block type="update" id="{#5hj,OE^Pk|weM_.C%M">
- <mutation delay_input="true"></mutation>
- <field name="OID">StatusIoT.0.Räume.Wohnzimmer_An</field>
- <field name="WITH_DELAY">TRUE</field>
- <field name="DELAY_MS">2500</field>
- <field name="UNIT">ms</field>
- <field name="CLEAR_RUNNING">TRUE</field>
- <value name="VALUE">
- <block type="variables_get" id="s,4|QMp=R{M@JfW`#5nA">
- <field name="VAR">An</field>
- </block>
- </value>
- <next>
- <block type="update" id="{;PGX/tK##:yZCqAScde">
- <mutation delay_input="true"></mutation>
- <field name="OID">StatusIoT.0.Räume.Wohnzimmer_Aus</field>
- <field name="WITH_DELAY">TRUE</field>
- <field name="DELAY_MS">2500</field>
- <field name="UNIT">ms</field>
- <field name="CLEAR_RUNNING">TRUE</field>
- <value name="VALUE">
- <block type="variables_get" id="j~dq/@uDcL`yFS)YVSHM">
- <field name="VAR">Aus</field>
- </block>
- </value>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </statement>
- </block>
- </next>
- </block>
- </xml>
-->StatusIoT.0.json.zip<---
NEU
Alexa2 Adapter erforderlich
Datenpunkt erstellen mit Namen "status" und Schalter in den IOT Adapter bringen.
In der Alexa App eine Routine erstellen auf den sie hört. z.B. "Alexa, status wohnzimmerlampe"
Dabei soll der "status" Schalter auf "ein" geschaltet werden, wenn Sie das hört.
Den Blockly einfügen und richtig verknüpfen. Fertig
Code
- <xml xmlns="https://developers.google.com/blockly/xml">
- <block type="comment" id="_}uF:p|?A{8CPN26-FfX" x="462" y="37">
- <field name="COMMENT">Datenpunkt status</field>
- <next>
- <block type="on" id="G:Pe=$_lT5e%o~r~nX6|">
- <field name="OID">Object ID</field>
- <field name="CONDITION">ne</field>
- <field name="ACK_CONDITION"></field>
- <statement name="STATEMENT">
- <block type="control" id=";q`D:SP!wP%t+X^G;mv^">
- <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
- <field name="OID">alexa2.0.History.#trigger</field>
- <field name="WITH_DELAY">TRUE</field>
- <field name="DELAY_MS">3000</field>
- <field name="UNIT">ms</field>
- <field name="CLEAR_RUNNING">FALSE</field>
- <value name="VALUE">
- <block type="logic_boolean" id="2k_@eQqk(uK:[r)}7oNb">
- <field name="BOOL">TRUE</field>
- </block>
- </value>
- </block>
- </statement>
- <next>
- <block type="comment" id="AH7z^]r?=]M/8ExG$X^g">
- <field name="COMMENT">Datenpunkt summary Alexa2</field>
- <next>
- <block type="on" id="]0_S`cv]-^/HIc]PH9!B">
- <field name="OID">alexa2.0.History.summary</field>
- <field name="CONDITION">ne</field>
- <field name="ACK_CONDITION"></field>
- <statement name="STATEMENT">
- <block type="controls_if" id="Ow[0I.F|Q+:`/4e[~VMh">
- <value name="IF0">
- <block type="logic_compare" id="uSXX~7FTkJh#sYmyw0zV">
- <field name="OP">EQ</field>
- <value name="A">
- <block type="on_source" id="td*y0nTJxm6uCx5MW/+U">
- <field name="ATTR">state.val</field>
- </block>
- </value>
- <value name="B">
- <block type="text" id="`$_P^:Lm:1W*PulmX5A1">
- <field name="TEXT">status testlampe</field>
- </block>
- </value>
- </block>
- </value>
- <statement name="DO0">
- <block type="control_ex" id="[^wO_jJ.~p%xk4oh3i*e">
- <field name="TYPE">false</field>
- <field name="CLEAR_RUNNING">FALSE</field>
- <value name="OID">
- <shadow type="field_oid" id=",Re7cRCxWTP3YjobsH2Z">
- <field name="oid">Object ID</field>
- </shadow>
- <block type="text_join" id="r04)OnA5)UN=:6Y9l}UQ">
- <mutation items="3"></mutation>
- <value name="ADD0">
- <block type="text" id="7LSbJmw`ONrZLhJml|lp">
- <field name="TEXT">alexa2.0.Echo-Devices.</field>
- </block>
- </value>
- <value name="ADD1">
- <block type="get_value" id="~Py4+HF_V$45oV.P5;)I">
- <field name="ATTR">val</field>
- <field name="OID">alexa2.0.History.serialNumber</field>
- </block>
- </value>
- <value name="ADD2">
- <block type="text" id="_lwP:%9./:M-7ol615Z^">
- <field name="TEXT">.Commands.speak</field>
- </block>
- </value>
- </block>
- </value>
- <value name="VALUE">
- <shadow type="logic_boolean" id="fQ8~yI$z[kB$vzeflwt7">
- <field name="BOOL">TRUE</field>
- </shadow>
- <block type="text_join" id="%^VyGNP)/bj%v{7+vW`A">
- <mutation items="2"></mutation>
- <value name="ADD0">
- <block type="text" id="HR=JG;Ya-L@|Mf+[;{bN">
- <field name="TEXT">Das Gerät ist </field>
- </block>
- </value>
- <value name="ADD1">
- <block type="logic_ternary" id="/hc-~$z-.[$3v9|=1^6k">
- <value name="IF">
- <block type="get_value" id="9Ty)|OU+l{KGsSL7uzmq">
- <field name="ATTR">val</field>
- <field name="OID">Meine_Geräte.0.testlampe</field>
- </block>
- </value>
- <value name="THEN">
- <block type="text" id="-Z/Qap4Nl4o%tWHzz7~v">
- <field name="TEXT">an.</field>
- </block>
- </value>
- <value name="ELSE">
- <block type="text" id="mtR6+Y?$]+zk+(m]S#tV">
- <field name="TEXT">aus.</field>
- </block>
- </value>
- </block>
- </value>
- </block>
- </value>
- <value name="DELAY_MS">
- <shadow type="math_number" id="8V=^N-P^7L?%ZD={Ts)L">
- <field name="NUM">0</field>
- </shadow>
- </value>
- </block>
- </statement>
- </block>
- </statement>
- </block>
- </next>
- </block>
- </next>
- </block>
- </next>
- </block>
- </xml>