[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

andy19850

Zitat von: andy19850 am 25 Juni 2022, 12:21:10
Ich verzweifele... :-[
Habe meine Installation in einer Docker-Umgebung (ghcr.io/fhem/fhem/fhem-docker:bullseye)


fhem@8ae46774a0bb:~$ npm -v
8.10.0

fhem@8ae46774a0bb:~$ node -v
v14.19.2


Es läuft alles durch inkl. Eingabe der Nutzerdaten. Danach erscheint im Browser "ERR_EMPTY_RESPONSE"
Das Log sagt dann:

_http_outgoing.js:555
    throw new ERR_INVALID_CHAR('header content', name);
    ^

TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["Cookie"]
    at ClientRequest.setHeader (_http_outgoing.js:564:3)
    at new ClientRequest (_http_client.js:262:14)
    at Object.request (https.js:370:10)
    at request (/opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/alexa-cookie.js:86:25)
    at handleTokenRegistration (/opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/alexa-cookie.js:500:9)
    at prepareResult (/opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/alexa-cookie.js:396:13)
    at ProxyServer.onProxyRes (/opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/lib/proxy.js:332:31)
    at ProxyServer.emit (/opt/fhem/cache/alexa-cookie/node_modules/eventemitter3/index.js:183:35)
    at ClientRequest. (/opt/fhem/cache/alexa-cookie/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js:173:27)
    at ClientRequest.emit (events.js:400:28) {
  code: 'ERR_INVALID_CHAR'
}


List vom Device nach Neustart
Internals:
   DEF        xxx@xxx.xx xxx
   FUUID      5f7b30e7-f33f-774e-efbb-ca5568c0568b992e
   LOGINMODE  NPM
   NAME       amazon
   NR         379
   NTFY_ORDER 50-amazon
   STATE      INITIALIZED
   TYPE       echodevice
   model      ACCOUNT
   OLDREADINGS:
   READINGS:
     2022-06-25 12:19:02   COOKIE_MODE     NPM
     2022-06-25 12:19:07   COOKIE_TYPE     NEW
     2022-06-25 12:18:49   amazon_refreshtoken wait for refreshtoken
     2022-06-25 12:19:07   autocreate_devices stop
     2022-06-25 12:19:07   version         0.2.15
   helper:
     DEVICETYPE AP1F6KUH00XPV
     RUNLOGIN   0
     SERVER     layla.amazon.de
     TWOFA     
     VERSION   
     getbehavior:
     notifications:
       G000NS0592240KRN:
       G070L8170217289B:
       G070L817022700CV:
       G0911M1001350N7S:
       G0911M11040204PP:
       G0911M11040204TB:
       G0911X03019400VB:
       G091B004017505T2:
       G2A17X0101460BT6:
       G2A17X0101460C8E:
Attributes:
   DbLogExclude .*
   alias      amazon
   event-on-change-reading .*
   group      Multimedia
   icon       echo
   npm_bin    /usr/bin/npm
   npm_bin_node /usr/bin/node
   npm_proxy_ip 192.168.11.4
   npm_proxy_listen_ip 172.18.0.3
   npm_proxy_port 3002
   room       System->Alexa
   verbose    2


Docker-compose:
fhem:
    restart: always
    container_name: fhem
    ports:
      - "8083:8083"
      - "7072:7072"
      - "8383:8383"
      - "3002:3002"
    image: ghcr.io/fhem/fhem/fhem-docker:bullseye
    volumes:
      - ./fhem/core/:/opt/fhem/
    networks:
      - docker-network
    environment:
       FHEM_UID: 1000
       FHEM_GID: 1000
       TIMEOUT: 10
       RESTART: 1
       TELNETPORT: 7072
       TZ: Europe/Berlin
       NPM_PKGS: "alexa-fhem"
    depends_on:
       - "mysql"

Hat wer eine Idee?

Habe es heute noch einmal versucht. Leider immer noch keinen Erfolg :(

yamaha1983

Hallo zusammen,

wenn ich mein FHEM neustarte, dann ist der Status vom echodevice Modul immer "INITIALIZED".
Dann muss ich einmalig ein npm_login new machen, damit ich wieder connected bin.

Danach läuft das auch über Wochen problemlos.

Warum wird nach dem Neustart der alte Cookie nicht mehr verwendet?
Oder habe nur ich das Problem, wie kann ich es dann aber lösen?

Danke,
Grüße

87insane

#5312
Hey zusammen,

ich nutze das Modul nun echt lange und finde es nach wie vor gut. Ich hatte mir eine "letzter Wecker" Funktion gebaut und daher mein Anliegen.
Amazon löscht inaktive Wecker oder Timer nicht. Diese bleiben bestehen und dümpeln vor sich hin. Ich selber finde das eher unpraktisch und würde
diese gerne löschen können. Im Modul habe ich keinen Weg dafür gefunden. Hab ich was übersehen?
Wenn nein, kann das eingebaut werden?

EDIT: Okay - Ich habe die Funktion notification delete gefunden. Diese löscht einen einzelnen Wecker. Allerdings löscht sie nicht die zugehörigen Readings und somit stimmt der AlarmCount nicht. Gibt es einen Weg A) alle Wecker zu löschen und B) damit verbunden auch die Readings?

Gruß,
87Insane

EDIT:
@ALL die ggf ein minimal State Icon haben wollen für Ihren Echo:

devStateIcon
{
my $mystate = ReadingsVal($name,"playStatus","ERROR");
my $playpic = $mystate eq 'playing'
  ?'rc_PAUSE@red'
  :'rc_PLAY@green';
my $com = $mystate eq "playing"
  ?'pause'
  :'play';
my $previouspic = 'rc_PREVIOUS';
my $nextpic = 'rc_NEXT';
my $artist = ReadingsVal($name,"currentArtist","ERROR");
my $title = ReadingsVal($name,"currentTitle","ERROR");

my $show = $mystate eq 'playing'
  ? "
  <a href=\"/fhem?cmd.dummy=set $name previous&XHR=1\">".FW_makeImage($previouspic)."</a>
  <a href=\"/fhem?cmd.dummy=set $name $com&XHR=1\">".FW_makeImage($playpic)."</a>
  <a href=\"/fhem?cmd.dummy=set $name next&XHR=1\">".FW_makeImage($nextpic)."</a>"
  ." $artist - $title"
  : "
  <a href=\"/fhem?cmd.dummy=set $name $com&XHR=1\">".FW_makeImage($playpic)."</a>"
;

"<div>
$show
</div>"
}
}


Bietet Next, Play/Pause und Previous. Next und Previous sind ausgeblendet wenn der Status nicht playing ist.

Shadow3561

Moin,
Meine Versuche alles ans laufen zu bekommen scheitern leider kläglich,
evtl. weiss jemand von euch weiter.

Define klappt,
NPM_install läuft durch und meldet erfolgreichen Abschluss der Installation.

NPM_login
hier wird eine Seite aufgerufen (was ewig dauert) mit einer IP zum anklicken
wenn ich diese anklicke, kommt ein neuer Tab der irgendwann sagt, "Diese Seite ist nicht erreichbar"

Hat wer eine Idee?

Mit freundlichen Grüßen


andy19850

Zitat von: andy19850 am 30 August 2022, 09:11:48
Habe es heute noch einmal versucht. Leider immer noch keinen Erfolg :(

Klappt jetzt. Es lag vermutlich am piHole in meinem Netzwerk  :-X

Invers

npm reconnect und new funktioniert nihct mehr.
connected but loginerror.
Hat aktuell noch jemdand das Problem, oder nur ich?
Bei NPM_login und NPM_new ist dann fhem nicht mehr erreichbar. Für wie lange, weiss ich nocht nicht.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Borkk

Moin zusammen,

Ich nutze in meinen Bädern Echos um beim Betreten einen Radiosender abzuspielen. Nach Verlassen beendete ich die Wiedergabe mit
set xx_echo pause
Funktioniert schon seit Jahren problemlos.

Seit ein paar Tagen spielen die Echos aber einfach weiter. Scheinbar wurde auch bei TuneIn was verändert, da seit etwa dem gleichen Zeitraum bei Start der Wiedergabe ein kurzer "TuneIn" Jingle gespielt wird. Ausser den FHEM Updates habe ich in an der Config nichts verändert.

Ich habe mir jetzt geholfen, in dem ich den Befehl zum anhalten der Wiedergabe auf
set xx_echos textcommand stop
geändert habe. Wollte es aber dennoch hier mal hochwerfen.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

misux

HI!

Ich habe im Wohnbereich mehrere Echos als Multiroom Geräte zusammengrführt...

Diese EchoMulitroom habe ich auch als Echodevice im Fhem..

Leider bekomme ich sehr träge die abgespielte Musik zur anzeige... mit mehreren minuten Verzögerung...

Kann man das irgendwie beschleunigen oder die abfrage erzwingen was aktuell läuft...?

mindkicker

Danke für den Tipp. Ich dachte erst es liegt daran dass ich ewig kein Update gemacht habe oder PiHole irgendwas blockt.

Zitat von: Borkk am 10 September 2022, 12:17:24
Ich habe mir jetzt geholfen, in dem ich den Befehl zum anhalten der Wiedergabe auf
set xx_echos textcommand stop
geändert habe. Wollte es aber dennoch hier mal hochwerfen.

MadMax-FHEM

Zitat von: misux am 11 September 2022, 13:12:19
HI!

Ich habe im Wohnbereich mehrere Echos als Multiroom Geräte zusammengrführt...

Diese EchoMulitroom habe ich auch als Echodevice im Fhem..

Leider bekomme ich sehr träge die abgespielte Musik zur anzeige... mit mehreren minuten Verzögerung...

Kann man das irgendwie beschleunigen oder die abfrage erzwingen was aktuell läuft...?

Vermutlich (aktuell) nur die generelle Abfragezeit des Moduls (interval?) runter zu setzen...
...mit mehr Belastung und auch schauen wie "lustig" das Amazon findet...

Ich kann damit leben, dass es (bei mir gefühlt) innerhalb des Standardabfrageintervals angezeigt wird (auf meinem MagicMirror und auf meiner "NowPlaying-Webseite")...
...mehrere Minuten kann ich nicht bestätigen...

Ansonsten den Modulauthor fragen, ob es eine Möglichkeit gibt, ähnlich der für das voice-Reading...

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)

misux

hmm... den einzigen intervall den ich habe ist im echomodul... npm_refresh_intervall mit 86400...

sonst habe ich nirgends intervalle...

Welche Intervalle hast du denn wo?

MadMax-FHEM

Zitat von: misux am 11 September 2022, 18:10:08
hmm... den einzigen intervall den ich habe ist im echomodul... npm_refresh_intervall mit 86400...

sonst habe ich nirgends intervalle...

Welche Intervalle hast du denn wo?

Doch hast du! ;)

Steht doch in der Beschreibung:

Zitat von: https://www.mwinklerblog.de/smarthome/eigene-module/echodevice/#Attribute
intervalsettings        [NUMERIC]    ACCOUNT ECHODEVICE    Hier kann der Pollintervall des Moduls bestimmt werden. (Standard Wert = 60 Sekunden)

Gleich neben dem bereits erwähnten "intervalvoice"...

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)

Sailor

#5323
Ein herzerfrischendes "Moin" vom achtern Diek vorweg

Ich habe ein kleines Problem mit der Installation der Echos.

Habe die Anleitung auf https://www.mwinklerblog.de/modul-echodevice-npm/ befolgt:

Im Terminal

sudo visodu
     fhem    ALL=(ALL:ALL) NOPASSWD: ALL


Im fhem Befehlsfenster

define AC_Echo_Account echodevice xxx@xxx.xx xxx

set AC_Echo_Account NPM_Install

Installationsergebnis

Installation wird angestartet

up to date, audited 92 packages in 2s

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

1 high severity vulnerability

To address all issues, run:
npm audit fix

Run `npm audit` for details.

!!Installation fehlgeschlagen!!


Im Terminal

pi@HomeServer:~ $ npm fund
pi

pi@HomeServer:~ $ sudo npm audit
found 0 vulnerabilities

pi@DeekeHomeServer:~ $ sudo npm audit fix
up to date, audited 1 package in 499ms
found 0 vulnerabilities

pi@HomeServer:~ $ node --version
v16.17.0
pi@HomeServer:~ $ npm --version
8.15.0


In der manuellen Variante sieht es nicht anders aus:

pi@HomeServer:~ $ sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2

up to date, audited 92 packages in 2s

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.


pi@HomeServer:~ $ sudo npm audit
found 0 vulnerabilities


pi@HomeServer:~ $ sudo npm audit fix
up to date, audited 1 package in 430ms
found 0 vulnerabilities



Mir ist im Augenblick nicht ganz klar, was hier schief läuft...

Gruß
    Sailor
******************************
Man wird immer besser...

michael.winkler

In der Doku steht folgendes, bezüglich manueller Installation!

Manuell (per SSH)

Wer keine automatische Installation durchführen möchte, kann diese auch manuell machen. Hierfür sind einige Schritte notwendig.

Herunterladen der NPM Pakete
Berechtigungen setzen
Über folgenden Befehl werden die benötigten Pakete heruntergeladen:

sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2



Das Ergebnis sollte dann ungefähr so aussehen. Die Warnungen können in der Regel ignoriert werden.

Nach erfolgreicher Installation, müsst Ihr über folgenden Befehl noch die Berechtigungen anpassen:

sudo chown -R fhem:  /opt/fhem/cache/alexa-cookie
Wenn Eure FHEM Installation nicht in dem Verzeichnis "/opt/fhem" liegt, müsst Ihr die Befehle dementsprechend anpassen.