Amazon Echo Remote Control

Sehr komisch. Ich habe das auch.
ABER
Für einen Test wurde die Funktion in ein var_dump() verfrachtet. Ein Einzeiler. Kein Fehler und alles passt. Dann mein „Fernseher ein/aus“ Skript ausgeführt. Bekomme ich Fehler, dass Indizes nicht definiert sind. Also wieder mein Testskript, die eine Zeile mit var_dump(). Kein Fehler. Also hab ich ein var_dump() in meine Funktion für den letzten Echo eingebaut und siehe da, kein Fehler. var_dump() rausgenommen, wieder der Fehler.
Sehr eigenartiges Verhalten.

Das ist ein Timingproblem. Das hat mit dem var_dump() eher nichts zu tun. Irgend etwas ist zu langsam. Ich habe jetzt die Abfrage des letzten Echos zwei mal hintereinander. Dann ist die Trefferquote wieder 100%.

Ich habe mir jetzt so geholfen. Wenn der Key „deviceName“ nicht existiert, dann wird die Funktion noch einmal aufgerufen.

    $Alexa=ECHOIO_GetLastActivity(26201); //ID vom EchoIO
    if (!array_key_exists("deviceName", $Alexa)) $Alexa=ECHOIO_GetLastActivity(26201);

Ich vermute, dass dies nach der api Umstellung die Anzeichen sind, dass diese Funktion bald nicht mehr zur Verfügung steht.
Ihr müsst bei häufigen Abfragen von GetLastActivity auch berücksichtigen, dass im Modul schon eine Sperre eingebaut ist, damit nicht in kürzeren Intervallen als 2 Sekunden abgefragt werden kann. Wenn ihr zusätzlich zur zyklischen Abfrage des Moduls den Befehl selbst noch ausführt, werdet ihr in diese Sperre laufen und entsprechend nichts zurück bekommen.

Guten Morgen
Seit gestern Abend geht gar nichts mehr. In meiner Splitterinstanz habe ich die Abfrage deaktiviert gehabt.
image
Die Funktion ECHOIO_GetLastActivity liefert nur mehr ein leeres Array.
Was macht eigentlich diese Einstellung?
image

Das ist das Intervall, indem globale Geräteinformationen abgerufen werden, die vom Modul benötigt werden. Das sind z.B. Capabilities und auch Lautstärke und Online-Status aller Echo’s.

Es gibt jetzt eine neue BETA in der eine andere API zur Abfrage der letzten Aktivität verwendet wird. Diese hat auch den Vorteil, dass weitere Informationen (z.B. der Antworttext und die erkannte Person) im Array zur Verfügung stehen.

1 „Gefällt mir“

Wow, genial. :smiley:
Da kommt wieder was

array(11) {
  ["id"]=>
  string(58) "A3QVAWNSPHWZUO#1698208442179#A7WXQPH584YP#G2A0P308801402TN"
  ["timestamp"]=>
  float(1698208442,179)
  ["timestampMilliseconds"]=>
  int(1698208442179)
  ["deviceType"]=>
  string(12) "A7WXQPH584YP"
  ["serialNumber"]=>
  string(16) "G2A0P308801402TN"
  ["deviceName"]=>
  string(10) "Wohnzimmer"
  ["utteranceType"]=>
  string(7) "GENERAL"
  ["intent"]=>
  string(10) "ThrowTreat"
  ["utterance"]=>
  string(18) "sag furbo leckerli"
  ["response"]=>
  string(32) "Furbo hat ein Leckerli geworfen."
  ["person"]=>
  string(0) ""
}

Ein kleiner Wusch :smiley:
Könnte dein Modul alle diese Daten unter der Splitter Instanz anlegen und befüllen? Eventuell, für jene die das nicht wollen, deaktivierbar in der Konfiguration der Splitterinstanz.

Ein Dickes Danke

Es gibt ein neues Update im BETA Kanal, bei dem mehr Variablen zur letzten Aktivität angelegt werden.

Hinweis: Person steht erst etwa 20s nach der Aktivität zur Verfügung, daher ist dieser Wert unmittelbar nach einer Aktivität leer.

Ich filtere die Aktivitäten, damit nur diejenigen angezeigt werden, die auch durch einen echten Sprachbefehl ausgelöst wurden (also keine, die innerhalb einer Routine oder durch das Modul selbst ausgelöst wurden).

5 „Gefällt mir“

Guten Abend,
ich kann wie auf der Doku angewiesen so keinen Code erzeugen:

Ergebnis nach dem Einloggen:

Ich glaube, der Grund dafür ist, dass Amazon die Webseite alexa.amazon.de abgedreht hat.

Der Token sollten nach dem Einloggen in der Konsole erscheinen - nicht im Browser! Am besten nochmal alle Schritte genau ausführen.
Bei mir hat es heute mit der Methode weiterhin funktioniert.

Es gibt eine neue Version auf dem STABLE-Kanal:

Version 2.4 (2023-10-29)

  • Neu: Musikwiedergabe auf Multiroom-Gruppen mittels PlayMusic() und Favoriten

    • Hinweis: Wird Musik auf einer Multiroom-Gruppe gestartet, erfolgt die Anzeige und Steuerung nur in der Instanz der Multiroom-Gruppe und nicht mehr in den Instanzen der Einzelgeräte.
    • Sonstige Befehle an Multiroom-Gruppen werden nur auf dem ersten Einzelgerät ausgeführt, wenn der Befehl nicht Multiroom-fähig ist.
  • Letzte Aktivität und letztes Gerät:

    • Change: Letzte Aktivität wird wieder zyklisch über neue API abgefragt (ggf. in EchoIO-Instanz aktivieren), da Websockets nicht mehr unterstützt werden. Der WebSocket-Client (seit 2.3) kann nach dem Update manuell gelöscht werden.
    • Neu: Variablen für Antwort, Person (Anzeige ca. 20 Sekunden verzögert), Intent und Zeit der letzten Aktivität
    • Fix: Wenn mehrere Echo-Geräte einen Sprachbefehl erkannt habe, werden nur die Variablen LastDevice und LastAction des Gerätes aktualisiert, das die Aktion auch tatsächlich ausgeführt hat
    • Fix: GetLastActivity liefert wieder deviceName zurück
    • Change: Variable LastDevice ist nun vom Typ String: Variablen-Wert:DeviceSerial, Profil-Wert:Gerätename
  • Variablen und Profile:

    • Neu: Nicht benutzte Variablenprofile werden automatisch gelöscht
    • Fix: Assoziationen von Variablenprofilen werden nur noch dann neu gespeichert, wenn sie sich geändert haben
    • Fix: Bevor Variablen-Werte gesetzt werden, wird geprüft, ob die Variable existiert
    • Change: Variable Remote verwendet nun das Profil ~PlaybackPreviousNextNoStop
    • Change: Namen von Variablenprofilen vereinheitlicht
  • Sonstiges:

    • Fix: UpdateStatus verlässt Semaphore nun korrekt
    • Fix: Nutze namespaces um Konflikte mit anderen Modulen zu vermeiden
    • Echo Pop zu Konfigurator hinzugefügt
1 „Gefällt mir“

Ich habs mindestens 5 x probiert. Leider immer das gleiche, wieso weiß ich nicht :frowning:

Ich muss einen Verifizierungscode aus einer Email eingeben. Aber nach dem Bestätigen passiert leider im Konsolenfenster nix.

Moin in die Runde,

nachdem ich das Modul über den Store geupdatet habe, bekomme ich folgende Fehlermeldung(en) …

07.11.2023, 17:34:03 | KernelMT             | InstanzManager: Fehler bei Instanz #34354, Meldung IPS_KERNELMESSAGE: 
Warning: count(): Parameter must be an array or an object that implements Countable in C:\ProgramData\Symcon\modules\.store\fonzo.ipsymconechoremote\Echo Device\module.php on line 1692

Warning: Invalid argument supplied for foreach() in C:\ProgramData\Symcon\modules\.store\fonzo.ipsymconechoremote\Echo Device\module.php on line 1693

Ich bin auf IPS Version unterwegs …

IP-Symcon 6.4, Windows (amd64), 01.06.2023, 9aaa5e71e494

Danke,
Grüße
Thomas

Wenn die nur nach dem Update gekommen sind, würde ich sie ignorieren

Hallo.

Hört jemand hier auch den Sender Bayern 3?

Wenn ich sage „Alexa, spiele Bayern 3“ dann will sie den Bayern 3 Skill aktivieren. Könnte ich ja auch noch mit leben. Aber wenn der aktiv ist dann wird die Variable „Remote“ nicht auf „Play“ oder „Pause“ aktualisiert.

Wenn ich sage „Alexa, spiele Bayern 3 von TuneIn“ dann funktioniert alles so wie es soll.

Ist das nur bei mir so?

Grüße.

Ist auch bei Ö3 so. Wenn ich sage „spiel Ö3“ kommt dieser schrottige Skill daher. Daher auch immer „Ö3 von TuneIn“. Ich könnte mir vorstellen, dass das System zuerst nachsieht, ob es einen Skill mit dem Namen gibt und wenn ja, dann nimmt er diesen her. Wenn nicht, dann TuneIn.
Du könntest versuchen eine Routine anzulegen.

Mit einer Routine kann man das Problem umgehen. Danke für den Hinweis.

Moin,
nach dem Wechsel meiner Internetverbindung (jetzt FTTH) wollte die Remote-Tante sich nicht mehr anmelden.
Also habe ich einen neuen Cookie erzeugt (stumpf nach Anleitung, kein Problem).
Aber es geht immer noch nicht …

Was mache ich falsch?
Grüße, Uwe