NEWS
Ansage über Alexa läuft im Skript nicht zuverlässig
-
Hallo,
Ich hab diverse Versuche unternommen, leider klappt das Skript immer noch nicht .
Ich möchte über Alexa ein Feedback per Sprache , dass ein Skript angeschaltet wurde. Die Ansage bei Aktivierung kommt häufig nicht.Folgendes Skript:
Kann einer einen Fehler sehen ,der das g
ganze erklären könnte ?Update : irgendwie scheint Alexa diverse Dinge nicht mehr sprechen zu wollen, die zuvor gingen.
Viele Grüße
-
Hat denn keiner eine Idee? Also Alexa sagt mittlerweile manchmal gar nichts, manchmal die Ansage doppelt.
Habe dabei alle anderen Skripte aus, die auf Alexa Zugriff hätten. Vor einigen Tagen ging es noch ganz gut. -
@smarthome2020 sagte in Ansage über Alexa läuft im Skript nicht zuverlässig:
Ich möchte über Alexa ein Feedback per Sprache , dass ein Skript angeschaltet wurde.
In Deinem Blockly steuerst Du aber scriptEnabled und prüfst nicht nur den Status, also Du schaltest das Script/Blockly damit ein oder auch aus.
Wenn Du nur eine Ansage dafür haben willst, wenn ein Script/Blockly ein/ausgeschaltet wird, dann überwache diesen Datenpunkt (also diesen DP als Trigger) und lasse Dir das dann ansagen. -
@dslraser Guter Punkt.
Ich hab für einen einfachen Versuch mal folgendes Skript gebaut. Problematik bleibt hier auch, dass Alexa ab und an einfach nicht das sagt, was sie soll.
Der Trigger ist dabei der Bewegungsmelder. Ich höre dann, dass der Echo was macht. Also die Lautstärke wird angepasst, was man durch Töne vom Echo mitbekommt .
Nur sagt Alexa dann nichts:Vllt hat @paul53 ja eine Idee
?
-
Also mir lässt das ja keine Ruhe. Ich habe nun die Skripte ausgedünnt.
Ich hab mal das Speichern der ursprünglichen Lautstärke in einem Datenpunkt sowie das Anpassen der Lautstärke für die Durchsage von Alexa und das Zurücksetzen auf den vorherigen Wert weggelassen. Nun klappt es erst einmal. Ich finde den Teil jedoch elementar.
P.S.:Die Reihenfolge in dem Screenshot ist nicht die richtige für die Lautstärkeanpassung .
-
Hat keiner eine Idee???
-
@smarthome2020 ich denke du möchtest erreichen das Alexa sagt das der Kater zu Hause ist.
Arbeite mit den Triggerblock und dann falls Objekten. Dann mit speak und Textbausteinen und mit volume alles über den Alexa Adapter steuerbar. Verzögere das speak und setz vorher das volume mit Zahl.
Die schreiben Objekt Blöcke brauchst du nicht. -
Scripte anhalten oder starten sollte man generell nicht machen via Script. Scripte sollten IMMER laufen wenn sie betrieben werden.
Vielleicht beschreibst du mal kurz, was wann passieren soll, das ist nicht so ganz offensichtlich in deinem Blockly ... etwas Chaoos ...
Dann kann man dir sicher was brauchbares zusammen basteln.Nen Ansatz habe ich erkannt ... wenn Bewegungsmelder auslöst und Tür zu ist, soll Meldung kommen das die Katze zuhause ist ja ... vorher die Lautstärke vom Eco anpassen... verstehe das mit dem "Echo Gesamt" irgendwie nicht und das du zwei mal nen Volume Datenpunkt auf 40 ansteuerst ... soll er alle Echo Volume verändern, auf allen sprechen ?
-
@smarthome2020
Soweit ich das sehe, läuft das alles durcheinander wenn der Bewegungsmelder innerhalb von 10 Sekunden 2 mal true wird. Keine Ahnung wie schnell der hin und her schaltet. Du solltest auf jeden Fall etwas einbauen, dass den mehrfachen Aufruf des Skriptes durch den Auslöser (Bewegungsmelder) verhindert. -
Ach du speicherst die aktuelle Lautstärke um sie nachher wieder zurück zu setzen,
wenn ich das richtig erkannt habe ? Dazu solltest du am besten Variablen nutzen.Hier sind jetzt so viele Blockly Bilder am Start, man weiß garnicht was du vor hast oder wie dein aktueller Stand ist. Erklär doch mal eben was du eigentlich vor hast, dann brauchen wir nicht weiter spekulieren
-
@smarthome2020
Hi, ich würde an deiner Stelle eine anderen Ansatz wählen und das ganze über zwei Scripte machen. Eins für die Sprachausgabe und ein weiteres für das "Kater" Script. Wir haben so was ähnliches im Einsatz:Sobald der BW-Melder eine Bewegung registriert wird ein Text in die Variable "Alexa_Ansage" geschrieben.
Das Ansage-Script reagiert dann auf die Änderung der Variable und gibt deren Wert als Ansage aus. Am Ende des Ansage-Script wird dann die Ansage-Variable wieder auf leer gesetzt. Mit dem Ansage-Script gebe ich übrigens alle meine Ansagen im Haus aus.Ansage:
BW-Melder für Katzen:
Das mit dem Zwischenspeichern der alten Lautstärke kanns du z.B. so machen