Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Begonnen von Loredo, 28 Juli 2018, 21:24:57

Vorheriges Thema - Nächstes Thema

Sidey

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rallye

#2101
Zuerst einmal ein schönes Neues Jahr an alle!

Ich melde mich mit einem ähnlichen Problem wie vor nahezu 2 Jahren wieder: Ich bringe Alexa-FHEM in der Dockerumgebung nicht in die Gänge. Ein Sprachbefehl an Alexa (z.B: Alexa, Schalte Esszimmerlicht ein") wird quittiert mit "Esszimmertisch reagiert gerade nicht" Eigentlich analog wie hier.
Allerdings habe ich bereits alle Schritte die ich (auch für mich selbst) hier erklärt habe durchgeführt (hoffe ich). Was ist jetzt anders?
Ich bin im Sommer auf einen RasPi5 umgezogen und habe alles unter "Bookworm" und dem docker-FHEM rel4 neu aufgesetzt. Die (Config)Dateien habe ich selbstverständlich davor gesichert und am neuen System wieder eingespielt. Dennoch ist Alexa nicht operabel gewesen. Da ich andere Prioritäten hatte, habe ich das alles bis jetzt "liegen gelassen". Doch bevor der Sommer kommt will ich das wieder funktional bekommen.

Wie sieht meine Umgebung aus?
Docker-Umgebung. Im Docker laufen viele Container, ich will mich allerdings der Übersicht halber auf FEHM und ALEXA-FHEM beschränken:
##### ----- fhem ----- ########################################################
  fhem:
# 5.1.25: latest installiert. Release date Nov 17, 2024; equivalent zu 4.0.5-bullseye
    build:
      context: .
      dockerfile_inline: |
        FROM ghcr.io/fhem/fhem-docker:latest
        RUN <<EOF
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt update -qq
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt full-upgrade -qqy
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt install -qqy --no-install-recommends libprotocol-websocket-perl
          LC_ALL=C apt autoremove -qqy && LC_ALL=C apt clean
          cpm install --show-build-log-on-failure --configure-timeout=360 --workers=$(nproc) --local-lib-contained /usr/src/app/3rdparty/  Protocol::WebSocket
        EOF
    restart: always
    volumes:
      - /opt/fhem/:/opt/fhem/
    container_name: fhem
    environment:
      FHEM_UID: 999
      FHEM_GID: 20
      TZ: Europe/Vienna
    networks:
      fhem_net:
        ipv4_address: 172.16.57.2
    ports:
      - "8083:8083"             # FHEM Webinterface Browser
      - "1883:1883"             # MQTT für Shellies und andere Geräte die im INTERNEN Netzwerk mit FHEM kommunizieren
#      - "1885:1885"
      - "8883:8883"             # MQTT Owntracks (secure)
      - "8084:8084"             # FHEM Webinterface Mobiltelefon
      - "8080:8080"             # for remote ConBee II
#
##### ----- alexa-fhem -----## #################################################
  alexa-fhem:
# 23.7.24: latest installiert. Release date Jul 1, 2023; equivalent zu 5.0.0
    image: ghcr.io/fhem/alexa-fhem:latest
    container_name: alexa-fhem
    restart: always
    volumes:
      - /opt/alexa-fhem/:/alexa-fhem/
    environment:
      ALEXAFHEM_UID: 6062
      ALEXAFHEM_GID: 6062
      TZ: Europe/Vienna
    networks:
      fhem_net:
        ipv4_address: 172.16.57.3
#    ports:
#      - 3000:3000
#
##### ----- network definitions ----- ##########################################
networks:
  fhem_net:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.16.57.0/24
          gateway: 172.16.57.1
#
#
Ich habe also in meinem Docker ein internes Netzwerk 172.16.57.xx wobei fhem die IP 172.16.57.2 und alexa-fhem 172.16.57.3 fix zugewiesen bekommen.

Die Konfiguration für alexa-fhem liegt in /opt/alexa-fhem:
sepp@RasPi5-Server:/opt/alexa-fhem $ ls -al
insgesamt 28
drwxr-xr-x  4 6062 6062 4096  7. Jän 15:07 .
drwxr-xr-x 10 root root 4096 28. Jul 13:51 ..
drwxr-xr-x  2 6062 6062 4096  7. Jän 15:07 .alexa
lrwxrwxrwx  1 root root   11  7. Jän 15:07 alexa-fhem.json -> config.json
-rw-r--r--  1 6062 6062  637  7. Jän 15:06 config.json
-rw-r--r--  1 6062 6062  631  7. Jän 12:47 config.json.alt
-rw-r--r--  1 6062 6062  635  3. Aug 2023  config.json.ok
drwxr-xr-x  2 6062 6062 4096  7. Jän 15:07 .ssh

und die hier relevante Config-Datei ist "config.json"
{
  "alexa": {
    "port": 3000,
    "name": "Alexa",
    "ssl": false,
    "keyFile": "/certs/alexa-fhem.key",
    "certFile": "/certs/alexa-fhem.crt",
    "nat-pmp": "",
    "nat-upnp": false,
    "applicationId": "amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX",
    "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  },
  "sshproxy" : {
    "description" : "FHEM Connector",
    "ssh" : "/usr/bin/ssh"
  },
  "connections": [
    {
      "name": "FHEM",
      "webname": "fhem",
      "filter": "alexaName=..*",
      "uid": "999",
      "port": "8083",
      "server": "172.16.57.2"
    }
  ]
}


Wenn ich nun den alexa-fhem-Container starte finde ich folgende Einträge im Log, die mir unauffällig erscheinen. Sowohl die initialen Statements (beim Startup), als auch danach folgende Einträge, wo Informationen aus verschiedensten meiner Sensoren und anderen Devices geloggt werden. Zur Sicherheit habe ich manuell das Licht beim Esszimmertisch
defmod Licht.EZ HUEDevice group 2  IODev=HueBridge
attr Licht.EZ userattr floor floor_map haus haus_map structexclude
attr Licht.EZ IODev HueBridge
attr Licht.EZ alexaName Esszimmertisch, Licht beim Esszimmertisch
attr Licht.EZ alias Esszimmertisch
attr Licht.EZ color-icons 2
attr Licht.EZ delayedUpdate 1
attr Licht.EZ devStateIcon off:light_pendant_light:on on:light_pendant_light@yellow:off
attr Licht.EZ floor_map any_on:1:on [^1]:off
attr Licht.EZ group EZ-Tisch,Straßenebene
attr Licht.EZ icon light_dinner_table
attr Licht.EZ room HUEDevice,Infrastruktur
attr Licht.EZ sortby 2
ein- und ausgeschaltet - auch das wird geloggt (Licht.EZ-onoff). Nur eben Sprachbefehle funktionieren nicht.
[1/7/2025, 3:07:25 PM] BearerToken '...91107' read from alexa
[1/7/2025, 3:07:25 PM] 39_alexa.pm is new version: true
[1/7/2025, 3:07:25 PM] sshautoconf: completed successfully
[1/7/2025, 3:07:25 PM] *** SSH: proxy configuration set up done
[1/7/2025, 3:07:25 PM] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[1/7/2025, 3:07:25 PM] [FHEM]   executing: http://172.16.57.2: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=TheToken0815&XHR=1
[1/7/2025, 3:07:25 PM] Starting SSH with -R 1234:127.0.0.1:38347 -oServerAliveInterval=90 -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[1/7/2025, 3:07:25 PM] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[1/7/2025, 3:07:25 PM] [FHEM]   executing: http://172.16.57.2: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=TheToken0815&XHR=1
[1/7/2025, 3:07:25 PM] *** SSH: proxy connection established
[1/7/2025, 3:07:25 PM] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 
  2025-01-07 15:07:39 caching: shellyplug02-temperature: 19.59
[1/7/2025, 3:07:39 PM] [FHEM]     caching: CurrentTemperature: 19.59 (as number; from '19.59')
  2025-01-07 15:08:00 caching: SW.Poolpumpe-voltage: 234.8
[1/7/2025, 3:08:00 PM] [FHEM]     caching: Custom Voltage: 234.8 (as number; from '234.8')
  2025-01-07 15:08:09 caching: shellyplug02-temperature: 19.72
[1/7/2025, 3:08:09 PM] [FHEM]     caching: CurrentTemperature: 19.72 (as number; from '19.72')
  2025-01-07 15:08:34 caching: Licht.EZ-onoff: 1
[1/7/2025, 3:08:34 PM] [FHEM]     caching: On: 1 (as number; from '1')
  2025-01-07 15:08:37 caching: Licht.EZ-onoff: 0
[1/7/2025, 3:08:37 PM] [FHEM]     caching: On: 0 (as number; from '0')
  2025-01-07 15:08:39 caching: shellyplug02-temperature: 19.64
[1/7/2025, 3:08:39 PM] [FHEM]     caching: CurrentTemperature: 19.64 (as number; from '19.64')
  2025-01-07 15:09:00 caching: SW.Poolpumpe-voltage: 235.0
[1/7/2025, 3:09:00 PM] [FHEM]     caching: Custom Voltage: 235 (as number; from '235.0')
  2025-01-07 15:09:03 caching: shellyplug04-temperature: 33.30
[1/7/2025, 3:09:03 PM] [FHEM]     caching: CurrentTemperature: 33.3 (as number; from '33.30')

Ich bin wieder einmal ratlos und stehe auf der Leitung. Bitte um einen Schubs in die richtige Richtung. Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Sidey

Hallo Rallye,

vermutlich hast Du den RSA Schlüssel aus dem Alexa-fhem Container nicht bei Amazon für Alexa registriert.

Das kannst Du aus dem Alexa-fhem container prüfen:

Dazu aus User Alexa-fhem folgendes aufrufen:
ssh -p 58824 fhem-va.fhem.de status


Ansonsten wäre es gut, wenn Du das Standard Image verwendest und nicht auf Basis des Standard Images Änderungen vornimmst, die niemand hier überblicken kann.


Die derzeit aktuelles Images lauten:

ghcr.io/fhem/fhem-docker:4-bullseye
ghcr.io/fhem/alexa-fhem:5.0.16


Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rabehd

Ich bin bisher nicht fündig geworden und auch die Links hier https://ghcr.io/fhem/alexa-fhem:5.0.16 laufen ins Leere.
Eigentlich suche ich eine Anleitung.

Ich baue ein Testsystem im Docker auf.
Es gibt einen Container fhem und einen Container fhem-alexa (beide healty).
Zugriff auf fhem passt und es läuft alles, wie ich es auch im System ohne Docker kenne. Nun steht die Integration von alexa an.
Eine Oberfläche unter http://192.168.xx.yy:8063/fhem erscheint nicht.

Wie muss ich vorgehen?

services:

  FHEM:
    container_name: fhem_appl
    image: ghcr.io/fhem/fhem-docker:4-bullseye
    restart: always
    networks:
      fhem-network:
        ipv4_address: 172.xx.xx.yy
    ports:
      - 8073:8083
      - 1883:1883
    volumes:
# original     - ./fhem/:/opt/fhem/
      - /docker/fhem:/opt/fhem/
    depends_on:
      - FHEM-DB
      - FHEM-alexa

  FHEM-alexa:
    container_name: fhem_alexa
    image: ghcr.io/fhem/alexa-fhem:5
    restart: always
    networks:
      fhem-network:
        ipv4_address: 172.xx.xx.zz
    ports:
      - 8063:8083
    volumes:
      - /docker/alexa-fhem/:/alexa-fhem/
 # Original   - "./alexa-fhem/:/alexa-fhem/"
    environment:
      ALEXAFHEM_UID: 6062
      ALEXAFHEM_GID: 6062
      TZ: Europe/Berlin

Auch funktionierende Lösungen kann man hinterfragen.

MadMax-FHEM

Der alexa-fhem Container enthält mWn KEIN fhem und es gibt da auch keinerlei (Web)Oberfläche.
In dem alexa-fhem Container läuft "nur" alexa-fhem.

Darin wird dann die Verbindung zu fhem (oder mehreren fhem) konfiguriert.
Der Container kümmert sich um Start/Stop von alexa-fhem (normalerweise macht das ja das Alexa-Device in fhem <- wäre dann fhem Container / in der Container-/Docker-Umgebung ist das mWn anders).

Wurde aber hier in dem Thread schon (ein paar mal) diskutiert/erläutert...

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)

rabehd

Zitat von: MadMax-FHEM am 08 Januar 2025, 10:13:18Wurde aber hier in dem Thread schon (ein paar mal) diskutiert/erläutert...

Danke, das heißt ich muss mich doch langsam durch die 140 Seiten arbeiten.
Heißt wohl auch, die Weiterleitung des Ports 8083 ist nicht notwendig. Ist ja hier auch nicht drin https://ghcr.io/fhem/alexa-fhem:5.0.16
Auch funktionierende Lösungen kann man hinterfragen.

MadMax-FHEM

Zitat von: rabehd am 08 Januar 2025, 10:29:13Danke, das heißt ich muss mich doch langsam durch die 140 Seiten arbeiten.
Naja ganz so viel musst du verm. nicht durchgehen.
In den allerersten 100 Seiten war das denke ich noch kein Thema... ;)
Entweder langsam zurückarbeiten oder die Suche (unterstützend) hinzuziehen...


Zitat von: rabehd am 08 Januar 2025, 10:29:13Heißt wohl auch, die Weiterleitung des Ports 8083 ist nicht notwendig. Ist ja hier auch nicht drin https://ghcr.io/fhem/alexa-fhem:5.0.16
Soweit ich denke muss man keine Ports irgendwo hin umleiten (und richtig: im alexa-fhem Container sind ja keine Ports offen).
Der alexa-fhem Container muss halt den fhem Container bzw. das fhem darin erreichen können, da ja alexa-fhem die Devices abfragen und steuern können muss/soll.

Der alexa-fhem Container muss dann nat. Internetzugang haben, er muss sich ja mit dem fhem-Vereinsserver verbinden können, um dann eben darüber an Amazon/Alexa zu kommen.
Alles ohne Ports freizugeben etc.

Wenn beide Container laufen und in alexa-fhem die Verbindung zu fhem in der Config eingetragen ist (hier weiß ich nicht wie das bei Docker geht), dann sollte es schon laufen...
...außer, dass (u.U.) das Alexa-Modul in fhem (mindestens "notwendig"/Hilfreich um die notwendigen Attribute zu haben und auch um einfacher die Anmeldung/Anmeldedaten bzgl. Alexa) "beleidigt" ist, weil es nicht mehr die "Kontrolle" über alexa-fhem hat, sondern das ja der Container übernimmt.

Allerdings weiß ich nicht, ob es inzwischen dafür, also dass das Alexa-Device "beleidigt" ist, eine Lösung auch im Docker-Umfeld gibt -> dazu evtl. "zurück-lesen" oder warten, bis das schnell noch jemand beantwortet...

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)

Sidey

Es gibt eine Anleitung wie die Container eingerichtet werden

https://github.com/fhem/alexa-fhem-docker?tab=readme-ov-file#use-docker-composeyaml

Wenn man diese befolgt kann das Alexa-fhem Programm mit FHEM kommunizieren.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rallye

Zitat von: Sidey am 07 Januar 2025, 20:47:20Hallo Rallye,

vermutlich hast Du den RSA Schlüssel aus dem Alexa-fhem Container nicht bei Amazon für Alexa registriert.

Das kannst Du aus dem Alexa-fhem container prüfen:

Dazu aus User Alexa-fhem folgendes aufrufen:
Code Auswählen Erweitern
ssh -p 58824 fhem-va.fhem.de status
Danke für den Tip. Du hast es wieder einmal auf Anhieb getroffen. Output ist:
root@128ea9ae9ae1:/alexa-fhem# ssh -p 58824 fhem-va.fhem.de status
The authenticity of host '[fhem-va.fhem.de]:58824 ([188.40.131.57]:58824)' can't be established.
RSA key fingerprint is SHA256:faKHDj9WmNmjRbq3SXmzb0FNfNxqond1TJQk9DLaBwQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[fhem-va.fhem.de]:58824,[188.40.131.57]:58824' (RSA) to the list of known hosts.
root@fhem-va.fhem.de: Permission denied (keyboard-interactive,publickey).
root@128ea9ae9ae1:/alexa-fhem#

alexa-fhem habe ich updated (hab die neue "latest" einfach übersehen), fhem selbst war ohnehin aktuelle "latest" (da bin ich im Normalfall ohnehin peinlich genau).

Ich habe in meinem Amazon-Account nachgesehen: der Skill "FHEM Connector" ist aktiviert. Nachdem meine ursprüngliche Alexa(-fhem)-Installation schon so lange her ist habe ich vergessen wie ich das seinerzeit gemacht habe :o
Ich werd nun mal in eine "Erinnerungsphase" gehen - schlimmstenfalls melde ich mich wieder (gefährliche Drohung  O:-) )

Danke vorerst

Grüße Rallye
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Sidey

Zitat von: rallye am 08 Januar 2025, 14:06:36Danke für den Tip. Du hast es wieder einmal auf Anhieb getroffen. Output ist:
root@128ea9ae9ae1:/alexa-fhem# ssh -p 58824 fhem-va.fhem.de status
The authenticity of host '[fhem-va.fhem.de]:58824 ([188.40.131.57]:58824)' can't be established.
RSA key fingerprint is SHA256:faKHDj9WmNmjRbq3SXmzb0FNfNxqond1TJQk9DLaBwQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[fhem-va.fhem.de]:58824,[188.40.131.57]:58824' (RSA) to the list of known hosts.
root@fhem-va.fhem.de: Permission denied (keyboard-interactive,publickey).
root@128ea9ae9ae1:/alexa-fhem#

Das ist ein anderes Problem.

Entferne mal alle Dateien aus dem Alexa-fhem Volume oder Stelle dem Container mal ein neues Volume zur Verfügung.
Hier liegt eher ein Problem vor, dass der Public Key des Vereinsservers nicht stimmt.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rallye

#2110
Nun bin ich doch früher als (ich) erwartet habe zurück - ich komme nicht weiter und habe einen Knopf in der Leitung.

Ich dachte ich kann die alexa-Definition in FHEM löschen doch ich habe hier ganz unten gesehen, dass das ich die Definition brauche. Jetzt bin ich komplett verwirrt, weil ich habe nun zwei .ssh. Eine in der /opt/alexa-fhem (hier hatte ich die "alte" umbenannt und der Container alexa-fhem hat mir beim Neustart wieder eine .ssh mir folgendem Inhalt angelegt:
/opt/alexa-fhem/.ssh $ ls -al
insgesamt 32
drwxr-xr-x 2 6062 6062 4096  8. Jän 13:40 .
drwxr-xr-x 5 6062 6062 4096  8. Jän 13:40 ..
-rw-r--r-- 1 6062 6062  516  8. Jän 13:24 config
-rw------- 1 6062 6062  411  8. Jän 13:24 id_ed25519
-rw-r--r-- 1 6062 6062  110  8. Jän 13:24 id_ed25519.pub
-rw------- 1 6062 6062 3381  8. Jän 13:24 id_rsa
-rw-r--r-- 1 6062 6062  754  8. Jän 13:24 id_rsa.pub
-rw-r--r-- 1 6062 6062  897  8. Jän 13:40 known_hosts
Und dann habe ich eine .ssh innerhalb von /opt/fhem mit folgendem Inhalt
/opt/fhem/.ssh# ls -al
insgesamt 32
drwx------  2 999 dialout 4096  8. Jän 16:20 .
drwxr-x--- 22 999 dialout 4096  8. Jän 16:20 ..
-rw-r--r--  1 999 dialout  507  8. Jän 16:20 config
-rw-------  1 999 dialout  411  8. Jän 16:20 id_ed25519
-rw-r-----  1 999 dialout   98  8. Jän 16:20 id_ed25519.pub
-rw-------  1 999 dialout 3381  8. Jän 16:20 id_rsa
-rw-r-----  1 999 dialout  742  8. Jän 16:20 id_rsa.pub
-rw-r-----  1 999 dialout 1131  8. Jän 16:20 known_hosts

Ist das überhaupt so gewollt??? Zusammenlegen kann ich sie nicht, weil sich die beiden in unterschiedlichen Dateisystemen befinden (/opt/fhem als Mapping für FHEM und /opt/alexa-fhem für alexa-fhem).

Auch nachdem ich die beiden .ssh neu anlegen habe lassen bin ich nicht weiter und bekomme
docker exec -it alexa-fhem bash
root@128ea9ae9ae1:/alexa-fhem# ssh -p 58824 fhem-va.fhem.de status
root@fhem-va.fhem.de: Permission denied (keyboard-interactive,publickey).
root@128ea9ae9ae1:/alexa-fhem#


Hilfe! Ich steh am Schlauch!

Grüße Rallye
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

rallye

#2111
Zitat von: Sidey am 08 Januar 2025, 16:34:26Das ist ein anderes Problem.

Entferne mal alle Dateien aus dem Alexa-fhem Volume oder Stelle dem Container mal ein neues Volume zur Verfügung.
Hier liegt eher ein Problem vor, dass der Public Key des Vereinsservers nicht stimmt.

Habe ich erledigt - das alte alexa-fhem umbenannt und ein neues angelegt - und den Inhalt von config.json angepasst. jetzt sieht die Ausgabe so aus:
root@128ea9ae9ae1:/alexa-fhem# ssh -p 58824 fhem-va.fhem.de status
root@fhem-va.fhem.de: Permission denied (keyboard-interactive,publickey).
root@128ea9ae9ae1:/alexa-fhem#

[1/8/2025, 4:46:30 PM] 39_alexa.pm is new version: true
[1/8/2025, 4:46:30 PM] sshautoconf: completed successfully
[1/8/2025, 4:46:30 PM] *** SSH: proxy configuration set up done
[1/8/2025, 4:46:30 PM] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[1/8/2025, 4:46:30 PM] [FHEM]   executing: http://172.16.57.2: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=TheToken0815&XHR=1
[1/8/2025, 4:46:30 PM] Starting SSH with -R 1234:127.0.0.1:35495 -oServerAliveInterval=90 -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[1/8/2025, 4:46:30 PM] BearerToken '...E49CE' read from alexa
[1/8/2025, 4:46:31 PM] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[1/8/2025, 4:46:31 PM] [FHEM]   executing: http://172.16.57.2: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=TheToken0815&XHR=1
[1/8/2025, 4:46:31 PM] *** SSH: proxy connection established
[1/8/2025, 4:46:31 PM] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 
  2025-01-08 16:46:37 caching: shellyplug04-temperature: 33.67
[1/8/2025, 4:46:37 PM] [FHEM]     caching: CurrentTemperature: 33.67 (as number; from '33.67')
  2025-01-08 16:46:41 caching: shellyplug02-temperature: 23.24
[1/8/2025, 4:46:41 PM] [FHEM]     caching: CurrentTemperature: 23.24 (as number; from '23.24')
  2025-01-08 16:47:00 caching: SW.Poolpumpe-voltage: 235.5
[1/8/2025, 4:47:00 PM] [FHEM]     caching: Custom Voltage: 235.5 (as number; from '235.5')
  2025-01-08 16:47:00 caching: SW.Poolpumpe-temperature: 34.5
[1/8/2025, 4:47:00 PM] [FHEM]     caching: CurrentTemperature: 34.5 (as number; from '34.5')
  2025-01-08 16:47:02 caching: HK_Vent.WR_Clima-measured-temp: 19.7
[1/8/2025, 4:47:02 PM] [FHEM]     caching: CurrentTemperature: 19.7 (as number; from '19.7')
  2025-01-08 16:47:11 caching: shellyplug02-temperature: 23.28
[1/8/2025, 4:47:11 PM] [FHEM]     caching: CurrentTemperature: 23.28 (as number; from '23.28')
  2025-01-08 16:47:37 caching: shellyplug04-temperature: 33.73
[1/8/2025, 4:47:37 PM] [FHEM]     caching: CurrentTemperature: 33.73 (as number; from '33.73')
  2025-01-08 16:47:41 caching: shellyplug02-temperature: 23.16
[1/8/2025, 4:47:41 PM] [FHEM]     caching: CurrentTemperature: 23.16 (as number; from '23.16')
  2025-01-08 16:48:00 caching: SW.Poolpumpe-voltage: 236.2
[1/8/2025, 4:48:00 PM] [FHEM]     caching: Custom Voltage: 236.2 (as number; from '236.2')
  2025-01-08 16:48:00 caching: SW.Poolpumpe-temperature: 34.7

Bin momentan immer noch ratlos

Gruß Rallye
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

passibe

#2112
Habe das Gefühl ihr redet hier alle an einander vorbei.

Erstens mal:
Zitat von: rallye am 08 Januar 2025, 16:53:55root@128ea9ae9ae1:/alexa-fhem# ssh -p 58824 fhem-va.fhem.de status
root@fhem-va.fhem.de: Permission denied (keyboard-interactive,publickey).
Das hier ist völlig erwartbar. Denn innerhalb des containers (mit docker exec -it fhem_alexa /bin/bash) ist man root und root versucht logischerweise sich mit dem ssh-key aus seinem eigenen home-Verzeichnis (/root/.ssh/...) einzuloggen, und nicht dem key unter /alexa-fhem/.ssh.

Zitat von: Sidey am 08 Januar 2025, 16:34:26dass der Public Key des Vereinsservers nicht stimmt
Mit dem Public Key des Vereinsservers hat das übrigens auch nichts zu tun, "Permission denied (keyboard-interactive,publickey)" ist schlicht die normale Fehlermeldung, wenn der SSH-Server den Login verweigert. Das liegt hier aber am fehlenden Public Key des Clients (!) und nicht des Servers. Der Key des Servers wurde ja mitAre you sure you want to continue connecting (yes/no/[fingerprint])?schon als vertrauenswürdig bestätigt.

Dieser Hinweis geht in die richtige Richtung:
Zitat von: Sidey am 07 Januar 2025, 20:47:20Dazu aus User Alexa-fhem
Er passt aber nicht für das Docker-Image, weil es dort kein sudo gibt, man also nicht sudo -u alexa-fhem ssh ... machen kann.
EDIT: Sorry, geht doch mit su - alexa-fhem, siehe unten!

Deshalb:ssh -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de statusDann sollte die Meldung kommen:Registered.
Registered on <DATUM><UHRZEIT> as <ID>.

Das alles ist hier m.E. aber ohnehin unnötig, denn im Log steht ja ganz klar:
Zitat von: rallye am 08 Januar 2025, 16:53:55[1/8/2025, 4:46:31 PM] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[1/8/2025, 4:46:31 PM] *** SSH: proxy connection established
[1/8/2025, 4:46:31 PM] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 

Es liegt also jedenfalls mal kein Problem damit vor, die SSH-Verbindung zum Vereinsserver aufzubauen.

Nun zum ursprünglichen Problem, dass die Devices nicht reagieren.
@rallye deaktiviere bitte einfach mal in der Alexa-App den FHEM-Skill und aktivere ihn neu. Dann einfach den registration key mit
get alexa proxyKeyholen und in der App eintippen. Dann sollte alles "grün" sein, wie im Wiki beschrieben: https://wiki.fhem.de/wiki/FHEM_Connector_für_Amazon_Alexa#Finale:_Skill_verknüpfen

Wenn das nicht hilft, dann schauen wir nochmal weiter. Aber erstmal einfach die Neuverknüpfung des Skills machen.

Noch etwas dazu:
Zitat von: Sidey am 07 Januar 2025, 20:47:20Ansonsten wäre es gut, wenn Du das Standard Image verwendest und nicht auf Basis des Standard Images Änderungen vornimmst, die niemand hier überblicken kann.
Meines Erachtens gibt es durchaus use cases für Änderungen am Image – ist aber hier im Endeffekt egal, denn die Änderungen
Zitat von: rallye am 07 Januar 2025, 15:33:41LC_ALL=C DEBIAN_FRONTEND=noninteractive apt install -qqy --no-install-recommends libprotocol-websocket-perl
und
Zitat von: rallye am 07 Januar 2025, 15:33:41cpm install --show-build-log-on-failure --configure-timeout=360 --workers=$(nproc) --local-lib-contained /usr/src/app/3rdparty/  Protocol::WebSocket
sind jedenfalls unnötig (Protocol::WebSocket ist schon standardmäßig installiert) und auch "doppelt" (einmal über apt installiert, einmal über cpan).
Um zu prüfen, ob ein Perl-Modul im Image schon installiert ist, kann man meistens einfach z.B. docker exec <FHEM-Containername> perldoc -l Protocol::WebSocket ausführen.
Auch der Sinn von einem full-upgrade
Zitat von: rallye am 07 Januar 2025, 15:33:41LC_ALL=C DEBIAN_FRONTEND=noninteractive apt full-upgrade -qqy
erschließt sich mir hier nicht.

Heißt: Eigentlich sollte hier alles auch mit dem Standardimage funktionieren, @rallye du solltest also sämtliche Build-Zeilen einfach rausschmeißen können.

passibe

Achso und noch was:
Benutzt man den alexa-fhem-Container, dann erstellt sich das alexa-Device von selbst. Man muss nichts tun. Auch keine Attribute wie alexaFHEM-config ändern oder eintragen oder was auch immer. Einfach das alexa-Device in Ruhe lassen.

Wenn man es "clean" haben will, am besten:
1. FHEM und alexa-fhem stoppen
2. das Alexa-Device löschen
3. die config.json von alexa-fhem falls noch nicht geschehen anpassen, damit alexa-fhem eine Verbindung zu FHEM herstellen kann
4. FHEM starten
5. alexa-fhem starten und gut ist.

Die Fehlermeldung alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'. kann man ignorieren, da ist einfach das alexa-Device noch zu doof um zu kapieren, dass alexa-fhem in Docker läuft.

Siehe zu allem in diesem Thread ab hier: https://forum.fhem.de/index.php?topic=139290.msg1321188#msg1321188

Sidey


Zitat von: rallye am 08 Januar 2025, 16:53:55.l

Dieser Hinweis geht in die richtige Richtung:
Zitat von: Sidey am 07 Januar 2025, 20:47:20Dazu aus User Alexa-fhem
Er passt aber nicht für das Docker-Image, weil es dort kein sudo gibt, man also nicht sudo -u alexa-fhem ssh ... machen kann.

Deshalb:ssh -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de statusDann sollte die Meldung kommen:Registered.
Registered on <DATUM><UHRZEIT> as <ID>.

Ich hatte übersehen, dass der SSH Befehl als root abgesetzt wurde, denn für den User Alexa-fhem ist eine ssh config abgelegt, welche dem SSH Dienst ein paar Einstellungen mit gibt.

Wenn man sich nicht schon beim docker exec als User alexa-fhem ausgibt kann man in der Shell auch den User wechseln:
su - alexa-fhem
ssh -p 58824 fhem-va.fhem.de status

Vermutlich wäre es hilfreich wenn ich diesen Aufruf einfach beim Starten des Docker Images ausführen lassen, damit wir im Falle von Troubleshooting einfach die Info bereits im Log haben, ob der RSA Key bereits verknüpft ist und die Kommunikation grundlegend funktioniert :)

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker