[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

webdandy

Wäre klasse, wenn das Device ,,überall" funktionieren würde ;-)

Grüße
Fabian


Zitat von: Falkenstein am 08 November 2025, 10:13:04Die Sprachausgabe sowie Sounds fumktionieren nach dem heutigen Update wieder. Vielen Dank für das Update  :)

Vielleicht ist es ja möglich,das Device "Überall" mit zu fixen,wenn es denn möglich ist?


Beste Grüße
Falkes

michael.winkler

Zitat von: Knallfrosch am 14 November 2025, 19:21:37Hallo,

sorry, ich konnte leider nicht mehr dazu sagen, da ich tatsächlich keinen Zusammenhang gefunden habe.

Allerdings scheint es tatsächlich mit dem set routine.play zusammen zu hängen.

Durch folgendes DOIF kam es heute Nachmittag wieder zum Absturz von FHEM:

define Waschmaschine_Zustand DOIF ([Waschmaschine:ENERGY_Power] > 10)\
(setreading Waschmaschine_Zustand status Waschvorgang läuft)\
\
DOELSEIF ([Waschmaschine:ENERGY_Power] < 6)\
(setreading Waschmaschine_Zustand status Waschvorgang beendet)\
(set ECHO_G090U607835206H1 routine_play fhemwashend@amzn1.alexa.automation.cd0fc0cd-d57f-44fd-8efb)\
(set ECHO_G090U607835206H1 routine_play fhemwashend@amzn1.alexa.automation.cd0fc0cd-d57f-44fd-8efb-)\
\
\

attr Waschmaschine_Zustand DbLogExclude .*
attr Waschmaschine_Zustand devStateIcon {my $icon = FW_makeImage('scene_washing_machine@red');; $icon = FW_makeImage('scene_washing_machine@green')  if(ReadingsVal($name, "state", "cmd_1") eq "cmd_2");; return "<div>" . $icon . " ".  (ReadingsVal($name,"status","")) .'</div>' ;; }
attr Waschmaschine_Zustand group Waschen+Trocknen
attr Waschmaschine_Zustand room Keller
attr Waschmaschine_Zustand wait 0:0,0,10
#   DEF        ([Waschmaschine:ENERGY_Power] > 10)
#(setreading Waschmaschine_Zustand status Waschvorgang läuft)
#
#DOELSEIF ([Waschmaschine:ENERGY_Power] < 6)
#(setreading Waschmaschine_Zustand status Waschvorgang beendet)
#(set ECHO_G090U607835206H1 routine_play fhemwashend@amzn1.alexa.automation.cd0fc0cd-d57f-44fd-8efb-)
#(set ECHO_G090U607835206H1 routine_play fhemwashend@amzn1.alexa.automation.cd0fc0cd-d57f-44fd-8efb-)
#
#
#
#   FUUID      67039bea-f33f-a358-2a06-183a98e5c4f36f87
#   MODEL      FHEM
#   NAME       Waschmaschine_Zustand
#   NOTIFYDEV  Waschmaschine,global
#   NR         365
#   NTFY_ORDER 50-Waschmaschine_Zustand
#   STATE      cmd_2
#   TYPE       DOIF
#   VERSION    30377 2025-10-12 09:46:59
#   READINGS:
#     2025-11-09 16:45:50   Device          Waschmaschine
#     2025-11-09 16:20:01   cmd             2.3
#     2025-11-09 16:20:01   cmd_event       Waschmaschine
#     2025-11-09 16:20:01   cmd_nr          2
#     2025-11-09 16:20:01   cmd_seqnr       3
#     2025-11-09 16:45:50   e_Waschmaschine_ENERGY_Power 0
#     2025-10-26 16:32:10   mode            enabled
#     2025-11-09 16:20:01   state           cmd_2
#     2025-11-09 16:19:50   status          Waschvorgang beendet
#   Regex:
#     accu:
#     bar:
#     barAvg:
#     collect:
#     cond:
#       Waschmaschine:
#         0:
#           ENERGY_Power ^Waschmaschine$:^ENERGY_Power:
#         1:
#           ENERGY_Power ^Waschmaschine$:^ENERGY_Power:
#   attr:
#     wait:
#       0:
#         0
#       1:
#         0
#         0
#         10
#   condition:
#     0          ::ReadingValDoIf($hash,'Waschmaschine','ENERGY_Power') > 10
#     1          ::ReadingValDoIf($hash,'Waschmaschine','ENERGY_Power') < 6
#   do:
#     0:
#       0          setreading Waschmaschine_Zustand status Waschvorgang läuft
#     1:
#       0          setreading Waschmaschine_Zustand status Waschvorgang beendet
#       1          set ECHO_G090U607835206H1 routine_play fhemwashend@amzn1.alexa.automation.cd0fc0cd-d57f-44fd-8efb
#       2          set ECHO_G090U607835206H1 routine_play fhemwashend@amzn1.alexa.automation.cd0fc0cd-d57f-44fd-8efb
#     2:
#   helper:
#     NOTIFYDEV  Waschmaschine,global
#     globalinit 1
#     last_timer 0
#     sleeptimer -1
#   perlblock:
#   readings:
#     all         Waschmaschine:ENERGY_Power
#   uiState:
#   uiTable:
#
setstate Waschmaschine_Zustand cmd_2
setstate Waschmaschine_Zustand 2025-11-09 16:45:50 Device Waschmaschine
setstate Waschmaschine_Zustand 2025-11-09 16:20:01 cmd 2.3
setstate Waschmaschine_Zustand 2025-11-09 16:20:01 cmd_event Waschmaschine
setstate Waschmaschine_Zustand 2025-11-09 16:20:01 cmd_nr 2
setstate Waschmaschine_Zustand 2025-11-09 16:20:01 cmd_seqnr 3
setstate Waschmaschine_Zustand 2025-11-09 16:45:50 e_Waschmaschine_ENERGY_Power 0
setstate Waschmaschine_Zustand 2025-10-26 16:32:10 mode enabled
setstate Waschmaschine_Zustand 2025-11-09 16:20:01 state cmd_2
setstate Waschmaschine_Zustand 2025-11-09 16:19:50 status Waschvorgang beendet


im Log dann wieder folgende Meldung:

hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/37_echodevice.pm line 1868.
Bis zu dem Update funktionierte das problemlos. Seit dem Update stürzt FHEM dann bei der Auslösung ab.


Grüße
gibt es die Routinen, die du hier ansprichst, noch?

locodriver

Hallo, seit dem letzten update durch Michael, läuft Alexa bzw. echodevice wieder.

Allerdings habe ich gerade folgende Einträge im log (reverse) entdeckt, die schon seit 10.11. (letztes fhem-update) auftreten.

Node.js v18.20.4

}
  syscall: 'write'
  code: 'EPIPE',
  errno: -32,
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at emitErrorNT (node:internal/streams/destroy:151:8)
Emitted 'error' event on Socket instance at:
    at /opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/alexa-cookie.js:499:41
    at console.log (node:internal/console/constructor:380:26)
    at console.value (node:internal/console/constructor:305:16)
    at Writable.write (node:internal/streams/writable:337:10)
    at _write (node:internal/streams/writable:333:10)
    at writeOrBuffer (node:internal/streams/writable:392:12)
    at Socket._write (node:net:975:8)
    at Socket._writeGeneric (node:net:963:11)
    at writeGeneric (node:internal/stream_base_commons:151:3)
    at afterWriteDispatched (node:internal/stream_base_commons:160:15)
Error: write EPIPE

      ^
      throw er; // Unhandled 'error' event
node:events:495

Zeitweise sind mehr solche Einträge vorhanden als normale Logzeilen.

Die Funktion scheint aber nicht beeinträchtigt zu sein.
Sowohl das account device als auch die Echos sind connected.

Was ist da "los" und wie bekomme ich das weg?

Dankeschön.

Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Knallfrosch


[/quote]
gibt es die Routinen, die du hier ansprichst, noch?
[/quote]

Ja, an den Routinen habe ich nichts verändert.

KölnSolar

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

passibe

Ich sehe keinen Grund, diesbezüglich derart besorgt zu sein.

Wie oft aktualisieren Leute denn alexa-cookie2? Ich würde wetten, dass das, außer bei Neuinstallationen, quasi nie passiert. Dass die Neuinstallation ausgerechnet in einen Zeitraum fällt, in dem zufällig gerade ein supply chain attack läuft, d.h. die bösartige Version noch nicht zurückgezogen ist, halte ich jetzt auch mal für eher unwahrscheinlich.

Das ganz abgesehen davon, dass alexa-cookie2 auch kein wirklich lukratives Ziel ist, weil es selbst keine dependency von tausenden anderer Pakete ist.

Und alexa-cookie2 wird sowieso vom Entwickler sehr sehr selten aktualisiert (inzwischen Monate bis Jahre), d.h. der Schadcode aus einer bösartigen dependency würde auch nicht von dem typischen Überraschungseffekt durch auto-dependency-updates profitieren.

KölnSolar

ZitatWie oft aktualisieren Leute denn alexa-cookie2? Ich würde wetten, dass das, außer bei Neuinstallationen, quasi nie passiert.
Liege ich falsch, dass das cookie abläuft und deshalb automatisch regelmäßig erneuert wird ?

Zumindest das manuelle cookie hat eine "Haltbarkeitsdauer" von 7-10 Tagen.

ZitatUnd alexa-cookie2 wird sowieso vom Entwickler sehr sehr selten aktualisiert
Es ist doch keine "Sicherheitlücke" in alexa-cookie2, sondern in npm !
(ich habe mir aber nicht angeguckt, worin die Sicherheitslücke überhaupt besteht: Lücke in veralteten Modulen oder Schadsoftware in aktuellen Modulen)
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

JudgeDredd

Zitat von: KölnSolar am 24 November 2025, 17:08:15Es ist doch keine "Sicherheitlücke" in alexa-cookie2, sondern in npm !
(ich habe mir aber nicht angeguckt, worin die Sicherheitslücke überhaupt besteht: Lücke in veralteten Modulen oder Schadsoftware in aktuellen Modulen)
So wie ich das Verstanden habe, geht es hier um das Modul "alexa-cookie2". Durch Lücken in NPM kann der Quellcode von eben diesem Modul manipuliert werden.
Bei Aktualisierung oder Installation wird nun der manipulierte Quellcode anstatt des originalen geladen.

Mit der eigentlichen Aktualisierung des Cookies hat die Sicherheitlücke nichts zu tun.

Wenn ich hier eine Gefahr sehen würde, dann eher in den Abhängigkeiten die das Modul verwendet. Da ich den Umfang nicht kenne, wieviele da verwendet werden.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)