NEWS
Echo Ring als Nachtlicht (auch "überall") - ein Experiment ;-)
-
Hi,
leider schränkt amazon, wie es scheint, die Nutzung des Leuchtrings in Skills stark ein, sodass existierende "Nachtlicht skills" eigentlich nur tricksen in dem sie "Stille" senden - das aber leider technisch bedingt nur auf einem Gerät.
Dachte mir, das kann ich auch, vielleicht nicht besser, aber immerhin "überall". (die Idee dahinter, da in der Wohnung genügend Echos verteilt sind, kann man so bei Bedarf eine "komplette Ausleuchtung" erreichen).
Mein Ansatz, die Nutzung von "break" (leider maximal nur 10 Sekunden) in SSML und multiroom.Zunächst habe ich mir einen "Meinen Antworten skill" unter https://blueprints.amazon.de angelegt (bzw. meinen bereits vorhandenen erweitert )
Dazu folgendes Skript.
Es funktioniert nicht perfekt, also das Timing wirkt nicht so "rund" wie ich mir das wünschen würde, aber die Funktion an sich ist gegeben (auch wenn das Nachlicht manchmal etwas braucht, bis es wieder aus ist...).Aufruf über
- nachtlicht ("nachtlicht an" frage ich im blueprint/Skript nur ab bzw. akzeptiere es, weil Alexa das "an" manchmal von alleine anhängt, auch wenn es gar nicht gesagt wurde ).
- nachtlicht überall
- nachtlicht aus
Wenn jemand eine Idee hat, wie es besser gehen könnte, bin ganz Ohr.
CU,
padrino<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Intervall">Intervall</variable> <variable type="undefined" id="Intervall2">Intervall2</variable> </variables> <block type="on" id="2Rv~2i#g=NOJ|d9J7U[=" x="-2362" y="-413"> <field name="OID">alexa2.0.History.summary</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="timeouts_clearinterval" id="Y!]b5kSlSDx)zcm.+R{["> <field name="NAME">Intervall</field> <next> <block type="timeouts_clearinterval" id="oz;,)[QDNxm/wlvEc+aS"> <field name="NAME">Intervall2</field> <next> <block type="controls_if" id=")#CQoW*gH`3u*fe8;![U"> <value name="IF0"> <block type="logic_operation" id="k9STI?UC!#,^#iYLyRkk"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=",89G*aPB~f|3_gWT#]Jh"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="CaQTB)aV!N[MgfjIL!S;"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="}uZO}16p$yG;1}~/dl;B"> <field name="TEXT">sprich mir nach Ok.</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="?8~%ToQR10S/WYLrJY$."> <field name="OP">NEQ</field> <value name="A"> <block type="text_indexOf" id="S%T^xFB~UCifM?o,Y{1I"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id=";qYjZy4nKlw@2T3._y]z"> <field name="ATTR">oldState.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="^o.W1djz]|m{wVknPnp3"> <field name="TEXT">abc</field> </shadow> <block type="text" id="@OXwk/t[[Jbb-*In9{h)"> <field name="TEXT">nachtlicht</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="@d/hYb1GfCnJBp@Y6c#*"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="R%-}lN0;oX#5~u5;t;Xk"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="$}{VDFz0,S_LzF@3(f7)"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id=",7!i37=5DvW@9D?Q6TOK"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="`X+5%WCxvO(lOx]G@e9v"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="text" id="iLxge`)JCSxGZjz~S2x4"> <field name="TEXT">nachtlicht</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="!wB6QC4K1RA7E[1I-|C-"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="KI#60~nwAOwY`PMJg6Lm"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="text" id="1yO]zfp[[I0@grL{_/-y"> <field name="TEXT">nachtlicht an</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="omN`?q6rXP+qy7T8/!4c" collapsed="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="fUafQ%!rcR1wZHSuKPG}"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="kUf1+p^1Xn7j-bfy4Sr?"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="get_value" id="vpndl;5a}_vcQ+mo0~`;"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <value name="ADD2"> <block type="text" id="-G]/8p^cIJlOwoMdWvj|"> <field name="TEXT">.Commands.ssml</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="4Q-~O)0Tq3Bl0SL#OKOU"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="c*U()RkF:q#)JNu!={ls"> <field name="TEXT"><speak><break time="10s"/></speak></field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="iVe91~#zhPe?J^$+?01j"> <field name="NUM">0</field> </shadow> </value> <next> <block type="timeouts_setinterval" id="Dv]T.(qNFJ%eh-@lc=P9"> <field name="NAME">Intervall</field> <field name="INTERVAL">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control_ex" id="]u($=5rCdam/hG}MkN(r"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="=QfRRY.Phe,sIv22V/p^"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="@2Nb:7Y[{up|;b#.H5^0"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="get_value" id="1,A#_uHfC-2S~QG[=Qjt"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <value name="ADD2"> <block type="text" id="hkjl`%$*pNO]z8Q`+!|a"> <field name="TEXT">.Commands.ssml</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="4Q-~O)0Tq3Bl0SL#OKOU"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="0HE)p8=X(:lGOd;M6psF"> <field name="TEXT"><speak><break time="10s"/></speak></field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="]6x1|I[|/4;5.mkobX7f"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="`AN`20;.dKn{jYC1[[f]"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="|1vymAa;5}@)6SF}K~a^"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="text" id="$Uv/Y4(m=@*.3EGfoC)+"> <field name="TEXT">nachtlicht überall</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="OeUKuk8+rC@jz6cV-5B["> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.XXX,Commands.ssml</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="jTZ?B2t?]uc0gi:zFOj4"> <field name="TEXT"><speak><break time="10s"/></speak></field> </block> </value> <next> <block type="timeouts_setinterval" id="Meix5J})VtI!}}j_D=nA"> <field name="NAME">Intervall2</field> <field name="INTERVAL">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="`sT[hImvfW3gf4(F$mna"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.XXX.Commands.ssml</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="[^gZXtO~I`++VE)c=hqx"> <field name="TEXT"><speak><break time="10s"/></speak></field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </xml>