Wie die Readings der Tuya-Geräte aktualiseren?

Begonnen von is2late, 05 Januar 2025, 12:16:22

Vorheriges Thema - Nächstes Thema

is2late

Hallo,

ich habe vier Tuya-Geräte installiert. Alle Readings werden korrekt ausgelesen, jedoch nie aktualisiert.
Hier mal das Listing eines Geräts:

define tuya_smartlife_bfac6bd4d8dc1b8f09dahr fhempy tuya_smartlife tuya_smartlife_integration bfac6bd4d8dc1b8f09dahr
attr tuya_smartlife_bfac6bd4d8dc1b8f09dahr alias TuyaTerrasseL
attr tuya_smartlife_bfac6bd4d8dc1b8f09dahr group tuya_smartlife
attr tuya_smartlife_bfac6bd4d8dc1b8f09dahr room fhempy
attr tuya_smartlife_bfac6bd4d8dc1b8f09dahr stateFormat humidity
#   DEF        tuya_smartlife tuya_smartlife_integration bfac6bd4d8dc1b8f09dahr
#   DEVICEID   bfac6bd4d8dc1b8f09dahr
#   FHEMPYTYPE tuya_smartlife
#   FUUID      674dd021-f33f-a79d-a7a3-2c1a01f39650ee12
#   IODev      fhempy_local
#   NAME       tuya_smartlife_bfac6bd4d8dc1b8f09dahr
#   NR         843
#   PYTHONTYPE tuya_smartlife
#   STATE      64
#   TYPE       fhempy
#   eventCount 9
#   READINGS:
#     2025-01-04 16:09:36   battery_percentage 70
#     2025-01-04 16:09:36   battery_state   high
#     2025-01-04 16:09:36   humidity        64
#     2025-01-04 16:05:58   state           ready
#     2025-01-04 16:09:36   temp_current    7
#     2025-01-04 16:09:36   temp_unit_convert c
#   args:
#     tuya_smartlife_bfac6bd4d8dc1b8f09dahr
#     fhempy
#     tuya_smartlife
#     tuya_smartlife_integration
#     bfac6bd4d8dc1b8f09dahr
#   argsh:
#   hmccu:
#
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 64
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 2025-01-04 16:09:36 battery_percentage 70
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 2025-01-04 16:09:36 battery_state high
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 2025-01-04 16:09:36 humidity 64
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 2025-01-04 16:05:58 state ready
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 2025-01-04 16:09:36 temp_current 7
setstate tuya_smartlife_bfac6bd4d8dc1b8f09dahr 2025-01-04 16:09:36 temp_unit_convert c

Das Gateway steht auf "ready" und die tuya_smartlife_integration auf "connected".

Hat jemand eine Idee, woran es hapert?

Vielen Dank,
Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

Niemand?

Vielleicht hilft das:
Die Aktualisierung wird angestoßen und funktioniert, wenn ich fhempy local restarte.
Das ist aber natürlich nicht befriedigend, wenn man für aktuelle Temperaturen und Feuchtigkeitswerte immer erst restarten muss.

Kennt jemand eine Lösung für das automatische Aktualisieren der Tuya-Geräte? In der App funktioniert die Aktualisierung.

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

is2late

Mal anders gefragt:
Kann man (und ggf wie?) Fhem zur Aktualisierung bestimmter oder gar aller Devices zwingen?

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

passibe

Vorab: Kenne mich mit Tuya nicht aus, weil ich das nicht benutze.

Aber:
Zitat von: is2late am 09 Januar 2025, 16:49:48Kann man (und ggf wie?) Fhem zur Aktualisierung bestimmter oder gar aller Devices zwingen?
FHEM dürfte ja, jedenfalls in diesem Fall, nur "passiv" sein. Also FHEM fragt nicht aktiv irgendwo nach "Gibt es neue Readings?", sondern bekommt das von dem jeweiligen fhempy-"Modul" geliefert. Im Zweifel dürfte also irgendwas im jeweiligen fhempy-Modul falsch sein bzw. die dortigen Logs dürften mehr Aufschluss darüber gewähren, was hier schiefläuft.

Daher wäre auch das fhempy-Repository auf GitHub vermutlich der bessere Anlaufpunkt, spontan habe ich da auch folgende Issues gefunden, die evtl. in deine Richtung gehen dürften:
https://github.com/fhempy/fhempy/issues/479
https://github.com/fhempy/fhempy/issues/464
https://github.com/fhempy/fhempy/issues/449

Also eventuell mal dort beim passenden Issue kommentieren oder selbst ein neues aufmachen.

Hoffe das hilft!

is2late

Herzlichen Dank, Passibe, probiere ich aus!
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

MathiasE

Hallo zusammen, ich kann das ebenso bestätigen, dass sich die Readings nicht updaten.
Ich verwende Raspberry Pi OS Bookworm. In FHEM nutze ich die tuya_smartlife_integration.
Steuern kann ich die Aktoren, bekomme aber keine Rückmeldung bzw Readings.
Im Log bin ich ein Stück weiter gekommen:
File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.11/site-packages/tuya_sharing/mq.py", line 143, in _start
    mqttc = mqtt.Client(mq_config.client_id)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.11/site-packages/paho/mqtt/client.py", line 772, in __init__
    raise ValueError(
ValueError: Unsupported callback API version: version 2.0 added a callback_api_version, see docs/migrations.rst for details 

Wenn ich in der Python Virtual Environment in FHEM nachschaue ist die Version paho_mqtt-2.1.0.dist-info installiert. Könnte das der Grund sein? Muss man auf eine kleinere Version switchen? Also <2.0? Wenn ja: Wie geht das?

passibe

Am besten wäre es mE immer noch, ein Issue auf GitHub aufzumachen. Das mit dieser callback_api_version ist ja schonmal ein guter Anfang.

Zum Downgraden: Bei breaking changes durch Updates einer dependency ist es nicht Sinn der Sache downzugraden. Sondern lieber den Code so anzupassen, dass er mit der neuen Version der dependency funktioniert. Hier liegt das wohl daran, dass in
mqttc = mqtt.Client(mq_config.client_id)
die Spezifizierung
mqtt_client.CallbackAPIVersion.VERSION1fehlt, siehe hier: https://stackoverflow.com/a/77985329

Paho MQTT 2.1 hat wohl versucht das zu mitigaten, was aber anscheinend nicht immer funktioniert (siehe auch die verlinkte stackoverflow-Antwort).

Nutzt diese Infos gerne für die Erstellung eines GitHub-Issues oder gleich eines pull requests.

andkeh

Hallo zusammen,

ich glaube dieser Thread passt auch zu mir. Ich habe fhempy in einem Tuya_smartlife Container auf der Qunap laufen (GitHub fhempy-docker).
Die Installation hat mit einiger Hilfe hier aus der Community funktioniert und es wurde auch einen Sensor (Ultraschall Füllstand) als device nach QR Code... angelegt - sah echt vielversprechend aus. Leider werden vom device die readings nicht aktualisiert. Eine Datenübermittlung (z.B. max Füllstand) an den Sensor funktioniert problemlos und fast ohne Verzögerung leider nur keine Aktualisierung der Readings. Ein Verbose 4 liefert beim device oder Gateway nicht viel Erkenntnis und vom Server kann ich nicht sagen, da komme ich nicht so einfach dran.
Wenn ich den fhempy servercontainer neu starte oder einen Neustart des Gateway services mache, bekomme ich einmal neue readings. Danacht ist Funkstille.
Ich habe auch dieses Thema auf der GitHub Seite platziert, habe da aber auch kein Feedback.

Habt Ihr hier noch Ideen, was ich versuchen kann um hier eine Aktualisierung hinzubekommen? (Nein, ein automatischen Neustart möchte ich nicht :-))

Bin für jede Hilfe dankbar - Bin nicht so der Programmierer, daher kann es sein, dass meine Ausdrucksweise nicht detalliert genug ist.

Gruß

andreas 

andkeh

Hallo,

Keiner einen Lösungsvorschlag?

Gibt es denn unter Fhempy überhaupt eine Schnittstellenkommunikation die im Moment noch richtig funktioniert?

Es gibt ja 3 Module die da zur Verfügung stehen.

Bin für jeden Hinweis dankbar.

Gruß

Andreas

satprofi

Einzig funktionierende Modul ist das smartLife, aber readings kommen keine.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram