fhempy: Tuya Cloud

Begonnen von dominik, 30 Juli 2021, 21:36:48

Vorheriges Thema - Nächstes Thema

dobiwan

Hallo zusammen,

ich habe das Problem auch. Habe jetzt alles auf den neuesten Stand gebracht und bekomme folgende Fehlermeldung Siehe Bild. Der fhempy Server und das localbinding scheinen zu laufen. Zumindest habe ich einen grünen Punkt am Symbol. Beim Tuya Cloud setup kommt dann diese Meldung:
Failed to load module tuya_cloud: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 318, in handle_function
    module_object = await self.import_module(hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 526, in import_module
    functools.partial(importlib.import_module, pymodule)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 35, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/tuya_cloud/tuya_cloud.py", line 8, in <module>
    import fhempy.lib.tuya_cloud.tuya_cloud_setup as tcs
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/tuya_cloud/tuya_cloud_setup.py", line 5, in <module>
    import tuya_iot
  File "/opt/fhem/.local/lib/python3.7/site-packages/tuya_iot/__init__.py", line 2, in <module>
    from .device import TuyaDevice, TuyaDeviceListener, TuyaDeviceManager
  File "/opt/fhem/.local/lib/python3.7/site-packages/tuya_iot/device.py", line 7, in <module>
    from typing import Any, Literal, Optional
ImportError: cannot import name 'Literal' from 'typing' (/usr/lib/python3.7/typing.py)

Hat jemand eine Idee !?

maddhin

Nachdem ich nun eine Nacht über das Problem geschlafen habe, bin ich der Meinung, dass das ein fhempy-Problem ist. Mein Fhem und Bullseye sind aktuell, aber bei einem define fhempy_lokal ... wird nachwievor so eine alte Version installiert. Irgendwas kann da doch nicht stimmen, oder?

dominik

Zitat von: dobiwan am 12 September 2022, 08:26:33
Hallo zusammen,

ich habe das Problem auch. Habe jetzt alles auf den neuesten Stand gebracht und bekomme folgende Fehlermeldung Siehe Bild. Der fhempy Server und das localbinding scheinen zu laufen. Zumindest habe ich einen grünen Punkt am Symbol. Beim Tuya Cloud setup kommt dann diese Meldung:
Failed to load module tuya_cloud: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 318, in handle_function
    module_object = await self.import_module(hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 526, in import_module
    functools.partial(importlib.import_module, pymodule)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 35, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/tuya_cloud/tuya_cloud.py", line 8, in <module>
    import fhempy.lib.tuya_cloud.tuya_cloud_setup as tcs
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/tuya_cloud/tuya_cloud_setup.py", line 5, in <module>
    import tuya_iot
  File "/opt/fhem/.local/lib/python3.7/site-packages/tuya_iot/__init__.py", line 2, in <module>
    from .device import TuyaDevice, TuyaDeviceListener, TuyaDeviceManager
  File "/opt/fhem/.local/lib/python3.7/site-packages/tuya_iot/device.py", line 7, in <module>
    from typing import Any, Literal, Optional
ImportError: cannot import name 'Literal' from 'typing' (/usr/lib/python3.7/typing.py)

Hat jemand eine Idee !?

Tuya cloud benötigt Python 3.8 oder höher.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: maddhin am 12 September 2022, 09:10:26
Nachdem ich nun eine Nacht über das Problem geschlafen habe, bin ich der Meinung, dass das ein fhempy-Problem ist. Mein Fhem und Bullseye sind aktuell, aber bei einem define fhempy_lokal ... wird nachwievor so eine alte Version installiert. Irgendwas kann da doch nicht stimmen, oder?

Kann es sein, dass pip nicht aktuell ist? Kannst du sicherstellen, dass pip in der letzten Version im Docker Image ist? Vielleicht liegt es daran.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

maddhin

Zitat von: dominik am 12 September 2022, 22:42:29
Kann es sein, dass pip nicht aktuell ist?

pip-22.2.2 das sollte die aktuellste Version sein. Bullseye und Fhem habe ich beide komplett aktualisiert.

Ich weiß nicht, was nach dem define passiert, aber irgendwie sollte sichergestellt werden, dass eine aktuelle Version von fhempy installiert wird. Ggf. hat das was mit Docker zu tun, ich verstehe aber zu wenig davon, um hier fachlich wirklich helfen zu können:( Probiere aber gerne Lösungen aus, die vielleicht weiterhelfen:)


dominik

Ich hab mal eine Änderung gemacht, probier es bitte nochmals.

Wie ist das bei Docker, machst du da auch automatisch ein update add in FHEM, oder machst du das danach manuell via WEB?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

maddhin

bei docker geht eigentlich alles genauso wie bei einer normalen Installation. Nur eben ändert man am OS nichts (mehr), benötigte Pakete könnten aber installiert werden. Insofern geht update add in FHEM auch ganz normal.

Habe das Update gemacht, hat aber leider wieder 0.1.242 installiert:(

Hilft es vielleicht zu überlegen, wo die 0.1.242 herkommt? Irgendwie scheint das ja eine Altlast auf meinem System zu sein, die nicht aktualisiert wird/wurde. Ich kann mir nicht vorstellen, dass die 0.1.242 aktuell runtergeladen wird. Vielleicht liegt das an der Ordnerstruktur, die bei Docker ggf. anders ist.

dominik

Die 242 ist nirgends hinterlegt.

Wie meinst du mit Altlast? Ich dachte mit Docker wird immer alles "frisch" gemacht und es kann daher gar keine Altlasten geben, oder? fhempy darf natürlich nicht vorher noch da sein, sonst wird das genommen. Das musst du zuerst löschen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Also wenn es eine Altlast ist, dann kannst du am einfachsten
ssh ...
sudo -u fhem bash
pip3 install --upgrade fhempy

Weil wenn die Altlast auf einem Volume mitgenommen wird, dann wird das Update auch mitgenommen. fhempy liegt unter /opt/fhem, falls das dein Volume ist.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

maddhin

mit Altlast meinte ich, dass irgendwo in FHEM was von fhempy rumliegt und nicht geupdatet wird.

Ich habe jetzt mal die fhempy im Ordner gelöscht und es kamen folgende Fehlermeldungen im fhem.log:

:
2022.09.13 21:48:56.823 3: BindingsIo v1.0.0
2022.09.13 21:48:58.005 3: fhempyServer v1.0.0
2022.09.13 21:48:59.085 2: fhempyserver_15733: FHEM/bindings/python/bin/fhempy: not executable
2022.09.13 21:48:59.277 2: fhempyserver_15733: FHEM/bindings/python/bin/fhempy: not executable
2022.09.13 21:49:03.064 3: Opening fhempy_local device ws:127.0.0.1:15733
2022.09.13 21:49:03.119 1: fhempy_local: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Connection refused (111)
2022.09.13 21:49:03.120 1: BindingsIo (fhempy_local): ERROR during connection setup: 127.0.0.1: Connection refused (111)


Nach einem update stand da, dass bindings aktualisiert wurde und dass fhempy aktualisiert wird.

Aber irgendwie tat sich da nichts.

Ich habe dann fhempy direkt beim Start des Containers installieren lassen (-e pip_pkg "fhempy") und das hat dann fhempy (wieder) installiert. Aber kurioserweise wieder die 0.1.242... D.h. die v0.1.242 muss dann ja eigentlich runtergeladen worden sein, oder? Aber wieso wird dann eine alte Version runtergeladen? Habe ich hier irgendwie eine alte Referenz/deb zu fhempy?

fhem@supergut

#670
Moin,

ist https://pypi.org/project/fhempy/ down? Egal welches Modul man anklickt. es kommt immer ein 404.

https://pypi.org/project/fhempy/FHEM/bindings/python/fhempy/lib/tuya_cloud/README.md

Kann mal bitte jemand anders schauen? Danke.

Bis denne

Edit: Seit heute morgen habe ich massenweise Fehler im Log:

2022-09-14 09:03:39,013 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message: b'{"defargs":null,"NAME":"BlinkSchalter","argsh":{},"id":"25604374","FHEMPYTYPE":null,"PYTHONTYPE":null,"defargsh":null,"msgtype":"event","function":"event","args":["on"]}'
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 144, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 150, in _onMessage
    logger.debug(">>> WS: " + msg)
TypeError: can only concatenate str (not "bytes") to str
2022-09-14 09:03:39,031 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message: b'{"msgtype":"event","args":["state: Next: 09:03:49"],"function":"event","FHEMPYTYPE":null,"id":"9368728","defargs":null,"argsh":{},"NAME":"Blink1Start","PYTHONTYPE":null,"defargsh":null}'
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 144, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 150, in _onMessage
    logger.debug(">>> WS: " + msg)
TypeError: can only concatenate str (not "bytes") to str
2022-09-14 09:03:39,042 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message: b'{"msgtype":"event","function":"event","args":["on"],"FHEMPYTYPE":null,"id":"86599642","argsh":{},"NAME":"Blink2Schalter","defargs":null,"defargsh":null,"PYTHONTYPE":null}'
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 144, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 150, in _onMessage
    logger.debug(">>> WS: " + msg)
TypeError: can only concatenate str (not "bytes") to str
2022-09-14 09:03:39,057 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message: b'{"msgtype":"event","args":["state: Next: 09:03:43"],"function":"event","FHEMPYTYPE":null,"id":"25536032","defargs":null,"NAME":"Blink2Start","argsh":{},"PYTHONTYPE":null,"defargsh":null}'
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 144, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 150, in _onMessage
    logger.debug(">>> WS: " + msg)
TypeError: can only concatenate str (not "bytes") to str

maddhin

Den gleichen Fehler habe ich auch. Ggf ist der durch das Neuinstallieren behoben worden, muss aber heute Abend gucken.

fhem@supergut

was läuft da falsch?

root@fhem-z2w:/opt.tmpfs/fhem# sudo -u fhem bash 
fhem@fhem-z2w:~$ pwd
/opt.tmpfs/fhem
fhem@fhem-z2w:~$ /usr/bin/python3 -m pip install fhempy>=0.1.12 --upgrade       
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fhempy/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fhempy/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fhempy/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/fhempy/

dominik

Das klingt nach einem Netzwerkproblem oder pypi Problem.

Könnt ihr mal ein anderes Package installieren probieren?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: maddhin am 14 September 2022, 00:38:55
mit Altlast meinte ich, dass irgendwo in FHEM was von fhempy rumliegt und nicht geupdatet wird.

Ich habe jetzt mal die fhempy im Ordner gelöscht und es kamen folgende Fehlermeldungen im fhem.log:

:
2022.09.13 21:48:56.823 3: BindingsIo v1.0.0
2022.09.13 21:48:58.005 3: fhempyServer v1.0.0
2022.09.13 21:48:59.085 2: fhempyserver_15733: FHEM/bindings/python/bin/fhempy: not executable
2022.09.13 21:48:59.277 2: fhempyserver_15733: FHEM/bindings/python/bin/fhempy: not executable
2022.09.13 21:49:03.064 3: Opening fhempy_local device ws:127.0.0.1:15733
2022.09.13 21:49:03.119 1: fhempy_local: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Connection refused (111)
2022.09.13 21:49:03.120 1: BindingsIo (fhempy_local): ERROR during connection setup: 127.0.0.1: Connection refused (111)


Nach einem update stand da, dass bindings aktualisiert wurde und dass fhempy aktualisiert wird.

Aber irgendwie tat sich da nichts.

Ich habe dann fhempy direkt beim Start des Containers installieren lassen (-e pip_pkg "fhempy") und das hat dann fhempy (wieder) installiert. Aber kurioserweise wieder die 0.1.242... D.h. die v0.1.242 muss dann ja eigentlich runtergeladen worden sein, oder? Aber wieso wird dann eine alte Version runtergeladen? Habe ich hier irgendwie eine alte Referenz/deb zu fhempy?

Lösch mal /opt/fhem/.local/lib/python3.9/site-packages/fhempy* und starte dann neu.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik