[GELÖST] alexa-fhem/FHEM-Connector nach Umzug Hardware->Docker ohne Funktion

Begonnen von der.einstein, 26 Februar 2025, 17:49:34

Vorheriges Thema - Nächstes Thema

der.einstein

Hallo Freunde,
nach langem hin und her wollte ich meine gewachsene FHEM-Instanz aus Performance-Gründen vom Einplatinenrechner (Ubuntu 18.04 auf Odroid-C2) umziehen auf einen "normelen" x86er und unter Docker betreiben.
Das hat auch soweit für alles gut funktioniert, außer für Alexa mit dem FHEM-Connector. Vor dem Umzug hatte ich da nie Probleme.

Das alexa-fhem Device sagt immer, dass alexa-fhem nicht läuft, aber das soll scheinbar kein Problem sein, da das nunmal so ist wenn es in einem anderen Container läuft.
Leider schimpft mich immer die Alexa so: "Stehlampe reagiert gerade nicht." Das hat bis vor dem Umzug immer geklappt.

Was mache ich falsch?
Bin für jede Hilfe dankbar!


Hier mal meine docker-compose.yml:
networks:
  fhem:

services:

  # Example to connect USB to the container w/o
  # privileged mode (preferred method)
  fhem:
    image: fhem/fhem
    restart: unless-stopped
    #privileged: true
    networks:
      - fhem
    ports:
      - "8083:8083"
    volumes:
      - "./fhem/:/opt/fhem/"
      - "/dev/bus/usb:/dev/bus/usb"
      - "/var/run/dbus:/var/run/dbus"
      - "/etc/localtime:/etc/localtime:ro"
    #  - "/dev/serial/by-id/:/dev/serial/by-id/"
    devices:
      - "/dev/serial/by-id/usb-0658_0200-if00:/dev/serial/by-id/usb-0658_0200-if00"
      - "/dev/serial/by-id/usb-STM32_MapleCUL_a808a856-if00:/dev/serial/by-id/usb-STM32_MapleCUL_a808a856-if00"
      - "/dev/serial/by-id/usb-EnOcean_GmbH_EnOcean_USB_300_DC_FT5P4200-if00-port0:/dev/serial/by-id/usb-EnOcean_GmbH_EnOcean_USB_300_DC_FT5P4200-if00-port0"
    environment:
      FHEM_UID: 999
      FHEM_GID: 20
      TIMEOUT: 10
      RESTART: 1
      TELNETPORT: 7072
      LANG: "de_DE.UTF-8"
      TZ: "Europe/Berlin"
      PIDFILE: "/opt/fhem/run/fhem.pid"
      APT_PKGS: "python3 python3-pip python3-dev python3-venv libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-dev git libprotocol-websocket-perl"

  alexa-fhem:
    depends_on:
      fhem:
        condition: service_healthy
    image: ghcr.io/fhem/alexa-fhem
    restart: unless-stopped
    networks:
      - fhem
    volumes:
      - "./alexa-fhem/:/alexa-fhem/"
    environment:
      ALEXAFHEM_UID: 999
      ALEXAFHEM_GID: 20
      TZ: Europe/Berlin

Hier meine "config.json" von alexa-fhem:
{
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   },
   "connections" : [
      {
         "port" : "8083",
         "server" : "fhem",
         "uid" : 999,
         "name" : "FHEM",
         "webname" : "fhem",
         "filter" : "alexaName=..*"
      }
   ]
}

Hier ein "list alexa" (mein Alexa-Device):
Internals:
   FUUID      5f98795c-f33f-4dde-a561-7a71a940b533a249
   FVERSION   39_alexa.pm:0.238200/2021-02-24
   NAME       alexa
   NOTIFYDEV  global,global:npmjs.*alexa-fhem.*
   NR         167
   NTFY_ORDER 50-alexa
   STATE      stopped
   TYPE       alexa
   active     0
   alexa-fhem version 0.5.65
   eventCount 34
   logfile    ./log/alexa-%Y-%m-%d.log
   CoProcess:
     cmdFn      alexa_getCMD
     name       alexaFHEM
   READINGS:
     2025-02-14 22:21:27   alexaFHEM       stopped
     2025-02-26 10:10:43   alexaFHEM.ProxyConnection running; SSH connected
     2025-02-13 23:59:49   alexaFHEM.bearerToken crypt:KAUDERWELSCH123ABC
     2025-02-13 23:59:49   alexaFHEM.skillRegKey crypt:KAUDERWELSCH123ABC
Attributes:
   alexaFHEM-config ./alexa-fhem.cfg
   alexaFHEM-host alexa-fhem
   alexaFHEM-log ./log/alexa-%Y-%m-%d.log
   alexaMapping #Characteristic==,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
   alexaTypes #Type=[,[,...]]
light=licht,lampen
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
   devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
   disable    1
   echoRooms  #=

   fhemIntents #IntentName=
gutenMorgen=guten morgen
guteNacht=gute nacht
   icon       alexa2
   persons    #=

   room       System->Amazon,System->Gateways
   stateFormat alexaFHEM
   verbose    5

Hier ein Auszug aus dem alexa-fhem log:
alexa-fhem-1  | [2/25/2025, 10:09:24 AM] Reading alexaFHEM.ProxyConnection set to running;; stderr=client_loop: send disconnect: Broken pipe 
alexa-fhem-1  | [2/25/2025, 10:09:24 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20stderr%3Dclient_loop%3A%20send%20disconnect%3A%20Broken%20pipe%20%20%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_353305647521941&XHR=1
alexa-fhem-1  | [2/25/2025, 10:09:24 AM] *** SSH: stderr: client_loop: send disconnect: Broken pipe 
alexa-fhem-1  | [2/25/2025, 10:09:24 AM] SSH: exited with 255 - will restart in 76.63225140403942 seconds
alexa-fhem-1  | [2/25/2025, 10:09:24 AM] Reading alexaFHEM.ProxyConnection set to stopped;; Terminated with client_loop: send disconnect: Broken pipe  , ssh will restart at 10:10:41
alexa-fhem-1  | [2/25/2025, 10:09:24 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20stopped%3B%3B%20Terminated%20with%20client_loop%3A%20send%20disconnect%3A%20Broken%20pipe%20%20%2C%20ssh%20will%20restart%20at%2010%3A10%3A41%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_353305647521941&XHR=1
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20starting%3B%3B%20starting%20SSH%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_353305647521941&XHR=1
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] Starting SSH with -R 1234:127.0.0.1:44085 -oServerAliveInterval=90 -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20SSH%20connected%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_353305647521941&XHR=1
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] *** SSH: proxy connection established
alexa-fhem-1  | [2/25/2025, 10:10:41 AM] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 
alexa-fhem-1  |   2025-02-25 17:46:38 caching: ZWave_SWITCH_MULTILEVEL_22-state: dim 50
alexa-fhem-1  | [2/25/2025, 5:46:38 PM] [FHEM]     caching: On: 1 (as number; from 'dim 50')
alexa-fhem-1  | [2/25/2025, 5:46:38 PM] [FHEM]     caching: Brightness: 50 (as number; from 'dim 50')
alexa-fhem-1  |   2025-02-25 17:46:38 caching: ZWave_SWITCH_MULTILEVEL_27-state: dim 50
alexa-fhem-1  | [2/25/2025, 5:46:38 PM] [FHEM]     caching: On: 1 (as number; from 'dim 50')
alexa-fhem-1  | [2/25/2025, 5:46:38 PM] [FHEM]     caching: Brightness: 50 (as number; from 'dim 50')
alexa-fhem-1  |   2025-02-25 17:50:03 caching: ZWave_SWITCH_MULTILEVEL_22-state: off
alexa-fhem-1  | [2/25/2025, 5:50:03 PM] [FHEM]     caching: On: 1 (as number; from 'off')
alexa-fhem-1  | [2/25/2025, 5:50:03 PM] [FHEM]     caching: Brightness: 0 (as number; from 'off')
alexa-fhem-1  |   2025-02-25 17:50:03 caching: ZWave_SWITCH_MULTILEVEL_27-state: off
alexa-fhem-1  | [2/25/2025, 5:50:03 PM] [FHEM]     caching: On: 1 (as number; from 'off')
alexa-fhem-1  | [2/25/2025, 5:50:03 PM] [FHEM]     caching: Brightness: 0 (as number; from 'off')
alexa-fhem-1  |   2025-02-25 18:13:50 caching: ZWave_SWITCH_MULTILEVEL_22-state: dim 50
alexa-fhem-1  | [2/25/2025, 6:13:50 PM] [FHEM]     caching: On: 1 (as number; from 'dim 50')
alexa-fhem-1  | [2/25/2025, 6:13:50 PM] [FHEM]     caching: Brightness: 50 (as number; from 'dim 50')
alexa-fhem-1  |   2025-02-25 18:13:50 caching: ZWave_SWITCH_MULTILEVEL_27-state: dim 50
alexa-fhem-1  | [2/25/2025, 6:13:50 PM] [FHEM]     caching: On: 1 (as number; from 'dim 50')
alexa-fhem-1  | [2/25/2025, 6:13:50 PM] [FHEM]     caching: Brightness: 50 (as number; from 'dim 50')

Folgende Prozesse laufen auf dem alexa-fhem Container:
cat /proc/47/cmdline -> node /usr/local/bin/alexa-fhem --dockerDetached
cat /proc/421617/cmdline -> /usr/bin/ssh -R1234:127.0.0.1:44085 -o ServerAliveInterval=90 -i /alexa-fhem/.ssh/id_rsa -p58824 fhem-va.fhem.de


passibe

Probier mal folgendes:
1. In FHEM das alexa-Device löschen
2. In der Alexa-App auf dem Handy den FHEM-Skill löschen (oder deaktivieren oder wie das heißt)
3. compose stack neustarten
4. Im nun automatisch angelegten alexa-Device
get alexa proxyKeyausführen und
5. mit diesem proxyKey den FHEM-Skill in der Alexa-App auf dem Handy neu aktivieren.

Dann sollte alles funktionieren. Beim automatisch angelegten alexa-Device in FHEM musst du GAR NICHTS einstellen, also z.B. das attr alexaFHEM-host alexa-fhem kann da auch raus (wobei das auch keine Probleme verursachen sollte, aber es ist jedenfalls unnötig). "Kosmetische" Sachen wie room, usw. sind natürlich ok ...

Vielleicht reicht es hier aber schon, wenn du einfach das alexaFHEM-host-Attribut entfernst, den Skill in der Alexa-App entfernst und mit einem proxyKey von get alexa proxyKey neu einrichtest.

Hoffe das hilft!

der.einstein

Woah, es war echt nur:
- Alexa-Fhem-host entfernen
- FHEM Skill bei Amazon deaktivieren
- get Alexa proxyKey
- FHEM Skill bei Amazon aktivieren und proxyKey eintragen

=> Alles geht wieder!

Mega vielen Dank!