[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

matzewob

selbe Problem auch hier:

2018.02.26 06:59:03 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE HTML PUBLI...") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: Qwg29l0YKcXMiqg9jcAlb9f6bCuXDWV1WPuU-cUyhlAWsnqPKwC-LQ==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>';

2018.02.26 06:59:04 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Unknown auth failure") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = 'Unknown auth failure';

2018.02.26 06:59:06 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE HTML PUBLI...") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: 7O2S__Kh02oIFasXSrYSVrC0z-ZVGywAmKVjXEuMlI6J086CYnTjfA==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>';


michael.winkler

Zitat von: awel am 24 Februar 2018, 15:13:51
Account-device, Login-Versuche bei Fehler reduzieren

Hallo,
bei einem Login-Fehler des Account-Devices versucht das Modul (nach meinem Protokoll) ca. alle 60 Sekunden einen neuen Login-Versuch.
Die Attribute "disable" und "intervalsettings" ändern -zumindest im laufenden Betrieb- daran nichts.

Gibt es eine andere Möglichkeit, die Versuche im Fehlerfall zu reduzieren?

Hintergrund:
Da die Verbindung bei mir nicht absolut stabil/connected ist und bei Abbruch i.d.R. erst nach längerer Zeit wieder funktioniert, würde ich gerne das account-device überwachen und z.B. über ein notify oder doif den Zeitraum zwischen den nächsten Anmeldeversuchen nach x Fehlversuchen auf einen -nach Möglichkeit einstellbaren- größeren Wert setzen, um Traffic und Log-File zu entlasten; ich habe auch den Eindruck, dass Wartezeiten eine Neuanmeldung erleichtern und ständige Versuche im Minutentakt nicht förderlich sind. Andererseits sollten die ersten Login-Versuche nach einem Scheitern zügig erfolgen (in der Web-App habe ich mit aktuellem Firefox hin und wieder auch 2 Versuche gebraucht).
Optimal wäre aus meiner Sicht ein Attribut ähnlich "intervalsettings" mit dem man die Verzögerung zwischen den nächsten Login-Versuchen einstellen kann.

Ist das sinnvoll und machbar?

Danke und vG
Achim
Jam aktuel versucht das Modul einmal pro Minute den Relogin. Ich kann hier gerne ein zusätzliches Attribut einfügen, mit welchem Ihr den Intervall abändern könnt. Das Attribut "disable" ist aktuell nicht richtig Implementiert, da muss ich noch mal nachbessern. Kommt in der nächsten Version.

Zitat von: MadMax-FHEM am 25 Februar 2018, 16:34:00

2018.02.25 01:18:21 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:21 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:21 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:21 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 2: RaspBee: http request failed: read from http://192.168.1.90:80 timed out
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 1: Timeout for SYSMON_blockingCall reached, terminated process 27715
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
2018.02.25 01:18:22 2: [echodevice_ParseAuth] echoIODev: connection error write to https://layla.amazon.de:443 timed out
Unmatched ) in regex; marked by <-- HERE in m/lpl:hv87h6@`46) <-- HERE gb:/ at ./FHEM/37_echodevice.pm line 2571.

Wird in der nächsten Version behoben sein

Zitat von: willibutz am 18 Februar 2018, 22:24:18
Hallo Michael,
hatte das gleiche Verhalten wie MadMax-FHEM.
FHEM hatte sich aufgehängt, die letzte Meldung im Log war auch bei mir:

Zitat von: MadMax-FHEM am 25 Februar 2018, 17:14:56
Nach dem Hochrüsten immer noch gleich wieder connected und scheint auch soweit zu laufen.

Allerdings bekomme ich beim Starten (shutdown restart / aber auch reload) folgendes im Log:


2018.02.25 17:11:12 1: echoIODev: json evaluation error malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Invalid authenticati...") at ./FHEM/37_echodevice.pm line 1494.

$VAR1 = 'Invalid authentication token!';

Ja, Fehler ist bekannt. Wenn Du dein Cookie aktualisiert ist der Fehler nach einem Shutdown Restart weg. Hier scheint es Probleme mit der Anmeldung zu geben, ob wohl sich alle Geräte noch bedienen lassen. Werde in der nächsten Version bei auftauchen des Fehler ein neues Cookie generieren lassen.

Zitat von: matzewob am 26 Februar 2018, 06:59:38
selbe Problem auch hier:

2018.02.26 06:59:03 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE HTML PUBLI...") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: Qwg29l0YKcXMiqg9jcAlb9f6bCuXDWV1WPuU-cUyhlAWsnqPKwC-LQ==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>';

2018.02.26 06:59:04 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Unknown auth failure") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = 'Unknown auth failure';

2018.02.26 06:59:06 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE HTML PUBLI...") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: 7O2S__Kh02oIFasXSrYSVrC0z-ZVGywAmKVjXEuMlI6J086CYnTjfA==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>';


Werde die LOG Einträge alle in Verbose 5 verschieben. Bitte immer die aktuelle Version einsetzen. Die Fehlermeldung deutet auf eine ältere Version.


magix99

Hallo zusammen,
ich nutze FHEM und auch den Echo mit Alexa, habe allerdings beides (noch) nicht miteinander verbunden.

Gibt es denn die Möglichkeit den Echo auch als Lautsprecher für FHEM zu verwenden?

z.b. das meine Waschmaschinen Benachrichtigung die im Moment per Telegram aufs Handy geht, auch als Sound auf dem Echo ausgegeben werden kann.

MadMax-FHEM

#378
Zitat von: magix99 am 26 Februar 2018, 09:43:57
Hallo zusammen,
ich nutze FHEM und auch den Echo mit Alexa, habe allerdings beides (noch) nicht miteinander verbunden.

Gibt es denn die Möglichkeit den Echo auch als Lautsprecher für FHEM zu verwenden?

z.b. das meine Waschmaschinen Benachrichtigung die im Moment per Telegram aufs Handy geht, auch als Sound auf dem Echo ausgegeben werden kann.

set MyEchodevice reminder_normal Waschmaschine ist fertig!

EDIT: ist aber halt eine "Benachrichtigung" und nicht "nur" die Ansage, dass die WaMa fertig ist. Also Alexa: "dies ist eine Benachrichtigung: Waschmaschine ist fertig"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

magix99

Zitat von: MadMax-FHEM am 26 Februar 2018, 09:46:53
set MyEchodevice reminder_normal Waschmaschine ist fertig!

EDIT: ist aber halt eine "Benachrichtigung" und nicht "nur" die Ansage, dass die WaMa fertig ist. Also Alexa: "dies ist eine Benachrichtigung: Waschmaschine ist fertig"...

Gruß, Joachim

Das bedeutet das ich mein notify z.b. so erweitern könnte.

define Notify_Push_Waschmaschine notify Waschmaschine:off set Telegram message @xxxx Hier ist die Waschmaschine.  Ich bin fertig und kann in den Trockner umgeräumt werden;
set MyEchodevice reminder_normal Hier ist die Waschmaschine.  Ich bin fertig und kann in den Trockner umgeräumt werden


Dann würde mein Text von Alexa vorgelesen werden, aber mit dem Zusatz davor "die ist eine Benachritigung"
Habe ich das richtig verstanden?

OppiM

Hi,

mein EchoConnect (v0.0.24) hat auch seit dem WE den Dienst eingestellt.

Fehlermeldung im Log:
2018.02.26 10:07:57.769 1: EchoConnector: json evaluation error malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "No cookies found!") at ./FHEM/37_echodevice.pm line 1494.

$VAR1 = 'No cookies found!';

2018.02.26 10:07:57.785 5: [EchoConnector] [account]$VAR1 = 'No cookies found!';


Bei verbose=5 sehe ich solche Einträge:

        <div class="a-box a-alert a-alert-info a-spacing-base">
            <div class="a-box-inner">
                <i class="a-icon a-icon-alert"></i>
                <h4>Geben Sie die Zeichen unten ein</h4>
                <p class="a-last">Wir bitten um Ihr Verst_ndnis und wollen uns sicher sein dass Sie kein Bot sind. F_r beste Resultate, verwenden Sie bitte einen Browser der Cookies akzeptiert.</p>
                </div>
            </div>


Gruß,
Michael

matzewob

Hab jetzt die aktuelle Version.

2018.02.26 12:06:12 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE HTML PUBLI...") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: j4siU980yWJhBO_EdqWVPJ8ltmtzOVqCNi1vXkKujT44ZBCYdYepfw==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>';

michael.winkler

Zitat von: matzewob am 26 Februar 2018, 12:07:37
Hab jetzt die aktuelle Version.

2018.02.26 12:06:12 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE HTML PUBLI...") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: j4siU980yWJhBO_EdqWVPJ8ltmtzOVqCNi1vXkKujT44ZBCYdYepfw==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>';

Wie ist der Status deines ACCOUNT DEVICE?
Hast du einen anderen Browser User Agent versucht?

matzewob

state
disconnected
2018-02-26 12:13:21

Wo kann ich den Agent ändern?

2018.02.26 12:14:34 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Unknown auth failure") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = 'Unknown auth failure';


Kommt aktuell noch häufig.

set Alexa login mit anschließenden shutdown restart hat nix gebracht

michael.winkler

Zitat von: matzewob am 26 Februar 2018, 12:15:19
state
disconnected
2018-02-26 12:13:21

Wo kann ich den Agent ändern?

2018.02.26 12:14:34 1: Alexa: json evaluation error malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Unknown auth failure") at ./FHEM/37_echodevice.pm line 1488.

$VAR1 = 'Unknown auth failure';


Kommt aktuell noch häufig.

set Alexa login mit anschließenden shutdown restart hat nix gebracht
Aktuell gibt es im Login Prozess einige Probleme. Am besten ließt Du Dir mal die letzten 5 Seiten des Threads durch. Da findest du sicherlich genügend Infos. Zusätzlich gibt es noch die Doku:
https://mwinkler.jimdo.com/smarthome/eigene-module/echodevice/#Attribute

cs-online

Hallo,

seit (vermutlich) kurzem habe ich das Problem, daß gesetzte Erinnerungen immer mit der Ansage des Timestamps beginnen. Also wie hier:

1519570147.09797 Dein Badewasser hat die Wunschtemperatur erreicht

Hat sich da im Modul etwas geändert und kann man das umgehen ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

michael.winkler

Zitat von: cs-online am 26 Februar 2018, 12:21:06
Hallo,

seit (vermutlich) kurzem habe ich das Problem, daß gesetzte Erinnerungen immer mit der Ansage des Timestamps beginnen. Also wie hier:

1519570147.09797 Dein Badewasser hat die Wunschtemperatur erreicht

Hat sich da im Modul etwas geändert und kann man das umgehen ?

Grüße

Christian
Schaue ich mir an. Bin eh gerade dabei einiges zu ergänzen.

michael.winkler

#387
Hallo,

auf Seite 1 gibt es eine neue Version. Habe dort nochmal den Login Prozess angepasst.

Standardmäßig wird jetzt bei jedem COOKIE erzeugen ein neuer Browser User Agent generiert. In dieser Version kann jetzt auch ein Intervall für den erneuten Amazon Login gesetzt werden.

Bitte beachtet auch die Dokumentation, speziell den Bereich Attribute!
https://mwinkler.jimdo.com/smarthome/eigene-module/echodevice/#Attribute


##############################################
#
# 2018-02-26, v0.0.25
#
# v0.0.25
# - BUGFIX:  set reminder_normal
#            Attribut disable
#            no Internet connect
# - FEATURE: Attribut browser_useragent_random (Standard=1)
#            Attribut intervallogin (Standard=60)
#


Gruß
Michael

MadMax-FHEM

Zitat von: magix99 am 26 Februar 2018, 10:05:31
Das bedeutet das ich mein notify z.b. so erweitern könnte.

define Notify_Push_Waschmaschine notify Waschmaschine:off set Telegram message @xxxx Hier ist die Waschmaschine.  Ich bin fertig und kann in den Trockner umgeräumt werden;
set MyEchodevice reminder_normal Hier ist die Waschmaschine.  Ich bin fertig und kann in den Trockner umgeräumt werden


Dann würde mein Text von Alexa vorgelesen werden, aber mit dem Zusatz davor "die ist eine Benachritigung"
Habe ich das richtig verstanden?

Ja.
Ob jetzt immer genau dieser Text kommt oder mit Varianten weiß ich jetzt nicht (nutze das zu selten)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

cs-online

#389
Hallo Michael,

danke, dass du dich um die Erinnerung gekümmert hast, aber ich bekomme immer noch

1519670120.47523 dies ist eine testmeldung

Habe nach Modulupdate noch ein FHEM-Update gemacht und dann shutdown restart. Dann alle Devices auf disconnected. Kurz set Login gemacht, alle wieder auf connected.

hier mal mein Test-noty:

my $Meldung ="dies ist eine testmeldung";
my $Zeit = time + 60;
fhem("set Echos update");;

fhem("define a999 at +00:00:20 set Echos reminder_normal $Zeit $Meldung");;


Liegt da evtl. der Fehler bei mir ?

im Log steht:

2018-02-26_19:34:21 Echos update
2018-02-26_19:34:40 Echos reminder_normal: 1519670120.47523 dies ist eine testmeldung
2018-02-26_19:35:22 ECHO_G090LA09735203ND reminder_01_alarmtime: 2018-02-26 19:34:50
2018-02-26_19:35:22 ECHO_G090LA09735203ND reminder_01_alarmticks: 1519670090
2018-02-26_19:35:22 ECHO_G090LA09735203ND reminder_01_id: 21bccc6c-7998-4284-8a68-9d1b2fcb2ea2
2018-02-26_19:35:22 ECHO_G090LA09735203ND reminder_01_recurring: 0
2018-02-26_19:35:22 ECHO_G090LA09735203ND reminder_count: 1
2018-02-26_19:36:22 ECHO_G090LA09735203ND reminder_count: 0


Echos ist bei mir das ACCOUNT-Device, vielleicht hilft die Info. Wobei ich das "reminder_normal" nicht mehr unter dem Device in der Dropdown finde, sondern nur noch bei den Geräten

EDIT:
nochmal getestet mit den Devices, da wird auch der Timestamp angesagt. In der App steht das auch so drin.
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr