[37_echodevice] Amazon Echo Modul (nicht Alexa)

Begonnen von michael.winkler, 12 Januar 2018, 18:20:12

Vorheriges Thema - Nächstes Thema

rs

#6060
Zitat von: Shadow3561 am 24 März 2024, 18:48:43Moin,
ich habe gestern auch mal wieder ein Update gemacht.

Bei mir jetzt auch die Meldung
2024.03.24 18:06:07.143 3: [ECHO_xxxxx] [echodevice_Parse] [getsmarthome] [4413] Too many requests
Habe mir mal das Modul angesehen und in Zeile 4285 folgendes auskommentiert
    echodevice_SendCommand($hash,"getsmarthome","");
seit dem ist erst mal Ruhe.

Wenn ich mir den Rest ansehe, dann denke ich, dass bei jedem update des state"connected" auch die Sates von "getsmarthome" geholt werden sollen.
Dies schein Amazon wohl zu viel traffic zu sein und deshalb kommt ein "to many requests" zurück.

Nach auskommentieren der o.g. Zeile ist jedenfalls erst mal ruhe und funktionieren tut bei mir auch noch alles.

Grüsse Daniel

Da sich mein Show15 "komisch" verhält, wäre ich froh, wenn ihr euch mal mein log file anseht. Darin ist nach jedem update ein paar json Fehler zu sehen und einer davon spiegelt einen erheblichen Teil (>100 Zeilen) es Perl Codes ins Logfile, was mir komisch erscheint.

Warum verhält sich mein Echo komisch? Nun, das erste Kommando, das ich via Fhem/Echodevice an den Show15 sende wird mit einem Beep quitiert, aber nicht ausgeführt. Erst das 2. Kommando wird vollständig und richtig ausgeführt. Anschliessend verhält sich der Show15 wie gewohnt, nimmt jedes Kommando an und führt es aus. Das ist reproduzierbar, taucht wiederholt auf und ist egal, ob von der AlexaApp oder aus dem Fhem gestartet.

Nach einer gewissen Zeit - habe ich noch nicht eruiert - wieder das selbe Verhalten. Egal ob mit fhem/echodevice oder alexa/app wird das erste Kommando mit einem beep quitiert und erst das nächste wird dann wieder richtig ausgeführt. Die weiteren dann auch wieder ...

Deshalb ich vermute, das Update setzt es irgendwie in einen nicht "sauberen" Zustand,  der aber nach einem erneutem Kommando wieder richtig gesetzt wird.

Da ich das früher (seit juni2022) nie hatte muss sich in der letzten Zeit was geändert haben. Und da das echodevice.pm immer auf die Amazon Cloud zugreift und den Status des Gerätes (Show15) aktualisiert, erscheint es mir logisch, dass hierin etwas kleines im Argen liegt.


@Michael & andere
Wäre froh, wenn sich das jemand von euch bei Gelegenheit ansehen kann.
Gruß&Dank
RS

PS: anbei ein Auszug aus dem Logfile mit den erwähnten Daten.
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

rs

#6061
So, jetzt wird's noch wilder:
- nachdem ich es 2 Std laufen lies und immer wieder testete, ein erneuter Test und dann:
- wieder ein beep und keine Wirkung
- fehm stürzt ab ! (hatte ich seit 2017 noch nie)
- fehm started neu, alles geht wieder.

echodevice.pm bringt damit das FHEM zum Absturz (ähnlich wie Sig11 aus meiner Unix/C Zeit)
Hier ist das Log aus dem entsprechendem EVENT:
2024.10.07 20:53:06 4: [Amazon] [echodevice_LoginStart] Alter COOKIE=32443/86400
2024.10.07 20:53:06 4: [Amazon] [echodevice_LoginStart] [enable] set next internal timer start in 600 seconds.
2024.10.07 20:56:25 1: ERROR evaluating my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $NAME=   $evalSpecials->{'%NAME'};my $SELF=   $evalSpecials->{'%SELF'};my $TYPE=   $evalSpecials->{'%TYPE'};{ bell($NAME,$EVENT);; }: hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/37_echodevice.pm line 1848.

2024.10.07 20:56:25 3: PanicBellAlert return value: hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/37_echodevice.pm line 1848.

hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/37_echodevice.pm line 1848.
2024.10.07 20:57:10 1: Including /opt/fhem/etc/fhem.cfg
PanicBellAlert ist das notify, welches das Kommando:
set ECHO_XXX routine_play xxxxxxxxxxxxxxxx
ausführt. Und genau in dieser Zeile bricht im echodevice.pm ein encode_json() zusammen...

Nur für Nachfragen, auf diesem pi3+ läuft nur das Fhem, es ist alles aktuell und die Config hat sich seit Jahren nicht geändert, ist auch nichts hinzugekommen, und ich habe extra eiine neue Speicherkarte installiert, um das auszuschliessen.

Es läuft npm 5.8.0 und node 10.24.0 - mit npm login hatte ich nie issues.

Das ist echt f**k annoying ..

Hilfe !

MfG
RS
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

KölnSolar

Mir scheint eher, dass Dein notify Schrott ist. Zeig es doch mal.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

rs

Zitat von: KölnSolar am 08 Oktober 2024, 07:31:50Mir scheint eher, dass Dein notify Schrott ist. Zeig es doch mal.

Dann würde es ja beim 2. Mal nicht funktionieren.
Aber bitte:
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

JudgeDredd

Screenshots sind nicht so der Hit. Besser immer ein List machen.

Aber was mir auffällt, hat Deine Routine keinen Namen ?
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

rs

#6065
Zitat von: JudgeDredd am 08 Oktober 2024, 09:26:57Screenshots sind nicht so der Hit. Besser immer ein List machen.

Aber was mir auffällt, hat Deine Routine keinen Namen ?
Ja, das ist mir auch aufgefallen.
- In der AlexaApp hat sie den Namen RoomBell.
- Die (aktuelle) echodevice hat im set routine_play nur diese Strings. (siehe Foto)

Ich habe natürlich - zum testen - auch eine andere Routine angelegt, die nur sounds glocken ausgibt, oder ein Licht schaltet. Hierzu gilt das Gleiche: Name ist so ein String und erst nach dem 2. Mal ausgeführt.

*) Das Notify habe ich natürlich mit allen möglichen anderen Befehlen getestet, die nix mit dem SHow15 zu tun haben.

Bitte schaut mal in das Logfile aus Post #6060 hierin stehen "komisch" Sachen ..
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

KölnSolar

#6066
bei routine_play wäre natürlich auch die Routine interessant. Mich irritiert: $evalSpecials->{'%TYPE'};{ bell($NAME,$EVENT);; }

Edit: Ist es nur das notify oder auch bei dem set-Befehl über die Web-Oberfläche ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

rs

#6067
Internals:
   DEF        RoomBell:100[2-4]  { bell($NAME,$EVENT);; }
   FUUID      5d2eef70-f33f-a37e-5aba-35957062110dcfe0
   NAME       PanicBellAlert
   NOTIFYDEV  RoomBell
   NR         287
   NTFY_ORDER 50-PanicBellAlert
   REGEXP     RoomBell:100[2-4]
   STATE      active
   TYPE       notify
   READINGS:
     2024-10-08 10:23:33   state           active
     2024-10-07 21:19:58   triggeredByDev  RoomBell
     2024-10-07 21:19:58   triggeredByEvent 1002
Attributes:
   alias      Wohnungstür Alert
   devStateIcon active:edit_settings@yellow inactive:edit_settings@grey
   icon       ring@yellow
   room       Alarm

und hier aus dem 99_myUtils.pm

#
#   bell() - aus diesem Skript heraus ansprechen, da es aus der fhem.cfg oft nicht geht
#               winmsg() gibt meldung via WinConnect am PC aus
#
sub bell($$) {
    my $swt = $_[0];
    my $evt = $_[1];
    my $msg = "";

    fhem("set Office,Spot,tisch1,tisch2,flurlampe3,bad1,Kuechenleiste alert okay");
    fhem("set Office1,StehLampeLinks,StehLampeRechts,flurlampe2,flurlampe3 alert okay");
    # setzte pause signal auf den Show15, damit die Musik unterbrochen wird, und er vor der routine ein signal bekommt
    ###fhem("set ECHO_G001PJ0514370JHS pause");
    ###fhem("set Office,Spot,tisch1,tisch2,flurlampe3,bad1,Kuechenleiste alert select");
    ###fhem("set Office,Spot,Kuechenleiste alert select");
    switch ($swt) {
           case "DoorBell"  {
                $msg = "*** Jemand klingelt an der Haustür ***";
                fhem("set ECHO_G001PJ0514370JHS routine_play \@amzn1.alexa.automation.7b07f367-77ff-4d8b-98a6-a3cebbfef08b");
                winmsg($msg);
           }
           case "RoomBell" {
                $msg = "*** Jemand klingelt an der Wohnungstür ***";
                fhem("set ECHO_G001PJ0514370JHS routine_play \@amzn1.alexa.automation.731fe994-9210-420c-ad1c-0bc779a0ca24");
                winmsg($msg);
           }
           case "HUESensor36" {
                $msg = "Schalter $swt gedrückt";
                fhem("set ECHO_G001PJ0514370JHS speak $msg");
           }
    }
    Log3(undef, 2, "bell(): [$swt,$evt] $msg")  if (TR_ALL or TR_SWITCH);
    ###fhem("set Office,Spot,tisch1,tisch2,flurlampe3,bad1,Kuechenleiste alert stop");

}
#
# Ende vom 99_myUtils.pm

rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

rs

#6068
Zitat von: KölnSolar am 08 Oktober 2024, 10:43:52Edit: Ist es nur das notify oder auch bei dem set-Befehl über die Web-Oberfläche ?

Egal von welcher Seite
- AlexaApp am Handy
- fhem oberfläche set ECHO_XX routine_play xxxxxxxxxxxxxxxx
- notify: RoomBellAlert notify RoomBell:100[2-4] { bell($NAME,$EVENT);; }
- fhem oberfläche trigger DoorBell 1002
- fhem oberfeläche { bell("DoorBell", "1002");; }

und das alles auch mit HUESensor36 siehe oben
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

JudgeDredd

Zitat von: rs am 08 Oktober 2024, 10:50:07fhem("set ECHO_G001PJ0514370JHS routine_play \@amzn1.alexa.automation.731fe994-9210-420c-ad1c-0bc779a0ca24");
Was soll denn Deiner Meinung nach hier für eine Routine gestartet werden ?
Das ist meiner Meinung nach definitiv falsch.

Aber wenn die Routine nichtmal aus der Alexa-App läuft, würde ich das erstmal klären.
Läuft denn die Routine aus der App nur auf einem Echo nicht, oder auf keinem ?
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

TomLee

Zitat von: JudgeDredd am 08 Oktober 2024, 12:21:13Was soll denn Deiner Meinung nach hier für eine Routine gestartet werden ?

Man muss den Namen der Routine vor dem @  nicht angeben, funzt auch so, gerade ausprobiert.

JudgeDredd

Zitat von: TomLee am 08 Oktober 2024, 12:26:11Man muss den Namen der Routine vor dem @  nicht angeben, funzt auch so, gerade ausprobiert.
und welche Routine wird dann gestartet ? Die erste, die letzte oder eine zufällige ?
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

rs

Zitat von: JudgeDredd am 08 Oktober 2024, 12:56:14
Zitat von: TomLee am 08 Oktober 2024, 12:26:11Man muss den Namen der Routine vor dem @  nicht angeben, funzt auch so, gerade ausprobiert.
und welche Routine wird dann gestartet ? Die erste, die letzte oder eine zufällige ?

Egal welche! Ich beschreibe es doch ausführlich, siehe #6068

Reproduzierbar: ca. 3 Stunden nach start des fhems ist der Show15 nicht via #6068 ansprechbar. Erst ein nochmal senden bringt das Gerät in den Zustand, dass es auf eine der erwähnten events aus #6068 wirkt.

... Noch einen Tag und ich schmeisse das ding aus dem Fenster :(
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...

JudgeDredd

Zitat von: rs am 08 Oktober 2024, 13:06:39
Zitat
ZitatMan muss den Namen der Routine vor dem @  nicht angeben, funzt auch so, gerade ausprobiert.
und welche Routine wird dann gestartet ? Die erste, die letzte oder eine zufällige ?
Egal welche! Ich beschreibe es doch ausführlich, siehe #6068
Die Frage richtete sich an TomLee und nicht an Dich.

Zitat von: JudgeDredd am 08 Oktober 2024, 12:21:13Aber wenn die Routine nichtmal aus der Alexa-App läuft, würde ich das erstmal klären.
Läuft denn die Routine aus der App nur auf einem Echo nicht, oder auf keinem ?
Das war die Anregung und Frage für Dich.
Lass doch erstmal eine nicht-zertifizierte Hausautomationssoftware außen vor und bekomme es erstmal zum laufen, wie es von Amazon vorgesehen ist. Wenn das schon nicht funktioniert, dann handelt es sich doch offensichtlich um einen Garantiefall, oder ?

Zitat von: rs am 08 Oktober 2024, 13:06:39... Noch einen Tag und ich schmeisse das ding aus dem Fenster :(
Sag bescheid, ich komme zum auffangen vorbei ;)
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

rs

ZitatLass doch erstmal eine nicht-zertifizierte Hausautomationssoftware außen vor und bekomme es erstmal zum laufen, wie es von Amazon vorgesehen ist. Wenn das schon nicht funktioniert, dann handelt es sich doch offensichtlich um einen Garantiefall, oder ?

Es ist ja schon das Austauschgerät! Es funktioniert ja alles andere.
Natürlich habe ich AMZN das reproduzierbare Verhalten geschildert und hatte auch mit halbwegs kompetenten asiatischen babes und später etwas mehr kompetenten Tommies zu tun ...

Bevor ich euch damit angesprochen habe. Ich will ja niemanden nerven ..

Ich werde jetzt dann für einen Tag das Fhem abschalten - Geschrei in der Familie werde ich aushalten und sagen FHEM ist krank. Dann all die Tests fahren, dann sehen wir ob es an AMZN liegt oder an der Interaktion mit dem FHEM Connector oder am update des echodevice oder an ...

Das aber erst wenn ich zurück bin; muss jetzt für eine Woche weg.

Soweit erst mal vielen Dank für eure Bereitschaft zu helfen.
Alles Gute
RS
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.3 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 24.10 - NextCloud 30 - OpemVPN - Wordpress - NAS - ...