[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#5535
Zitat von: el_diabolo am 15 Januar 2023, 14:26:18
Hallo liebe FHEM gemeinde

Gibt es eigentlich schöne devStateIcon für das Modul : echodevice ?
Ich versuche mir was zu basteln aber irgendwie funktioniert das nicht ☹

Hätte gerne den Play Status Lautstärke und sowas im state  online und offline und sowas währe toll


LG Gerrit

Da das eigentlich nichts (direkt) mit dem Echodevice-Modul/-Devices zu tun hat: besser einen neuen Thread aufmachen!
Unterforum siehe:
Zitat von: help FHEMWEB
Module: 01_FHEMWEB.pm Maintainer: rudolfkoenig Forum: Frontends/FHEMWEB

EDIT: wobei gut, die Frage ob jemand schon was (schönes) hat, ist nat. hier schon (erst mal) richtig ;) Konkrete Wünsche einer Umsetzung (falls das hier gebotene "nicht gefällt") dann aber besser in einem neuen/eigenen Thread...

Kurze Antwort (hier noch, dann evtl. weiter im neuen Thread):

was spricht gegen ein entsprechendes (mehrzeiliges) stateFormat (worauf dann devStateIcon "wirken" kann)?

https://wiki.fhem.de/wiki/DeviceOverview_anpassen
https://wiki.fhem.de/wiki/DevStateIcon

EDIT:
attr ECHO_XYZ stateFormat playStatus volume online

Es geht nat. auch Perl-Code und vieles mehr...

Wenn du online/offline statt online=treu/false willst -> userReadings und dann das in stateFormat...
(allerdings: online/offline heißt nur steckt an der Steckdose und ist verbunden mit Amazon)

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)

michael.winkler

Zitat von: Superposchi am 14 Januar 2023, 20:14:31
Ich habe schon geraume Zeit mit diversen Devices Probleme, darunter auch die der Echo's.

Heute habe ich mich erneut mit dem Problem beschäftigt und alles vorhandene gelöscht, Fhem neugestartet und dann neu installiert und Fhem noch mal neugestartet.
Leider bekomme ich - egal ob mit Anmeldedaten oder mit der Anmeldung per NPM in beiden Devices ein "connected but loginerror" nicht weg.
Die Anmeldedaten sind definitiv richtig (kann mich sowohl am PC auf der Webseite als auch auf dem Handy auf der App mit diesen Daten einloggen) und beim Device mit NPM bekomme ich immer folgende Fehlermeldungen wenn ich ein NPM Login New ausführen:

Login Ergebnis
Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durch


Wenn ich dann wie gewüsncht ein NPM Install durchführe bekomme ich:
Installationsergebnis
Installation wird angestartet up to date, audited 90 packages in 1s 10 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
!!Installation fehlgeschlagen!!
zurückgegeben.

Ich habe die Anleitung zur Installation in Fhem abgearbeitet. Ich nutze einen Docker Container auf dem Bullseye läuft. NPM ist installiert und die Versionsnummern liegen deutlich über denen in den Abbildungen der Anleitung von https://www.mwinklerblog.de/modul-echodevice-npm/. Daher habe ich den Teil bei dem NPM installiert wird nicht durchgeführt, da ja sonst ältere Versionen installiert würden als jetzt vorhanden.

Am liebsten würde ich die NPM-Anmeldung nutzen, aber Hauptsache ist, dass ich es überhaupt wieder ans Laufen bekomme. Kämpfe jetzt schon Monate mit dem Problem.
Hast du mal den manuellen Installationsweg versucht?

Superposchi

Ja, beide Wege bringen keine Besserung.
Ich verstehe auch die Fehlermeldung nicht wirklich, da kein Grund für den Abbruch angegeben wird.

JudgeDredd

Zitat von: Superposchi am 16 Januar 2023, 11:56:25
Ich verstehe auch die Fehlermeldung nicht wirklich, da kein Grund für den Abbruch angegeben wird.
Wenn Du das NPM-Alexapaket manuell über die Konsole installierst (npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2)
Stimmen danach die Berechtigungen (Vollzugriff für den FHEM-User) für /opt/fhem/cache und den darin enthaltenen Verzeichnissen/Dateien ?
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Superposchi

Habe ich jetzt extra noch mal gemacht gemacht. Rückmeldung:
up to date, audited 90 packages in 2s

10 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities


Und die Fehler bleiben genauso wie vorher.

Ein npm fund gibt folgende Rückmeldung:
fhem



JudgeDredd

Die wichtigste Frage nach den Berechtigungen bleibt unbeantwortet.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

MadMax-FHEM

Zitat von: JudgeDredd am 16 Januar 2023, 16:44:16
Die wichtigste Frage nach den Berechtigungen bleibt unbeantwortet.

Und: gab es tatsächlich FEHLER oder "nur" die Meldung:

Zitat
10 packages are looking for funding
  run `npm fund` for details

Das hatte ich (glaube ich auch so oder so ähnlich) und habe es einfach mal "ignoriert"... ;)

EDIT: evtl. großzügigere Ausgaben des Installationsvorganges...

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)

stefanru

Hallo,

vielen Dank für das tolle Modul.
Ich benutze es seit Jahren und es funktioniert einfach.

Jetzt bin ich auf die Schnapsidee gekommen, dass ich noch einen zweiten Amazon Account hinzufügen wollte, um den Echo meiner Eltern auch zu steuern.

Gesagt getan habe ich mit "define AmazonEltern echodevice xxx@xxx.xx xxx" ein neues Device angelegt.
Dann habe ich NPM login new versucht um die Anmeldedaten der Eltern zu hinterlegen.
Das dauerte ewig und endete mit:
Der angegebene Proxy Port 3002 ist in Benutzung, bitte das Attribut "npm_proxy_port" entsprechend anpassen.

Nach einem weiteren Versuch hing FHEM komplett und ließ sich auch nicht mehr stoppen.
Es half nur ein beherztes kill -9.

Da ich gelesen hatte bei diesem Problem den ganzen Rechner (Raspberry) neu zu starten tat ich das.

Nach dem Neustart war das Device auch da. Es war seltsamer weise auch Connected.
Da ich aber noch kein NPM Login new gemacht hatte wohl mit meinen Daten.
Dann sah ich, dass sich auch ein Blinker eingestellt hatte.
Es wechselte immer von connected zu connected but loginerror bei allen meinen Echos und dem AmazonEltern Account.
Mein Amazon Account blieb immer connected.

Ich habe dann hier versucht etwas über 2 gleichzeitige Accounts und Logins zu finden.
Bis auf etwas, dass es gehen müsste habe ich aber nichts gefunden.

Ich habe nun also erstmal den AmazonEltern Account gelöscht und neu gestartet und alles funktioniert wieder.

Deshalb nun meine Frage:
Ist es möglich 2 Account gleichzeitig anzumelden?
Welche Voraussetzungen muss ich erfüllen, bzw,. warum ging das mir dermaßen in die Hose?

Danke und viele Grüße,
Stefan

Superposchi

@JudgeDredd
Sorry, hatte nicht gesehen das das als Frage gemeint war. Ich hatte es so verstanden, dass der genannte Befehl die Berechtigungen richtig setzt falls sie es nicht waren. Muss ich nachschauen sobald ich wieder am Rechner bin.

@MadMax-Fhem
"Installation abgebrochen" nach einem Npm install sehe ich als Fehler an. Ich wollte nur nicht ständig die gleichen Zitate wiederholen. Steht ein paar Post darüber.
Es ist ja der Witz an der Sache, ein npm login fordert zu einem npm install auf und das wiederum wird immer wieder abgebrochen.
Was genau meinst du mit "großzügige Ausgabe des Installationsvorganges"?

MadMax-FHEM

Zitat von: Superposchi am 16 Januar 2023, 19:02:01
Was genau meinst du mit "großzügige Ausgabe des Installationsvorganges"?

Naja mal von: du führst den Befehl aus INKL. Befehl UND prompt bis zum Fehler einfach mal alles hier posten.

Vielleicht sieht man ja was "auf dem Weg" bis "abgebrochen".

Es kommt doch bestimmt mehr von "Eingabe" bis "Abgebrochen"?

Dann noch: welche Plattform?
(HW, OS inkl. Version, baremetal/Docker/VM/...)

Version von npm/nodejs...

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)

Superposchi

@JudgeDredd
Laut Eigenschaften auf dem Win-PC und auch der File-Station auf dem NAS haben alle angelegten User Vollzugriff, darunter auch 6061 und Homeautomation sowie Fhem.

@MadMax-FHEM
Versuche ich Morgen mal komplett aufzulisten. Das jetzt zu machen ist schon etwas zu spät.
Einige der Angaben stehen aber auch schon in vorherigen Posts.

JudgeDredd

Zitat von: Superposchi am 16 Januar 2023, 22:23:05
@JudgeDredd
Laut Eigenschaften auf dem Win-PC und auch der File-Station auf dem NAS haben alle angelegten User Vollzugriff, darunter auch 6061 und Homeautomation sowie Fhem.
Da kann ich Dir leider nicht ganz folgen, da ich nicht Deine Umgebung kenne, aber von mir gemeint war ein
ls -al /opt/fhem/cache
auf der Konsole der FHEM Maschine.
Dort sollte das Verzeichnis mind. als Eigentümer den <FHEM-User> haben und als Rechte mind. 755 (drwxr-xr-x).
Kannst Du das nochmal verifizieren ?
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Superposchi

@JudgeDredd
Sorry, ich bin ein Windows-Anwender, daher nutze ich auch primär die Funktionen von Windows.
Die Rückmeldung auf deinen Befehl lautet:
total 24
drwxrwxrwx+  3 fhem fhem 4096 Dez 14 03:03 .
drwxrwx---+ 23 fhem fhem 4096 Jan 15 13:35 ..
drwxrwx---+  3 fhem fhem 4096 Okt 30 13:20 alexa-cookie

Sagen tut mir das rein gar nichts, da ich weder einen User zuordnen kann noch feststellen kann welches rw zu welchem Vorgang gehört. Auch ist mir nicht klar warum für ein Verzeichnis drei Einträge ausgegeben werden. Ich finde Linus sehr unlesbar.

@MadMax-Fhem
Also vorab, ich nutze eine TS43A mit aktuellem OS. Fhem läuft in einem Docker-Container mit Bullseye (Version 3.0.7 steht in der Containerauswahl).
Ich habe begonnen mit der Anleitung auf dieser Seite: https://www.mwinklerblog.de/smarthome/eigene-module/echodevice/
Befehl: "define Wohnzimmerecho echodevice xxx@xxx.xx xxx"
Ergebnis: Erzeugt ein Device mit "INITIALIZED" im STATE.
Weiter geht es auf der Seite: https://www.mwinklerblog.de/modul-echodevice-npm/
Da NodJS und NPM bereits installiert und neur sind habe ich die folgenden Schritte übersprungen.
Der Befehl "node --version" gibt ein "v14.21.1" zurück;
Der Befehl "npm --version" gibt ein "9.1.3" zurück.
Leider ist die Anleitung hier nicht mehr wirklich aktuell, da Stretch ja schon sehr veraltet ist.

Weiter habe ich dann die manuelle Installation gewählt wie von Michael vorgeschlagen.
Befehl: "sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2" gibt folgendes zurück:
up to date, audited 90 packages in 2s

10 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Der Befehl "sudo chown -R fhem:  /opt/fhem/cache/alexa-cookie" folgendes:



Kein Fehler, es wird gar nichts angezeigt.

Weiter geht es in Fhem. Der Befehl "NPM_login new" gibt folgendes zurück:
Login Ergebnis

Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durch

Das nicht in der Anleitung vorkommende aber im vorherigen Befehl geforderte "NPM_install" gibt folgendes zurück:


Installationsergebnis

Installation wird angestartet up to date, audited 90 packages in 649ms 10 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
!!Installation fehlgeschlagen!!

Das Anklicken eines Links wie in der Beschreibung genannt ist nicht möglich, da kein Link angezeigt wird und eine manuelle Eingabe zu keinem Ergebnis führt.

Ich hoffe das war ausführlich genug. Mehr kann ich nicht bieten.

Als letztes noch ein List des erstellten Devices:


Internals:
   CFGFN     
   DEF        xxx@xxx.xx xxx
   FUUID      63c668a7-f33f-6c14-3c66-4194d6a270c8a2bd
   LOGINMODE  NPM
   NAME       Wohnzimmerecho
   NR         71057
   NTFY_ORDER 50-Wohnzimmerecho
   STATE      INITIALIZED
   TYPE       echodevice
   model      ACCOUNT
   OLDREADINGS:
   READINGS:
     2023-01-17 10:21:43   COOKIE_MODE     NPM
     2023-01-17 10:21:48   COOKIE_TYPE     NEW
     2023-01-17 10:21:48   autocreate_devices stop
     2023-01-17 10:21:48   version         0.2.19
   helper:
     RUNLOGIN   0
     SERVER     layla.amazon.de
     TWOFA     
Attributes:
   icon       echo
   room       Amazon

JudgeDredd

Zitat von: Superposchi am 17 Januar 2023, 10:37:37
total 24
drwxrwxrwx+  3 fhem fhem 4096 Dez 14 03:03 .
drwxrwx---+ 23 fhem fhem 4096 Jan 15 13:35 ..
drwxrwx---+  3 fhem fhem 4096 Okt 30 13:20 alexa-cookie

Sagen tut mir das rein gar nichts, da ich weder einen User zuordnen kann noch feststellen kann welches rw zu welchem Vorgang gehört.
Das besagt, das der User "fhem" die erforderlichen Rechte besitzt (also soweit ok)
Wundert mich zwar etwas, das die Rechte stimmen, da bei einer manuellen Installation die erstmal auf root stehen, aber egal.

Zitat von: Superposchi am 17 Januar 2023, 10:37:37
Weiter habe ich dann die manuelle Installation gewählt wie von Michael vorgeschlagen.
Befehl: "sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2" gibt folgendes zurück:
up to date, audited 90 packages in 2s

10 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Auch soweit OK. Das "10 packages are looking for funding" bedeutet nur, das es auch kostenpflichtige Pakete gibt.

Zitat von: Superposchi am 17 Januar 2023, 10:37:37
Der Befehl "sudo chown -R fhem:  /opt/fhem/cache/alexa-cookie" folgendes:


Kein Fehler, es wird gar nichts angezeigt.
Das ist auch korrekt.

Zitat von: Superposchi am 17 Januar 2023, 10:37:37
Weiter geht es in Fhem. Der Befehl "NPM_login new" gibt folgendes zurück:
Login Ergebnis

Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durch

Das ist natürlich noch ein Problem, was es zu beheben gilt.
Zuerst mal sicherstellen unter welchem User der FHEM-Prozess läuft (wieder Linux Konsole)
ps -aux | grep fhem
und dann noch die Frage, ob FHEM tatsächlich im Pfad "/opt/fhem" installiert ist.
ls /opt/fhem
Falls nicht, müsste im EchoDevice noch das (neue) Attribut "fhem_home" setzen.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Superposchi

Ich werde sicherlich auch irgendwann die automatische Variante ausprobiert haben, vielleicht stimmen deshalb die Rechte.
Abgesehen davon steht in der manuellen Version doch auch ein Befehl mit dem die Rechte eingestellt werden.


Habe deinen Befehl mal eingegeben und die Rückmeldung zu "ps -aux | grep fhem" lautet:
error: user name does not exist

Usage:
ps [options]

Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
for additional help text.

For more details see ps(1).


Im Docker ist /opt/fhem bewusst verknüpft.
Dennoch ausprobiert und der andere Befehl "ls /opt/fhem" gibt folgendes zurück:
alexa-fhem.cfg           backup  certs    configDB.pm  COPYING  demolog  FHEM      fhem.cfg.bak      fhem.cfg.demo  gassistant-fhem.cfg           GPL_V2.txt  _Inline  log             Makefile         README.SVN  t           unused   webfrontend
alexa-fhem.cfg.previous  cache   CHANGED  contrib      data     docs     fhem.cfg  fhem.cfg.default  fhem.pl        gassistant-fhem.cfg.previous  HISTORY     lib      MAINTAINER.txt  README_DEMO.txt  restoreDir  thirdparty  UPGRADE  www


Offenbar hat es wohl was mit dem Usernahmen zu tun. Aber da blicke ich eh nicht durch weil beim Start des Fhem-Servers im Log nicht nur der Fhem-User auftaucht, sondern auch die User '6061', '6002' und '6003'.
Für mich ist dabei nicht ersichtlich welcher User für welche Verzeichnisse und Aufgaben Rechte bekommt. Auf der NAS jedenfalls gibt es den User 'fhem' dem für alle betroffenen Verzeichnisse Lese/Schreib-Rechte eingeräumt sind. Aber was der Fhem-Server selbst an Rechten macht ist mir nicht klar.