(War einige Tage außer Haus, daher erst jetzt die Rückmeldung).
In der Kerninstanz Amazon Alexa ist unter Szene „TriggerEchoBot“ vermerkt "Führe erweiterte Instanzfunktion aus „Trigger EchoBot“, delay 0, „Speichere Rückgabewert …“ disabled.
Die Szene ist in Alexa hinzugefügt und mit dem Entsprechenden Satz verknüpft.
Im Baum existiert dann eine Echo Bot Instanz. Die Routinennamen sind alle hinterlegt, und ich kann die passende Auswählen.
Ausgewählt als Aktion ist „Text-to-speech Antwort (erweitert)“. Darin baue ich mir in einem String zusammen. Wenn ich den String in einem Skript einbaue und mit Echoremote_TextoSpeech auf einem Gerät ausgebe, funktioniert das auch.
Wenn ich über die „Teste Aktion“ versuche, bekomme ich den angezeigten Fehler. Wenn ich es über Alexa selbst versuche, sehe ich im Log „Kann daten nicht zur Instanz weiterleiten“.
Ok, es geht um den EchoBot.
Werden die Variablen der letzten Aktion (unter EchoIO) korrekt aktualisiert, wenn du die Routine mittels Sprachbefehl startest?
Kannst du mal das Skript zeigen, dass du in der EchoBot Instanz hinterlegt hast?
Unter Echo IO (Splitterinstanzen) habe ich korrekt:
Letzte Aktivität (das Gerät das ich anspreche)
Zeit - (ist korreket)
Befehl - Die Routine bzw. Befehl den ich ausführe
Antwort = Leer
Intent = InvokeRoutineIntent.
Das Skript:
?php
// Note:
// - always return the text message as string!
// - information about the last activity is available in $_IPS
$Batterieladung = GetValue(35729);
$Batterieentladung = GetValue(23029);
$Einspeisung = GetValue(59470);
$Bezug = GetValue(32285);
ok, das auf den ersten Blick erstmal gut aus.
In der EchoBot Instanz kann man ja auswählen auf welchem Gerät die Test-Aktion ausgeführt werden soll. Kommt der Fehler auch bei anderen Geräten?
Ich kann diesen Fehler leider nicht nachstellen. Du hast ja geschrieben, dass es funktioniert, wenn du den String in einem eigenen Skript zusammenbaust und per direktem Aufruf von EchoRemote_TextToSpeech abspielen lässt.
Kannst du im EchoBot als Aktion mal „Skript ausführen“ einstellen und dann dein Skript dort auswählen und damit mal testen ob es geht?
Sofern das funktioniert, ändere in deinem Skript den TTS Befehl (der ja eine fixe InstanzID enthält) in:
@hirschbrat sag mal, die Echos haben ja einen Temperatursensor (jedenfalls ist es mir heute aufgefallen weil noch in Fahrenheit war) - kann man die über AlexaSmartHome Device abgreifen? Da könnte ich mir auch vorstellen das zu pollen Muss ja nicht im sekunden/minuten Takt sein.
Ja, du kannst eine weitere Instanz des Echos als AlexaSmartHome Device (aus dem AlexaSmartHome Konfigurator - nicht aus dem Echo Konfigurator) anlegen, dann wird automatisch auch eine Temperaturvariable angelegt, falls vorhanden.
Abfrageintervall ist minimal 15 min.
Danke, ich habe ja 2 Accounts zu laufen. Beide funktionieren bei den Echos. Der Konfi vom 1.Account (hatte ich schon vor längerem installiert) bringt auch alle Geräte, aber der neue vom 2.Account bleibt leer - muss man da noch was machen?
Mangels zweitem Account konnte ich das noch nicht nachstellen. Der Screenshot sieht erstmal ok aus. DU müsstest mir doch noch den ganzen Debug zukommen lassen, damit ich nachsehen kann, ob da Geräte drin sind.
Du kannst danach auch mal probieren einen Konfigurator zu löschen und den vebleibenden nacheinander jeweils an den anderen EchoIO zu hängen und gucken ob, das Verhalten so bleibt.
Habe gerade einen neuen Echo-Studio installiert. Kann es sein dass das Modul den noch nicht kennt? Hat den Device-Typ A2O2CEO9STBQID und erscheint in der Konfigurator-Liste bei Device-Typ als unknown: A2O2CEO9STBQID. Ich kann das Gerät ganz normal einbinden und es scheint auf den ersten Blick zu funktionieren. Hat das seitens der Funktionen irgendwelche Konsequenzen oder Einschränkungen?