Amazon Echo Remote Control

Das reicht aber eben schon, dass du geblockt wirst. Nimm die Schleife mal raus und deaktiviere alle LastActivity Abfragen für 1-2 Tage und probier es dann erneut.

Na mal schauen, ob es wirkt.
Ganz versteh ich es trotzdem nicht. Entweder geht alles oder nichts. Es funktioniert ja auch das Update bei den Echos.

Nein es gibt hier kein alles oder nichts. Im Modul werden unterschiedliche API’s und Endpunkte verwendet. Die History kommt von der Website, zu häufige Anfragen werden da schneller geblockt - andere Funktionen müssen dadurch nicht beeinträchtigt sein.

Ah, ok. Dann ist es mir klar. Danke.

ich habe noch eine andere Möglichkeit gefunden, alle Einträge der Einkaufsliste zu laden. Probier mal die neue BETA aus

Sehr cool, vielen Dank! Das scheint zu funktionieren. Top!! Ob es bei der To-Do Liste auch diese Beschränkung gibt, das habe ich noch nicht getestet

Hi,
ich benutze ECHOIO_GetLastActivity() seit Jahren um in dem Zimmer zu reagieren wo ich einen Spruch abgelassen habe und musste noch nie eine Schleife benutzen.

So sieht z.B. mein Script aus um Fernsehen in einem meiner Zimmer einzuschalten:

<?php
switch ($_IPS['SENDER']){
    case "WebFront":
    case "Action":
    case "VoiceControl":
        SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
        $status = $_IPS['VALUE'];
        break;
    default:
        return;
}
//$room = GetValue(16733);
$room = 0;
IPS_Sleep(1000);
$activity = ECHOIO_GetLastActivity(17337);
if ($activity == NULL) return;
$echo = $activity["deviceName"];
$utterance = $activity["utterance"];
IPS_RunScriptEx(59691 , Array("SENDER" => "RBsoft", "Betreff" => "Sat:", "Text" => $echo . ' ' . GetValue(34752), "Sprache" => 0, "Mail" => 0, "Enigma2" => 0, "LogFile" => 1));
if (($room == 1) || (strpos($echo, 'HK', 0) !== false)){
    RequestAction(33439, $status);
}
if (($room == 2) || (strpos($echo, 'SZ1', 0) !== false)){
    RequestAction(31634, $status);
}
if (($room == 3) || (strpos($echo, 'SZ2', 0) !== false)){
    RequestAction(28929, $status);
}
if (($room == 4) || (strpos($echo, 'WZ1', 0) !== false)){
    RequestAction(31501, $status);
}
if (($room == 5) || (strpos($echo, 'WZ2', 0) !== false)){
    RequestAction(31309, $status);
}
?>

Am Anfang meiner Echos habe ich immer ein Kürzel für das Zimmer. $utterance = $activity[„utterance“]; frage ich nur ab um darauf vielleicht auch zu reagieren wenn ich mal Lust habe. Der Gag ist IPS_Sleep(1000); vor der Abfrage da es einige Zeit dauert bis die richtige Information vorliegt. 1000 ist vielleicht etwas viel aber so hatte ich noch nie einen Fehler.

$room ist von früher als ich auf BWMs reagiert habe.

Ralf

Das verwende ich auch. Ebenfalls aus den selben Gründen. Die Schleife hab ich eingebaut, weil es hin und wieder vorgekommen ist, dass beim ersten mal nichts zurückkommt, weil z.b. der angesprochene Echo noch nicht zurückgemeldet hat, dass er angesprochen wurde. Also die Daten aufseiten von Amazon nicht aktuell waren. Ich denke in 99,9% der Fälle hat das beim ersten mal funktioniert.

Das ist interessant zum csrf-token: Cross-site Request Forgery | Login with Amazon
Ich wurde in keinster Weise genötigt, einen Link anzuklicken :wink:

So wie es aussieht, ist mein csrf Token leer. Die Funktion getCsrfToken() liefert nichts.

Mir ist noch etwas aufgefallen. In den jeweiligen Instanzen kann man sich optional eine Variable für den Online-Status anlegen lassen. Dieses funktioniert allerdings nicht richtig. Diese wird zwar alle 60sek. aktualisiert, bleibt jedoch im Status true (Online).

die Anzeige des offline-status ist etwa 10min verzögert

Danke! Dann weiß ich bescheid das man mal länger warten muss!

Seit heute funktioniert es wieder. Ich habe gestern noch mit @hirschbrat geschrieben und dann noch etwas bei mir deaktiviert. Es wird minütlich der Loginstatus der EchoIO-Splitterinstanz geprüft. Auch der Instanzensttaus (Aktiv oder Fehler). Bei Fehler wird die Instanz deaktiviert und wieder aktiviert. Was natürlich auch ein neuerliches Login verursacht. Die Prüfung vom Loginstatus habe ich schon lange und das hat nie Probleme gemacht.
Mal schauen.

Hallo zusammen, ich hätte auch eine Frage zu Echo Remote Control 2 (Beta).

Ich habe 2 Echo Studios und einen Sub verbunden zu einer Gruppe. Das Modul ist klasse und ich kann, nachdem ich etwas experimentiert habe, jetzt die Befehle gut verwenden. Ich weiß wann ich die Gruppe ansprechen muss, wann ich einzelne Studios ansprechen muss, um z.B. Textansagen zu machen. Das funktioniert jetzt sehr gut.

Folgende Frage hätte ich. Wenn ich eine playlist aus amazon abspiele, wird mir, bei Verwendung des Befehls

$array = ECHOREMOTE_GetPlayerInformation(GetValueInteger(52830));
//$title = @$array[‚playerInfo‘][‚infoText‘][‚title‘];
echo print_r ($array);

der Musiktitel , wenn 52830 die Gruppe ist bestehend aus den 2 Echo Studios und dem Sub im Array angezeigt.

Wenn ich einen Sender über Tuneln abspiele, erhalte ich nur Informationen über den Sender, nicht aber über das Lied. Vor einem Jahr gab es da auf der Amazonplattform schon Diskussionen. Jetzt weiß ich nicht, wird der Musiktitel unter der Konstellation nicht angezeigt, weil Amazon es nicht liefert oder hängt das an Echoremote2 . Bei einem einzelnen anderen Amazon Gerät, wird übrigens der Titel geliefert.

Vielen Dank im Voraus für eure Erfahrung und Antwort.
Aloys

Es gibt eine neue Test-Version - diesmal auf dem TESTING-Kanal. Um Zugriff auf diesen Kanal zu bekommen, müsst ihr mir eine PM mit eurer Email-Adresse schicken, damit ich euch freischalten kann.

Version 2.6 (2024-09-28)

  • Neu: Modul für Alexa Einkauf- und Aufgabenlisten
    • Einträge hinzufügen, abhaken und löschen per Skript und TileVisu
    • Eigene Darstellung für Tile-Visualisierung
    • Link zur Doku

Hinweis: Ich habe schon gemerkt, dass die Darstellung und Skalierung in der Tile-Visu je nach Gerät und Browser sehr unterschiedlich ausfällt. Hier benötige ich Unterstützung von jemandem, der sich schon besser mit dem HTML-SDK auskennt.

image

Mahlzeit :slight_smile:
Ich habe eben gesehen, dass es in der Alexa App nun endlich die Möglichkeit gibt das Gerät neu zu starten. (Wäre praktisch)


Und auf der Geräteinstanz könnte man vllt das Gerät über die Funktion „ECHOREMOTE_SetDeviceSettings“ mit dem passenden mir nicht bekannten „settingName“ neu starten.
Hat da jemand ne Idee ob das gehen könnte.
Ich finde nur → Device Settings REST API Reference | Alexa Skills Kit aber das hilft mir nicht weiter. Vllt Hast du @hirschbrat ne Idee?
Grüße
Sascha

hi,
seit ein paar tagen bekomme ich alle 10sec diese Meldung

27.10.2024, 10:04:18 | AmazonEchoIO | HttpRequest: Bad Request (400): Customer id can not be null or empty.

sagt einem von euch das was ?

Ich habe eine Frage zu ECHOIO_GetLastActivity.
Ich kann zwar über ECHO BOT Fragen an den Echo mit einem Wert beantworten lassen,
aber ich kann die Funktion ECHOIO_GetLastActivity nicht verwenden.

Script

<?php
print_r(ECHOIO_GetLastActivity(34589));
?>

Fehlermeldung

Notice: Too many requests! in C:\ProgramData\Symcon\modules.store\fonzo.ipsymconechoremote\Echo IO\module.php on line 708
Array
(
)

Screenshot

Ich habe noch nie ein Ergebnis (Array) mit dieser Funktion erhalten.
Wer hat einen Tipp für mich?

Wenn die Variablen unter der Splitter Instanz befüllt werden, könnte ich auch damit leben. :slight_smile:

Screenshot

BG Günter

Das selbe Problem hab ich auch. Ich habe da eventuell den Bot im Verdacht, da ich schon seit Wochen keine letzte Aktivität mehr abfrage.
Ich schau mir das bei mir mal an und versuche den Bot wieder rauszuschmeißen.

Sehr oft die letzte Aktivität abzufragen blockt Amazon irgendwann. Ich benutze es nur noch wenn ich es auch brauche. Z.B. wenn ich sagen „Alexa Fernsehen an“ startet ein Script und da wird am Anfang die letzte Aktivität abgefragt damit ich weiß in welchem Zimmer es war und somit welchen Fernseher ich einschalten soll.

In der Instanz hat man zwei Probleme:

  1. Macht man es zu oft wird blockiert.
  2. Macht man es zu selten hat man eine Verzögerung und muss am Zeitstempel prüfen ob es auch wirklich der letzte Befehl war.

Ralf

Bei mir ist diese Abfrage (ist nur in einem Skript, welches ich aus diversen anderen verwende) deaktiviert. Auskommentiert. Die Meldung, dass ich über dem Limit bin, bekomme ich trotzdem.
Ich habe aber gestern den Bot aus meinem System geschmissen. Mal schauen, ob sich da was ändert.