- Home
- Deutsch
- Skripten / Logik
- Erinnerung auf Echo XY (oder überall)
Erinnerung auf Echo XY (oder überall)
-
!!!WARNUNG: DIESE VERSION KANN/WIRD ZU EINER ENDLOSSCHLEIFE FÜHREN, WENN DER AUFMERKSAMKEITSMODUS NICHT AKTIVIERT IST !!! (arbeite daran
)
Hi,
eigentlich hatte ich vor hier V1.5 mit etwas Finetuning zu veröffentlichen, aber nachdem ich nochmal in mich gegangen bin und mir überlegt habe, was ich in den vergangen Monaten dazu gelernt habe (und auch immer noch lerne
), ist daraus V2.0 geworden.
Schade, um meine eigene Umwandlung von ausgeschriebenen Uhrzeiten in Ziffernfolgen... naja, Hauptsache der Code wurde besser - hoffentlich.Kleine Anmerkung, ich prüfe im "ID Selektor" auf " G090* ", da hier bei allen Geräten, die Erinnerungen unterstützen, die Seriennummer so anfängt (weiß nicht, ob das bei jedem so ist
).
So umgehe ich "Alexa App", "Multiroon", "FireTV Stick"...<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="s;Z%dZDvE-)tfBe?3;1$">aktiver_Echo</variable> <variable type="" id="gD$Zxy7F7y(A38j;Bs;i">Erinnerung</variable> <variable type="" id="=Z+K`oN`}r/=Z9Hl$gAx">i</variable> </variables> <block type="comment" id="U]C1XO}0pnJ3p0Pnmp~m" x="-87" y="-237"> <field name="COMMENT">$VER: Globale Erinnerung 2.0 (30.06.2019) by padrino</field> <next> <block type="on_ext" id="72^[0.HM:[^DU($v/YS]"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="IKo0nNYc4!TvH;gjn^$O"> <field name="oid">default</field> </shadow> <block type="regex" id="O[313OE2hJoodR?1Bo2F"> <field name="TEXT">(alexa2.0.Echo-Devices.*.Reminder.*.time)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="P:RFD3eQ!K/[6X[I@nHl"> <field name="VAR" id="s;Z%dZDvE-)tfBe?3;1$" variabletype="">aktiver_Echo</field> <value name="VALUE"> <block type="get_value" id="IJv1VW`{)~$hRJ`qCRQ["> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <next> <block type="variables_set" id="cgrGNZ;Cempy`^..spV;"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> <value name="VALUE"> <block type="get_value" id=":Ez,HX[qE#7dZ`Mk}oY,"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> <next> <block type="controls_if" id="79O6.LS3BH7!SkUr6%zl"> <value name="IF0"> <block type="logic_compare" id="Qh-3Fy`evY-vTXHXk@X9"> <field name="OP">NEQ</field> <value name="A"> <block type="text_indexOf" id="Z=whpBK6Py[OaON(FA~6"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="^uLGY+.;.dTy5#|N:=Qh"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="1GVke=Zw#PVlU,W6aLH/"> <field name="TEXT">bis</field> </shadow> <block type="text" id="?~)V(}RS}f2}6s(Gi2nh"> <field name="TEXT">überall</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="cS%R{oz`J#7^.Sr?vThM"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ma=3zclNyao9.m#*h[zc"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> <value name="VALUE"> <block type="text_getSubstring" id=",_5AsbZ@TO~|}_*:k`3M" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="0-lR7o~V~YoAWc?ynJq*"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="n7bc2XDvOUm5sY.*)pB)"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="G?_#+VrryCd1]hyD6/CS"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id=";N.#jg:}z5^mh`l:mUSA"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="dBk8UEsJJ97b`+IjiWbk"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="Px*VA%]6H;k~!PeIWLND"> <field name="TEXT">an </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Hes97Iu6-+VoMJL(@e@("> <field name="NUM">3</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="text_length" id="T;6{[l(`;dNmSqfSA)`A"> <value name="VALUE"> <shadow type="text" id="j)^dV@z~!#TrZgQK7!.1"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="P(OBVo=7kRi6=y-2zcO."> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_forEach" id="s1AB$N`WS2br((F5.^mb"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> <value name="LIST"> <block type="selector" id="D0yX.T_eE:C-$n$GT@pO"> <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.G090*.Reminder.New]</field> </block> </value> <statement name="DO"> <block type="controls_if" id="x@IQ[DTv~-14HJa|QCpr"> <value name="IF0"> <block type="logic_compare" id="r0YK3rT[6eE|t3ca=vA-"> <field name="OP">EQ</field> <value name="A"> <block type="text_indexOf" id="r~{:K?/K#W!9F4m%GpCI"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="*L:en,kizcrt/Y_w}CG7"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="@Jx7_/XFbb3F~]lL3=|x"> <field name="TEXT">volume</field> </shadow> <block type="variables_get" id="-Xaa1rls+EPGd.J;tS)!"> <field name="VAR" id="s;Z%dZDvE-)tfBe?3;1$" variabletype="">aktiver_Echo</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="fw71zNHX-!VzW{-P}#x{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="S9;(Ni%j]Kv9yL0vhia*"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="Qa{SIi/MAXIs@NIVs=r-"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="@=11+e-D*xvjfuwwLq,o"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="X?onsEHHXL-:3wZ#d)`i"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="ev~C6NUdY=};@jR`pNgw"> <mutation items="3"></mutation> <value name="ADD0"> <block type="get_value_var" id="`8JuN)?`Q(?ux[q~P=}@"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="Y3v([f#_*aa@:JC*wpF:"> <field name="TEXT"></field> </shadow> <block type="on_source" id="wkccY0tSYcM%TzD{sW(l"> <field name="ATTR">id</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="uxVV,~5]LomyfE-VjMu@"> <field name="TEXT">,</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="SHL.HZ0r6r`(BsTN`9w7"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="3^:H$w}4*18my;IX)%8I"> <field name="NUM">0</field> </shadow> <block type="math_number" id="m9j]06p01^]eE5Pj;uPG"> <field name="NUM">4000</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
!!!WARNUNG: DIESE VERSION KANN/WIRD ZU EINER ENDLOSSCHLEIFE FÜHREN, WENN DER AUFMERKSAMKEITSMODUS NICHT AKTIVIERT IST !!! (arbeite daran
)
So, und weil's so schön ist (nein, nicht die Hitze draußen
), hier eine V2.1...
Da die Syntax der Anfrage nun von ihrer Hoheit Alexa selbst ausgewertet wird, ist man viel freier und es ist mehr möglich, daher musste ich noch eine Anpassung machen, damit (hoffentllich) sowohl "an Was um Uhrzeit" als auch "um Uhrzeit an Was" funktionieren.
Das Schlüsselwort "überall" muss natürlich weiterhin vorkommen.
(ihr könnt damit experimentieren, was Alexa erlaubt und was sich für Euch am Natürlichsten anfühlt)Ich hoffe mal, immer, wenn Alexa eine Erinnerung auf dem angesprochenen Gerät anlegt, werden auch auf den anderen entsprechende Kopien angelegt.
Kommt von ihr nur ein "padumm", gibt es auch keine Kopien.<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="s;Z%dZDvE-)tfBe?3;1$">aktiver_Echo</variable> <variable type="" id="gD$Zxy7F7y(A38j;Bs;i">Erinnerung</variable> <variable type="" id="=Z+K`oN`}r/=Z9Hl$gAx">i</variable> </variables> <block type="comment" id="U]C1XO}0pnJ3p0Pnmp~m" x="-87" y="-237"> <field name="COMMENT">$VER: Globale Erinnerung 2.1 (30.06.2019) by padrino</field> <next> <block type="on_ext" id="72^[0.HM:[^DU($v/YS]"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="IKo0nNYc4!TvH;gjn^$O"> <field name="oid">default</field> </shadow> <block type="regex" id="O[313OE2hJoodR?1Bo2F"> <field name="TEXT">(alexa2.0.Echo-Devices.*.Reminder.*.time)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="P:RFD3eQ!K/[6X[I@nHl"> <field name="VAR" id="s;Z%dZDvE-)tfBe?3;1$" variabletype="">aktiver_Echo</field> <value name="VALUE"> <block type="get_value" id="IJv1VW`{)~$hRJ`qCRQ["> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <next> <block type="variables_set" id="cgrGNZ;Cempy`^..spV;"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> <value name="VALUE"> <block type="get_value" id=":Ez,HX[qE#7dZ`Mk}oY,"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> <next> <block type="controls_if" id="79O6.LS3BH7!SkUr6%zl"> <value name="IF0"> <block type="logic_compare" id="Qh-3Fy`evY-vTXHXk@X9"> <field name="OP">NEQ</field> <value name="A"> <block type="text_indexOf" id="Z=whpBK6Py[OaON(FA~6"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="^uLGY+.;.dTy5#|N:=Qh"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="1GVke=Zw#PVlU,W6aLH/"> <field name="TEXT">bis</field> </shadow> <block type="text" id="?~)V(}RS}f2}6s(Gi2nh"> <field name="TEXT">überall</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="cS%R{oz`J#7^.Sr?vThM"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="g-+eHaWl)Uby]rWlbVv6"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="*FQT4J-UC#,H=Ck5T2S9" inline="false"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="%c~noT1{T,-33Y;!Ozzw"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="l^p+C](B$+qa(tnB.eq,"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="GZucD.c?~qSZfXOtQ]Nl"> <field name="TEXT"> an </field> </shadow> </value> </block> </value> <value name="B"> <block type="text_indexOf" id="3z=_,kFGmP+F)=P5DB1H"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="4Iks3XLVXf45dI;m7z,."> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="0Mm*@dHz8xq4TCP-(u~c"> <field name="TEXT"> um </field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ma=3zclNyao9.m#*h[zc"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> <value name="VALUE"> <block type="text_getSubstring" id=",_5AsbZ@TO~|}_*:k`3M" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="0-lR7o~V~YoAWc?ynJq*"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="n7bc2XDvOUm5sY.*)pB)"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="G?_#+VrryCd1]hyD6/CS"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id=";N.#jg:}z5^mh`l:mUSA"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="dBk8UEsJJ97b`+IjiWbk"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="Px*VA%]6H;k~!PeIWLND"> <field name="TEXT"> an </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Hes97Iu6-+VoMJL(@e@("> <field name="NUM">4</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="text_length" id="T;6{[l(`;dNmSqfSA)`A"> <value name="VALUE"> <shadow type="text" id="j)^dV@z~!#TrZgQK7!.1"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="P(OBVo=7kRi6=y-2zcO."> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="Zn^j^5X;Xj%s^A3;^gWd"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> <value name="VALUE"> <block type="text_getSubstring" id="I,_@u?urCXWrXG+TS]Jp" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="+ejcC9fH9yKiFl.VBFRJ"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="bx@V{*Qxl/zB/U7.s$zM"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="G?_#+VrryCd1]hyD6/CS"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="SD^d@-7fyl*Kz[V9OW%/"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="3A/pX*?gvX`aB,j+5JUM"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="wAvy*@*AlLhjj)TeY7fi"> <field name="TEXT"> an </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="ss?y+TR{u~;)_a$E7_V{"> <field name="NUM">4</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="ky(k^0qZAQJU(RS0U@*|"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="y6]x2#R-GQ{F(#tA}kzI"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id=".;i5-ftG/=76@KRi2Dpd"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="dhK_,cQ~B.}r4RF1!ug7"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="G=*ty,Am%MyL_Jy|rLXp"> <field name="TEXT"> um </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="6]Ir#teY#(Ifl)T0+vcT"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="controls_forEach" id="s1AB$N`WS2br((F5.^mb"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> <value name="LIST"> <block type="selector" id="D0yX.T_eE:C-$n$GT@pO"> <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.G090*.Reminder.New]</field> </block> </value> <statement name="DO"> <block type="controls_if" id="x@IQ[DTv~-14HJa|QCpr"> <value name="IF0"> <block type="logic_compare" id="r0YK3rT[6eE|t3ca=vA-"> <field name="OP">EQ</field> <value name="A"> <block type="text_indexOf" id="r~{:K?/K#W!9F4m%GpCI"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="*L:en,kizcrt/Y_w}CG7"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="@Jx7_/XFbb3F~]lL3=|x"> <field name="TEXT">volume</field> </shadow> <block type="variables_get" id="-Xaa1rls+EPGd.J;tS)!"> <field name="VAR" id="s;Z%dZDvE-)tfBe?3;1$" variabletype="">aktiver_Echo</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="fw71zNHX-!VzW{-P}#x{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="S9;(Ni%j]Kv9yL0vhia*"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="Qa{SIi/MAXIs@NIVs=r-"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="@=11+e-D*xvjfuwwLq,o"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="X?onsEHHXL-:3wZ#d)`i"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="ev~C6NUdY=};@jR`pNgw"> <mutation items="3"></mutation> <value name="ADD0"> <block type="get_value_var" id="`8JuN)?`Q(?ux[q~P=}@"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="Y3v([f#_*aa@:JC*wpF:"> <field name="TEXT"></field> </shadow> <block type="on_source" id="wkccY0tSYcM%TzD{sW(l"> <field name="ATTR">id</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="uxVV,~5]LomyfE-VjMu@"> <field name="TEXT">,</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="SHL.HZ0r6r`(BsTN`9w7"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="3^:H$w}4*18my;IX)%8I"> <field name="NUM">0</field> </shadow> <block type="math_number" id="m9j]06p01^]eE5Pj;uPG"> <field name="NUM">4000</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
So, das sollte das Problem (fürs erste) beheben...
Praktischer Nebeneffekt, diese Verzögerung kann weg
Konnte es leider nicht testen, meine Echos sind noch lahmgelegt und ich muss erst hunderte von "falschen Erinnerungen" löschen.
-
Frisch aus dem Urlaub: V2.5
Neu ist, dass ich die Erkennung von "wofür ist die Erinnerung", nun ganz Alexa überlasse.
Damit ist der Anwender noch freier bei dem was und wie er es sagt.
Damit ist es jetzt z.B. auch möglich, eine "globale Erinnerung" an einem anderen Tag zu erstellen, oder die Erinnerung "Schritt für Schritt" mit Alexa durch zu gehen.
Die Bedingung, die bleibt: im Aufruf muss das Wort "überall" vorkommen - schließlich muss man ja die Erinnerung von einer normalen unterscheiden können.Durch die Änderung gilt mehr den je, was Alexa als gültige Erinnerung erkennt und anlegt, sollte entsprechend auf die anderen Echos des Hauses verteilt werden.
Auch wenn ich das Skript hier wohl ziehmlich für mich alleine am Leben halte, kann es gut sein, dass evtl. auch mal noch eine V3 kommt...
↓↓ Blockly code ↓↓
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="s;Z%dZDvE-)tfBe?3;1$">aktiver_Echo</variable> <variable type="" id="oj4|pQS}^S5c!i5(LYG)">Aufruf_Erinnerung</variable> <variable type="" id="gD$Zxy7F7y(A38j;Bs;i">Erinnerung_an</variable> <variable type="" id="=Z+K`oN`}r/=Z9Hl$gAx">i</variable> </variables> <block type="comment" id="U]C1XO}0pnJ3p0Pnmp~m" x="-812" y="-100"> <field name="COMMENT">$VER: Globale Erinnerung 2.5 (17.07.2019) by padrino</field> <next> <block type="on_ext" id="72^[0.HM:[^DU($v/YS]"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="IKo0nNYc4!TvH;gjn^$O"> <field name="oid">default</field> </shadow> <block type="regex" id="O[313OE2hJoodR?1Bo2F"> <field name="TEXT">(alexa2.0.Echo-Devices.*.Reminder.*.time)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="P:RFD3eQ!K/[6X[I@nHl"> <field name="VAR" id="s;Z%dZDvE-)tfBe?3;1$" variabletype="">aktiver_Echo</field> <value name="VALUE"> <block type="get_value" id="IJv1VW`{)~$hRJ`qCRQ["> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <next> <block type="variables_set" id="c^,ajATc]%zBIGunp7E("> <field name="VAR" id="oj4|pQS}^S5c!i5(LYG)" variabletype="">Aufruf_Erinnerung</field> <value name="VALUE"> <block type="get_value" id="Q9T]5tnveY?M6[D@6rcL"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> <next> <block type="variables_set" id="oZ7R{iYZVGdZWz7X;K7W"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung_an</field> <value name="VALUE"> <block type="on_source" id=",3+q7)D[H0iv:eh+3gYw"> <field name="ATTR">common.name</field> </block> </value> <next> <block type="controls_if" id="79O6.LS3BH7!SkUr6%zl"> <value name="IF0"> <block type="logic_compare" id="Qh-3Fy`evY-vTXHXk@X9"> <field name="OP">NEQ</field> <value name="A"> <block type="text_indexOf" id="Z=whpBK6Py[OaON(FA~6"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="^uLGY+.;.dTy5#|N:=Qh"> <field name="VAR" id="oj4|pQS}^S5c!i5(LYG)" variabletype="">Aufruf_Erinnerung</field> </block> </value> <value name="FIND"> <shadow type="text" id="1GVke=Zw#PVlU,W6aLH/"> <field name="TEXT">bis</field> </shadow> <block type="text" id="?~)V(}RS}f2}6s(Gi2nh"> <field name="TEXT">überall</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="cS%R{oz`J#7^.Sr?vThM"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="TE1)n+%t6i}?$KF!EM(["> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.History.summary</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="I1Km[Vr:y*FJf%qcD|(g"> <field name="TEXT"></field> </block> </value> <next> <block type="controls_forEach" id="s1AB$N`WS2br((F5.^mb"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> <value name="LIST"> <block type="selector" id="D0yX.T_eE:C-$n$GT@pO"> <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.G090*.Reminder.New]</field> </block> </value> <statement name="DO"> <block type="controls_if" id="x@IQ[DTv~-14HJa|QCpr"> <value name="IF0"> <block type="logic_compare" id="r0YK3rT[6eE|t3ca=vA-"> <field name="OP">EQ</field> <value name="A"> <block type="text_indexOf" id="r~{:K?/K#W!9F4m%GpCI"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="*L:en,kizcrt/Y_w}CG7"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="@Jx7_/XFbb3F~]lL3=|x"> <field name="TEXT">volume</field> </shadow> <block type="variables_get" id="-Xaa1rls+EPGd.J;tS)!"> <field name="VAR" id="s;Z%dZDvE-)tfBe?3;1$" variabletype="">aktiver_Echo</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="fw71zNHX-!VzW{-P}#x{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="S9;(Ni%j]Kv9yL0vhia*"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="Qa{SIi/MAXIs@NIVs=r-"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="@=11+e-D*xvjfuwwLq,o"> <field name="VAR" id="=Z+K`oN`}r/=Z9Hl$gAx" variabletype="">i</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="X?onsEHHXL-:3wZ#d)`i"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="ev~C6NUdY=};@jR`pNgw"> <mutation items="3"></mutation> <value name="ADD0"> <block type="get_value_var" id="`8JuN)?`Q(?ux[q~P=}@"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="Y3v([f#_*aa@:JC*wpF:"> <field name="TEXT"></field> </shadow> <block type="on_source" id="wkccY0tSYcM%TzD{sW(l"> <field name="ATTR">id</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="uxVV,~5]LomyfE-VjMu@"> <field name="TEXT">,</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="SHL.HZ0r6r`(BsTN`9w7"> <field name="VAR" id="gD$Zxy7F7y(A38j;Bs;i" variabletype="">Erinnerung_an</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="3^:H$w}4*18my;IX)%8I"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
Was mach das Skript genau? Kurz erklärt.........
-
@sigi234
Es packt eine Erinnung auf alle anderen Echos im Haushalt.
Da eine Erinnerung immer immer nur auf dem gerade angesprochenen Gerät hinterlegt wird, kann sie schnell mal verpasst werden, wenn man nicht gerade vor eben diesem steht.
Mit dem Skript steigt die Chance "erwischt" zu werden. -
fehler gemacht
-
Hmm, das mit dem anderen Datum (außer wenn es die angebenen Uhrzeit heute nicht mehr gibt) funktioniert wohl doch nicht.
Im geprüften Datenpunkt
alexa2.0.Echo-Devices.G090XXXXXXXXXXXX.Reminder.hex-kauderwelsch.time
wird nämlich das Datum leider nicht mit hinterlegt.
@apollon77
Hast Du evtl. eine Idee, wo das Datum sich rumtreiben könnte? -
So, wie angedroht - hier ist V3!
Neu diesmal:
- Es ist nicht nur eine "Globale Erinnerung" möglich, sondern man kann nun (oder sollte zumindest
) auch gezielt einzelne Echos angeben.
Mögliche Aufrufe
- Alexa, überall eine neue Erinnerung...
- Alexa, xxx Echoname eine neue Erinnerung... (wobei "xxx" ein beliebiges Wort wie "auf", "in", etc. sein kann, Sachen wie "in der" sind nicht möglich.
Der "Echoname" degegen kann auch aus mehreren Wörtern (also z.B. "Echo Dot Küche") bestehen - wenn das Gerät auch so heißt.
So, denke, damit sollte das Skript soweit "feature complete" sein.
Wenn überhaupt, bleibt nur noch Finetuning.Falls es Probleme gibt, lasst's mich wissen...
Hier haben alle Tests problemlos funktioniert, bis es auf einmal gar nicht mehr klappte, und dann ging es von alleine wieder.
Evtl. Timing- und oder Performanceprobleme, oder vom Adapter kam kein Feedback - wer weiß...Blockly Code diesmal als Anhang, wegen des 50000 Zeichen Limits des Forums.
globale_erinnerung_V3.txt
(schade, dass man nicht sehen kann, wie oft heruntergeladen wurde)
- Es ist nicht nur eine "Globale Erinnerung" möglich, sondern man kann nun (oder sollte zumindest
-
So,
ich weiß gar nicht, ob Ihr es wusstet, V3 konnte gar nicht funktionieren.
Außerdem hat Amazon in der Zwischenzeit an seiner "Fehlalarmstrategie" gearbeitet, sodass "Alexa" auf viele Dinge nicht mehr reagiert - wie z.B. "Alexa, überall eine neue Erinnung".
Was noch geht "Alexa, überall eine Erinnerung".
Bei anderen "Füllwörtern" (wie z.B. "in Küche") verhält es sich momentan anders...
Immer geht wohl "Alexa, ... eine Erinnerung".Daher meine Vorschläge (Beispiele):
- Alexa, überall eine Erinnerung
- Alexa, auf Küche eine Erinnerung
- Alexa, im Schlafzimmer eine Erinnerung
- ...
Das Skript sollte so jetzt wieder funktionieren - zumindest tut es das (immer noch
) bei mir.
Hier also V3.1 (hatte mal einen re-write begonnen, aber der ist noch nicht soweit, daher hier erstmal "nur" ein Fix
)