Amazon Echo Remote Control

Habt ihr schon gelesen bei Amazon gibt es jetzt was Neues:
Zertifiziert für Menschen :rofl:

Anscheinend zertifiziert sich die Marketing Abteilung von Amazon jetzt Ihre eigenen Produkte selber :wink:.

@Fonzo: Jein - also, ich kann über Alexa eine Routine starten („Schalte Koralle ein“ / „Schalte Koralle aus“) oder eine Routine „Nachtruhe“ (die, mit Timer, Fernseher und Licht ausschaltet, quasi ein Sleeptimer).

Ich wollte dann aber die (Amazon Smart Plug WLAN Steckdose) auch über IP Symcon schalten (weil ich sie in einem IP Symcon Script einschalten wollte). Das, so dachte ich, geht über Amazon Echo Remote, in dem ich eine Routine anlege, und dann mit ECHOREMOTE_StartAlexaRoutine (ID eines Echo, $utterance) die Routine starte.
Ich hab es bisher nicht geschafft, eine Routine, die in Alexa hinterlegt ist, zu starten. Daran scheitere ich. Ich hab probehalber die Routine mal umgewandelt, dass nur ein Echo etwas sagen soll (kein Plug geschaltet wird), dass funktioniert auch nicht. Lass ich die Routine über die Alexa App starten, tut sie, was sie soll, auch per „Alexa, schalte Koralle ein“ geht es. Starte ich sie über IP Symcon, geht es nicht.
Aber dann tausche ich halt doch die Dose, ist halt nur schade, dass ich so keine derartigen Geräte auch mit IP Symcon betreiben kann, das wäre schon schick gewesen.

Das heißt es geht also grundsätzlich gar keine Routine bei Dir zu starten aus IP-Symcon? Dann lass uns mal näher schauen ob man da den Fehler eingrenzen bzw. finden kann.

Speziell mit der Steckdose habe ich keine Erfahrung aber grundsätzlich lassen sich bei mir Routinen auch aus IP-Symcon starten. Insofern bevor Du jetzt voreilig aufgibst und Geräte tauscht, sollten wir eher noch mal schauen wo der genaue Fehler liegen könnte.

Hat denn zur Zeit noch jemand anderes ähnliche Probleme mit Routinen auslösen aus IP-Symcon?

Bei mir startet jeden Morgen mit dem Wecksript meine Guten Morgen Routine.
Dazu rufe ich dieses Script auf:

<?php
//includiert die Alexas
include '10437.ips.php';
ECHOREMOTE_StartAlexaRoutine($Echolord, 'Florian Guten Morgen');

oder bei meiner Tochter:

<?php
//includiert die Alexas
include '10437.ips.php';
ECHOREMOTE_StartAlexaRoutine($Linexa, 'Lina Guten Morgen');

Läuft beides Klaglos.
Loerdy

Ich hab mir jetzt nochmal eine Routine erstellt, in der nur der Kalender und der SciFi-Ton kommt. Über Alexa Sprachkommando bzw. über die Alexa App läuft die Routine auch. Über mein Skript passiert leider auch hier gar nix …
Kurze Frage: Für Echo Remote ist es aber nicht relevant, welche Alexas in IP Symcon angemeldet sind, und welche nicht, richtig? Ich hab schon eine größere Menge Geräte (14 Echo (Dot 2nd/3d, Show, Normalen 2nd), und nicht alle in IP Symcon, das Gerät das ich auswähle ist aber in IP Symcon angelegt.

Über die Konfiguration des Gerätes kann ich z.B. auch Radio schalten, und über das Skript ein TextToSpeech geht auch.

Habe mal wieder ein neues Gerät das unbekannt ist als Fehlermeldung
28.02.2021, 19:56:07 | AmazonEchoConfigurator | Unknown DeviceType: AO50AHDYKXRFG

Könnte das noch hinzugefügt werden?

Und was für ein Gerät ist das? Oder soll ich das als Unknown Device hinzufügen :sweat_smile:?

Naja stell dich mal nicht so an :stuck_out_tongue_closed_eyes: :innocent:
Nur ein Witz!!!

Tut mir leid ich habe es total vergessen, klar mein Fehler!
Es handelt sich um Bose Noise Cancelling Headphones 700.

Ich habe ehrlich gesagt noch nicht eruieren können, an was das bei Dir liegen könnte, weil es zumindest bei mir und auch nach Rückmeldungen von andern so weit funktioniert. Das merkwürdige ist ja das ja anscheinend ein Response bei Dir mit 200 OK vorliegt, also Amazon das als erfolgreich bestätigt, Du ja aber anscheinend nichts hörst. Ich werde mal eine Anleitung im Readme als Beispiel ergänzen.

Zur individuellen möglichen Fehlersuche werde ich aber die Woche nicht kommen.

Ich ergänze gerade Ankündigungen und auch ein Readme dazu, damit kann man dann auch zeitgleich auf mehreren Geräten eine Sprachausgabe machen lassen. Ansonsten kannst Du nur diese Gerät aus IP-Symcon ansprechen, die Du auch in IP-Symcon angelegt hast, da jedes Gerät eine eigene eindeutige ID hat, über die es angesprochen wird.

Darauf bin ich schon gespannt.

Hallo Fonzo,

die von mir weiter oben genannten Fehlermeldungen sind tatsächlich verschwunden. Vielen Dank dafür.

Jetzt sind aber andere Zeilen auffällig:
02.03.2021, 13:09:48 | TimerPool | AmazonEchoIO (AmazonEchoConfigurator #25914) (TimerLastDevice):

Fatal error: Uncaught TypeError: json_decode() expects parameter 1 to be string, null given in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php:302
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php(302): json_decode(NULL)
#1 /var/lib/symcon/scripts/__generated.inc.php(1951): AmazonEchoIO->GetLastDevice()
#2 /-(1): ECHOIO_GetLastDevice(25309)
#3 {main}
thrown in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php on line 302

und

02.03.2021, 18:59:34 | TimerPool | AmazonEchoIO (AmazonEchoConfigurator #25914) (TimerLastDevice):

Notice: Trying to access array offset on value of type bool in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php on line 1315



Notice: Trying to access array offset on value of type bool in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo IO/module.php on line 341

Vielleicht magst Du bei Gelegenheit mal schauen.

Joachim

Ist ergänzt worden.

Habe eine kleine ergänzende Anleitung für Abfrage von Werten über Routinen ergänzt

Wollte nur kurz Rückmeldung geben, dass ich jetzt noch mal ein Testsystem aufgesetzt habe und da kann ich das Verhalten auch so reproduzieren. Andere Dinge wie Text To Speech gehen ganz normal.
Das merkwürdige ist, das mir das auf meinem eigenen Produktivsystem nie aufgefallen ist, denn da funktioniert das Starten von Routinen ganz normal. Jetzt muss ich nur noch eruieren was der Unterschied ist, dass es auf dem einem System funktioniert auf dem anderen hingegen nicht.
Falls jemand ein ähnliches Problem hat oder auch eine Lösung für das Problem, wäre ich um Tipps dankbar, dann muss ich selber nicht suchen. Ich melde mich sobald ich das näher anschauen konnte bzw. eine Lösung habe.

Ich hab es eben mit zwei Routinen (Garage auf/zu) und „Guten Morgen“ probiert. Funktioniert einwandfrei. Routinen werden ausgeführt.

Super, vielen Dank für das Hinzufügen der Bose 700!

Also Kalender konnte ich bei mir noch nicht testen, muss ich erst noch verbinden, das nutzte ich bisher nicht.

Es gibt aber eine Methode für den Kalender

ECHOREMOTE_CalendarToday($id);

Wegen der Routine generell konnte ich das bisher nicht nachstellen. Ich dachte erst der Fehler wäre bei mir reproduzierbar, aber das Problem war das ich im Test den Ton auf einem falschen Gerät habe ausgeben lassen. Die Routine lässt sich bei mit aber grundsätzlich jetzt bei allen Test zum Starten immer aufrufen. Was die genaue Ursache bei Dir seinen könnte, kann ich also zur Zeit noch nicht beantworten.

Es gibt auch eine Methode zum Aufrufen eine Routine über den vergebenen Routinennamen vielleicht probierst Du das mal alternativ aus

ECHOREMOTE_StartAlexaRoutineByName(12345, 'Name der Routine');

Ansonsten ist neu Bitte nicht stören ein / ausschalten

ECHOREMOTE_DoNotDisturb(12345, true');

bzw.

ECHOREMOTE_DoNotDisturb(12345, false);

Hallo @Fonzo
Ich hab eben die ECHOREMOTE_Announcement() Funktion probiert. Leider schweigen sich meine Echos aus. Gibt es einen Trick? Auf „do not disturb“ ist keiner gestellt. Fehler bekomm ich auch keinen. Ich bin aktuell auf stable. Habs auch mit der Beta getestet, selbes Ergebnis.

Da bist Du aber schnell, das ist noch nicht endgültig fertig im Modul eingebaut und ausprobiert, daher geht das noch nicht, ich muss da noch schauen was da genau passiert und gesendet werden muss. Muss ich mal schauen ob ich am Wochenende dazu komme. Do not disturb wird auch geschaltet ich muss den Status aber auch noch auslesen und das ebenfalls ergänzen.

oooooooooooooooooooch :wink: alles klar, kein Problem.
Ich hab im Netz ein sh Skript gefunden, der das damit mach. Vielleicht find ich es noch, wenn es dich interessiert. Ich bin leider nicht schlau aus dem Code geworden. Ich glaube zu wissen WO er das macht, aber was da alles drinnen ist, ist mir schleierhaft.

Ich hab das hier gefunden, verstehe es aber leider nicht

Ja das kenne ich, das Skript ist irgendwann nach dem Modul bzw. der Ansteuerung aus IP-Symcon im gleichen Jahr entstanden. Muss ich mal schauen wenn es dort drinnen steht, ich selber bin aber definitiv kein Freund von Linux und Bash Skripten und kenne mich damit auch überhaupt nicht aus. Falls da also jemand daraus schlau wird, kann er ja einen Tipp geben was genau wie mit PHP zu senden ist.