[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

michael.winkler

Zitat von: Byte09 am 30 August 2018, 19:14:06
hallo michael,

kurze frage: kann ich problemlos ein zweites echogate anlegen , mit dem ich auf einen zweiten amazonaccout zugreife , oder sind da schwierigkeiten zu erwarten ?

ich möchte es ungerne einfach riskieren , da der login zur zeit klappt .

gruss Byte09
Klar ist das möglich. Ich hatte zeitweise sogar drei FEHMs mit dem Modul am laufen.

awel

#1036
Betr. Aktualisierung des Reading-Zeitstempels bei identischem Sprachbefehl

Zitat von: michael.winkler am 31 August 2018, 07:38:27
Daran kann ich leider nichts ändern. Das bringt einfach die Amazon Funktion mit.

Sicher?

Line 2140:          readingsBulkUpdateIfChanged($echohash, "voice", $cardjson->{summary}, 1);0
Line 2194:          readingsBulkUpdateIfChanged( $hash, "voice", $card->{playbackAudioAction}{mainText}, 1 );


Ich kenne mich mit der Programmierung von Modulen nicht hinreichend aus, aber ist hier das ...IfChanged nicht evtl. für die nicht vorhandene Aktualisierung des Zeitstempels im Reading verantwortlich?

Danke für eine Prüfung,
vG Achim

michael.winkler

Zitat von: awel am 31 August 2018, 09:10:31
Betr. Aktualisierung des Reading-Zeitstempels bei identischem Sprachbefehl

Sicher?

Line 2140:          readingsBulkUpdateIfChanged($echohash, "voice", $cardjson->{summary}, 1);0
Line 2194:          readingsBulkUpdateIfChanged( $hash, "voice", $card->{playbackAudioAction}{mainText}, 1 );


Ich kenne mich mit der Programmierung von Modulen nicht hinreichend aus, aber ist hier das ...IfChanged nicht evtl. für die nicht vorhandene Aktualisierung des Zeitstempels im Reading verantwortlich?

Danke für eine Prüfung,
vG Achim
Die Anzeige war ein Amazon Screenshot. Das Modul ändert die Readings am FHEM nur dann wenn sich etwas ändert.

awel

#1038
Zitat von: michael.winkler am 31 August 2018, 09:20:09
Die Anzeige war ein Amazon Screenshot. Das Modul ändert die Readings am FHEM nur dann wenn sich etwas ändert.
Genau das ist ja bei identischen Sprachbefehlen in Folge das Problem. Der Screenshot sollte sicher nur ein Beispiel sein.

Neuer Versuch: Wenn man jeden Morgen im Flur vor dem Bad zum Dot "Alexa, aufstehen" oder anderen Unsinn sagt, um ein Tages-Startprogramm zu starten, und der Dot sonst nicht angesprochen wird, funktioniert die Erkennung/Auswertung vom zweiten Tag an nicht mehr, da sich der Sprachbefehl nicht geändert hat und dadurch in der aktuellen Version auch das Reading -und damit der Zeitstempel an dem man eine neue Aktivierung erkennen könnte- nicht ändert.

Noch ein Nachtrag: Hat man mehrere Dots, lässt sich nur über den Zeitstempel des voice-Readings ermitteln, welcher angesprochen wurde. Oder gibt es da einen anderen Weg?

TomLee

Zitat
Neuer Versuch: Wenn man jeden Morgen im Flur vor dem Bad zum Dot "Alexa, aufstehen" oder anderen Unsinn sagt, um ein Tages-Startprogramm zu starten, und der Dot sonst nicht angesprochen wird, funktioniert die Erkennung/Auswertung vom zweiten Tag an nicht mehr, da sich der Sprachbefehl nicht geändert hat und dadurch in der aktuellen Version auch das Reading -und damit der Zeitstempel an dem man eine neue Aktivierung erkennen könnte- nicht ändert.

Diesen Fall könntest aber mit einer Routine lösen.

ZitatNoch ein Nachtrag: Hat man mehrere Dots, lässt sich nur über den Zeitstempel des voice-Readings ermitteln, welcher angesprochen wurde. Oder gibt es da einen anderen Weg?

Nur über den Custom-Skill, drum wäre das mit dem voice-Reading ne feine Sache.

awel

Zitat von: TomLee am 31 August 2018, 10:19:15
Diesen Fall könntest aber mit einer Routine lösen.

Mache ich ja auch. Aber um von fhem "berechnet" antworten zu können (Müllabfuhr, andere Hinweise,...), brauche ich den Dot der angesprochen wurde. Und das sehe ich nur über den Zeitstempel des voice-Readings realisierbar.
Obwohl da die Tücke auch im Detail steckt: Selbst mit "set <echodevice> settings" gibt es noch eine Zeitverzögerung, bis die Readings aktualisiert werden. Mal sehen...

ZitatNur über den Custom-Skill, drum wäre das mit dem voice-Reading ne feine Sache.

Geeeenau  ;D

Markus M.

#1041
Zitat von: michael.winkler am 31 August 2018, 09:20:09
Die Anzeige war ein Amazon Screenshot. Das Modul ändert die Readings am FHEM nur dann wenn sich etwas ändert.

Genau das ist ja das Problem.
Ich verstehe nicht warum du das OnChanged readingsBulkUpdateIfChanged verwendest und welche Existenzberechtigung diese Funktion überhaupt hat.
Das sollte generell dem User überlassen bleiben, genau dafür gibt es die on-change-reading Attribute.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

awel

#1042
Zitat von: Markus M. am 31 August 2018, 13:22:24
Ich verstehe nicht warum du das OnChanged verwendest...

Totales Missverständnis:
Ich verwende nicht ..., sondern in deinem Code steht für das Voice-Reading wie oben angegeben in den beiden Zeilen readingsBulkUpdateIfChanged....
Da ich wie gesagt keine Ahnung von deinem Code habe, habe ich trotzdem mal ganz blauäugig bei den beiden voice-Reading-Zeilen die ich oben zitiert habe das readingsBulkUpdateIfChanged durch ein simples readingsBulkUpdate also ohne das ifChanged ersetzt. Damit müsste mMn das Reading -und damit sein Zeitstempel- aktualisiert werden, auch wenn sich der Inhalt selbst nicht ändert.
Und oh wunder oh staune, der Zeitstempel des voice-Readings wird jedesmal aktualisiert, wenn ich Alex denselben Sprachbefehl in Folge gebe. In der ursprünglichen Version mit readingsBulkUpdateIfChanged logischerweise nicht, da das Reading selbst gleich bleibt (z.B. sinnfrei: Alexa, wie spät ist es?).

Ich weiß nur nicht, ob diese Änderung in Ordnung geht oder an anderen Stellen zu Problemen führen könnte. Auf jeden Fall passiert damit genau das, was ich möchte: Jeder Sprachbefehl an Alexa führt unabhängig vom Inhalt zur Aktualisierung des voice-Readings - zumindest des Zeitstempels dieses Readings ;-)
Wenn ich denselben Dot 20 mal hintereinander identisch frage "Alexa, wie spät ist es" weist der Zeitstempel des voice-Readings jetzt die Zeit der letzten und nicht mehr die Zeit der ersten Frage aus.

VG Achim

michael.winkler

Zitat von: Markus M. am 31 August 2018, 13:22:24
Genau das ist ja das Problem.
Ich verstehe nicht warum du das OnChanged readingsBulkUpdateIfChanged verwendest und welche Existenzberechtigung diese Funktion überhaupt hat.
Das sollte generell dem User überlassen bleiben, genau dafür gibt es die on-change-reading Attribute.
Das kann ich gerne umstellen. Bin jetzt nur gerade unterwegs. Werde dann am Montag mal eine Version Posten


Gesendet von iPhone mit Tapatalk

awel

Prima, vielen Dank und ein schönes Wochenende!
VG Achim

Marlen

Ach, ihr verwendet auch das voice Reading zur Sprachsteuerung!?
Ich reagiere mit einen notify darauf, z.B.:
}elsif ((($EVENT =~ /saug/) && $EVENT =~ /wohnzimmer/)) { fhem "set Reinige Wohnzimmer"
Wie macht ihr das?
Schade ist halt das dass Reading stark zeitverzögert kommt.
Aber dafür halt einfach und unkompliziert!

Hier nochmal ein großes Lob an dem Modul Entwickler! [emoji8][emoji8][emoji8]

LG
Marlen

Gesendet von meinem Aquaris U Plus mit Tapatalk


Marlen

Hallo, nachdem mit der V40 dann wieder alles disconnected war, hab ich jetzt die V41 eingespielt.

Nach kurzer Zeit war es dann connected, da es nicht gleicht connected war, hab ich das captcha zu lösen, doch das klicken auf ...._cookielogin4.html brachte nur einen leeren Tab.

Als es dann plötzlich auch so connected war, wollte ich ein autocreate_device machen, dann ging ein Fenster auf, mit:

<html><table align="" border="0" cellspacing="0" cellpadding="3" width="100%" height="100%" class="mceEditable"><tbody><p>Devices:</p><tr><td><strong>Serial</strong></td><td><strong>Family</strong></td><td><strong>Devicetype</strong></td><td><strong>Name</strong></td></tr>

Was passt da nicht???

LG
  Marlen

TomLee

#1047
Bist auch wirklich richtig connected oder wechselt das state Reading alle 60 Sekunden wieder kurz auf disconnected ?

Was steht im COOKIE_STATE-Reading ?


ZitatNach kurzer Zeit war es dann connected, da es nicht gleicht connected war, hab ich das captcha zu lösen, doch das klicken auf ...._cookielogin4.html brachte nur einen leeren Tab.

Hatte ich auch am Tablet, am PC gabs keine Probleme. Vielleicht hilft's auch den Browser-Cache zu löschen.

Marlen

START und was muss da stehen?

defmod echo echodevice crypt:xxxxxx
attr echo browser_save_data 1
attr echo disable 0
attr echo icon echo
attr echo room Amazon

setstate echo connected
setstate echo xxxxxx

setstate echo 2018-09-01 21:56:07 2FACode not used
setstate echo 2018-09-01 21:58:15 BrowserLanguage de-DE
setstate echo 2018-09-01 21:58:15 BrowserUserAgent 7xlN5tqbIrPyhOQk3Pttk
setstate echo 2018-09-01 21:56:06 COOKIE_STATE START
setstate echo 2018-09-01 21:56:08 COOKIE_TYPE NEW
setstate echo 2018-09-01 21:58:15 alarm_count 0
setstate echo 2018-09-01 21:57:38 autocreate_devices running
setstate echo 2018-09-01 21:58:15 musicalarm_count 0
setstate echo 2018-09-01 21:58:15 reminder_count 0
setstate echo 2018-09-01 21:58:16 state connected
setstate echo 2018-09-01 21:58:15 timer_count 0
setstate echo 2018-09-01 21:58:15 timer_id -
setstate echo 2018-09-01 21:58:15 timer_remainingtime 0
setstate echo 2018-09-01 21:55:10 version 0.0.41


TomLee

Dann bist auch nicht richtig verbunden. OK muss drinstehen.