(GELÖST) fhempy: Fhempy läuft nicht nach Upgrade auf Bullseye

Begonnen von is2late, 24 November 2024, 13:02:41

Vorheriges Thema - Nächstes Thema

is2late

Hallo,

hab mein aktuelles Buster auf Bullseye upgraded. Funktionierte fehlerlos.
Fhempy lief vorher einwandfrei.
Jetzt: Fhempy_local ist zwar grün, gibt aber die Fehlermeldung
127.0.0.1: Verbindungsaufbau abgelehnt (111). State ist endlos
Installing fhempy.
Fhempy neu installiert, keine Änderung.
Im Fhempy-Log steht
Activating virtual environment...OK
2024-11-24 12:52:43,250 - ERROR    - __main__: Failed to load fhempy
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/bin/start_fhempy.py", line 141, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'fhempy'
2024-11-24 12:52:43,251 - INFO     - __main__: Attempting install of fhempy>=0.1.462
2024-11-24 12:52:43,345 - ERROR    - __main__: Unable to install package fhempy>=0.1.462: /opt/fhem/.fhempy/fhempy_venv/bin/python3: No module named pip
2024-11-24 12:52:43,346 - ERROR    - __main__: Failed to install fhempy, exit now...
Das Fhem-Log zeigt:
2024.11.24 11:48:08 1: fhempy_local: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2024.11.24 11:48:08 1: BindingsIo (fhempy_local): ERROR during connection setup: 127.0.0.1: Verbindungsaufbau abgelehnt (111)

Hier die Internals:
Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:127.0.0.1:15733
   FUUID      6742fdac-f33f-a79d-e871-268dd8b6d10ef90f
   IP         127.0.0.1
   NAME       fhempy_local
   NEXT_OPEN  1732445298.04213
   NR         761
   NTFY_ORDER 50-fhempy_local
   PARTIAL   
   PORT       15733
   STATE      Installing fhempy (15min)...
   TYPE       BindingsIo
   binary     1
   devioLoglevel 0
   eventCount 7000
   installing 0
   localBinding 1
   nextOpenDelay 10
   prev_error 127.0.0.1: Verbindungsaufbau abgelehnt (111)
   READINGS:
     2024-11-24 15:43:32   state           Installing fhempy (15min)...
   args:
     fhempy_local
     BindingsIo
     fhempy
   messages:
     0:
Attributes:
   devStateIcon {      my $attr_ver = "1.1.0";;      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      my $ver = ReadingsVal($name, "version", "-");;      my $ver_available = ReadingsVal($name, "version_available", $ver);;      my $update_icon = "";;      my $refresh_img = "refresh";;      my $refresh_txt = "Update fhempy";;      if ($ver_available ne $ver) {        $refresh_img = "refresh\@orange";;        $refresh_txt = "Version ".$ver_available." available for update";;      }      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      $update_icon = "<a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start ".$ver_available." update\">".FW_makeImage($refresh_img, $refresh_txt)."</a>";;      my $restart_icon = "<a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart fhempy\">".FW_makeImage("control_reboot")."</a>";;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a>".$update_icon.$restart_icon."</div>"    }
   group      fhempy
   icon       file_json-ld2
   room       fhempy

Diverses Googlen hat nichts Konkretes gebracht (Nachfolgendes führt anscheinend auch zu Fehlermeldungen: https://forum.fhem.de/index.php?topic=138493.0) und ehe ich herumprobiere, will ich lieber fragen. Scheint ja so, als würde "pip" im Verzeichnis fehlen.
Konnte aber noch nicht einmal das Verzeichnis finden (/.fhempy??)

Hat jemand eine Idee?

Vielen Dank,
Ingo

Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

passibe

Was gibt denn:ls -la /opt/fhem
Ist pip auf deinem System installiert? Normalerweise sollte das dann auch einfach im venv verfügbar sein.
Ggfs. mal die laut GitHub nötigen dependencies installieren:
sudo apt install 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
Aber selbst wenn der .fhempy-Ordner und das zugehörige venv nicht existieren, sollte das Skript FHEM/bindings/python/bin/fhempy das eigentlich beides erstellen.

Wenn du das obige apt-Kommando ausgeführt hast und sofern der .fhempy-Ordner existiert, würde ich mal FHEM stoppen, den .fhempy-Ordner löschen und FHEM neustarten. Dann sollte eigentlich alles von alleine wieder installiert werden.

is2late

Vielen Dank, Passibe!
Bin unterwegs, probiere es umgehend nach Rückkehr.
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

#4
Hallo,

habs ausprobiert. Die Meldung lautet wie folgt:

pi@R4:~ $ ls -la /opt/fhem
insgesamt 1708
drwxr-xr-x 20 fhem dialout   4096 15. Dez 2023  .
drwxr-xr-x  7 root root      4096 17. Dez 2022  ..
drwx------  2 fhem dialout   4096  3. Nov 2021  .alexa
-rw-rw-rw-  1 fhem dialout    311  8. Apr 2020  alexa-fhem.cfg
drwxr-xr-x 12 fhem dialout   4096 24. Nov 11:15 backup
drwxr-xr-x  3 fhem dialout   4096  7. Mär 2023  .cache
drwxr-xr-x  3 fhem dialout   4096 12. Feb 2021  cache
-rw-rw-rw-  1 fhem dialout 434374 16. Nov 10:57 CHANGED
-rw-rw-rw-  1 fhem dialout  46886 30. Aug 2023  configDB.pm
drwxrwxrwx 46 fhem dialout   4096  7. Apr 2020  contrib
drwxrwxrwx  3 fhem dialout   4096  7. Apr 2020  demolog
drwxrwxrwx  4 fhem dialout   4096  7. Apr 2020  docs
-rw-rw-rw-  1 fhem dialout   5996  7. Mai 2020  fb_phonebook.xml
drwxrwxrwx  7 fhem dialout  24576  3. Mär 2024  FHEM
-rw-rw-rw-  1 fhem dialout 314131 28. Nov 11:35 fhem.cfg
-rw-rw-rw-  1 fhem dialout  21936 19. Jun 2023  fhem.cfg.demo
-rwxrwxrwx  1 fhem dialout 174410 16. Nov 10:57 fhem.pl
drwxr-xr-x  3 fhem dialout   4096 15. Dez 2023  .fhempy
-rw-r--r--  1 fhem dialout  18092 11. Sep 2021  GPL_V2.txt
drwxr-xr-x  3 fhem dialout   4096 11. Sep 2021  lib
drwx------  4 fhem dialout   4096  7. Mär 2023  .local
drwxrwxrwx  2 fhem dialout  20480 30. Nov 08:46 log
-rw-rw-rw-  1 fhem dialout  47157 11. Apr 2024  MAINTAINER.txt
drwxr-xr-x  3 root root      4096  5. Jul 2023  opt
-rw-rw-rw-  1 fhem dialout    935 26. Jan 2020  README_DEMO.txt
drwxrwxrwx  5 fhem dialout   4096 26. Okt 2021  restoreDir
drwxrwxrwx  2 fhem dialout 540672 30. Nov 14:21 SonosSpeak
drwx------  2 fhem dialout   4096  3. Nov 2021  .ssh
drwxrwxrwx  2 fhem dialout   4096  8. Apr 2020  unused
drwxrwxrwx 11 fhem dialout   4096  3. Okt 2021  www

Die Dependencies habe ich zu installieren versucht - die gab es jedoch alle schon.

Den Ordner .fhempy finde ich nicht und kann ihn daher auch nicht löschen. Hab die Suchroutine über Remote ergebnislos bemüht.
Auch auf
find: kommt: '.fhempy': Datei oder Verzeichnis nicht gefunden
Als nächstes habe ich Dominiks Tipp ausprobiert - erfolglos.

Die grüne LED leuchtet zwar, aber state/STATE ist weiterhin "Installing fhempy (15min)."

Die Readings des fhempyserver_15733 zeigen übrigens (keine Ahnung, ob das relevant sein kann):

fhempy running FHEM/bindings/python/bin/fhempy
python v3.9.2

Und hier die letzte Fehlermeldung aus dem fhempy-Log:
2024-11-30 17:04:29,253 - ERROR    - __main__: Failed to load fhempy
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/bin/start_fhempy.py", line 141, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'fhempy'
2024-11-30 17:04:29,254 - INFO     - __main__: Attempting install of fhempy>=0.1.462
2024-11-30 17:04:29,361 - ERROR    - __main__: Unable to install package fhempy>=0.1.462: /opt/fhem/.fhempy/fhempy_venv/bin/python3: No module named pip
2024-11-30 17:04:29,362 - ERROR    - __main__: Failed to install fhempy, exit now...

HILFE! Was kann ich noch versuchen?

LG Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

passibe

Na aber da ist der Ordner doch:
Zitat von: is2late am 30 November 2024, 16:33:32drwxr-xr-x  3 fhem dialout   4096 15. Dez 2023  .fhempy
Wie gesagt würde ich FHEM mal stoppen, den Ordner löschen und dann wieder FHEM starten. Dann einfach eine Weile warten und fhempy müsste sich automatisch installieren.

Dominiks Tipp ist nutzlos – das ist aus 2021 und aus einer Zeit in der man noch nicht mit venvs gearbeitet hat. Inzwischen läuft das anders und eine systemweite Installation (wenn sie denn überhaupt funktioniert) bringt nichts.

is2late

Wer lesen kann, ist klar im Vorteil 🤔 peinlich...

Kennst Du eine Möglichkeit, herauszubekommen, wo genau der Ordner liegt? Ich finde ihn einfach nicht....

LG
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

passibe

#7
Also du hast ja ls -la /opt/fhem gemacht. Das bedeutet einfach, dass du alle (auch solche, die mit einem . beginnen) Dateien im Ordner /opt/fhem auflistest. (Siehe auch hier)

Der .fhempy-Ordner ist also im Ordner /opt/fhem

Wenn du cd /opt/fhem/.fhempyeingibst, kommst du in den Ordner.

Ist es jetzt klarer?

Wenn du dir übrigens das Lesen "sparen" willst, kannst du in Zukunft auch einfach mit grep arbeiten.ls -la /opt/fhem | grep fhempy hätte dir direkt (d.h. ohne, dass noch alle anderen Ordner aufgelistet werden) gezeigt, dass es im Ordner /opt/fhem einen Unterordner .fhempy gibt. Wäre die Ausgabe leer geblieben hättest du gewusst, dass es einen solchen Ordner nicht gibt.

is2late

#8
Super Hilfe, Passibe, danke, habe alles für den nächsten Anwendungsfall notiert...

Löschen hat geklappt, jetzt versuche ich die Neuinstallation... und es hat funktioniert, FHEMPY LÄUFT WIEDER!

Ganz herzlichen Dank für Deine kompetente Hilfe, passibe!

LG
Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox