fhempy: ESPHome

Begonnen von dominik, 11 November 2020, 22:42:24

Vorheriges Thema - Nächstes Thema

ergerd

ZitatBeim manuellen Installieren von cryptography bekomme ich die gleiche Fehlermeldung ...

Desgleichen bei mir

Grüße
Rainer
FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

dominik

Ich hatte dazu schon mal einen Bug Report eröffnet, siehe hier:
https://github.com/pyca/cryptography/issues/7636

Da gibt's auch ein paar Lösungsideen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

ergerd

ZitatIch hatte dazu schon mal einen Bug Report eröffnet, siehe hier:

Sorry, das ist mir zu hoch. Ich muss ESPHome nicht unbedingt in fhem haben, bin daher raus.

Trotzdem Danke!

Grüße
Raner
FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

dominik

Funktioniert denn esphome bei dir überhaupt? Würde mich wundern, weil die Installation mit fhempy die gleiche ist, wie die normale.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

fhemcgn

Ich habe da so einen Verdacht!

Zitat von: dominik am 20 Februar 2023, 23:39:29
Funktioniert denn esphome bei dir überhaupt? Würde mich wundern, weil die Installation mit fhempy die gleiche ist, wie die normale.

Angeschoben durch diese Frage habe ich heute versucht auf einem neu aufgesetzten System esphome von der Kommandozeile aus zu installieren.
Das hat "zwar" geklappt, aber nicht auf dem System auf dem ich gestern mit fhempy experimentiert habe. Wie gesagt, jeweils ein neues System (bullseye ohne fhem) und nur esphome über die Kommandozeile installiert.

Fazit: auf einem 32  Bit System (Banana M2 Zero) scheitere ich eben wieder an cryptography.
Auf einem 64 Bit System (Raspi 3B+) komme ich mit der Installation sauber durch.

Daher mein Verdacht: einige der notwendigen Pakete werden für 32 Bit Systeme nicht mehr gepflegt. Damit bin ich letzten Sommer schon beim Aufsetzen einer Zigbee2MQTT Bridge gescheitert die auch erst auf dem 3B+ zu installieren war.

Nächste Schritte bei mir: auf dem 3B+ wieder eine fhem Instanz installieren mit der ich dann auch über esphome Sensoren integrieren kann.

Stefan

pula

#35
Hallo,

bei mir läuft fhem auf einer vm (proxmox) unter debian.
bis jetzt unter debian 11, hab heute ein upgrade auf debian 12 gemacht.
ich nutze seit recht langer zeit esphome mit fhempy und habe schon etliche devices am laufen. mich begeistert das ziemlich, weil es mir das doch ein wenig mühsame selberschreiben der sketches erspart.
jedenfalls hab ich jetzt debian auf 12 gehoben und jetzt läuft dieses esphome-dashboard auf port 6052 nicht mehr.
es läuft zwar fhempy:
pula@fhem:~$ ps aux | grep fhempy
pula        3588  0.2  0.1  20204 12472 pts/0    S    20:26   0:00 python3 FHEM/bindings/python/bin/fhempy --local
aber im fhem-log sehe ich folgendes:
2023.09.26 20:23:10 1: fhempy_local: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Connection refused (111)
2023.09.26 20:23:10 1: BindingsIo (fhempy_local): ERROR during connection setup: 127.0.0.1: Connection refused (111)
und laut netstat hört tatsächlich nichts auf port 15733.
soweit ich das jetzt im kopf habe, laufen python-sachen ab debian 12 in virtenvs. im fhempy log sehe ich jetzt folgendes:
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/bin/fhempy", line 139, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'fhempy'
2023-09-26 20:33:04,768 - INFO     - __main__: Attempting install of fhempy>=0.1.462
2023-09-26 20:33:05,272 - ERROR    - __main__: Unable to install package fhempy>=0.1.462: error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
   
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
   
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
   
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
2023-09-26 20:33:05,273 - ERROR    - __main__: Failed to install fhempy, exit now...
ich bin jetzt absolut kein experte für diese virtuellen environments. leider.
weiss jemand, wie man fhempy mit virtenv wieder zum laufen bekommt?
wenn ich bei pip den parameter --break-system-packages verwende, tuts auch nicht, weil:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
fhempy 0.1.665 requires zeroconf==0.64.1, but you have zeroconf 0.80.0 which is incompatible.
aber fhempy will genau die version 0.64.1 von zeroconf. zum haare raufen...
werde vorerst wieder auf debian 11 zurücksteigen (hab zum glück einen snapshot gemacht).
wenn das schon jemand gemacht hat und rat weiss, wäre ich dankbar...
mein hauptgrund für das upgrade ist, daß in debian 11 irgendwie der bluetooth-stack gebrochen ist anscheinend und ich einen usb-dongle für die anwesenheitserkennung nutze. das funktioniert unter debian 12 wieder. aber fhempy/esphome nicht. notfalls kann man das natürlich verschmerzen (indem man die anwesenheitserkennung zb auf eine andere vm auslagert). aber ich würde trotzdem gern mein fhem-system möglichst aktuell halten....
Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

pula

Hat noch niemand fhem/fhempy unter debian 12 laufen? :-(
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Elektronikus

Ich verwende einen Raspi4 mit 64 Bit RaspiOS und habe das gleich Problem: 
FileNotFoundError: [Errno 2] No such file or directory: 'esphome_config/'

Aber bei mir kann ich cryptography installieren
[codefhem@raspi4b:/home/pi$ pip3 install --break-system-packages cryptography
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (38.0.4)
]

Ich habe auch die fehlenden Pfade mal angelegt und auch die Recht auf fhem:dialout gesetzt

Python ist bei mit 3.11. und ich bekomme in FHEM auch keine Fehlermeldung

So langsam weiss ich nicht mehr weiter


pula

Die Ursache des Problems ist mir klar. Seit debian 12 ist es für python nötig, jeweils ein eigenes environment anzulegen, das ist nicht mehr systemweit.
Aber wie das zu lösen ist, konnte ich noch nicht rausfinden, bin wieder auf debian 11 zurück gestiegen...
Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Elektronikus

Aber man kann das Systemweite doch mit --break-system-packages erweitern.
Das scheint dann auch zu funktionieren.
Mir ist allerdings nicht klar, wie man bei einem Aufruf eines python programms aus der Shell
#
!/usr/bin/python3
# -*- coding:utf-8 -*-
da dann ein eigenes environment mit einbindet?
Oder könnte man das irgendwie an den user fhem binden?


rob

Hallo.

Habt Ihr diese Posts/ Issues schon gesehen?
https://forum.fhem.de/index.php?topic=127441.msg1292459#msg1292459
https://github.com/fhempy/fhempy/issues/218
https://github.com/fhempy/fhempy/issues/248
https://github.com/fhempy/fhempy#attention-122023

Hab selber keine Ahnung von, aber vielleicht hilft Euch da trotzdem was weiter. Oder im Zweifel ein neues Issue im Repository aufmachen, weil der Entwickler vielleicht eher dort schaut, als hier im Forum.

Viel Erfolg :)
rob

pula

Zitat von: Elektronikus am 04 Januar 2024, 10:04:08Aber man kann das Systemweite doch mit --break-system-packages erweitern.
Das scheint dann auch zu funktionieren.
Mir ist allerdings nicht klar, wie man bei einem Aufruf eines python programms aus der Shell
#
!/usr/bin/python3
# -*- coding:utf-8 -*-
da dann ein eigenes environment mit einbindet?
Oder könnte man das irgendwie an den user fhem binden?
Normalerweise funktioniert das so, daß man ein environment erstellt. Das legt dann eine Verzeichnis-Struktur an unterhalb des home-Verzeichnisses des jeweiligen users.
Wenn man dann ein Skript in diesem env aufrufen möchte, ruft man nicht mehr /usr/bin/python3 auf, sondern ein python, das innerhalb dieser Verzeichnis-Struktur liegt.
Aber mit fhem hab ich das bisher noch nicht gemacht. Ein python-skript aufzurufen, sollte damit eigentlich kein Problem sein.
Aber fhempy innerhalb eines env laufen zu lassen - dafür fehlt mir das Wissen um fhempy.
Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram