Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

rallye

Danke an @Sidey & @passible !
Während du (@passible) deinen Input geschrieben hast habe ich intuitiv genau das gemacht was du vorgeschlagen hast: in der Alexa-App den Skill neu registriert. Und kaum macht man's richtig funktioniert es auch schon 🥳

Und ein ganz großes Danke für die Erklärungen! So dass ich nicht nur etwas stupid nachgemacht, sondern auch verstanden habe wie das geht und zusammenhängt. Wäre evtl. wert in allgemeiner Form ins WIKI aufgenommen zu werden.

Der Vollständigkeit halber möchte ich noch den Output von
Zitat von: passibe am 08 Januar 2025, 18:51:08Deshalb:
ssh -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de status
zeigen:
docker exec -it alexa-fhem bash
root@9b2b983b78e7:/alexa-fhem# ssh -i /alexa-fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de status
Registered.
Registered on 2025-01-08T15:43:56Z as C9####94.

@passible: danke auch für den Nachtrag - sehr informativ und übersichtlich!
Ich habe nun noch folgende Fragen um alles genau verstanden zu haben:
  • In meinem /opt/fhem existiert ein File alexa-fhem.cfg
    {
       "connections" : [
          {
             "webname" : "fhem",
             "server" : "172.16.57.2",
             "port" : 8083,
             "filter" : "alexaName=..*",
             "name" : "FHEM",
             "uid" : 999
          }
       ],
       "sshproxy" : {
          "ssh" : "/usr/bin/ssh",
          "description" : "FHEM Connector"
       }
    }
    brauche ich das?
  • In meinem /opt/alexa-fhem existiert ein File 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": "6062",
          "port": "8083",
          "server": "172.16.57.2"
        }
      ]
    }
Hier habe ich heute "uid" von 999 (die UID von FHEM in meinem System) auf 6062 (die UID von alexa-fhem in meinem System) geändert - und so funktioniert das jetzt auch alles bei mir. Ist 6062 oder 999 richtig?
[/list]


NB:
Zitat von: passibe am 08 Januar 2025, 18:51:08Heißt: Eigentlich sollte hier alles auch mit dem Standardimage funktionieren, @rallye du solltest also sämtliche Build-Zeilen einfach rausschmeißen können.
Danke für den Hinweis. Ich hatte das wegen meines Luftentfeuchters der via Tuya spricht letzten Sommer eingebaut - da war das im Standard-Image noch nicht drinnen. Nach dem Motto "Never change a running system" hat es bis heute "überlebt" - doch jetzt wird es in die ewigen Jagdgründe eingehen. Danke!

Nochmals vielen Dank an @Sidey & @passible - you made my day!!!

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

passibe

Gerne! Freut mich, dass es jetzt klappt.

Zitat von: rallye am 09 Januar 2025, 16:07:43In meinem /opt/fhem existiert ein File alexa-fhem.cfg
Ne, die brauchst du nicht mehr. Dein alexa-fhem container kann darauf ja gar nicht zugreifen und der FHEM-container kann damit nix anfangen.

Zitat von: rallye am 09 Januar 2025, 16:07:43Ist 6062 oder 999 richtig?
Ich weiß ehrlich gesagt nicht genau, was die UID da macht. Für die reine HTTP-Verbindung zu FHEM sollte die eigentlich auch irrelevant sein – kann also gut sein, dass das sowieso keinen Effekt hat, was man da einträgt.

Schadet aber nicht, das auf die UID zu stellen, unter der alexa-fhem im container läuft, d.h. die UID des containerinternen alexa-fhem-Benutzers. Mit irgendwelchen UIDs auf deinem Hostsystem oder in anderen containern hat das (erstmal) nichts zu tun.

Du kannst einfach im alexa-fhem containerid alexa-fhemausführen, dann siehst du, welchen Wert das bei dir haben muss (Standard ist aber 6062).

Übrigens würde ich das hier:
Zitat von: rallye am 09 Januar 2025, 16:07:43"server": "172.16.57.2"
ggfs. mal auf den (host)namen deines FHEM-containers ändern, also – sofern du dein compose-file nicht geändert hast – auf "fhem". Dann zerschießt es dir die Verbindung zwischen FHEM und alexa-fhem nicht, wenn dein FHEM-container mal eine andere IP erhält.

rallye

@passible:
Danke für deine Erläuterungen die meinem Verständnis sehr zuträglich waren/sind.

Die UID im Container ist ebenfalls 6062 - und ich lasse das in der /opt/alexa-fhem/config.json demnach auch so. Ich hatte zuvor "999" (fhem) drinnen und es hat auch funktioniert. Du mast durchaus Recht haben, dass der Eintrag irrelevant ist. Nach dem Motto: "never change a running System" bleibt es nun wie es ist.

Den "server" habe ich auch auf "fhem" geändert. FHEM hat zwar in meiner compose.yaml eine fest verdrahte IP, aber wer weiß was mir in ein paar Monaten einfällt😎

Nochmals ein herzliches Dankeschön an Dich und @Sidey

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: Sidey am 08 Januar 2025, 21:46:03Vermutlich 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

Ich habe die Idee mal ausprobiert, ich denke das würde ja zumindest auf den ersten Blick weiterhelfen.

Beim starten vom Image wird geprüft, ob sich der user alexa-fhem mit dem Vereinsserver verbinden kann und wie der Registrierungsstatus ist.
Wenn jemand das Image allerdings ohne den Vereinsserver verwendet könnte die Information verwirrend sein.

2025-01-10T17:56:01.668158462Z Testing alexa-fhem registration status ...
2025-01-10T17:56:01.927138889Z alexa-fhem@fhem-va.fhem.de: Permission denied (keyboard-interactive,publickey).
2025-01-10T17:56:01.930784972Z   -
oder

2025-01-10T17:11:12.764525822Z Testing alexa-fhem registration status ...
2025-01-10T17:11:13.113152269Z   - Unregistered.
2025-01-10T17:11:13.113175346Z Your SSH key ist not registered.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

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

Schlimbo

#2119
Hallo zusammen,
ich nutze aktuell das Docker Image "ghcr.io/fhem/fhem-docker:4-bullseye" und versuche hier das echodevice Modul mit NPN-Login Verfahrens ans laufen zu bringen.
https://www.mwinklerblog.de/modul-echodevice-npm/
Die automatisch Installation über FHEM mit set NPN_install funktioniert leider nicht.

Hat das echodevice jemand mit Docker in Verwendung?
Was ist der empfohlene Weg NodeJS & alexa-cookie zu installier?
-Über die Shell im Container?
-Über Anpassung des Docker-Image mit einer Dockerfile?
-Über Parameter in Docker compose?

Viele Grüße
Schlimbo

passibe

#2120
Ja, automatische Installation klappt nicht. Muss über einmalige Installation in der Shell des Containers passieren, weil echodevice alexa-cookie2 unter /opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2 haben will. Weil das Verzeichnis aber unter /opt/fhem liegt, das ja regelmäßig als Volume/mount gemappt wird, kann man alexa-cookie2 nicht schon bei der Image-Erstellung einbinden (würde dann einfach durch das lokal gemappte Volume überschrieben werden). Installation über parameter im compose-file geht seit Version 4 sowieso nicht mehr (würde hier aber aufgrund des obskuren Installationspfades auch nicht weiterhelfen).

Anleitung hier: https://forum.fhem.de/index.php?topic=140376.msg1330399#msg1330399
Einfach die 6 Schritte unten im Post befolgen.

Wenn jemand eine bessere/sauberere Idee hat, gerne her damit. Vielleicht müsste man auch einfach echodevice – jedenfalls für den Einsatz im Container – patchen, damit es mit dem normalen Pfad (also /usr/lib/node_modules/alexa-cookie2) arbeitet.

Schlimbo

Super, so hat es funktioniert :-) vielen Dank für die Anleitung.

kennymc.c

Beim Build-Prozess des Image über Docker Compose bekomme ich, obwohl ich mich an die Beispiele und den Migration Guide gehalten habe, Fehlermeldungen bei der Installation diverser Perl Pakete bzw. deren Dependencies. Den Log habe ich angehangen und die docker-compose.yml sieht so aus:

services:

 fhem:
    build:
      context: .
      dockerfile_inline: |
        FROM ghcr.io/fhem/fhem-minimal-docker
        RUN <<EOF
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get update
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends avahi-daemon avahi-utils
          LC_ALL=C apt-get autoremove -qqy && LC_ALL=C apt-get clean
          cpm install --show-build-log-on-failure --configure-timeout=360 --workers=$(nproc) --local-lib-contained /usr/src/app/3rdparty/  IO::Socket::SSL IO::Socket::Multicast IO::Socket::INET IO::Async::Loop XML::Simple Data::Peek Net::FTPSSL Net::Async::WebSocket::Server Net::Rendezvous::Publish JSON Convert::Color Array::Utils Encode Syntax::Keyword::Try Sys::Hostname Net::Rendezvous::Publish::Backend::Avahi
        EOF
    pull_policy: build
    restart: always
    security_opt:
      - apparmor=unconfined
    environment:
      - LOGFILE=./log/fhem-%Y-%m.log
      - FHEM_UID=1007
      - FHEM_GID=100
      - DOCKER_HOST=192.168.1.203
    network_mode: "host"
    volumes:
      - "/mnt/user/appdata/fhem/:/opt/fhem/"
      - "/var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket"

passibe

Gibt es einen Grund, weshalb du unbedingt minimal benutzen willst? Damit machst du dir das Leben m.E. unnötig schwer.

Relativ viele der genannten Module sind nämlich im regulären Image schon enthalten (und womöglich auch im minimalen Image? Kann auch sein, dass das deshalb noch zusätzliche Probleme gibt, wenn du da versuchst, mit cpm noch "drüberzubügeln").

Um herauszufinden, ob ein Modul schon installiert ist, kannst du einfach eine Shell im Container ausführen und dann:
perldoc -l <PAKETNAME>
Ansonsten: Das log sagt ja recht klar, dass dir unter anderem cc fehlt, also vielleicht mal build-essentials installieren.

Ich persönlich würde übrigens versuchen, möglichst viele Perl-Module über das korrespondierende Debian-Paket via apt zu installieren. Habe das als deutlich fehlerunanfälliger erlebt (siehe ansonsten auch die Diskussion hier).

Noch ein Nachtrag: Vielleicht bietet es sich auch an, wenn du erstmal ohne irgendwelche Zusatzmodule mit dem (besser: nicht-minimal) Image startest und dann nach und nach siehst, welche Module du überhaupt noch zusätzlich brauchst. Dann kannst du schrittweise erweitern. Ist dann nämlich auch einfacher, etwaige Fehler zu lokalisieren.

kennymc.c

#2124
Zitat von: passibe am 27 Januar 2025, 20:20:50Gibt es einen Grund, weshalb du unbedingt minimal benutzen willst? Damit machst du dir das Leben m.E. unnötig schwer.

Relativ viele der genannten Module sind nämlich im regulären Image schon enthalten (und womöglich auch im minimalen Image? Kann auch sein, dass das deshalb noch zusätzliche Probleme gibt, wenn du da versuchst, mit cpm noch "drüberzubügeln").

Um herauszufinden, ob ein Modul schon installiert ist, kannst du einfach eine Shell im Container ausführen und dann:
perldoc -l <PAKETNAME>
Ansonsten: Das log sagt ja recht klar, dass dir unter anderem cc fehlt, also vielleicht mal build-essentials installieren.


Da ich sowieso schon selber das Image bauen muss, wollte ich die kleinste Version nehmen und dann nur das dazu installieren was ich benötigte. Laut der Beschreibung sind ja nur mehr Services beim normalen Image vorhanden wie z.B. Node was ich nicht brauche. Das es sich auch bei den installierten Perl Pakten unterscheidet ist mir nicht klar gewesen.
Ich hatte auch bisher nur das v3 minimal Image mit den exakt selben Paketen am laufen und dort kam es nicht zu diesen Problemen. Also fehlt ab der v4 oder v5 nun etwas im Vergleich. Wurde im Migration Guide leider nicht erwähnt. Wenn ich build-essential hinzufügen sind es aber schon mal weniger Pakete mit Fehlern. Aber auch mit dem normalen Image kommt es noch zu einem Installationsfehler bei Net-DBus.

passibe

Zitat von: kennymc.c am 27 Januar 2025, 21:17:08Laut der Beschreibung sind ja nur mehr Services beim normalen Image vorhanden wie z.B. Node was ich nicht brauche. Das es sich auch bei den installierten Perl Pakten unterscheidet ist mir nicht klar gewesen.
Hm ok, vielleicht habe ich da auch Quatsch erzählt und die Perl-Pakete sind bei minimal und der "vollen" Version gleich. Liest sich von der Beschreibung her ja in der Tat so. Habe jetzt noch nicht die Dockerfiles verglichen ...

Würde jedenfalls wie gesagt a) überprüfen, welche Module es im Container schon gibt dann b) erst nach und nach neue Module hinzufügen und c) versuchen, so viele Module wie möglich mit Debian-Paketen über apt zu installieren.

Für alles was dann noch übrig bleibt, cpm verwenden. Wenn noch was nicht läuft, kannst du natürlich auch gerne nochmal dein Log posten.

kennymc.c

Ich hab es jetzt mit der folgenden docker compose zum laufen bekommen. Das normale Image hat zusätzlich nur das Multicast Paket aber ansonsten nicht mehr, deshalb bleib ich beim Minimal-Image.
Allerdings scheint Convert::Color nicht richtig installiert zu werden, obwohl im Log keine Fehlermeldungen dazu zu finden sind. Ich hab es sowohl mit cpan als auch apt install libconvert-color-perl versucht aber bei beiden Varianten werden entsprechende Module in Fhem deaktiviert, perldoc -l Convert::Color liefert auch nur no documentation found wahrend apt ausgibt aus, dass das Paket schon installiert ist.

services:

 fhem:
    build:
      context: .
      dockerfile_inline: |
        FROM ghcr.io/fhem/fhem-minimal-docker
        RUN <<EOF
        LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get update
        LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends avahi-utils build-essential libnet-rendezvous-publish-backend-avahi-perl libconvert-color-perl
        LC_ALL=C apt-get autoremove -qqy && LC_ALL=C apt-get clean
        cpm install --show-build-log-on-failure --configure-timeout=360 --workers=$(nproc) --local-lib-contained /usr/src/app/3rdparty/  IO::Socket::Multicast IO::Async::Loop Data::Peek Net::Async::WebSocket::Server Net::Rendezvous::Publish Array::Utils Syntax::Keyword::Try
        EOF
    pull_policy: build
    restart: always
    security_opt:
      - apparmor=unconfined
    environment:
      - LOGFILE=./log/fhem-%Y-%m.log
      - FHEM_UID=1007
      - FHEM_GID=100
      - DOCKER_HOST=192.168.1.203
    network_mode: "host"
    volumes:
      - "/mnt/user/appdata/fhem/:/opt/fhem/"
      - "/var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket"

passibe

Das liegt am @INC (was, wenn mich nicht alles täuscht, quasi das $PATH von perl ist).

Aus irgendeinem Grund ist im minimal-Image nur/usr/src/app/core/lib/perl5/5.36.3/x86_64-linux-gnu /usr/src/app/core/lib/perl5/5.36.3 /usr/src/app/core/lib/perl5/x86_64-linux-gnu /usr/src/app/core/lib/perl5 /usr/local/lib/perl5/site_perl/5.36.3/x86_64-linux-gnu /usr/local/lib/perl5/site_perl/5.36.3 /usr/local/lib/perl5/vendor_perl/5.36.3/x86_64-linux-gnu /usr/local/lib/perl5/vendor_perl/5.36.3 /usr/local/lib/perl5/5.36.3/x86_64-linux-gnu /usr/local/lib/perl5/5.36.3hinterlegt, während im nicht-minimal image unter anderem noch/usr/src/app/3rdparty/lib/perl5/5.36.3/x86_64-linux-gnu /usr/src/app/3rdparty/lib/perl5/5.36.3 /usr/src/app/3rdparty/lib/perl5/x86_64-linux-gnu /usr/src/app/3rdparty/lib/perl5hinzukommt.
Das umfasst dann auch das Verzeichnis, in das cpm das installiert (--local-lib-contained /usr/src/app/3rdparty/).

Apt installiert das unter /usr/share/perl5 (dpkg dpkg -L libconvert-color-perl), das aber weder im minimal-Image, noch im nicht-minimal-Image unter @INC auftaucht. Deshalb funktioniert apt weder im minimal- noch im nicht-minimal-Image nicht.

Im nicht-minimal-Image funktioniert aber die Installation per cpm.

Was da jetzt die saubere Lösung ist, das unter dem minimal-Image zum laufen zu kriegen (also entweder @INC zu ändern oder den Pfad von --local-lib-contained zu ändern) – da bin ich überfragt, das weiß aber bestimmt jemand anderes hier.

kennymc.c

Ok, dann müsste man das mal auf Github als issue klären, wenn die sich da unterscheiden. Ich versuche es dann erstmal mit dem nicht-minimal Image.
Backend Avahi hatte ich aber über apt installiert, da ich über cpan nicht mehr weiter kam, da irgendwann nachdem ich noch zwei benötigte apt Pakete hinzugefügt hatte dbus in der Version >=1.3.0 erwartet wurde aber dbus über apt erneut zu installieren nichts brachte. Mit dem Perl Paket direkt über apt gibt es diese Fehler nicht. Empfohlen wird ja in der Anleitung sowieso alles über cpan zu installieren. Deshalb ist der Pfad für Perl über apt vermutlich auch bei keinem der Images mit drin.

rallye

#2129
Hallo! Ich bin vom Urlaub zurück und habe meine Arbeiten an meinem FHEM wieder aufgenommen, nachdem mir @passible hier erklärt hat wie das mit dem FHEMpy richtig zu definieren ist. Ich habe das genau so in meinem Produktionssystem umgesetzt und bin gescheitert. Und zwar bin ich deshalb gescheitert, weil die 3 Container keine IP-Adresse haben obwohl ich ihnen in meiner compose.yaml eine IP im selben Netzwerk wie FHEM zuweise.
Du darfst diesen Dateianhang nicht ansehen.

Aufgrund des bevorstehenden Urlaubs habe ich rasch auf meinem Testsystem (Raspi4) ein neues System aufgesetzt, FHEM, FHEMpy-fusionsolar, FHEMpy-google_weather und FHEMpy-tuya installiert und gestartet. Hier werden allen Containern die in der compose.yaml vergebenen IPs vergeben (siehe 1. Abbildung).
O.k. fahre ich auf Urlaub und setze das System danach frisch auf. Gesagt, getan. Ich habe also eine neue NMVe-SSD mit dem aktuellen Raspberian bespielt, die Docker-SW installiert und eine minimale compose.yaml in der Erwartung, dass am jungfräulichen System alles funktioniert, gestartet.
Du darfst diesen Dateianhang nicht ansehen.

Aber leider, das neu installierte System verhält sich wie das Produktionssystem - keine IPs. Ich habe die diente compose.yaml am Produktionsrechner (das ist ein Raspi5) laufen lassen wie ich es am Testsystem (Raspi4) habe - das selbe Problem: keine IPs

Um das "keine IPs" vielleicht näher zu spezifizieren:
Wenn ich mich in den Docker einloggen will erhalte ich folgendes:
docker exec -it e29c23cbb3a9 /bin/bash
Error response from daemon: Container e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660 is restarting, wait until the container is running
Wenn ich im Portainer den Container neu starte wird mir während des Status "starten" die zugewiesenen IP angezeigt, wenn der Status "running" (durch ein refresh) erscheint, ist die IP wieder weg.
Du darfst diesen Dateianhang nicht ansehen.
Die Logs sind leer - im Gegensatz zum Testsystem, wo die Container munter vor sich hin plaudern. Interessant ist, dass innerhalb von FHEM mit meiner "verzwickten" Konfiguration alle 3 Container ihre Arbeit erledigen und mir die gewünschten Werte liefern.

Mir ist absolut unklar wo ich weitersuchen soll. Der einzige Unterschied ist die HW (Raspi5 für Prod - das mit den Fehlern; und Raspi4 für Test). Auf beiden Rechnern läuft
Docker version 27.5.0, build a187fa5, am System das ich zum neuen Produktionssystem machen wollte war die Version 27.5.1

Am Ende des Tages reduziert sich mein Problem darauf, dass die FHEMpy-Komponnenten sich in einem permanenten "restart"-Status befinden, denn hin und wieder, wenn ich konsequent genug den Refres-button im Portier betätige erscheint die IP und der Status "starting"

Anbei noch der Output von z.B Google-Weather wenn ich den Container ohne -d (detach) starte:
docker compose up fhempy-googleweather
[+] Running 1/1
 ✔ Container FHEMpy-google_weather  Created                                                                        0.0s
Attaching to FHEMpy-google_weather
FHEMpy-google_weather exited with code 0
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
FHEMpy-google_weather exited with code 139
Gracefully stopping... (press Ctrl+C again to force)
[+] Stopping 1/1
 ✔ Container FHEMpy-google_weather  Stopped 
Die ersten 3-5 exits kommen relativ schnell (gefühlt 5 Sekunden) hintereinander, danach verlängert sich das Intervall auf gefühlte 30 Sekunden

Nachtrag:
docker inspect e29c23cbb3a9
[
    {
        "Id": "e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660",
        "Created": "2025-01-15T12:06:25.570651797Z",
        "Path": "fhempy",
        "Args": [],
        "State": {
            "Status": "restarting",
            "Running": true,
            "Paused": false,
            "Restarting": true,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 139,
            "Error": "",
            "StartedAt": "2025-01-30T13:47:55.537689904Z",
            "FinishedAt": "2025-01-30T13:47:55.865399231Z",
            "Health": {
                "Status": "unhealthy",
                "FailingStreak": 0,
                "Log": []
            }
        },
        "Image": "sha256:148f704e44ac581274ca00c17af4b1ec946be23434483df7d16853d00439d74e",
        "ResolvConfPath": "/var/lib/docker/containers/e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660/hostname",
        "HostsPath": "/var/lib/docker/containers/e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660/hosts",
        "LogPath": "/var/lib/docker/containers/e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660/e29c23cbb3a9c85ebd49a364ad57f8facfc3a5e8a62a56bffeeaf47e31351660-json.log",
        "Name": "/FHEMpy-google_weather",
        "RestartCount": 19,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "frontproxy_fhem_net",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/0e86449152c36aaf8a4527c5cc55b055c3b1301ab075c22d26a116104d4f9f9d-init/diff:/var/lib/docker/overlay2/1248586c0e22fab9f80b754e9d89c7e8d8fd4c127ad363b3b1bad977d03b20b1/diff:/var/lib/docker/overlay2/135ac8d5f656f30391b3b0bc30d27ecd91cc5c3da20672aee24ff45b801b7a4e/diff:/var/lib/docker/overlay2/b8a265c28f244d715456c7a326669d66f56ec53c3ddefca537ab1b64b04a1b41/diff:/var/lib/docker/overlay2/1bd90e89445395861d79f0388fc1ca06513026556f059aae3db92ea1e895cde4/diff:/var/lib/docker/overlay2/ad2db6a50027262f630e81392d59d50df4a5e8caf1a5acb8505ac09bc0fc091e/diff:/var/lib/docker/overlay2/8a343e940cf380d6146bdedd39f87eb763690d0ada097ba8687924cc2b1f8f27/diff:/var/lib/docker/overlay2/cf05e00060c83157dce6e75b2f38429cd148b591fb1b4d439ecf7c19845dd93a/diff:/var/lib/docker/overlay2/bd13780d5112df356570cc335706a35682855dbd3eecc453d1d35e9505cc2c6f/diff:/var/lib/docker/overlay2/ef20e3df0b90e8c57675df3b880b16501ad59b138ae555beb166699b4f36d916/diff:/var/lib/docker/overlay2/671c71281fc7c969bb932415c0893008e3c0a94671fd0ef709e9249907c65deb/diff:/var/lib/docker/overlay2/958aa135cc4b901d647772e58b1819888bc14a4268bde4e08c6505509b77aa4b/diff:/var/lib/docker/overlay2/478fceed9afe62a1c5b61a6b2054da2779afa30ac6acad893e7278e7a805714d/diff:/var/lib/docker/overlay2/4ee2ea833150335d6e7446a9f8ce6ba1282b3eb62ef7196990045aa0aae3474d/diff:/var/lib/docker/overlay2/7fc45be23a67280856f5625e3991ae5c0cd495f86e45b18877dde0dff61397c1/diff:/var/lib/docker/overlay2/4132d3792ebdbcfec681cb883d467dc76a6badde07f3eed52ae1784205e3f841/diff:/var/lib/docker/overlay2/87d7cd64677c67830823cc5218dc592cc51cb3434491d8d51bb252db8ad77395/diff:/var/lib/docker/overlay2/5f1d654e50887066613fff9e68a095bcb03aa653563e22abf8088daa96a268f4/diff",
                "MergedDir": "/var/lib/docker/overlay2/0e86449152c36aaf8a4527c5cc55b055c3b1301ab075c22d26a116104d4f9f9d/merged",
                "UpperDir": "/var/lib/docker/overlay2/0e86449152c36aaf8a4527c5cc55b055c3b1301ab075c22d26a116104d4f9f9d/diff",
                "WorkDir": "/var/lib/docker/overlay2/0e86449152c36aaf8a4527c5cc55b055c3b1301ab075c22d26a116104d4f9f9d/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "fhempy-googleweather",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568",
                "PYTHON_VERSION=3.9.17",
                "PYTHON_PIP_VERSION=23.0.1",
                "PYTHON_SETUPTOOLS_VERSION=58.1.0",
                "PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/9af82b715db434abb94a0a6f3569f43e72157346/public/get-pip.py",
                "PYTHON_GET_PIP_SHA256=45a2bb8bf2bb5eff16fdd00faef6f29731831c7c59bd9fc2bf1f3bed511ff1fe",
                "PIP_NO_INDEX=1"
            ],
            "Cmd": [
                "fhempy"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "/health-check.sh"
                ],
                "Interval": 50000000000,
                "Timeout": 15000000000,
                "StartPeriod": 10000000000,
                "Retries": 3
            },
            "Image": "ghcr.io/fhem/fhempy-docker_google_weather:releases-1.4-beta",
            "Volumes": null,
            "WorkingDir": "/usr/src/apps",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "4af18a0a0ef98604ec4f034f1159170f02564591b4b756c469a1110955543a5c",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:148f704e44ac581274ca00c17af4b1ec946be23434483df7d16853d00439d74e",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "frontproxy",
                "com.docker.compose.project.config_files": "/home/sepp/projects/frontproxy/compose.yaml",
                "com.docker.compose.project.working_dir": "/home/sepp/projects/frontproxy",
                "com.docker.compose.replace": "50be552bb3c62403c1dbd2cb1aa3a5cdddf1314634044b7907257b983b13a695",
                "com.docker.compose.service": "fhempy-googleweather",
                "com.docker.compose.version": "2.32.3",
                "org.opencontainers.image.created": "2023-12-05T11:02:44.126Z",
                "org.opencontainers.image.description": "Docker Container with fhempy",
                "org.opencontainers.image.licenses": "GPL-3.0",
                "org.opencontainers.image.revision": "23cb2d2e9a403bd9668593cfd175e9a64d7f9135",
                "org.opencontainers.image.source": "https://github.com/fhem/fhempy-docker",
                "org.opencontainers.image.title": "fhempy-docker",
                "org.opencontainers.image.url": "https://github.com/fhem/fhempy-docker",
                "org.opencontainers.image.version": "releases-1.4-beta"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "",
            "SandboxKey": "",
            "Ports": {},
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "frontproxy_fhem_net": {
                    "IPAMConfig": {
                        "IPv4Address": "172.16.57.5"
                    },
                    "Links": null,
                    "Aliases": [
                        "FHEMpy-google_weather",
                        "fhempy-googleweather"
                    ],
                    "MacAddress": "",
                    "DriverOpts": null,
                    "NetworkID": "e92408b5fbecead9152beddc72e7f154ec9f2bad0ac20d6cbd9549397b9d1830",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "FHEMpy-google_weather",
                        "fhempy-googleweather",
                        "e29c23cbb3a9"
                    ]
                }
            }
        }
    }
]

Any ideas???

Danke

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