[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

binford6000

Nach npm_install kommt das hier:
Installationsergebnis

Vorhandene Installation wird aktualisiert+ alexa-cookie2@2.1.0 updated 1 package and audited 4745 packages in 3.206s found 3 high severity vulnerabilities run `npm audit fix` to fix them, or `npm audit` for details
Installation erfolgreich durchgefuehrt



binford6000

Und nach einem npm_login new gehen jetzt auch wieder die set Befehle  :)

Danke Joachim!
VG Sebastian

misux

hmmm... bei mir bekomme ich das NPM nicht installiert...

bekomme den FhemWeb Fehler wie im Bild... habe im Terminal sudo apt-get install npm  durchgeführt und es schien alles in Ordnung... reboot, neustart und im Fhem dann leider die Fehlermeldung....

MadMax-FHEM

Steht etwas im Log?

Schon mal den npm_install auf der Console ausgeführt, um vielleicht eine klare Fehlermeldung zu erhalten...

Sollte in der Anleitung zum Modul stehen...

Welche Version von node/npm ist denn installiert worden?

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

So... Ich habe es nun geschafft!

Mit dieser Anleitung hane ich NPM installieren und updaten können!

Nun läuft es!

Vielen Dank!!!


Zitat von: vop am 07 August 2019, 22:36:59
Ich habe für mich nun eine Lösung gefunden, vielleicht hilft dies ja jemandem weiter.

Ich hatte nach einer Fehlermeldung im Log bzgl. node-Versionscheck genauer nachgeforscht, der Check befindet sich in Zeile 4289:


        # Node Version prüfen
        close NODEVER;
        open NODEVER,'-|', 'node -v' or die $@;
        my $NodeResult;
        my $NodeLoop = "2";
        do {
                $NodeResult=<NODEVER>;
                $NodeResult =~ s/v//g;

                #Log3 $name, 3, "[$name] [echodevice_NPMLoginNew] Node Version $NodeResult";
                if (version->declare($NodeResult)->numify < version->declare('8.10')->numify ) {

                        $InstallResult .= '<p>Die installierte Node Version  <strong>' . $NodeResult . '</strong> ist zu alt. Bitte zuerst die Node Version auf Minimum <strong>8.12</strong> aktualisieren. F
                        $InstallResult .= '<p><strong><font color="blue">sudo apt-get install curl</font></strong></p>';
                        $InstallResult .= '<p><strong><font color="blue">curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -</font></strong></p>';
                        $InstallResult .= '<p><strong><font color="blue">sudo apt-get update</font></strong></p>';
                        $InstallResult .= '<p><strong><font color="blue">sudo apt-get install nodejs</font></strong></p><br>';
                        $InstallResult .= '<br><form><input type="button" value="Zur&uuml;ck" onClick="history.go(-1);return true;"></form>';
                        $InstallResult .= "</html>";
                        $InstallResult =~ s/'/'/g;
                        Log3 $name, 3, "[$name] [echodevice_NPMLoginNew] Node Version " . $NodeResult . " is to old! Pleas make an update";
                        return $InstallResult;

                }
                else {Log3 $name, 3, "[$name] [echodevice_NPMLoginNew] Node Version " . $NodeResult;}



        } while ($NodeLoop eq "1");

[...]


Installiert war bei mir v8.11.1, was meinem Verständnis nach eigentlich den Vergleich "> 8.10" erfüllen sollte - im Text steht dann ja auch, wie man die Version aktualisieren kann. Die Meldung wurde mir leider in FHEM nie angezeigt, FHEM hat sich bei set NPM_login new immer aufgehängt (auch nach gefühlten 10 mal noch, die Methode hat mir also nicht weitergeholfen ;) )

set NPM_install über die FHEM-Oberfläche hat nicht funktioniert, mit Fehlermeldung. Also manuell durchgeführt. Das alexa-cookie-Verzeichnis musste ich selbst anlegen, da npm dies (trotz Aufruf per sudo) wegen angeblich fehlender Berechtigungen nicht konnte und mit Fehler abgebrochen ist. Nach manueller Anlage des Verzeichnisses lief die Installation mit aktuellem nodejs dann aber durch.

Ergebnis:

  • set NPM_login new funktioniert endlich wieder!
  • Der Zustand von COOKIE_TYPE hat sich von READING zu NPM_Login geändert
  • speak, volume, routine_play funktionieren wieder


Hier die kompletten Befehle:

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get update
sudo apt-get install nodejs
sudo mkdir /opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2
sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2


Jetzt bleibt die spannende Frage, warum das früher mal funktioniert hat (ich bezweifle, dass mein nodejs mal aktueller war und sich von selbst downgegradet hat). Aktuell nutze ich das Modul in Version v0.0.54, aber auch in v0.0.51z war der Versionscheck schon der gleiche...
Und die weitere Frage, warum FHEM bei unpassender Version abstürzt, statt diese durchaus hilfreiche Meldung auszugeben.

Ergänzung:
ich hatte zwischendurch auf der Kommandozeile "node -v" aufgerufen (als user 'pi', Standard-Raspbian). Dort wurde nichts ausgegeben, denn wie sich herausstellte, gab es unter /usr/sbin/node ein weiteres Binary namens node, was auch immer das war. Beim direkten Aufruf von /usr/bin/node -v wurde die Versionsinfo ausgegeben.

Könnte es vielleicht damit zu tun haben?

Bei leerer Ausgabe von "node -v" dürfte diese Zeile hier zum 'die' und somit zum Absturz führen:
open NODEVER,'-|', 'node -v' or die $@;

=> an dieser Stelle wird statt $npm_bin_node nur 'node' aufgerufen, möglicherweise wurde das falsche node gestartet.

(im Zuge des nodejs-Updates wie oben beschrieben wurde /usr/sbin/node entfernt, das würde erklären warum nun bei nur noch einem vorhandenen node-Binary wieder das richtige ausgeführt und eine Versionsinfo ausgegeben wird)

misux

Nach der erfolgreichen NPM Installation im Terminal hat er mir gleicht gesagt das es eine neue version gibt... habe geupdatet. jetzt ist es die 6.10.3

Zitat von: MadMax-FHEM am 09 August 2019, 20:49:58
Steht etwas im Log?

Schon mal den npm_install auf der Console ausgeführt, um vielleicht eine klare Fehlermeldung zu erhalten...

Sollte in der Anleitung zum Modul stehen...

Welche Version von node/npm ist denn installiert worden?

Gruß, Joachim

h-isteas

Bei mir geht es jetzt auch wieder dank der Anleitung und NPM  8)

Vielen Dank.

Verstehe aber trotzdem nicht warum es nicht ging vorher

KölnSolar

ZitatBei mir geht es jetzt auch wieder dank der Anleitung und NPM
Ist mir zu einfach bzw. ich halte die node.js Geschichte für den falschen Weg. :-X

Ich hab daher mal etwas recherchiert und getestet.
1. Mit der "alten" und umständlichen Methode das Cookie aus Browserdaten zu extrahieren und im Attribut cookie zu speichern, habe ich meinen Dot wiederbelebt.  :)
2. Mich nach alternativen Methoden umgesehen. Dabei bin ich auf das Skript hier des FHEM-users adn77, welches hier bereits diskutiert wurde, gestoßen. Mittlerweile ist in das Skript 2FA u. MFA implementiert. Und: es funktionierte perfekt.

Anstatt nodejs/npm/alexa-cookie zu installieren u. dem linux-fhem-user sudo-Rechte zu verpassen, hielte ich es für sinnvoller/sicherer/anwenderfreundlicher... den login im Modul entsprechend dem Skript anzupassen.

Wenn ich es richtig gesehen habe, steckt im Browser- u. Skript-Cookie jew. ein csrf-token, welches dem modulgenerierten Cookie fehlt. :-\
Vielleicht macht das den Unterschied ? :-\

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

michael.winkler

Zitat von: KölnSolar am 10 August 2019, 12:25:55
Ist mir zu einfach bzw. ich halte die node.js Geschichte für den falschen Weg. :-X

Ich hab daher mal etwas recherchiert und getestet.
1. Mit der "alten" und umständlichen Methode das Cookie aus Browserdaten zu extrahieren und im Attribut cookie zu speichern, habe ich meinen Dot wiederbelebt.  :)
2. Mich nach alternativen Methoden umgesehen. Dabei bin ich auf das Skript hier des FHEM-users adn77, welches hier bereits diskutiert wurde, gestoßen. Mittlerweile ist in das Skript 2FA u. MFA implementiert. Und: es funktionierte perfekt.

Anstatt nodejs/npm/alexa-cookie zu installieren u. dem linux-fhem-user sudo-Rechte zu verpassen, hielte ich es für sinnvoller/sicherer/anwenderfreundlicher... den login im Modul entsprechend dem Skript anzupassen.

Wenn ich es richtig gesehen habe, steckt im Browser- u. Skript-Cookie jew. ein csrf-token, welches dem modulgenerierten Cookie fehlt. :-\
Vielleicht macht das den Unterschied ? :-\

Grüße Markus
Die sudo Rechte werden nur für die erste Implementierung benötigt. Für den späteren Betrieb werden diese Berechtigungen nicht mehr benötigt!

Ich kann jedem nur empfehlen auf die neue Login Methode zu wechseln. Wer das nicht möchte kann gerne weiterhin mit der alten Methode weitermachen, muss sich aber dann nicht wundern wenn etwas nicht funktioniert.


Gesendet von iPad mit Tapatalk

Supadone

Servus
Hab heute 4 weitere Echo Dots in Betrieb genommen, jedoch hab ich auch das Problem das keine Set-Befehle verfügbar sind. Auch werden nicht alle Readings geladen.
Internals:
   CHANGED   
   DEF        A1RABVCI4QCIKC G090XG0793052NSQ
   FUUID      5d4ec45c-f33f-6a35-9562-501d347decc13af3
   FVERSION   37_echodevice.pm:v5.0.0-s15724/2017-12-29
   IODev      Echo
   NAME       ECHO_G090XG0793052NSQ
   NR         605
   NTFY_ORDER 50-ECHO_G090XG0793052NSQ
   STATE      connected
   TYPE       echodevice
   model      unbekannt
   READINGS:
     2019-08-10 18:52:04   model           unbekannt
     2019-08-10 18:52:04   presence        present
     2019-08-10 18:13:48   state           connected
     2019-08-10 18:52:04   version         2718456196
     2019-08-10 21:47:16   wakeword        ALEXA
   helper:
     DEVICETYPE A1RABVCI4QCIKC
     FAMILY     ECHO
     NAME       Gang Erdgeschoss
     VERSION    2718456196
     bluetooth  -
Attributes:
   IODev      Echo
   alias      Gang Erdgeschoss
   event-on-change-reading .*
   icon       echo
   room       Amazon


Echo Dots die ich vor ein paar Wochen in Betrieb genommen habe funktionieren problemlos
Internals:
   CHANGED   
   DEF        A32DOYMUN6DTXA G090U50991764CW9
   FUUID      5d30fc52-f33f-6a35-6618-5adb696c2500c3ed
   FVERSION   37_echodevice.pm:v5.0.0-s15724/2017-12-29
   IODev      Echo
   NAME       ECHO_G090U50991764CW9
   NR         599
   NTFY_ORDER 50-ECHO_G090U50991764CW9
   STATE      connected
   TYPE       echodevice
   model      Echo Dot Gen3
   OLDREADINGS:
   READINGS:
     2019-08-10 21:50:03   BrowserLanguage de,en-US;q=0.7,en;q=0.3
     2019-08-10 21:50:03   BrowserUserAgent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
     2019-08-10 21:50:06   alarm_01_id     0beab97d-39ba-3a0d-aa45-371487345a5d
     2019-08-10 21:50:06   alarm_01_originalDate 2019-07-19
     2019-08-10 21:50:06   alarm_01_originalTime 01:26:00.000
     2019-08-10 21:50:06   alarm_01_recurring 0
     2019-08-10 21:50:06   alarm_01_status off
     2019-08-10 21:50:06   alarm_02_id     c1d20983-810b-3e88-922a-85c6300b19a9
     2019-08-10 21:50:06   alarm_02_originalDate 2019-07-30
     2019-08-10 21:50:06   alarm_02_originalTime 21:30:00.000
     2019-08-10 21:50:06   alarm_02_recurring 0
     2019-08-10 21:50:06   alarm_02_status off
     2019-08-10 21:50:06   alarm_03_id     cc69ae40-b513-3884-bb25-7c7058e2e667
     2019-08-10 21:50:06   alarm_03_originalDate 2019-08-04
     2019-08-10 21:50:06   alarm_03_originalTime 07:00:00.000
     2019-08-10 21:50:06   alarm_03_recurring 0
     2019-08-10 21:50:06   alarm_03_status off
     2019-08-10 21:50:06   alarm_count     3
     2019-08-10 21:50:03   channel         -
     2019-08-10 21:50:03   currentAlbum    -
     2019-08-10 21:50:03   currentArtist   -
     2019-08-10 21:50:03   currentArtwork  -
     2019-08-10 21:50:03   currentTitle    -
     2019-08-10 21:50:03   currentTuneInID -
     2019-08-10 21:50:14   deviceAddress  -
     2019-08-10 21:50:17   dnd             off
     2019-08-10 21:50:14   microphone      false
     2019-08-10 18:52:04   model           Echo Dot Gen3
     2019-08-10 02:25:30   mute            off
     2019-08-10 21:50:09   online          true
     2019-08-10 21:50:03   playStatus      stopped
     2019-08-10 18:52:04   presence        present
     2019-08-10 21:50:03   progress        0
     2019-08-10 21:50:03   progresslen     0
     2019-08-10 02:25:30   repeat          off
     2019-08-10 02:25:30   shuffle         off
     2019-08-10 18:13:04   state           connected
     2019-08-10 21:50:14   timeZoneId      Europe/Berlin
     2019-08-06 12:10:30   timer_01_id     59bc4c29-2858-3c36-980e-fe1822c0ede6
     2019-08-06 12:10:30   timer_01_remainingtime 0
     2019-07-19 07:16:34   timer_02_id     e7729ee4-7cc6-344a-a944-847f84377758
     2019-07-19 07:16:34   timer_02_remainingtime 0
     2019-08-06 12:10:30   timer_count     1
     2019-08-06 12:10:30   timer_id        59bc4c29-2858-3c36-980e-fe1822c0ede6
     2019-08-06 12:10:30   timer_remainingtime 0
     2019-08-10 18:52:04   version         2584226436
     2019-08-10 17:39:35   voice           setze wohnzimmer rollo auf null prozent
     2019-08-10 17:39:35   voice_timestamp 1565451532557
     2019-08-10 02:25:30   volume          0
     2019-08-10 21:50:22   volume_alarm    53
     2019-08-10 21:50:16   wakeword        ALEXA
   helper:
     DEVICETYPE A32DOYMUN6DTXA
     FAMILY     ECHO
     NAME       Wohnzimmer
     RUNNING_REQUEST 0
     VERSION    2584226436
     bluetooth  -
     CMD_QUEUE:
Attributes:
   IODev      Echo
   alias      Wohnzimmer
   event-on-change-reading .*
   icon       echo
   room       Amazon


NPM ist auf der aktuellen Version
Package Name Installed Version
alexa-fhem 0.5.28
homebridge 0.4.50
homebridge-fhem 0.5.8
npm 6.10.3
npm-upgrade 2.0.0
tradfri-fhem 0.1.1


Hab auch schon einen Dot in Fhem gelöscht und über set autocreate_devices neu anlegen lassen, leider hat sich aber nichts geändert.
Hat jemand eine Idee? ;)

patator

#2845
Hallo,

ich habe gestern einen neuen Echo Dot Gen 3 erhalten.
Dieser hat die Version 2718456196 und wird im echodevice das per autocreate erfasst und angelegt wird mit Model unknown erstellt.
Internals:
   CFGFN     
   DEF        A1RABVCI4QCIKC G090XG0793052PTE
   FUUID      5d4f175e-f33f-320a-1592-f38cb59be4ab186a
   IODev      echo
   NAME       ECHO_G090XG0793052PTE
   NR         4381
   NTFY_ORDER 50-ECHO_G090XG0793052PTE
   STATE      connected
   TYPE       echodevice
   model      unbekannt
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1565542234.10905
           VALUE      connected
   READINGS:
     2019-08-10 21:13:35   model           unbekannt
     2019-08-10 21:13:35   presence        present
     2019-08-11 18:50:34   state           connected
     2019-08-10 21:13:35   version         2718456196
     2019-08-11 18:50:41   wakeword        ALEXA
   helper:
     DEVICETYPE A1RABVCI4QCIKC
     FAMILY     ECHO
     NAME       Echo Dot Wohnzimmer
     VERSION    2718456196
     bluetooth  -
Attributes:
   IODev      echo
   alias      Echo Dot Wohnzimmer
   icon       echo
   room       Amazon

Daher gibt es kein set oder get für das Device.
Alle älteren Echo dots der Gen 3 Serie werden mit set und get Möglichkeit erstellt (Version der "älteren" Gen 3 2584226436).
Muss das echodevice Modul noch erweitert werden?
Ich kann nämlich keine Einstellungen vornehmen.

Nachtrag: das gleiche Problem hat der Kollege im vorherigen Post, Sorry für den Doppelpost

Vielen Dank und viele Grüße

Heimweh

kann es sein dass derzeit die Befehle "Bluetooth connect" und "disconnect" nicht funktionieren?

Ich kann bei einem meiner DOTs (Echo Dot Gen.3) das angelernte Gerät sehen, aber mit einem set - Befehl geht weder connect noch disconnect.


Gruß, Daniel
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

balli1187

Zitat von: Heimweh am 12 August 2019, 08:15:16
kann es sein dass derzeit die Befehle "Bluetooth connect" und "disconnect" nicht funktionieren?

Ich kann bei einem meiner DOTs (Echo Dot Gen.3) das angelernte Gerät sehen, aber mit einem set - Befehl geht weder connect noch disconnect.


Gruß, Daniel
Hast du die letzten paar Seiten zu teilweise auftretenden Problemen mit Set-Befehlen und verschiedenen Lösungsansätzen gelesen? Vielleicht ist da was für dich dabei.


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

Heimweh

Zitat von: balli1187 am 12 August 2019, 10:51:25
Hast du die letzten paar Seiten zu teilweise auftretenden Problemen mit Set-Befehlen und verschiedenen Lösungsansätzen gelesen? Vielleicht ist da was für dich dabei.

Danke! Habe eine passende Anleitung gefunden, jetzt geht's wieder :)
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

JoWiemann

Hallo,

welche war den die Passende. Nur, falls noch jemand eine Lösung sucht.

Grüße Jörg


Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM