Amazon Echo Remote Control

Hallo Fonzo,

wo Du gerade dabei bist… :wink:

Ich habe regelmäßig folgende Fehlermeldungen:
24.02.2021, 21:07:32 | AmazonEchoIO | Error: (28) Operation timed out after 6000 milliseconds with 0 bytes received
24.02.2021, 21:07: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 285

oder:
24.02.2021, 23:40:52 | AmazonEchoIO | Error: (28) Operation timed out after 6001 milliseconds with 0 bytes received
24.02.2021, 23:40:52 | TimerPool | Echo Dot Marie (EchoUpdate):

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

Geht immer wieder um die Zeile 285 bzw. 502.

Vielleicht magst Du Dir das bei Gelegenheit mal anschauen… :blush:

Joachim

Hallo, an sich machst Du nichts falsch. ich habe das selber aktuell mal mit einer Routine probiert und bei mir geht nach wie vor alles.

Also bei mir steht z.B.
Alexa, ich verlasse das Büro
in der Alexa App.

Dann steht in IP-Symcon dann

 $utterance = "ich verlasse das Büro";  
 EchoRemote_StartAlexaRoutine(12345, $utterance);

Wenn Du die Geräte Instanz selber öffnest und dort rechts oben auf den Käfer (Debug) drückst, öffnet sich ein Debug Fenster.
Was steht denn da drinnen wenn Du Dein Skript ausführst?

Schau mal in der aktuellen Beta ob der Fehler noch bei Dir auftritt bzw. die Fehlermeldung kommt.

Hallo,
für die Methode bekomme ich:

SendData | Method: BehaviorsAutomations, Getfields: null, Postfields: null, URL: , Option Post: 0, Automation: null
SendData | Result: „{„http_code“:404,„header“:[„HTTP\/1.1 404 Not Found\r“,„Content-Length: 0\r“,„Connection: keep-alive\r“,„Server: Server\r“,„Date: Thu, 25 Feb 2021 22:07:05 GMT\r“,“ …

Adhoc würd ich ja sagen, das 404 ist nicht gut, aber warum das kommt versteh ich nicht so ganz …

Ach ja, Authentifizierung ist über 2FA.

Mach ich danach ein Flashbriefing kommt:
SendData | Method: GetCustomerID, Getfields: null, Postfields: null, URL: , Option Post: 0, Automation: null
SendData | Result: „{„http_code“:200,„header“:“",„body“:""}"
SendData | Method: BehaviorsPreview, Getfields: null, Postfields: {„deviceSerialNumber“:"",„deviceType“:„A32DOYMUN6DTXA“,„customerId“:"<buchstabenkombi",„type“:„Alexa.FlashBriefing.Play“}, URL: , Option Post: 0, Automation: null

Welche Versionsnummer hat denn das Modul bei Dir und welche Version von IP-Symcon nutzt Du zur Zeit?

So, die Version ist 5.5, Revision f9de3bea4595 (04.12.2020) auf einem Docker Container auf einem Qnap

Für Echo Remote war auch ein Update verfügbar, das hab ich ausgeführt (Version ist aber immer noch 1.1 #14 (11.10.2019). Dadurch hat sich bedingt etwas geändert, das 404 kommt nicht mehr, aber mit dem 200 ändert sich leider auch nix - hab zwei verschiedene Routinen versucht, die das gleiche machen, keine geht.

26.02.2021, 13:43:47 |             SendData | Method: BehaviorsAutomations, Getfields: null, Postfields: null, URL: , Option Post: 0, Automation: null
6.02.2021, 13:43:47 |             SendData | Result: "{\"http_code\":200,\"header\":[\"HTTP\\\/1.1 200 OK\\r\",\"Content-Type: application\\\/json\\r\",\"Transfer-Encoding: chunked\\r\",\"Connection: keep-alive\\r\",\"Server: Server\\r\",\"Date: Fri, 26 Feb 2021 12:43:55 GMT\\r\",\"x-amz-rid: <somestring>\\r\",\"Vary: ....
(Hier kommt dann jede Menge Text, die Routinen sind so drin, wie ich die utterance gesetzt habe)

Amazon hatte es kürzlich was bei Routinen angepasst, die Änderung ist noch nicht so lange her.
Aktuell ist die Modulversion 1.1. #17, suche doch nochmals nach einem Update und führe das dann aus und gibt dann nochmals Rückmeldung ob der Fehler immer noch auftritt. Ich kann das mit der 1.1 #17 bei mir nicht nachstellen, weis aber aus dem Stegreif auch nicht mehr ob die Änderung in der #14 schon vorhanden war.

Jetzt ist es 1.1 #17 (aber immer noch 11.10.2019) - hab auch nochmal komplett neu installiert.

Resultat ist weiter:

26.02.2021, 17:06:53 | SendData | Method: BehaviorsAutomations, Getfields: null, Postfields: null, URL: , Option Post: 0, Automation: null
26.02.2021, 17:06:53 | SendData | Result: "{„http_code“:200,„header“:[„HTTP\/1.1 200 OK\r“,„Content-Type: application\/json\r“,„Transfer-Encoding: chunked\r“,„Connection: keep-alive\r“,„Server: Server\r“,„Date: Fri, 26 Feb 2021 16:07:00 GMT\r“,„x-amz-rid: \r“,„Vary: Content-Type,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent\r“,„X-Cache: Miss from cloudfront\r“,„Via: 1.1 .cloudfront.net (CloudFront)\r“,„X-Amz-Cf-Pop: FRA2-C2\r“,"X-Amz-Cf-Id:

Kannst Du mir mal einen Hinweis geben was das für ein Echo Gerät ist, auf dem Du die Routine ausführen willst und wie diese Routine im Detail aussieht?
Ich kann das auf die schnelle mit der Version so nicht nachstellen, bzw. bei mir lässt sich eine Routine ausführen.
Der Rest funktioniert aber bei Dir, nur das mit der Routine nicht?

Ich hab es mit einem Echo Dot 2nd Generation probiert, und einem Echo Dot 3rd Generation, mit dem habe ich jetzt die letzten Tests gemacht. Der Echo Dot 2 steht im 1.Raum, der Echo Dot 3 im 2. Raum, in dem auch der Echo Smart Plug Steckdose (Kaufjahr 2018).

Eigentlich will ich das ganze als Teil von einer Szene laufen lassen, die im 1. Raum (1) Licht (an Enocen Aktor) und (2) Fernseher (an Tasmota Plug) ausschaltet, im 2. Raum (3) Fernseher (via Harmony) und diese (4) Smart Plug Steckdose (über EchoRemote) einschaltet. 1-3 funktioniert auch.

Für Testzwecke hab ich mir dann ein weiteres Skript angelegt.

Für die Steckdose hab ich bereits die Alexa-Routine „Schalte Koralle ein“ und „Schalte Koralle aus“, die auch sprachgesteuert ohne Probleme funktionieren. Um auszuschließen, dass es daran liegt, hab ich nochmal eine andere Routine (ein bewusstes „merkwürdiges“ Kommando) eingerichtet, aber auch damit geht es nicht. In dem Response von oben (http 200) ist dann in der Response offensichtlich auch ein Auszug der Routinen enthalten. Nachfolgend ist mein Test-Skript in den verschiedenen Ausprägungen. FlashBriefing und Text To Speech funktioniert, nur StartAlexaRoutine mag nicht.

<?php
//ECHOREMOTE_FlashBriefing(14552);
$utterance = "Jetzt Calcium";
//$utterance = "Schalte Koralle ein";
//ECHOREMOTE_StartAlexaRoutine(14552, $utterance);

// ECHOREMOTE_TextToSpeech(14552, $utterance);
 // For Testing only:
if (ECHOREMOTE_StartAlexaRoutine(14552, $utterance)) {
    Echo "Hallo Welt";
} else {
    Echo "schade Welt";
}
?>

Ich kann die Alexa Smart Plug natürlich gegen eine Tasmota Dose tauschen, aber das ist so ein bisschen das Eingeständnis einer Niederlage … Smart Home Devil 1, me 0 :frowning:

@kbesold Habe Dich also richtig verstanden, das an sich grundsätzlich Routinen funktionieren und sich aus von IP-Symcon aus starten lassen, nur in dem Moment, in dem eine Echo Smart Plug Steckdose in einer Routine eingebaut ist, funktioniert dann das Starten der Routine auch nicht mehr?

Dann scheint da ja ein direkter Zusammenhang zu bestehen mit diesem einem Steckdosentyp, was auch immer an der so viel anderes ist.

Ich selber besitze so eine Steckdose nicht um das nachzustellen, hat denn sonst noch jemand so eine Steckdose am laufen und kann das so nachstellen?

Handelt es sich bei dieser Steckdose um die Amazon Smart Plug (WLAN-Steckdose)?

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.