[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: KölnSolar am 18 August 2019, 16:57:27
Die 2. Variante mag ich nicht, da extra node u. npm installiert werden müssen. Damit begeben wir uns unnötig in "fremde Hände".
Grüße Markus
Was meinst Du damit? Welche fremde Hände meinst Du?

Die Cookie Lösung ist nicht wirklich praktikabel. Spätestens alle 14 Tage muss das Cookie erneuert werden. Wenn man Pech hat sogar öfters.

Die normale Anmeldung mit Benutzer und Mail ist, wer weis warum, nicht sehr stabil. Auch eine 2FA ode Captcha Anmeldung funktioniert nicht sehr gut.

Die NPM Methode ist aktuell die sicherste Variante, auch deshalb weil hier auf dem FHEM Server keinerlei Anmeldeinformationen gespeichert werden.

Ich werde die Tage eine genaue Anleitung bezüglich NPM Login auf meiner Webseite erstellen. Die sollte dann jedem Helfen der aktuell Probleme bei der Einrichtung hat.

KölnSolar

#2881
ZitatWas meinst Du damit? Welche fremde Hände meinst Du?
außerhalb der FHEM-community. Zusätzliche Fehlerquellen(Bsp.), wie lange leben node u. npm, wer wartet alexa-cookie, wie funktionieren updates(alexa-cookie gibt es in der 9. Version !)..
Ich hab z.B. extra ein Pythonskript in Perl übersetzt, um unabhängig von "Fremden" zu sein. So gab es z.B. ein Python-Skript, welches auf einen US-Server zugriff. Server down - FHEM funktioniert nicht mehr.

In alexa-cookie(npm_login) steckt doch nichts besonderes drin, als das abgekupferte Skript von alexa_remote_control.sh des FHEM-users adn77. Nur halt in js, was dann Installation von node, npm, diversen js-Programmen und alexa-cookie erforderlich macht. Für die Installation dann noch sudo-Rechte für den FHEM-User. Ich wette, dass der größte Teil der User nur stumpf den Anleitungen folgt und vergisst die sudo-Rechte zurückzunehmen, womit dann auch noch eine Sicherheitslücke entsteht.

Und ich frag mich warum. Warum nicht das Skript von adn77 nach Perl übersetzen ? Ich denke das ließe sich problemlos machen(das meiste ist eh schon im Modul realisiert, also nur Erweiterung/Anpassung).
Grüße Markus
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

balli1187

Du begibst dich mit jedem Modul, welches du installierst in fremde Hände - nämlich, die des jeweiligen Entwicklers.
Wie lange eine Programmiersprache lebt, kann niemand vorher sagen aber offenbar setzen ein paar der besten hier tätigen Programmierer auf node. Ich würde davon ausgehen, dass die dafür Gründe haben.

Ich kann durchaus verstehen, dass man grundsätzlich versuchen möchte alles mit "Bordmitteln" - also im Fall von FHEM eben Perl - um zu setzen. Niemand wird dich daran hindern eine funktionierende Alternative in Perl umzusetzen, bereitzustellen und auf gleichem Niveau zu supporten und weiter zu entwickeln. Wenn du das aber nicht möchtest oder kannst, dann solltest du nicht versuchen anderen Nutzern die bestehende und funktionierende Methode madig zu machen. Die Posts erwecken nämlich den Eindruck als würde durch Node/npm ein Sicherheitsrisiko in das Modul gebracht werden.


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

KölnSolar

Zitatfunktionierende Methode madig zu machen.
"funktioniert" ja eben nicht wie einige der letzten Posts belegen. Technisch zwar schon, aber die Installation macht den Usern Probleme. Wer hilft ?

ZitatDie Posts erwecken nämlich den Eindruck als würde durch Node/npm ein Sicherheitsrisiko in das Modul gebracht werden.
Ist ja auch eins, wohlgemerkt Risiko. sudo-Rechte fhem-User, Fremdquellen. Je mehr Quellen, desto größer das Risiko.
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

balli1187

Zitat von: KölnSolar am 18 August 2019, 20:12:24
"funktioniert" ja eben nicht wie einige der letzten Posts belegen. Technisch zwar schon, aber die Installation macht den Usern Probleme. Wer hilft ?
Die Probleme treten auf, da es von Amazon keine API gibt und die Aktionen über einen dafür nicht vorgesehenen Kanal ausgelöst werden.
Die von dir genannte Alternative (Cookie-Methode) funktioniert deutlich schlechter und macht wesentlich mehr Probleme, vom Aufwand ganz zu schweigen.
Das Skript, welches die von dir genannten Kritikpunkte beheben soll, existiert scheinbar noch nichtmal in der Perl. Wer stellt es bereit? Wer supportet es?

ZitatIst ja auch eins, wohlgemerkt Risiko. sudo-Rechte fhem-User, Fremdquellen. Je mehr Quellen, desto größer das Risiko.
- ich habe die Installation auf der Shell ausgeführt, so wie es auch in der Doku beschrieben ist. Keine sudo-Rechte notwendig.
- es wird darauf hingewiesen, dass die Rechte _nur_ für die Installation notwendig sind.
- wird dein Skript verwendet, verlagert sich das Risiko von Node auf eben jenes Skript. Mit dem Unterschied, dass Node und npm wesentlich mehr User haben und Schwächen damit Potential schneller und besser behoben werden.


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

KölnSolar

#2885
Ich schlage vor, Du eröffnest einen neuen Thread. Du warst in einen Dialog von Michael und mir gegrätscht, hast nicht das Hintergrundwissen und wirfst nun einiges durcheinander. Ich antworte Dir dann dort gerne.

Btw., guck mal hier und in die Like-Liste.

Edit: Und wenn ja alles so easy ist, kannst Du ja hier mal supporten.
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

crusader85

Danke euch :) habe jetzt auf npm umgestellt: Sie spricht wieder mit mir :)

MadMax-FHEM

Das dort genannte Problem ist aber begründet in der Verwendung von Docker...
...da könnte auch die vielgelobte Scriptvariante scheitern...
...evtl./vermutlich sogar eine Nachimplementation in Perl...

Ich schätze die Offenheit von fhem und des Forums...
...es gibt neben dem nodejs noch Python, bash-Scripte und wer weiß was noch alles...
...gekoppelt mit fhem...
Toll!

Jeder kann ja selbst entscheiden, wie er es machen will...
...von Modul nicht nutzen über Cookie und nodejs bis hin zu selber was implementieren...

Meine Meinung dazu...

Und dann vielleicht generell die Diskussion nodejs oder oder oder...
...oder eben nicht woanders führen...

Macht den Thread nicht einfacher auch das noch hier zu machen...

Meine Meinung...

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)

Byte09

#2888
@michael

guten morgen ,

ich hätte eine bitte:
ich muss aus einem Hilfsdevice (MSwitch) die settings des echodevices aktualisieren. Ich benötige dieses da bei mir aktualisierungen des volume-readings extrem verzögert eintreffen, wenn die lautstärke am echo selber geändert wird ( 'alexa lauter' ).

Daher reagiere ich im Mswitch auf das voicereading, welches (sowieso 'intervalvoice') zeitnahe aktualisiert wird , und veranlasse das echodevice die settings zu aktualisieren mit 'get XXX settings' um dann auf das volumereading zu reagieren. Da hierbei allerdings ein 'OK' zurückgeliefert wird resultiert das natürlich in einem unschönen Fehler im MSwitch , da bei einer Befehlsausführung keine 'Rückmeldung' erwartet wird:
.
.
my $errors = AnalyzeCommandChain( undef, $cmds );
                if ( defined($errors) )
{
.
.


Fehler:
Zitat2019.08.19 08:13:14 1: Echocontrol Absent_Exec_Notif off: ERROR FreeCmd-AbsCmd1: OK -> Comand:   get ECHO_90F00718642501VP settings

wäre es ggf. möglich eine aktualisierung der settings (zusätzlich) in die 'sets' aufzunehmen , in der dann keine Rückmeldung generiert wird ?

( konkret hat sich das problem hieraus ergeben:
https://forum.fhem.de/index.php/topic,102892.msg968023.html#msg968023 )


742 -> $usage .= 'reread_settings:noArg volume:slider,0,1,100 play:noArg pause:noArg next:noArg previous:noArg forward:noArg rewind:noArg shuffle:on,off repeat:on,off dnd:on,off volume_alarm:slider,0,1,100 ';
817ff -> if ($command eq "reread_settings") {
echodevice_GetSettings($hash);
}
... wäre ja schon ausreichend

gruss Byte09

edit: mir ist bewusst , das ich das aktualisierungsintervall komplett auf einen kleinen wert setzen kann , möchte ich aber vermeiden da dieses für eine 'eventflut' sorgt, bei X echos im haus.

rippi46

#2889
Hallo,

ich benutze auch schon seit längerer Zeit das echodevice-Modul.
Hauptsächlich für Sprachausgaben und um Wiedergabelisten abzuspielen. Habe jetzt nicht alle 193 Seiten durchgelesen, aber gibt es eine Möglichkeit die Reihenfolge der Wiedergabeliste zufällig abzuspielen?

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

michael.winkler

Zitat von: Byte09 am 19 August 2019, 08:31:03
@michael

guten morgen ,

ich hätte eine bitte:
ich muss aus einem Hilfsdevice (MSwitch) die settings des echodevices aktualisieren. Ich benötige dieses da bei mir aktualisierungen des volume-readings extrem verzögert eintreffen, wenn die lautstärke am echo selber geändert wird ( 'alexa lauter' ).

Daher reagiere ich im Mswitch auf das voicereading, welches (sowieso 'intervalvoice') zeitnahe aktualisiert wird , und veranlasse das echodevice die settings zu aktualisieren mit 'get XXX settings' um dann auf das volumereading zu reagieren. Da hierbei allerdings ein 'OK' zurückgeliefert wird resultiert das natürlich in einem unschönen Fehler im MSwitch , da bei einer Befehlsausführung keine 'Rückmeldung' erwartet wird:
.
.
my $errors = AnalyzeCommandChain( undef, $cmds );
                if ( defined($errors) )
{
.
.


Fehler:
wäre es ggf. möglich eine aktualisierung der settings (zusätzlich) in die 'sets' aufzunehmen , in der dann keine Rückmeldung generiert wird ?

( konkret hat sich das problem hieraus ergeben:
https://forum.fhem.de/index.php/topic,102892.msg968023.html#msg968023 )


742 -> $usage .= 'reread_settings:noArg volume:slider,0,1,100 play:noArg pause:noArg next:noArg previous:noArg forward:noArg rewind:noArg shuffle:on,off repeat:on,off dnd:on,off volume_alarm:slider,0,1,100 ';
817ff -> if ($command eq "reread_settings") {
echodevice_GetSettings($hash);
}
... wäre ja schon ausreichend

gruss Byte09

edit: mir ist bewusst , das ich das aktualisierungsintervall komplett auf einen kleinen wert setzen kann , möchte ich aber vermeiden da dieses für eine 'eventflut' sorgt, bei X echos im haus.
Hi, wenn Du es in Deinem Modul umgehen kannst, würde ich Dich bitten wollen es auch dort zu tun.

Was ich eventuell einbauen könnte wäre, dass wenn ein voice Reading erkannt wird und dies von der entsprechenden Routine kommt, dass dann ein get_settings durchgeführt wird. Dann könntest Du auch auf Dein Zusatzmodul/Device verzichten.

michael.winkler

Zitat von: KölnSolar am 18 August 2019, 21:09:47
Ich schlage vor, Du eröffnest einen neuen Thread. Du warst in einen Dialog von Michael und mir gegrätscht, hast nicht das Hintergrundwissen und wirfst nun einiges durcheinander. Ich antworte Dir dann dort gerne.

Btw., guck mal hier und in die Like-Liste.

Edit: Und wenn ja alles so easy ist, kannst Du ja hier mal supporten.
Wie schon geschrieben, werde ich speziell für die NPM Geschichte einen eigenen Bereich auf meiner Webseite machen. Dort werde ich dann alle bisher gesammelten Infos zusammenschreiben.

Grundsätzlich ist es egal welche Programmiersprache verwendet wird. Viele gemeldeten Probleme rühren daher, dass sich die Benutzer nicht mal die Mühe machen die Seite 1 durchzulesen und ggf. dann noch das ein oder andere auf meiner Webseite.

Im Modul selber habe ich so viele Möglichkeiten eingebaut um an diese Infos zu gelangen. Leider werden diese gerade von solchen Benutzern nicht genutzt.

Byte09

Zitat von: michael.winkler am 19 August 2019, 15:03:04
Hi, wenn Du es in Deinem Modul umgehen kannst, würde ich Dich bitten wollen es auch dort zu tun.

Was ich eventuell einbauen könnte wäre, dass wenn ein voice Reading erkannt wird und dies von der entsprechenden Routine kommt, dass dann ein get_settings durchgeführt wird. Dann könntest Du auch auf Dein Zusatzmodul/Device verzichten.
Danke für die Info, ich habe mein Modul entsprechend angepasst.

trotzdem bin  ich der Meinung, daß es sich ja im Grunde um einen Statusrequest handelt, der m. e in den sets besser aufgehoben wäre.

im Grunde wird es auch bei den meisten Devices so gehandhabt..... aber egal.

gruss Byte09

Gesendet von meinem ELE-L29 mit Tapatalk


1907

Zitat von: 1907 am 08 August 2019, 15:43:52
Hi Miteinander,

Erstmal Danke an den Dev und alle Helfer für das tolle Modul.
Ich hab eine triviale Frage:
Ist es möglich über das Modul bei einem Echo Show 5 das Display abzuschalten? Also quasi wie mit dem Befehl "Alexa Display aus".
Echt abartig, dass so ne Funktion nicht per Alexa Routine möglich ist   :o

Ich möchte nochmal meinen Beitrag vom 8.8.19 zitieren.
Ist es irgendwie möglich per Befehl das Display zu deaktivieren?

Viele Grüße

MadMax-FHEM

Zitat von: 1907 am 22 August 2019, 15:01:12
Ich möchte nochmal meinen Beitrag vom 8.8.19 zitieren.
Ist es irgendwie möglich per Befehl das Display zu deaktivieren?

Viele Grüße

Geht es über:

alexa.amazon.de ?

Wenn nicht: dann wird es wohl auch mit dem Modul nicht gehen...
...wenn ja: dann muss mindestens Michael eine Info kriegen wie (besser einen Patch ;)  )...

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)