Hi kabelbinder
Das wäre vermutlich das richtige für dich.
Es ist ein hilfs Skript dass du in dein Skript einbauen kannst.
Der "speak" wird quasi durch dieses Skript ersetzt und so wird dann nur die jeweilige Alexa antworten die gerade gefragt worden ist.
Als erste einen Datenpunkt "Sprachausgabe letzte Alexa" erstellent:
schimmer-media.de/index.php?attachment/4571/
schimmer-media.de/index.php?attachment/4572/
Anstatt in den Scripten direkt die Befehle dann an eine Alexa zu schicken, schreibe ich in das Objekt:
z.B.
Dieses Objekt wird überwacht in einem anderen Script, damit ich es aus anderen Scripten auch immer wieder nutzen kann und nicht immer kopieren muss. Dadurch muss man es nur an einer Stelle pflegen. Das Script sieht wie folgt aus:
schimmer-media.de/index.php?attachment/4573/
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on_ext" id="=Rr)|[)P=/xSw[*p@HAX" x="-462" y="288">
<mutation items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="Amf/[+*S8sR%.#b31ayi">
<field name="oid">Sprachausgabe.0.Letzte_Sprachausgabe_von_Alexa</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="control" id=";9XVOQW:Za?a%#}!jb5X">
<mutation delay_input="false"></mutation>
<field name="OID">alexa2.0.History.#trigger</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="!{/J-6pI{;~rk~s04LDv">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="wsThwEex*II(Yn}cXajO">
<mutation delay_input="true"></mutation>
<field name="OID">alexa2.0.History.#trigger</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">2000</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="V%-i{ka^,bh:C+Tc]jyJ">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="timeouts_settimeout" id="*/?y2c@I)lXNsOu)f~Zz">
<field name="NAME">timeout</field>
<field name="DELAY">1500</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="variables_set" id="rrPD^;I0++7:]6p*8Zjq">
<field name="VAR">Sprachtext</field>
<value name="VALUE">
<block type="get_value" id="jSl.:PhYlqM*Y0L[b+mI">
<field name="ATTR">val</field>
<field name="OID">Sprachausgabe.0.Letzte_Sprachausgabe_von_Alexa</field>
</block>
</value>
<next>
<block type="debug" id=",fip40DeIy+2,-7Tb!/c">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="3tC#-/];_h-R^y#BO)[{">
<field name="TEXT">Script letzte Alexa gestartet</field>
</shadow>
</value>
<next>
<block type="controls_if" id="t#8|40K?P{ZDhH%PJGMk">
<mutation elseif="2"></mutation>
<value name="IF0">
<block type="logic_compare" id="57gw*G[!F4]~y^XDc=%a">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="za9FJZv^BRDuvdwjh_q|">
<field name="ATTR">val</field>
<field name="OID">alexa2.0.History.name</field>
</block>
</value>
<value name="B">
<block type="text" id="{LJOE%,A-L9N~FkJNh:r">
<field name="TEXT">Franz</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="_mED?~X#!N#UCZ43:~/]">
<mutation delay_input="false"></mutation>
<field name="OID">alexa2.0.Echo-Devices.G090LF0964840RAC.Commands.speak</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="}z3JULu#fO]#7JA?L%Ue">
<field name="VAR">Sprachtext</field>
</block>
</value>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id=").}Ec))QbwH{LaG:HwI8">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="2e[q+?fyj|(cw9[ZB8d{">
<field name="ATTR">val</field>
<field name="OID">alexa2.0.History.name</field>
</block>
</value>
<value name="B">
<block type="text" id="rv.;Y]U!wD;l}:EDEHXy">
<field name="TEXT">Rosemarie</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="control" id="NUUNkwtm15knVPLfM_8s">
<mutation delay_input="false"></mutation>
<field name="OID">alexa2.0.Echo-Devices.G090L90964350EPM.Commands.speak</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="bJSmR5Q`sBTV#)I)b]q|">
<field name="VAR">Sprachtext</field>
</block>
</value>
</block>
</statement>
<value name="IF2">
<block type="logic_compare" id="CTyZKs%phce[{X*[G!e?">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="D61[V%rATChI2ijgfP25">
<field name="ATTR">val</field>
<field name="OID">alexa2.0.History.name</field>
</block>
</value>
<value name="B">
<block type="text" id="rq`-g3ytg.M|`/LN+!eh">
<field name="TEXT">Schlafzimmer</field>
</block>
</value>
</block>
</value>
<statement name="DO2">
<block type="control" id="FlyR4JIkJ0+0/v0}*^ra">
<mutation delay_input="false"></mutation>
<field name="OID">alexa2.0.Echo-Devices.G090L910721512JR.Commands.speak</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id=".GIg0[7@kpdXj{;b;ton">
<field name="VAR">Sprachtext</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
Alles anzeigen
Der "Speak" befehl ist dann natürlich der, wo der letzte Befehl gesprochen worden ist.
Ich hoffe es dass ich dir deine Frage damit beantworten konnte.