[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

mutschler

Hallo,

Habe das Modul zum Laufen bekommen; mir ist jetzt allerdings aufgefallen, dass im Event-Monitor sehr viele Einträge erzeugt werden (in kurzen Zeitabständen) was ich ziemlich unübersichtlich für den Event-Monitor finde.
Soll das so sein oder kann man das irgendwie minimieren oder ganz ausschalten???

MadMax-FHEM

#5641
event-on-change-reading etc. sagt dir was?

Kurze Zeitabstände: intervall verändert?

Standard ist alle Minute...

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)

mutschler

#5642
Hallo Joachim,

ich habe manuell keine Intervalle verändert.

fragte mich nur wieso bei dem Modul "automatisch" diese ganzen readings im Event Monitor erscheinen und ob dies zwingend notwendig ist?

Müsste also das Attribut event-on-change-reading für sämtliche Readings setzen um wieder die gewünschte Übersichtlichkeit im Eventmonitor zu bekommen!?

Eine einfachere/sonstige Alternative gibt es nicht?

Das sind wie gesagt im 15 Sekunden Zeitintervall sehr viele Ereignisse:

2023-04-14 13:05:51 echodevice Amazonecho connected
.....

MadMax-FHEM

Bitte "code-Tags" nehem für solchen Input im Forum, danke.

List vom Account-Device, dort sollte man evtl. Anpassungen bzgl. Intervall sehen...

Ansosten: bei event-on- Attributen gehen auch RegEx (wie so vielerorts bei fhem ;)  ), also jedes Reading einzeln muss nicht (ist Quatsch)...
Und im Zusammenspiel mit den anderen event-on- Attributen kann man eigentlich sehr genau einschränken was man haben möchte inkl. Schwellwerte etc.

Aber Achtung: alles was keinen Event mehr erzeugt, wenn du z.B. event-on- Attribute o.ä. setzt kann auch nicht (vernünftig: Event-basiert) für Automatisierungen etc. genutzt werden...

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)

mutschler

danke für die schnelle Rückinfo und den Tipp,

Event-Monitor ist nun wieder übersichtlicher!

Wolfpunk

#5645
Einige Modellnamen sind momentan noch falsch zugeordnet. Das wäre der Patch für meine Echo 4 und Dot 5 Modelle:

--- 37_echodevice.pm
+++ 37_echodevice.pm
@@ -4369,3 +4369,3 @@ sub echodevice_getModel($){
  elsif($ModelNumber eq "A1RABVCI4QCIKC" || $ModelNumber eq "Echo Dot") {return "Echo Dot Gen3";}
- elsif($ModelNumber eq "A3RMGO6LYLH7YN" || $ModelNumber eq "Echo Dot") {return "Echo Dot Gen4";}
+ elsif($ModelNumber eq "A3RMGO6LYLH7YN" || $ModelNumber eq "Echo") {return "Echo Gen4";}
  elsif($ModelNumber eq "A2U21SRK4QGSE1" || $ModelNumber eq "Echo Dot") {return "Echo Dot Gen4";}
@@ -4379,3 +4379,3 @@ sub echodevice_getModel($){
  elsif($ModelNumber eq "A1XWJRHALS1REP" || $ModelNumber eq "Echo Show 5")            {return "Echo Show 5 Gen2";}
- elsif($ModelNumber eq "A4ZXE0RM7LQ7A"  || $ModelNumber eq "Echo Show 5")            {return "Echo Show 5 Gen5";}
+ elsif($ModelNumber eq "A4ZXE0RM7LQ7A"  || $ModelNumber eq "Echo Dot")               {return "Echo Dot Gen5";}
  elsif($ModelNumber eq "A1Z88NGR2BK6A2" || $ModelNumber eq "Echo Show 8")            {return "Echo Show 8";}

JWRu

#5646
Ich habe Probleme mit meinem echodevice, das monatelang einwandfrei funktioniert hat.
Plötzlich hatte das ACCOUNT-device (und alle daran händenden devices) den Status "connected but loginerror".
Ich habe daraufhin alles mögliche versucht: NPM_login new, sogar alexa-cookie neu erstellt. Das Login funktioniert, ich kann meine Amazon Zugangsdaten eingeben, erhalte aber anschließend im Sekundentakt: [Amazon] [echodevice_NPMWaitForCookie] [NPM Login New Fri Apr 28 16:39:17 2023] wait for refreshtoken / refreshtoken unkown!! refreshtoken=null EXIST falseEdit: Selbst wenn ich das Attribut "disable" setze, hört das device nict auf, im Sekundentakt das refreshtoken anzufordern und produziert jedesmal die obige Fehlermeldung im Log

Edit2: [gelöst] Alle devices gelöscht, Reboot des Systems (sonst wird Port nicht freigegeben), alles neu - jetzt läuft's wieder.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

reibuehl

Ich habe das selbe Problem wie @JWRu - "connected but loginerror" - bei mir hat aber das löschen aller Devices und neu aufsetzen nicht geholfen.

Beim set <device> NPM_install erhalte ich die Fehlermeldung:
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!!

Wenn ich die Installation wie in der Doku beschrieben per SSH versuche, bekomme ich als Ausgabe das hier:
# npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2

up to date, audited 90 packages in 2s

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

found 0 vulnerabilities

Das sieht für mich eigentlich so aus, als ob alles korrekt wäre. Beim set <device> NPM_login new bekomme ich allerdings die Fehlermeldung Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durch
Alle Dateien in /opt/fhem/cache/alexa-cookie gehören dem fhem User.

Was könnte den da das Problem sein?
Reiner.

JWRu

Zitat von: reibuehl am 02 Mai 2023, 20:44:30Ich habe das selbe Problem wie @JWRu - "connected but loginerror" - bei mir hat aber das löschen aller Devices und neu aufsetzen nicht geholfen.
Ich hatte auch alexa-cookie gelöscht. Das wird dann bei "NPM_install" über FHEM oder dem entspechenden shell-Befehl "npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2" neu erstellt.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

reibuehl

Zitat von: JWRu am 02 Mai 2023, 20:53:57Ich hatte auch alexa-cookie gelöscht. Das wird dann bei "NPM_install" über FHEM oder dem entspechenden shell-Befehl "npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2" neu erstellt.

Danke! Damit hat das NPM_install funktioniert. Das NPM_login hat dann aber noch die Attribute npm_proxy_ip und npm_proxy_listen_ip gebraucht (obwohl FHEM bei mir nicht unter Docker läuft) damit NodeJS den Port für den Login auf dem richtigen Interface aufgemacht hat. Jetzt geht alles wieder.
Reiner.

pcjogi

Ich bin leider bei der Nutzung des Modules nicht mehr erfolgreich. Zur Situation:

Vorbereitung (mehrmals gemacht)
- Synology Intel-NAS (918+) mit Docker und konfiguriertem macvlan
- fhem-docker Image (von https://registry.hub.docker.com/r/fhem/fhem/)
- Dieses Image frische in der Docker Umgebung installiert (/etc/fhem -> einem Verzeichnis zugeordnet; alle Portweiterleitungen entfernt da im macvlan nicht notwendig)
- in fhem ein Update gemacht und dann den Container neu gestartet


Und dann immer wieder in dieser frischen fhem installation ein

defmod echotest echodevice xxx@xxx.xx xxx

set echotest NPM_install


als Ergebnis bekomme ich leider immer wieder ein !!INSTALLATION fehlgeschlagen!!

Hier das List des devices:

Internals:
   CFGFN     
   DEF        xxx@xxx.xx xxx
   FUUID      646f5d3d-f33f-ba61-6b39-5fb3911f7f3d3a20
   LOGINMODE  NPM
   NAME       echotest
   NR         72
   NTFY_ORDER 50-echotest
   STATE      INITIALIZED
   TYPE       echodevice
   model      ACCOUNT
   OLDREADINGS:
   READINGS:
     2023-05-25 15:06:05   COOKIE_MODE     NPM
     2023-05-25 15:06:10   COOKIE_TYPE     NEW
     2023-05-25 15:06:10   autocreate_devices stop
     2023-05-25 15:06:10   version         0.2.19
   helper:
     RUNLOGIN   0
     SERVER     layla.amazon.de
     TWOFA     
Attributes:
   icon       echo
   room       Amazon
   verbose    5
Und ja ich habe es auch schon mit den nmp_proxy_ip und npm_proxy_listen Attributen und der aktuellen IP des docker containers versucht

Und hier noch das aktuelle LOG

2023.05.25 14:59:32.852 0: Featurelevel: 6.2
2023.05.25 14:59:32.852 0: Server started with 11 defined entities (fhem.pl:27498/2023-04-30 perl:5.032001 os:linux user:fhem pid:19175)
2023.05.25 15:00:49.285 1: MKDIR restoreDir/save/2023-05-25
2023.05.25 15:03:21.980 1:
2023.05.25 15:03:21.982 1: Downloading https://fhem.de/fhemupdate/controls_fhem.txt
2023.05.25 15:03:22.298 1: UPD ./CHANGED
2023.05.25 15:03:22.413 1: UPD ./MAINTAINER.txt
2023.05.25 15:03:22.440 1: UPD ./configDB.pm
2023.05.25 15:03:22.471 1: UPD FHEM/00_KNXIO.pm
2023.05.25 15:03:22.502 1: UPD FHEM/01_FHEMWEB.pm
2023.05.25 15:03:22.554 1: UPD FHEM/10_KNX.pm
2023.05.25 15:03:22.607 1: UPD FHEM/50_SSChatBot.pm
2023.05.25 15:03:22.657 1: UPD FHEM/55_InfoPanel.pm
2023.05.25 15:03:22.693 1: UPD FHEM/72_FRITZBOX.pm
2023.05.25 15:03:22.778 1: UPD FHEM/74_AutomowerConnect.pm
2023.05.25 15:03:22.811 1: UPD FHEM/82_LGTV_WebOS.pm
2023.05.25 15:03:22.835 1: UPD FHEM/93_DbLog.pm
2023.05.25 15:03:22.952 1: UPD FHEM/93_DbRep.pm
2023.05.25 15:03:23.135 1: UPD FHEM/98_PID20.pm
2023.05.25 15:03:23.162 1: UPD FHEM/98_WeekdayTimer.pm
2023.05.25 15:03:23.194 1: UPD FHEM/LandroidUtils.pm
2023.05.25 15:03:23.217 1: UPD FHEM/lib/AttrTemplate/mqtt2.template
2023.05.25 15:03:23.311 1: UPD lib/FHEM/Devices/AMConnect/Common.pm
2023.05.25 15:03:23.343 1: UPD lib/FHEM/Devices/LGTV/LGTVWebOS.pm
2023.05.25 15:03:23.372 1: UPD www/codemirror/fhem.js
2023.05.25 15:03:23.393 1: UPD www/codemirror/fhem.js.unoptimized
2023.05.25 15:03:23.427 1: UPD www/codemirror/fhem_codemirror.js
2023.05.25 15:03:23.450 1: UPD www/codemirror/fullscreen.css
2023.05.25 15:03:23.468 1: UPD www/codemirror/fullscreen.js
2023.05.25 15:03:23.566 1: UPD www/pgm2/automowerconnect.js
2023.05.25 15:03:23.589 1: UPD www/pgm2/f18.js
2023.05.25 15:03:23.620 1: saving fhem.cfg
2023.05.25 15:03:23.622 1: saving ./log/fhem.save
2023.05.25 15:03:23.626 1:
2023.05.25 15:03:23.627 1: New entries in the CHANGED file:
2023.05.25 15:03:23.629 1:  - change:  00_KNXIO: multiple changes, see Forum #127792
2023.05.25 15:03:23.630 1:  - change:  10_KNX: multiple changes, see Forum #122582
2023.05.25 15:03:23.631 1:  - change:  74_AutomowerConnect: Common.pm, automowerconnect.js
2023.05.25 15:03:23.632 1:             use of websocket for realtime events, more at
2023.05.25 15:03:23.633 1:             https://forum.fhem.de/index.php?topic=131661.msg1276678#msg1276678
2023.05.25 15:03:23.634 1:  - change:  50_SSChatBot: compatibility to DSM starting with DSM 7.2 RC,
2023.05.25 15:03:23.636 1:                           Forum: https://forum.fhem.de/index.php?msg=1276303
2023.05.25 15:03:23.639 1:  - change:  75_AutomowerConnectDevice: deleted,
2023.05.25 15:03:23.639 1:                change definition to AutomowerConnect before updating,
2023.05.25 15:03:23.640 1:                use different application key each definition
2023.05.25 15:03:23.640 1:  - change:  50_SSChatBot: support of loglevel in HttpUtils
2023.05.25 15:03:23.641 1:  - change:  75_AutomowerConnectDevice: last revision, declared deprecated
2023.05.25 15:03:23.642 1:             will be removed soon, change definition to AutomowerConnect
2023.05.25 15:03:23.642 1:             use different application key
2023.05.25 15:03:23.643 1:  - change:  74_AutomowerConnect: Common.pm remove attr mowerActivityToHighLight
2023.05.25 15:03:23.643 1:             extend design attributes, automowerconnect.js enhanced highlighting
2023.05.25 15:03:23.643 1:  - change:  93_DbRep: attr executeBeforeProc, executeAfterProc can execute
2023.05.25 15:03:23.644 1:                       FHEM commands as well as PERL code
2023.05.25 15:03:23.644 1:  - bugfix:  82_LGTV_WebOS: fix little typos and change version
2023.05.25 15:03:23.644 1:  - change:  93_DBLog: changed default splitting, Forum: #133537
2023.05.25 15:03:23.648 1:  - feature: AutomowerConnectFamily: set cutting height for user defined zones
2023.05.25 15:03:23.649 1:             automatically, code cleaning, some fixes
2023.05.25 15:03:23.651 1:  - feature: 72_FRITZBOX: neue Readings:
2023.05.25 15:03:23.651 1:             dect<n>_NoRingTime - Ruhezeiten des DECT Telefons <n>
2023.05.25 15:03:23.652 1:             dect<n>_NoRingWithNightSetting - Bei aktiver Klingelsperre
2023.05.25 15:03:23.652 1:               keine Ereignisse signalisieren für das DECT Telefon <n>
2023.05.25 15:03:23.653 1: ... rest of lines skipped.
2023.05.25 15:03:23.654 1: Calling /usr/bin/perl ./contrib/commandref_modular.pl, this may take a while
2023.05.25 15:03:24.032 1:
2023.05.25 15:03:24.033 1: update finished, "shutdown restart" is needed to activate the changes.
2023.05.25 15:03:24.033 1:
2023.05.25 15:03:24.034 1: Please consider using the global attribute sendStatistics
2023.05.25 15:03:40.681 0: Server shutdown
2023.05.25 15:03:59.207 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log
2023.05.25 15:03:59.208 3: From the FHEM_GLOBALATTR environment: attr global nofork 0
2023.05.25 15:03:59.208 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2023.05.25 15:03:59.208 3: From the FHEM_GLOBALATTR environment: attr global pidfilename ./log/fhem.pid
2023.05.25 15:03:59.215 1: Including fhem.cfg
2023.05.25 15:03:59.570 3: WEB: port 8083 opened
2023.05.25 15:03:59.694 2: eventTypes: loaded 30 lines from ./log/eventTypes.txt
2023.05.25 15:04:00.691 3: AptToDate (fhemServerApt) - defined
2023.05.25 15:04:01.684 3: telnetPort: port 7072 opened
2023.05.25 15:04:01.685 1: Including ./log/fhem.save
2023.05.25 15:04:01.694 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log
2023.05.25 15:04:01.695 3: From the FHEM_GLOBALATTR environment: attr global nofork 0
2023.05.25 15:04:01.695 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2023.05.25 15:04:01.695 3: From the FHEM_GLOBALATTR environment: attr global pidfilename ./log/fhem.pid
2023.05.25 15:04:01.696 1: Messages collected while initializing FHEM:SecurityCheck:
  telnetPort is not password protected
  WEB is not password protected

Protect this FHEM installation by defining an allowed device with define allowed allowed
You can disable this message with attr global motd none

2023.05.25 15:04:04.021 1: usb create starting
2023.05.25 15:04:04.066 1: usb create end
2023.05.25 15:04:04.067 0: Featurelevel: 6.2
2023.05.25 15:04:04.067 0: Server started with 11 defined entities (fhem.pl:27498/2023-04-30 perl:5.032001 os:linux user:fhem pid:4245)
2023.05.25 15:04:06.179 3: FHEMWEB WEB CSRF error: csrf_378527828381202 ne csrf_22737601923961 for client WEB_192.168.1.198_59460 / command update. For details see the csrfToken FHEMWEB attribute.
2023.05.25 15:04:09.704 3: FHEMWEB WEB CSRF error: csrf_378527828381202 ne csrf_22737601923961 for client WEB_192.168.1.198_59460 / command update. For details see the csrfToken FHEMWEB attribute.
2023.05.25 15:06:20.454 4: [echotest] [echodevice_LoginStart] [enable] set next internal timer start in 60 seconds.
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm notice
npm notice New patch version of npm available! 9.6.6 -> 9.6.7
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.7>
npm notice Run `npm install -g npm@9.6.7` to update!
npm notice
2023.05.25 15:07:15.465 5: [echotest] [echodevice_GetSettings] start refresh settings
2023.05.25 15:07:15.465 5: [echotest] [echodevice_GetSettings] unknown state / state = INITIALIZED
2023.05.25 15:07:20.455 4: [echotest] [echodevice_LoginStart] [enable] set next internal timer start in 60 seconds.
2023.05.25 15:08:15.482 5: [echotest] [echodevice_GetSettings] start refresh settings
2023.05.25 15:08:15.482 5: [echotest] [echodevice_GetSettings] unknown state / state = INITIALIZED
2023.05.25 15:08:20.458 4: [echotest] [echodevice_LoginStart] [enable] set next internal timer start in 60 seconds.
2023.05.25 15:09:15.489 5: [echotest] [echodevice_GetSettings] start refresh settings
2023.05.25 15:09:15.489 5: [echotest] [echodevice_GetSettings] unknown state / state = INITIALIZED
2023.05.25 15:09:20.464 4: [echotest] [echodevice_LoginStart] [enable] set next internal timer start in 60 seconds.

Das frustrierende ist, dass ich das schon in einem anderen Container laufen habe.

Vielen Dank

Jürgen
Haupt-Fhem (Docker auf Synology), Sub-Fhem (433Mhz und 833Mhz) auf RasPi, Sub-Fhem (Heizungssteuerung) auf RasPi, Sub_Fhem (System) auf RasPi, IoBroker zur Darstellung (Docker auf Synology), alles verbunden über einen MQTT Broker, insgesamt ca. 100 Sensoren/Aktoren

pcjogi

Ich antworte mir mal selber :-)

Ich habe es für mich gelöst:

- fhem-docker Image (von https://registry.hub.docker.com/r/fhem/fhem/)
- Dieses Image frische in der Docker Umgebung installiert (/etc/fhem -> einem Verzeichnis zugeordnet; alle Portweiterleitungen entfernt da im macvlan nicht notwendig)
- in fhem ein Update gemacht und dann den Container neu gestartet
- Dann das Device defmod echotest echodevice xxx@xxx.xx xxx erstellt

Und dann NICHT aus fhem heraus set echotest NPM_install gemacht, sondern wie auch in der Doku (https://www.mwinklerblog.de/modul-echodevice-npm/) angegeben die Installation manuell durchgeführt. Nur den Teil:

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

Danach dann wieder (nachdem ich die beiden Attribute "npm_proxy_ip" und "npm_proxy_listen_ip" entsprechend konfiguriert habe) aus fhem heraus "set echotest NPM_login" und wie in der DOKU angegeben weitergemacht.


Soweit die Lösung für mich. Warum die Installation aus fhem heraus nicht erfolgreich ist habe ich leider nicht herausgefunden.
Haupt-Fhem (Docker auf Synology), Sub-Fhem (433Mhz und 833Mhz) auf RasPi, Sub-Fhem (Heizungssteuerung) auf RasPi, Sub_Fhem (System) auf RasPi, IoBroker zur Darstellung (Docker auf Synology), alles verbunden über einen MQTT Broker, insgesamt ca. 100 Sensoren/Aktoren

michael.winkler

Zitat von: pcjogi am 26 Mai 2023, 13:15:02Soweit die Lösung für mich. Warum die Installation aus fhem heraus nicht erfolgreich ist habe ich leider nicht herausgefunden.

Steht eigentlich auch in der DOKU!

NPM Installation FHEM
Für die eigentliche FHEM Installation gibt es zwei Arten.

Manuell (per SSH)
Automatisch (per FHEM Oberfläche)
Automatische (per FHEM Oberfläche)

Damit die automatische Installation funktioniert muss der FHEM Benutzer berechtigt sein "sudo" auszuführen.

pula

Hallo,

nachdem ich die echo-devices schon ewig per alexa-fhem für die Sprachsteuerung nutze, dachte ich mir, daß manchmal Sprache als Reaktion auf Eingaben (Taster ohne unmittelbar erkennbare Reaktion) ganz nützlich wäre.
Hab jetzt dieses modul aktiviert und mich durch die Installation/Konfiguration gequält (java ist einfach nicht mein Ding).
Nach Aktivierung von autocreate und einem get devices tauchen auch einige meiner echos auf, allerdings nicht alle, die mit dem Konto verknüpft sind.
Kennt das Problem jemand bzw hat einen Tip?
Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

rabehd

Auch funktionierende Lösungen kann man hinterfragen.