- Home
- Deutsch
- Skripten / Logik
- Blockly
- [Blockly] Skript für "Sprich mir nach" auf beliebigem Echo
[Blockly] Skript für "Sprich mir nach" auf beliebigem Echo
-
Kurzer "Hotfix"
- neues Feature "wenn Musik spielt, wird diese für die Ausgabe kurz (5 Sekunden) pausiert" war fehlerhaft. Läuft jetzt hoffentlich.
V1.9a
<block xmlns="https://developers.google.com/blockly/xml" type="comment" id="FOjQ$9KpZ.MP~N%WI;S|" x="-1774" y="27"> <field name="COMMENT">Version 1.9a (07.01.2021) by padrino</field> </block>
-
V2.0 ist fertig. 🥳
Änderungen?
- hab den Code aufgeräumt, dadurch isser hoffentlich effizienter und zuverlässiger - zumindest etwas.
- statt des "speak" bzw. "ssml" Datenpunkts nutze ich nun "textCommand" mit "sprich mir nach [text]". Scheint bei mir nicht so oft den Text zu schlucken wie die anderen beiden...
- passend dazu habe ich "deviceStop" durch "textCommand" mit "stopp" ersetzt, da so mehr (unerwünschtes) Feedback auf den "Eingabe Echo" gestoppt wird (z.B. auch das öffnen einen Skills - bei mir dauernd "Eishockey Guru" )
@apollon77 nochmal vielen, vielen Dank für "textCommand"! 🥰 - Falls der Zielecho gerade etwas abspielt, wird die Wiedergabe pausiert. Dabei ist die Pause jetzt dynamisch und abhängig von der Länge des zu sprechenden Textes (Achtung, höchst experimentell 🤪)
- da Frauchen getestet hat und immer etwas macht, das ich natürlich nicht bedacht habe, wird jetzt auch "punkt" durch "." ersetzt.
Dachte eigentlich nicht, dass man das brauchen würde.
V2.0a Blockly
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="T0YZa/guj,^|n505HM4w">TextMitSZ</variable> <variable id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</variable> <variable id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</variable> <variable id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</variable> <variable id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</variable> <variable id="!5j6XLhoQm_S9B.5BB`=">Pause</variable> <variable type="interval" id="Intervall">Intervall</variable> <variable id="@v/?ezVeiXzj^,$=!Nr.">i</variable> <variable id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</variable> <variable id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</variable> </variables> <block type="comment" id="FOjQ$9KpZ.MP~N%WI;S|" x="-2463" y="-137"> <field name="COMMENT">Version 2.0a (10.01.2021) by padrino</field> <next> <block type="on" id="fhfKzXrq)P[aOmo9~(rW"> <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="OElmPyfLv#/1YKRV;(yB"> <value name="IF0"> <block type="logic_compare" id="7|bX(FK%8-kvxd;yxQbo"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="Iu^2N42]m*BM7c;Q2K-m"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="{fTb5h|jC._Ga|xDga{I"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="1GVke=Zw#PVlU,W6aLH/"> <field name="TEXT">bis</field> </shadow> <block type="text" id="(~gUYI,1p[/KsA?AEFaA"> <field name="TEXT">sprich mir nach</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="qoffb!hgM^%hj6qW|}p;"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="X{FOz:*I4)]D?~s*[:af"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> <value name="VALUE"> <block type="logic_boolean" id="u_RoVSM%*9n#%*`9bSaK"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$%FoWwYys?P%_gb`qQh#"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> <value name="VALUE"> <block type="get_value" id="Q/Ba=ZEzaq*4f(R$8TV-"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <next> <block type="variables_set" id="#(KOcl2PK``7{9,ihtgn"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> <value name="VALUE"> <block type="text_getSubstring" id="Zf;s@pJw,rWD||Jvmnbk" 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="on_source" id=";+v~efkH8agiOHMYqNTS"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="OYk4;y5{czDP`m+gzp#x"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=":Pt%sy);(Elj}B;/,1ix"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="8iVOD?ge5zEWtZNYR)Xa"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="-WhQ].ljU?y50Tw:4K8c"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="=SDY/u1Y#~]_%{#8u2q?"> <field name="TEXT"> </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="}zdvVy2;C-Jy`,}Gyhxv"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="SH2qw5Y([Kz61GRYELOb"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=":Pt%sy);(Elj}B;/,1ix"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="?4FxA-!N!j0aWW@J,Wve"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="$Vqh@pd:79t{ag0649QW"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="frF5wE;Uu[cV+_/+]y;/"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="46zj.O5@$,TNr[sKB%Wy"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="control_ex" id="q[?Nl1:K==I([B.*/V-P"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="@xW-c8RyZ5h0X3GYi4.P"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="|S=qk$b:/3?~qcY-(2EM"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="ea_4IeR.Q)N4r[_RP|Cs"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id="`(L|`[_t{P%B;|7G+$1A"> <field name="TEXT">.Commands.textCommand</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="S,F(I`H_YDTUMA]h,Md)"> <field name="TEXT">stopp</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="tE.$Aa1u#o~)EemNkhQS"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="adlf:C2Y5g{K6^P5+p7i"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="Xw!a{`OOvc0N7/rc=Kw."> <mutation name="Satzzeichen_umwandeln"> <arg name="TextMitSZ"></arg> </mutation> <value name="ARG0"> <block type="text_getSubstring" id="%B5?NrR/^@Yo,^V+%OhP" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="on_source" id="h4oo,nxxHz=.G-i*N{ji"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id=")%)x6|Y|YNte:#s,[#k6"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=":Pt%sy);(Elj}B;/,1ix"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id=",|z]4aSUy?sDT,c1AvJL"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="=E588TF4q|%PEqde4dNC"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="gG59_T:atKMo)MfX?b8R"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="~hv6Rq;ZlwM/_wQTUG?3"> <field name="NUM">16</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="n84}S|~^Si#I(rvieSD$"> <field name="VAR" id="!5j6XLhoQm_S9B.5BB`=">Pause</field> <value name="VALUE"> <block type="math_arithmetic" id="nWf(m+xLHeZfbk0|o$}("> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="sGlKFjcrPC{PM,G,Yu1T"> <field name="NUM">1</field> </shadow> <block type="text_length" id="3GBB.wJ_eOoU3~,u|sbW"> <value name="VALUE"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id=")iO?hn.aeX,Cf.rZ6kk_"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="4O*Yl6^{J?Q0)U-DT^K_"> <field name="NUM">80</field> </shadow> </value> </block> </value> <next> <block type="timeouts_setinterval" id="miNtAEzWrW!38@Fp-B9G"> <field name="NAME">Intervall</field> <field name="INTERVAL">200</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_forEach" id="~KP4iuN[;V#LrB5hF7r%"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> <value name="LIST"> <block type="selector" id="x{9_a!8.pV[pT.lfZ+y("> <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.*.Commands.speak]</field> </block> </value> <statement name="DO"> <block type="variables_set" id="?`6.%GbF+xM6c65S;*rU"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> <value name="VALUE"> <block type="text_join" id="__9$io,!tWsl@yWr:[CY"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="SC!fZKZLN%[aq:yR4;,#" inline="false"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="H^g(b~ln]Jl.,;u0SQS$"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="wpDPI=,hr4^j6zp)~#[S"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="qWxeYwC,R[F:ieS37e|R"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="lRA]|dZrb!GE!y@3!HNV"> <field name="TEXT">.Commands</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="gC,0gBJchG`P+#Kh`,No"> <field name="VAR" id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</field> <value name="VALUE"> <block type="get_value_var" id="OhB)P~;POJ*k)(AW;QVk"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="0DTEXt$;]]WC$bG~2ujA"> <field name="TEXT"></field> </shadow> <block type="text_join" id="!`sU}fMZEh=e=Mqzn:iF"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="~}@;L`@qv#SP4-HMORc7"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="I)T]Gqf/|]jCQ$EXKx%Q"> <field name="TEXT">Info.name</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="?dS]Aqv?To%$v;FOb}XF"> <value name="IF0"> <block type="logic_compare" id="gx?L{$0hx671N19w%h-v" inline="false"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="cg$1M$n)@c)_-yaKbepd" inline="false"> <field name="END">FIRST</field> <value name="VALUE"> <block type="text_changeCase" id="M^i|re|4t%J[wCHb=~`~"> <field name="CASE">LOWERCASE</field> <value name="TEXT"> <shadow type="text" id="E$%!K/)i0)rK3*Q0Hxb]"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="slZBP^Eql;wPI+JCK|DX"> <field name="VAR" id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</field> </block> </value> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="gy5Hp#t0_^q%dW~8?OUm"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="CLAXj`4?pj-iu!rJdN7H"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="X_eFO|_!K{Z=`uA|g?gg"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> <value name="VALUE"> <block type="logic_boolean" id=".Y+:m}scy[LgZ[!hE9TD"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control_ex" id="u]lxbXd(oPb!+qmpULp#"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="$VJ#(BMiw2^It4A3Btx:"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="A^-+*@#_b+izsQ0cKph}"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="e)EDFN~LTA=yddXz!Rj_"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id="fru4dBVS!?k=A;uBh7*G"> <field name="TEXT">.Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean" id="4Q-~O)0Tq3Bl0SL#OKOU"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="DOlCDBLal=hl!tv@g+?%"> <field name="TEXT">Ok.</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="Fdd(cgfC~Ct|qFml75Vj"> <field name="NUM">0</field> </shadow> </value> <next> <block type="controls_if" id="iMeDg7sjZ@+H2vhU|IKm"> <value name="IF0"> <block type="get_value_var" id=":)lR7cXoiwSL]oxeIO-O"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="EiRfCY8xESJWxx|+E.kS"> <field name="TEXT"></field> </shadow> <block type="text_join" id="J_nt)3naa(c=6.+uvUV!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id=",wLR_G%(MoOg40ggT+Vj"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="mn8KN)LOB[p|b9yFoSim"> <field name="TEXT">Player.currentState</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="+CH,}HeoL!aYZ8bkbwn_"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="em[yglSpre.~n.WvPs-^"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="%=XVR:9DN$a^Na0tJW09"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="x]Wo0B}M)h#r|K1]%+=="> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="wL8ZDp+y6n(44FX^;J=?"> <field name="TEXT">Player.controlPause</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="6qcgPn3LFREv3;$vv~_7"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_boolean" id="`Osb%,dhE465q`prS6}M"> <field name="BOOL">TRUE</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="GDQE|ILE}-[,:@unwhin"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="iq.Bhp3CM-8{C:AS6W)="> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="cqF!99y~+JLlD=%nch)v"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="zff5)D9f]ps?@n`/s,YJ"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="/1X}KXBW~h0wSY9!Q_pJ"> <field name="TEXT">Player.controlPlay</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_boolean" id="0(?Dbe6;F/DEtTx|I`w8"> <field name="BOOL">TRUE</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="QV!x39Kvw/P2a(`B?LuR"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="PL@m(d;+Os07R|k:n#,c"> <field name="VAR" id="!5j6XLhoQm_S9B.5BB`=">Pause</field> </block> </value> </block> </next> </block> </statement> <next> <block type="control_ex" id="(cz%Rmza1VupLRgf+SPq"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="TRnYey?r=pk;DC=DMN:-"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="((Ofwfjlsa=|3YdRd?OT"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="dRzQuCo@@Z:Ify(3+6]o"> <field name="TEXT">Commands.textCommand</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="ZM(0j:2hO56O`t9.8~k)"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="_@Lu#5y#ZaGP=HnB:.hH"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="`h[%VgHk]X(!]2`=2!v`"> <field name="TEXT">sprich mir nach </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="eGQ`RRY+4T;sA1+3mW.f"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="X,T:mq[JXtV85EyIKr]O"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="@)6`d%HOeQoURRp47|_G"> <value name="IF0"> <block type="logic_compare" id="Yje$.F.Jlq/t1K;9l[$n"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="^uBH}_uskN;+KRf84B=s"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> </block> </value> <value name="B"> <block type="logic_boolean" id="qOs29yEpuK7fK)3Iq,D{"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="Qmpb4$v80:TPOU,QF.)i"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="B/T;uwvUx:AZg.Tv1Z}K"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="OwO=9`U#05m*KZx_XnYp"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="=dGXbqL38jYJq-XBQln@"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id=")pilr%swl1]zwp3u0.Xr"> <field name="TEXT">.Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean" id="4Q-~O)0Tq3Bl0SL#OKOU"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="^qxx:S%f7udQi/U+mlSx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="{(*_9a$/z_*v{I5#;CyB"> <field name="TEXT">Leider konnte ich kein Gerät mit dem Namen "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Q5JW`W_e^KvL~A?S;)7E"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> </block> </value> <value name="ADD2"> <block type="text" id="A1V#RQX}(d^kRXxOTaFA"> <field name="TEXT">" finden.</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="aMJx=]mX7et4[PcXye^*"> <field name="NUM">0</field> </shadow> </value> </block> </statement> <next> <block type="timeouts_clearinterval" id="a@-/gbH(=bjkDX0({ucu"> <field name="NAME">Intervall</field> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defcustomreturn" id="[.kLmP/S?e;|npPP7WZN" x="-2287" y="-62"> <mutation statements="false"> <arg name="TextMitSZ" varid="T0YZa/guj,^|n505HM4w"></arg> </mutation> <field name="NAME">Satzzeichen_umwandeln</field> <field name="SCRIPT">bGV0IE9obmVLb21tYXMgPSBUZXh0TWl0U1oucmVwbGFjZSgvIGtvbW1hL2csICJcLCIpOw0KbGV0IE9obmVQdW5rdCA9IE9obmVLb21tYXMucmVwbGFjZSgvIHB1bmt0L2csICJcLiIpOw0KbGV0IE9obmVTWiA9IE9obmVQdW5rdC5yZXBsYWNlKC8gZnJhZ2V6ZWljaGVuL2csICJcPyIpOw0KcmV0dXJuIE9obmVTWjs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
-
... und V2.1
- (weiteren) unsinnigen Code entfernt
- von "textCommand" zurück auf "speak" gewechselt - sonst machen die Satzzeichen keinen Sinn (werden nicht gesprochen/beachtet).
V2.1
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="T0YZa/guj,^|n505HM4w">TextMitSZ</variable> <variable id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</variable> <variable id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</variable> <variable id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</variable> <variable id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</variable> <variable id="!5j6XLhoQm_S9B.5BB`=">Pause</variable> <variable id="@v/?ezVeiXzj^,$=!Nr.">i</variable> <variable id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</variable> <variable id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</variable> </variables> <block type="comment" id="FOjQ$9KpZ.MP~N%WI;S|" x="-2463" y="-137"> <field name="COMMENT">Version 2.1 (10.01.2021) by padrino</field> <next> <block type="on" id="fhfKzXrq)P[aOmo9~(rW"> <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="OElmPyfLv#/1YKRV;(yB"> <value name="IF0"> <block type="logic_compare" id="7|bX(FK%8-kvxd;yxQbo"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="Iu^2N42]m*BM7c;Q2K-m"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="{fTb5h|jC._Ga|xDga{I"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="1GVke=Zw#PVlU,W6aLH/"> <field name="TEXT">bis</field> </shadow> <block type="text" id="(~gUYI,1p[/KsA?AEFaA"> <field name="TEXT">sprich mir nach</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="qoffb!hgM^%hj6qW|}p;"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="X{FOz:*I4)]D?~s*[:af"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> <value name="VALUE"> <block type="logic_boolean" id="u_RoVSM%*9n#%*`9bSaK"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$%FoWwYys?P%_gb`qQh#"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> <value name="VALUE"> <block type="get_value" id="Q/Ba=ZEzaq*4f(R$8TV-"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <next> <block type="variables_set" id="#(KOcl2PK``7{9,ihtgn"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> <value name="VALUE"> <block type="text_getSubstring" id="Zf;s@pJw,rWD||Jvmnbk" 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="on_source" id=";+v~efkH8agiOHMYqNTS"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="OYk4;y5{czDP`m+gzp#x"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=":Pt%sy);(Elj}B;/,1ix"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="8iVOD?ge5zEWtZNYR)Xa"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="-WhQ].ljU?y50Tw:4K8c"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="=SDY/u1Y#~]_%{#8u2q?"> <field name="TEXT"> </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="}zdvVy2;C-Jy`,}Gyhxv"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="SH2qw5Y([Kz61GRYELOb"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=":Pt%sy);(Elj}B;/,1ix"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="?4FxA-!N!j0aWW@J,Wve"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="$Vqh@pd:79t{ag0649QW"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="frF5wE;Uu[cV+_/+]y;/"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="46zj.O5@$,TNr[sKB%Wy"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="control_ex" id="q[?Nl1:K==I([B.*/V-P"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="@xW-c8RyZ5h0X3GYi4.P"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="|S=qk$b:/3?~qcY-(2EM"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="ea_4IeR.Q)N4r[_RP|Cs"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id="`(L|`[_t{P%B;|7G+$1A"> <field name="TEXT">.Commands.textCommand</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="S,F(I`H_YDTUMA]h,Md)"> <field name="TEXT">stopp</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="tE.$Aa1u#o~)EemNkhQS"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="adlf:C2Y5g{K6^P5+p7i"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="Xw!a{`OOvc0N7/rc=Kw."> <mutation name="Satzzeichen_umwandeln"> <arg name="TextMitSZ"></arg> </mutation> <value name="ARG0"> <block type="text_getSubstring" id="%B5?NrR/^@Yo,^V+%OhP" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="on_source" id="h4oo,nxxHz=.G-i*N{ji"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id=")%)x6|Y|YNte:#s,[#k6"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=":Pt%sy);(Elj}B;/,1ix"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id=",|z]4aSUy?sDT,c1AvJL"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="=E588TF4q|%PEqde4dNC"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="gG59_T:atKMo)MfX?b8R"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="~hv6Rq;ZlwM/_wQTUG?3"> <field name="NUM">16</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="n84}S|~^Si#I(rvieSD$"> <field name="VAR" id="!5j6XLhoQm_S9B.5BB`=">Pause</field> <value name="VALUE"> <block type="math_arithmetic" id="nWf(m+xLHeZfbk0|o$}("> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="sGlKFjcrPC{PM,G,Yu1T"> <field name="NUM">1</field> </shadow> <block type="text_length" id="3GBB.wJ_eOoU3~,u|sbW"> <value name="VALUE"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id=")iO?hn.aeX,Cf.rZ6kk_"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="4O*Yl6^{J?Q0)U-DT^K_"> <field name="NUM">80</field> </shadow> </value> </block> </value> <next> <block type="controls_forEach" id="~KP4iuN[;V#LrB5hF7r%"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> <value name="LIST"> <block type="selector" id="x{9_a!8.pV[pT.lfZ+y("> <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.*.Commands.speak]</field> </block> </value> <statement name="DO"> <block type="variables_set" id="?`6.%GbF+xM6c65S;*rU"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> <value name="VALUE"> <block type="text_join" id="__9$io,!tWsl@yWr:[CY"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="SC!fZKZLN%[aq:yR4;,#" inline="false"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="H^g(b~ln]Jl.,;u0SQS$"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="wpDPI=,hr4^j6zp)~#[S"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="qWxeYwC,R[F:ieS37e|R"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="lRA]|dZrb!GE!y@3!HNV"> <field name="TEXT">.Commands</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="gC,0gBJchG`P+#Kh`,No"> <field name="VAR" id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</field> <value name="VALUE"> <block type="get_value_var" id="OhB)P~;POJ*k)(AW;QVk"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="0DTEXt$;]]WC$bG~2ujA"> <field name="TEXT"></field> </shadow> <block type="text_join" id="!`sU}fMZEh=e=Mqzn:iF"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="~}@;L`@qv#SP4-HMORc7"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="I)T]Gqf/|]jCQ$EXKx%Q"> <field name="TEXT">Info.name</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="?dS]Aqv?To%$v;FOb}XF"> <value name="IF0"> <block type="logic_compare" id="gx?L{$0hx671N19w%h-v" inline="false"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="cg$1M$n)@c)_-yaKbepd" inline="false"> <field name="END">FIRST</field> <value name="VALUE"> <block type="text_changeCase" id="M^i|re|4t%J[wCHb=~`~"> <field name="CASE">LOWERCASE</field> <value name="TEXT"> <shadow type="text" id="E$%!K/)i0)rK3*Q0Hxb]"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="slZBP^Eql;wPI+JCK|DX"> <field name="VAR" id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</field> </block> </value> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="gy5Hp#t0_^q%dW~8?OUm"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="CLAXj`4?pj-iu!rJdN7H"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="X_eFO|_!K{Z=`uA|g?gg"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> <value name="VALUE"> <block type="logic_boolean" id=".Y+:m}scy[LgZ[!hE9TD"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_if" id="iMeDg7sjZ@+H2vhU|IKm"> <value name="IF0"> <block type="get_value_var" id=":)lR7cXoiwSL]oxeIO-O"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="EiRfCY8xESJWxx|+E.kS"> <field name="TEXT"></field> </shadow> <block type="text_join" id="J_nt)3naa(c=6.+uvUV!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id=",wLR_G%(MoOg40ggT+Vj"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="mn8KN)LOB[p|b9yFoSim"> <field name="TEXT">Player.currentState</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="+CH,}HeoL!aYZ8bkbwn_"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="em[yglSpre.~n.WvPs-^"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="%=XVR:9DN$a^Na0tJW09"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="x]Wo0B}M)h#r|K1]%+=="> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="wL8ZDp+y6n(44FX^;J=?"> <field name="TEXT">Player.controlPause</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="6qcgPn3LFREv3;$vv~_7"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_boolean" id="`Osb%,dhE465q`prS6}M"> <field name="BOOL">TRUE</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="GDQE|ILE}-[,:@unwhin"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="iq.Bhp3CM-8{C:AS6W)="> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="cqF!99y~+JLlD=%nch)v"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="zff5)D9f]ps?@n`/s,YJ"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="/1X}KXBW~h0wSY9!Q_pJ"> <field name="TEXT">Player.controlPlay</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_boolean" id="0(?Dbe6;F/DEtTx|I`w8"> <field name="BOOL">TRUE</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="QV!x39Kvw/P2a(`B?LuR"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="PL@m(d;+Os07R|k:n#,c"> <field name="VAR" id="!5j6XLhoQm_S9B.5BB`=">Pause</field> </block> </value> </block> </next> </block> </statement> <next> <block type="control_ex" id="*llwxZ6RK}X:~Z5?7[,r"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="uNAK6PIeZK|;]vfgJ;W`"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="f0k?y`OSLlS2)V`%;?(#"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="f224-KDK67fnxyYJ6u1}"> <field name="TEXT">Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="7vGB/=SUs$N/DMY-ii/]"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="V[r9nHLsYhML~$jPS4;+"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="=Jm~obL@is|,BRM5WXR0"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id=";R=2ZYO)jam:::@XHRTJ"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="T=[+A(IHk)gY{7|!P}@v"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="|SU7`2PI^@iqU@}AFf)`"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="TP7E$wis1|L3p`VgF5s5"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id="iy#K263579DUizP)33Ge"> <field name="TEXT">.Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="hu}1v+tW,2fO{!{X8GLB"> <field name="TEXT">Ok.</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="V,6o%i.n6mgjGW_2ibuy"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="@)6`d%HOeQoURRp47|_G"> <value name="IF0"> <block type="logic_compare" id="Yje$.F.Jlq/t1K;9l[$n"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="^uBH}_uskN;+KRf84B=s"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> </block> </value> <value name="B"> <block type="logic_boolean" id="qOs29yEpuK7fK)3Iq,D{"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="Qmpb4$v80:TPOU,QF.)i"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="B/T;uwvUx:AZg.Tv1Z}K"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="OwO=9`U#05m*KZx_XnYp"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="=dGXbqL38jYJq-XBQln@"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id=")pilr%swl1]zwp3u0.Xr"> <field name="TEXT">.Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean" id="4Q-~O)0Tq3Bl0SL#OKOU"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="^qxx:S%f7udQi/U+mlSx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="{(*_9a$/z_*v{I5#;CyB"> <field name="TEXT">Leider konnte ich kein Gerät mit dem Namen "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Q5JW`W_e^KvL~A?S;)7E"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> </block> </value> <value name="ADD2"> <block type="text" id="A1V#RQX}(d^kRXxOTaFA"> <field name="TEXT">" finden.</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="aMJx=]mX7et4[PcXye^*"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defcustomreturn" id="[.kLmP/S?e;|npPP7WZN" x="-2287" y="-62"> <mutation statements="false"> <arg name="TextMitSZ" varid="T0YZa/guj,^|n505HM4w"></arg> </mutation> <field name="NAME">Satzzeichen_umwandeln</field> <field name="SCRIPT">bGV0IE9obmVLb21tYXMgPSBUZXh0TWl0U1oucmVwbGFjZSgvIGtvbW1hL2csICJcLCIpOw0KbGV0IE9obmVQdW5rdCA9IE9obmVLb21tYXMucmVwbGFjZSgvIHB1bmt0L2csICJcLiIpOw0KbGV0IE9obmVTWiA9IE9obmVQdW5rdC5yZXBsYWNlKC8gZnJhZ2V6ZWljaGVuL2csICJcPyIpOw0KcmV0dXJuIE9obmVTWjs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
-
@padrino habs mal importiert bei mir.
Kannst du kurz mal schreiben wie es funktionieren soll? Welche Kommandos muss man geben?Ich habe im Bad einen Echo mit Namen "Bad Echo Dot" und in der Küche einen mit Namen: "Küche Echo Spot".
-
Hi,
z.B.
..., im Bad sprich mir nach raus aus der Dusche komma ich will auch
oder
..., in Küche sprich mir nach habe hunger komma gibt es bald etwas zu essen fragezeichen
-
@padrino Hi, ich habe jetzt meine Echos mal alle nach deinen Vorschlag umbenannt, also Echo Küche, Echo Bad, Echo Wohnzimmer ...
Ich sage im Bad: Alexa, auf Echo Küche sprich mir nach: XYZAlso nach dem Muster: Aktivierungswort, ZielEchoName, Sprich mir nach Befehl: mein Text.
Ist das so angedacht?
-
@accu said in [Blockly] Skript für "Sprich mir nach" auf beliebigem Echo:
@padrino Hi, ich habe jetzt meine Echos mal alle nach deinen Vorschlag umbenannt,
Wieso umbenannt und welcher Vorschlag?
Das Skript is eigentlich so gestalltet, dass es sich der Konfiguration des Anwenders anpasst und nicht umgekehrt.Ich sage im Bad: Alexa, auf Echo Küche sprich mir nach: XYZ
Also nach dem Muster: Aktivierungswort, ZielEchoName, Sprich mir nach Befehl: mein Text.
Ist das so angedacht?
Ja, schon, wobei du brauchst nur einen unterscheidbaren Teil des Namens zu sagen.
Also, wenn Du z.B. "Echo Küche" und "Echo Bad" hast, dann brauchst Du nur sagen "..., auf bad/küche sprich mir nach dein Text".
Würdest Du sageb "..., auf Echo sprich mir nach test", dann würde es auf "Echo Küche" und "Echo Bad" ausgegeben - oder sollte es zumindest.Falls ich irgendetwas mißverständlich dargestellt habe, sag mir bitte wo genau, damit ich das fixen kann.
-
@padrino funktioniert jetzt alles top. Was jetzt noch super wäre, wenn man auch die Alexa von der Alexa App am Telefon dazu bringen kann "nachzusprechen" bzw. sie dazu bringen könnte dass sie Sätze auf anderen Echos sagen lässt.
-
@accu
also, das sollte eigentlich tun.
Wenn ich in der App sage "in Küche sprich mir nach das ist ein Test", dann plaudert der Echo in der Küche los.
Was nicht geht, dass ich von einem Echo das Handy plappern lasse, das liegt allerdings an amazon und/oder dem Alexa2 Adapter, denn dieser bietet leider nicht die Möglichkeit Text auf dem Handy auszugeben...Übrigens, wenn Du zufrieden bist, nehm ich gerne auch ein "like" im ersten Beitrag.
-
@padrino leider nein. Bleibt still
-
Hmm, kurz nochmal getestet.... grübel... könnte sein...
Sag mal nicht "Alexa, blabla..." sondern drück den "Alexa" button und sag "blabla"...
Ersteres scheint nicht zu klappen, zweiteres, aber schon.Nachtrag: wie vermutet, das Aktivierungswort wird wohl nicht, wie normal, gefiltert, wenn man auf dem Handy "Alexa" (etc.) sagt, muss ich @apollon77 mal dazu befragen.
-
@padrino Es wird das Wakeword des Gerätes gefiltert was eingestellt ist. Da die Apps aber gerade ausgenommen sind kann er da kein Wakeword ermitteln und daher wird auch nichts gefiltert
-
@apollon77
Ok, Wakeword für die App kann ja nicht geändert werden und ist immer Alexa.
Dachte das würde immer gefiltert. -
@padrino Das wäre dann ggf ein Feature Request über den man mal nachdenken kann ... wenn Ihr Euch sicher seid
-
@apollon77
Dann kannst Du ja das Label auf Github ändern.
(Soweit ich weiß, kann ich das ja nicht selbst ) -
@accu
Sorry, ich glaube, ich kann Dir mit dem Handy Problem nicht helfen.
Wie es scheint hat amazon es heute komplett kaputt gemacht. 🤬
Wollte eben den Fall raus filtern, dass "alexa" in der History auftaucht nur um festzustellen, dass das übers Handy gesprochene (seit) heute wohl gar nicht mehr im summary auftaucht.@apollon77
Ich denke, damit können wir den Github Eintrag wohl ganz schließen - es sein denn, es ist ein temperäres Problem seitens amazon...
Nachtrag: wie ich gerade sehe, taucht auch "this device" nicht mehr in den Echo devices auf... -
So, da das Gesproche über Handy inzwischen wieder in "Summary" auftaucht und bei mir auch wieder das Handy als "This Device" da ist, hab' ich nun für den Fall eingebaut, dass "Alexa" gefiltert wird, damit geht es dann auch wenn der Adapter das im Moment nicht, wie bei anderen Geräten stripped.
@Accu
Kannst ja mal testen. Hier läuft es (auch wenn das Handy "das weiß ich leider nicht" oder Ähnliches sagt).V2.2 Blockly
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="T0YZa/guj,^|n505HM4w">TextMitSZ</variable> <variable id="8tF+VtGz*J77y:md4A9?">nicht_mobil</variable> <variable id="]5xT`?f=/d7|ofu?OD+f">Wert_Kopie</variable> <variable id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</variable> <variable id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</variable> <variable id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</variable> <variable id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</variable> <variable id="!5j6XLhoQm_S9B.5BB`=">Pause</variable> <variable id="@v/?ezVeiXzj^,$=!Nr.">i</variable> <variable id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</variable> <variable id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</variable> </variables> <block type="comment" id="FOjQ$9KpZ.MP~N%WI;S|" x="-2462" y="397"> <field name="COMMENT">Version 2.2 (11.03.2021) by padrino</field> <next> <block type="on" id="fhfKzXrq)P[aOmo9~(rW"> <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="OElmPyfLv#/1YKRV;(yB"> <value name="IF0"> <block type="logic_compare" id="7|bX(FK%8-kvxd;yxQbo"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="Iu^2N42]m*BM7c;Q2K-m"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="{fTb5h|jC._Ga|xDga{I"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="1GVke=Zw#PVlU,W6aLH/"> <field name="TEXT">bis</field> </shadow> <block type="text" id="(~gUYI,1p[/KsA?AEFaA"> <field name="TEXT">sprich mir nach</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="qoffb!hgM^%hj6qW|}p;"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="C=a:Djf{jy;}GR^.aAb~"> <field name="VAR" id="8tF+VtGz*J77y:md4A9?">nicht_mobil</field> <value name="VALUE"> <block type="logic_boolean" id="0=Q4mbnP}H2Z74(`^]2p"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_if" id="_igHVu#_-$q8#R`6e:8T"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="j-;YTnb{?8kOs#Rn`jPc"> <field name="OP">EQ</field> <value name="A"> <block type="text_indexOf" id="Oh|j(4U2H{`TY`{Vof=I"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="`;Mfg,r2uMaR,s[Yg%8d"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">bis</field> </shadow> <block type="text" id=":23m8sal,/_7TE6q6@%."> <field name="TEXT">alexa</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="e07^!ZaN$NBNMn.i]a5o"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ymjg]SKAE*W_k8xz4EOx"> <field name="VAR" id="8tF+VtGz*J77y:md4A9?">nicht_mobil</field> <value name="VALUE"> <block type="logic_boolean" id="{=eB)NC!RD(E;INkRj77"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="Wq7f)rgQ8]{Lg275+/,#"> <field name="VAR" id="]5xT`?f=/d7|ofu?OD+f">Wert_Kopie</field> <value name="VALUE"> <block type="text_getSubstring" id="#o+$}c1=}D/Imz[*At~5" 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="on_source" id="cX__+]0?P#9*bW/#}4zH"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="2pV%PMF|]zFrR8d|k!|v"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="a=YoI~`;V2iT(]DZ{N/f"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="nT-y|00qNpxV5bL.ZVKd"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="$oB(UPQCl}a(^;(RC1.X"> <field name="TEXT">alexa </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="W|)XM)2:$QYpVtd.*;36"> <field name="NUM">6</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="{jmyS]eq8$u+2):SdOQi"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="-sn4A:Isl;-=xaVKn~6H"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="F*R:X7yO!Lg1T0g,wI+4"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="9`H]s9{t_bWJ:XSpx$`U"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="6TE@2G9qs`Aq)X}gFVE*"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="l,6-BM@}S[KL=`Myv_i]"> <field name="VAR" id="]5xT`?f=/d7|ofu?OD+f">Wert_Kopie</field> <value name="VALUE"> <block type="on_source" id="*zKBoA=S}z?Mh1*5*H:("> <field name="ATTR">state.val</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="X{FOz:*I4)]D?~s*[:af"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> <value name="VALUE"> <block type="logic_boolean" id="u_RoVSM%*9n#%*`9bSaK"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="$%FoWwYys?P%_gb`qQh#"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> <value name="VALUE"> <block type="get_value" id="Q/Ba=ZEzaq*4f(R$8TV-"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.serialNumber</field> </block> </value> <next> <block type="variables_set" id="LZ]1}/,XsI,aX4o~GhcK"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> <value name="VALUE"> <block type="text_getSubstring" id="s[WY-HQC}v1/RKl+-M^_" 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=":DfQG]8SKQTjSMZhfQ!J"> <field name="VAR" id="]5xT`?f=/d7|ofu?OD+f">Wert_Kopie</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="[yArHQ;0$!|1-Yn`Gy]+"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="M1`j/}]U}/twYy/HJxgR"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="|4@JOj6Ey0qB5|zy0Ao{"> <field name="VAR" id="]5xT`?f=/d7|ofu?OD+f">Wert_Kopie</field> </block> </value> <value name="FIND"> <shadow type="text" id=")RuL*-3h~!:bpk:p-t_1"> <field name="TEXT"> </field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="ij-%`3/ObjtA)6k_!:9-"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="yXu}HvTZ}D`N=H[dDIB)"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="6S~Y60NDDmAOqm8LeNUn"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="jEbW4|cw//~Lg/y)78Ta"> <field name="VAR" id="]5xT`?f=/d7|ofu?OD+f">Wert_Kopie</field> </block> </value> <value name="FIND"> <shadow type="text" id="j=3+e)dq#^!XYSRWe{[0"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="OHnkGP.z1R$ReX9ACsl)"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="4@IXZp183e(-p,uynC`e"> <value name="IF0"> <block type="variables_get" id="M@D4%5/c+R;hv5YSK!A:"> <field name="VAR" id="8tF+VtGz*J77y:md4A9?">nicht_mobil</field> </block> </value> <statement name="DO0"> <block type="control_ex" id="0;=9.dm[@Gbeic.rzh)`"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="pvYa(o:nIy$Ijl+JGD8a"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="U1mV3H5VA;1Q9~}8;4@8"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="d=dX*~~wq,|J+RJ.WP?}"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id="s|M?0jJLoz`ww1t[=q)B"> <field name="TEXT">.Commands.textCommand</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="O%8YVn{Y/rr0Pq6LNkFs"> <field name="TEXT">stopp</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="TV]mqifYOV~5wxxxT@S:"> <field name="NUM">0</field> </shadow> </value> </block> </statement> <next> <block type="variables_set" id="HR2n*F+$v1(^y%lvw~`_"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="uz_-6hy*/7#|dJUC`M(x"> <mutation name="Satzzeichen_umwandeln"> <arg name="TextMitSZ"></arg> </mutation> <value name="ARG0"> <block type="text_getSubstring" id="AVTjw5BgbS?U#OJ-/#5J" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="on_source" id="p]+!NM1dBtx%5x$xgh:A"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="=mNhYS_avFHbfhtJ(~[C"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="wb$jd4|*%cH9WTkrK6N["> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="ycFTy{9]Z.M=v/aD5!1w"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="ysN*GP}.XOB|zk%.;9(K"> <field name="TEXT">sprich mir nach</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="=bOP~(!6]5)HucVJdA~]"> <field name="NUM">16</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="n84}S|~^Si#I(rvieSD$"> <field name="VAR" id="!5j6XLhoQm_S9B.5BB`=">Pause</field> <value name="VALUE"> <block type="math_arithmetic" id="nWf(m+xLHeZfbk0|o$}("> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="sGlKFjcrPC{PM,G,Yu1T"> <field name="NUM">1</field> </shadow> <block type="text_length" id="3GBB.wJ_eOoU3~,u|sbW"> <value name="VALUE"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id=")iO?hn.aeX,Cf.rZ6kk_"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="4O*Yl6^{J?Q0)U-DT^K_"> <field name="NUM">80</field> </shadow> </value> </block> </value> <next> <block type="controls_forEach" id="~KP4iuN[;V#LrB5hF7r%"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> <value name="LIST"> <block type="selector" id="x{9_a!8.pV[pT.lfZ+y("> <field name="TEXT">channel[state.id=alexa2.0.Echo-Devices.*.Commands.speak]</field> </block> </value> <statement name="DO"> <block type="variables_set" id="?`6.%GbF+xM6c65S;*rU"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> <value name="VALUE"> <block type="text_join" id="__9$io,!tWsl@yWr:[CY"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="SC!fZKZLN%[aq:yR4;,#" inline="false"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="H^g(b~ln]Jl.,;u0SQS$"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="wpDPI=,hr4^j6zp)~#[S"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="qWxeYwC,R[F:ieS37e|R"> <field name="VAR" id="@v/?ezVeiXzj^,$=!Nr.">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="lRA]|dZrb!GE!y@3!HNV"> <field name="TEXT">.Commands</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="gC,0gBJchG`P+#Kh`,No"> <field name="VAR" id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</field> <value name="VALUE"> <block type="get_value_var" id="OhB)P~;POJ*k)(AW;QVk"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="0DTEXt$;]]WC$bG~2ujA"> <field name="TEXT"></field> </shadow> <block type="text_join" id="!`sU}fMZEh=e=Mqzn:iF"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="~}@;L`@qv#SP4-HMORc7"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="I)T]Gqf/|]jCQ$EXKx%Q"> <field name="TEXT">Info.name</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="?dS]Aqv?To%$v;FOb}XF"> <value name="IF0"> <block type="logic_compare" id="gx?L{$0hx671N19w%h-v" inline="false"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="cg$1M$n)@c)_-yaKbepd" inline="false"> <field name="END">FIRST</field> <value name="VALUE"> <block type="text_changeCase" id="M^i|re|4t%J[wCHb=~`~"> <field name="CASE">LOWERCASE</field> <value name="TEXT"> <shadow type="text" id="E$%!K/)i0)rK3*Q0Hxb]"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="slZBP^Eql;wPI+JCK|DX"> <field name="VAR" id="#o|;Mx(pH:s{+-*%Vpai">Echo_gefunden_Name</field> </block> </value> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="gy5Hp#t0_^q%dW~8?OUm"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="CLAXj`4?pj-iu!rJdN7H"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="X_eFO|_!K{Z=`uA|g?gg"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> <value name="VALUE"> <block type="logic_boolean" id=".Y+:m}scy[LgZ[!hE9TD"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_if" id="iMeDg7sjZ@+H2vhU|IKm"> <value name="IF0"> <block type="get_value_var" id=":)lR7cXoiwSL]oxeIO-O"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="EiRfCY8xESJWxx|+E.kS"> <field name="TEXT"></field> </shadow> <block type="text_join" id="J_nt)3naa(c=6.+uvUV!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id=",wLR_G%(MoOg40ggT+Vj"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="mn8KN)LOB[p|b9yFoSim"> <field name="TEXT">Player.currentState</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="+CH,}HeoL!aYZ8bkbwn_"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="em[yglSpre.~n.WvPs-^"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="%=XVR:9DN$a^Na0tJW09"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="x]Wo0B}M)h#r|K1]%+=="> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="wL8ZDp+y6n(44FX^;J=?"> <field name="TEXT">Player.controlPause</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="6qcgPn3LFREv3;$vv~_7"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_boolean" id="`Osb%,dhE465q`prS6}M"> <field name="BOOL">TRUE</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="GDQE|ILE}-[,:@unwhin"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="iq.Bhp3CM-8{C:AS6W)="> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="cqF!99y~+JLlD=%nch)v"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="zff5)D9f]ps?@n`/s,YJ"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="/1X}KXBW~h0wSY9!Q_pJ"> <field name="TEXT">Player.controlPlay</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="logic_boolean" id="0(?Dbe6;F/DEtTx|I`w8"> <field name="BOOL">TRUE</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="QV!x39Kvw/P2a(`B?LuR"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="PL@m(d;+Os07R|k:n#,c"> <field name="VAR" id="!5j6XLhoQm_S9B.5BB`=">Pause</field> </block> </value> </block> </next> </block> </statement> <next> <block type="control_ex" id="*llwxZ6RK}X:~Z5?7[,r"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="uNAK6PIeZK|;]vfgJ;W`"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="f0k?y`OSLlS2)V`%;?(#"> <field name="VAR" id="nhP!NL9agVO{Ru1Uv8:U">Echo_Ziel_Basis</field> </block> </value> <value name="ADD1"> <block type="text" id="f224-KDK67fnxyYJ6u1}"> <field name="TEXT">Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="7vGB/=SUs$N/DMY-ii/]"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="V[r9nHLsYhML~$jPS4;+"> <field name="VAR" id="b7aB$`+O!Gi*`TEysg7u">zu_sprechender_Text</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="=Jm~obL@is|,BRM5WXR0"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="@)6`d%HOeQoURRp47|_G"> <value name="IF0"> <block type="logic_compare" id="Yje$.F.Jlq/t1K;9l[$n"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="^uBH}_uskN;+KRf84B=s"> <field name="VAR" id=";F.(K|mb2VDLFz4584#t">Echo_Ziel_gefunden</field> </block> </value> <value name="B"> <block type="logic_boolean" id="qOs29yEpuK7fK)3Iq,D{"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="Qmpb4$v80:TPOU,QF.)i"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="fwZLrtqkG5Ro2sbRcbdL"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="B/T;uwvUx:AZg.Tv1Z}K"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="OwO=9`U#05m*KZx_XnYp"> <field name="TEXT">alexa2.0.Echo-Devices.</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="=dGXbqL38jYJq-XBQln@"> <field name="VAR" id="C2wE+cVgznP#j}r/`dl(">Echo_Start_Seriennummer</field> </block> </value> <value name="ADD2"> <block type="text" id=")pilr%swl1]zwp3u0.Xr"> <field name="TEXT">.Commands.speak</field> </block> </value> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean" id="4Q-~O)0Tq3Bl0SL#OKOU"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="^qxx:S%f7udQi/U+mlSx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="{(*_9a$/z_*v{I5#;CyB"> <field name="TEXT">Leider konnte ich kein Gerät mit dem Namen "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Q5JW`W_e^KvL~A?S;)7E"> <field name="VAR" id="xci3X!4nlXF:sZ?64H_G">Echo_Ziel_Name</field> </block> </value> <value name="ADD2"> <block type="text" id="A1V#RQX}(d^kRXxOTaFA"> <field name="TEXT">" finden.</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="aMJx=]mX7et4[PcXye^*"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defcustomreturn" id="[.kLmP/S?e;|npPP7WZN" x="-2287" y="463"> <mutation statements="false"> <arg name="TextMitSZ" varid="T0YZa/guj,^|n505HM4w"></arg> </mutation> <field name="NAME">Satzzeichen_umwandeln</field> <field name="SCRIPT">bGV0IE9obmVLb21tYXMgPSBUZXh0TWl0U1oucmVwbGFjZSgvIGtvbW1hL2csICJcLCIpOw0KbGV0IE9obmVQdW5rdCA9IE9obmVLb21tYXMucmVwbGFjZSgvIHB1bmt0L2csICJcLiIpOw0KbGV0IE9obmVTWiA9IE9obmVQdW5rdC5yZXBsYWNlKC8gZnJhZ2V6ZWljaGVuL2csICJcPyIpOw0KcmV0dXJuIE9obmVTWjs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
-
@padrino Als Hinweis:
Wenn du Alexa sagst: Alexa, sage im Wohnzimmer Alles ok (das was nach sage im Wohnzimmer gesagt wird aufgenommen!)
wird im Wohnzimmer von der Alexa dort mit Deiner Stimme: Alles ok gesagt. -
@mcu
Danke.
Ankündigungen kenne ich, sind mir aber oft zu aufdringlich.
Außerdem stammt das Ur-Blockly noch aus einer Zeit in der es die noch nicht gab.
Und schließlich, man sollte nie den Reiz einer Herausforderung unterschätzen...