Amazon Echo Remote Control

Das geht nicht.
Du könntest einen Zwischenstecker montieren und den Echo über z.b. einen Wochenplan aktivieren und deaktivieren. Also den Strom wegnehmen.

Moin @hirschbrat ,

gibt es außer „Echo IO ab- und anmelden“ zu tun, damit „Letzter Befehl“ wieder Daten bekommt? Hier hatte sich ja irgendwas geändert. Wenn ich getlastactivity aufrufe wird „Letzter Befehl“ aktualisiert, aber es passiert nicht von alleine. Einen Tipp?

Seit der letzten Version muss die letzte Aktivität immer manuel bei Bedarf mit GetLastActivity abgefragt werden, da das Polling zu häufig zu Fehlern geführt hat.

Es gibt dafür seit der neuesten Version zwei neu Möglichkeiten, die das etwas vereinfachen sollen. Bei beiden ist das Symcon Alexa Modul erforderlich, das dann GetLastActivity triggert:

  1. Im Symcon Alexa Modul kann (z.B. bei Szenen) die neue Aktion „Führe Aktion in Abhängigkeit vom zuletzt angesprochenen Echo-Gerätes aus“ verwendet werden. Damit diese Aktion angezeigt wird, ist als Ziel das EchoIO auszuwählen.
  2. Das EchoBot Modul verwenden. Hier muss in der Routine (in Alexa App) GetLastActivity getriggert werden. Wie man das einrichtet steht in der Doku zum Echo-Bot.
1 „Gefällt mir“

Danke, das hilft mir

Hallo, ich verwende das EchoRemote2 Modul. Alexa hört mich und übernimmt auch die hinterlegten Szenen, aber die Variablen werden seit 2,5 Wochen nicht mehr aktualisiert., obwohl ich angemeldet bin und der Token auch nicht abgelaufen ist:

Das hat zur Folge, dass die Ausgabe nicht mehr aus dem Gerät kommen kann, welches ich anspreche.

Hab aktuell 7.1 vom 25.3.

Ich bekomme es leider nicht hin, welche Anpassungen ich vornehmen muss. Bei mir wir ein Skript gestartet (im Alexa Modul unter Szenen), der das „letztes Gerät“ auswertet und auf diesem dann die Antwort gibt.

Gruß oekomat

das ist der entscheidende Punkt ohne dass man viel anpassen muss IPSymconEchoRemote/EchoBot at master · roastedelectrons/IPSymconEchoRemote · GitHub

Szene wie beschrieben anlegen und diese in der Alexa App vor jeden Skriptaufruf schieben.

1 „Gefällt mir“

Hi,
ich benutze seit Jahren direkt ECHOIO_GetLastActivity in jeder Szene um gezielt reagieren zu können.

Ralf

Hallo,
auch wenn ich wahrscheinlich wieder von vorne anfange.

Ich habe Probleme mit der Installation der Echoremote2 Module.

Es wird mir kein Refresh Token erzeugt.

folgende Einstellungen:

IPsymcon: Webserver auf 192.168.XXX.XX:82
weiterer Webserver auf localhost:8080

Auf Amazon Dev. seite Allowed Origins auf 127.0.0.1:8080

Das Prog. Cooki CLi gibt mir auch 127.0.0.1:8080/ aus.

Sobald ich diese Adresse in den Browser gebe, bekomme ich folgende Meldung:

{
„code“: „1-11“,
„msg“: „Invalid url.“
}

Amazon ist auf 2 Faktor umgestellt.

Trotz Tagelangen CHATGPT und lesen dieser Diskussion habe ich leider keine Ahnung, was ich machen soll.

Grüße,
Stefan

Hallo zusammen,
vielleicht könnt ihr mir helfen.
getLastActivity() hat bis vor ein paar Wochen funktioniert, aber seit einiger Zeit bekomme ich von den Alexas keine Antwort mehr und im Skript bekomme ich beim Aufruf von

$lastRequest = (ECHOIO_GetLastActivity(12345));

diese Fehlermeldung:

Fatal error: Uncaught TypeError: AmazonEchoIO::GetCustomerHistoryRecords(): Argument #2 ($endTime) must be of type int, float given, called in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php on line 1147 and defined in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php:1239
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php(1147): AmazonEchoIO->GetCustomerHistoryRecords(0, 1719518543000.0)
#1 /var/lib/symcon/scripts/__generated.inc.php(2291): AmazonEchoIO->GetLastActivity()
#2 /var/lib/symcon/scripts/13102.ips.php(31): ECHOIO_GetLastActivity(37338)
#3 {main}
  thrown in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php on line 1239

Da steht ja relativ klar was falsch läuft, aber das kann ich ja nicht beeinflussen.
Ich hab gerade Symcon auf die aktuellste Version gehoben und das Modul auch nochmal neu installiert (V 2.5 #42) + Wechsel auf den Beta Kanal und ab + anmelden.
Hilft leider alles nix :slight_smile:

ECHOREMOTE_TextToSpeech funktioniert wieder, seitdem ich es auf ECHOREMOTE_TextToSpeechEx(…) mit den zusätzlichen Attributen geändert habe.

Vielleicht hat ja einer von Euch ne Idee - meine eigene Dummheit will ich nicht ganz ausschließen :innocent:

Danke und viele Grüße
Chris

Ich würde mal vermuten, dass du noch auf einem 32 Bit System unterwegs bist. Da kommt es dann bei den großen Timestamps zu einem Überlauf der Integer, sodass es automatisch zu float gewandelt wird. Da seit der letzten Version aber alle Funktionen TypeHints haben kommt es nun zu diesem Fehler.

Danke für die schnelle Antwort!
Das ist leider nicht so, obwohl ich das erst mal prüfen musste…
Raspi 4 mit 8 GB RAM

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

vom OS häng ich noch etwas hinterher

Zeig mal die Ausgabe von dem PHP Script in Symcon:

echo PHP_INT_MAX;

Michael

Habe mal eine Beta mit ein paar Anpassungen hochgeladen.
Poste aber dennoch bitte mal die Ausgabe, wie von Nall-chan beschrieben - vermute schon, dass es irgendwie daran liegen müsste.

Hi Michael,
dachte schon das Ergebnis wäre 42 :joy:

Die Ausgabe ist: 2147483647
Gruß
Chris

Hab gerade Das Modul nochmal neu installiert und nun ist der Fehler weg!
Deine Änderungen haben scheinbar geholfen!!!

Ja, zumindest dein PHP in IPS kann nur 32bit Integer verarbeiten, daher kam das Problem

Sagt’ mal,
kann man irgendwie als „Text“ sehen, was zu Alexa gesprochen oder noch besser, was sie über die Echo’s ausgegeben hat?

Mich wundert es, das hier alle Variablen immer leer bleiben?

Hintergrund für mich wäre, da die Alexa-Einkaufsliste wohl nicht mehr mit MS toDo zusammen arbeitet, mir selber eine Verknüpfung zu erstellen.

Warum sind die Variablen unter der AmazonEchoIO Instanz immer leer oder muss ich die noch irgendwie aktivieren?

Danke u. viele Grüße,
Doc

Du muss das selbst abrufen mittels ECHOIO_GetLastActivity( ID_ECHOIO ). Aber nicht zu häufig abfragen, sonst wird’s geblockt.

Edit: Du kannst aber in einer EchoDevice Instanz auch eine Variable für die Einkaufsliste anlegen, dann müsstest du da auch alles drin sehen.

OK danke,
aber was heißt „zu häufig“?

Könnte ich das ggf. auch durch eine „Aktivität“ der Echo’s triggern?

Nein das ginge nur bei Dingen, die man aus dem Symcon Alexa Modul schalten kann.

GetLastActivity ist nicht (mehr) für zyklische abfragen geeignet - daher solltest du einen anderen Weg gehen.

Wie gesagt, ist die Shopping Liste bereits im EchoDevice Modul integriert - sie dir dazu mal die Doku an. DIe List müsste als VArible verfügbar sein oder kann manuell mittels ECHOREMOTE_GetToDos abgefragt werden.