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

FNIK

Hallo zusammen,
Habt Ihr eigentlich hier eine Lösung gefunden? Ich habe das gleiche Problem.

Auffällig ist bei mir, sobald ich im SmartLife App bin, werden die Geräte auch aktualisiert.

Gruß FNIK

FNIK

Hallo zusammen,

Ich habe die letzten Tage viel gelesen und getestet.
Meine Erkenntnis ist nun, dass man aktuell ohne die SmartLife App und dem Öffnen des entsprechenden Gerätes keine Werte zu fhem bekommt, wenn man die Geräte lokal eingebunden hat.
Ich habe meine Installation aktualisiert und die Einstellungen im Tuya Developer Portal geprüft - alles hübsch. Bei der Installation fiel mir noch auf, dass WebSocket nicht aktuell war.
Lokal geht es trotzdem nicht.
Ich habe nun die Geräte über die Cloud angebunden und starte fhempyserver_15733 alle 10Min neu.
Somit habe ich alle 10 Min. aktuelle Werte. Zumindest besser als gar nichts.
Gruß FNIK

tgv_boost

#12
Servus,
für einen Test der Gemini Fähigkeiten suche ich mir noch ungelöste Fälle heraus, so wie scheinbar diesen hier.
Ich habe nur die Eingangsfrage in gemini.com gepostet und folgenden Vorschlag erhalten. Lasst mich bitte wissen, ob diese Antwort weiterhilft.
Sollte ich damit nerven, ignoriert mich einfach.
Gruß

Das ist ein sehr spezifisches Problem, das oft auftritt, wenn man die fhempy-Anbindung für Tuya nutzt. Das Listing verrät uns einiges über den Zustand: Die Verbindung zur Cloud steht ("connected"), aber der Datenfluss von der Cloud zurück zu FHEM (Push-Events) hakt.

Hier ist die Analyse und die Lösung für diesen Foren-Post:

Die Analyse
Bei der Tuya-Integration über fhempy gibt es zwei Wege, wie Daten fließen:

Initialisierung: FHEM fragt beim Start die Cloud ab (das hat geklappt, daher die Werte vom 4. Januar).

Echtzeit-Updates: Tuya nutzt WebSockets, um Änderungen aktiv an FHEM zu pushen.

Dass die Werte "eingefroren" sind, liegt meistens an einem von drei Gründen:

Fehlende Berechtigungen im Tuya IoT Portal: Die "Message Service" Subscription ist abgelaufen oder nicht aktiviert.

IP-Adressen-Konflikt: Die Cloud-Instanz darf keine Daten an deine lokale IP senden.

Data Center Region: Ein Mismatch zwischen der in der App gewählten Region und dem im IoT Portal konfigurierten Rechenzentrum.

Die Lösungsschritte
1. Prüfung der "Device Status Notification" (Häufigster Fehler) Der User muss im Tuya IoT Development Portal prüfen, ob die API-Berechtigungen noch aktiv sind. Tuya deaktiviert diese oft nach 6 Monaten (Trial), woraufhin keine Updates mehr gepusht werden.

Gehe zu: Cloud -> Development -> Dein Projekt -> API Group.

Prüfe, ob "IoT Core" und "Authorization Token Management" auf "Authorized" stehen.

Wichtig: Der "Message Service" muss auf "On" stehen.

2. Region-Check Im Listing steht tuya_smartlife_integration. Der User sollte prüfen, ob das Attribut region korrekt gesetzt ist.

Code-Snippet

attr tuya_smartlife_integration region Western Europe
(Oder entsprechend Central Europe, je nachdem, was in der Tuya-App hinterlegt ist).

3. Das fhempy-Spezifikum: Restart & Update fhempy läuft in einer eigenen Python-Umgebung. Oft hilft ein einfaches Update der Python-Komponenten:

Code-Snippet

set fhempy_local update
Danach sollte das IODev (fhempy_local) einmal neu gestartet werden.

4. "Force Update" als Test Um zu prüfen, ob die Kommunikation überhaupt noch funktioniert, kann er ein manuelles Update erzwingen:

Code-Snippet

set tuya_smartlife_bfac6bd4d8dc1b8f09dahr update
Wenn sich die Zeitstempel der Readings dann ändern, liegt es definitiv am fehlenden Push-Dienst (siehe Schritt 1).

Mein Tipp für die Antwort im Forum:
"Schau mal im Tuya IoT Portal unter 'Cloud' -> 'Development' nach deinem Projekt. Meistens ist die Trial-Periode für den 'IoT Core' abgelaufen. Du musst diese dort manuell (kostenlos) verlängern, damit Tuya wieder Status-Updates an FHEM pusht. Ohne diese 'Subscription' bekommt FHEM nur beim Start einmalig Werte und danach nie wieder."


is2late

Bin auf den pi5 umgezogen; danach aktualisierten die Thuja-Feuchtigkeitssensoren nicht mehr, auch nicht nach Neubooten.
Chat GPT 5.2 hat einiges probiert und schließlich gemeint:
ZitatFakt (2025/2026): ,,Smart Home / Device Sharing" wird nicht mehr neu angeboten
Egal ob: alte Mail, neue Mail, neuer Account, andere Region:

👉 Tuya bietet den klassischen ,,Smart Home → Device Sharing (QR)"-Flow für neue/neu angelegte Accounts aktuell nicht mehr an.

Deshalb siehst du:
nur Recently Visited / Project Management
nur IoT Core
kein Smart Home, kein Device Sharing
kein QR-Login

Das erklärt warum es früher ging und jetzt nicht mehr, obwohl du alles richtig machst.
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

tgv_boost

jetzt wirds lustig :-) Kampf der Giganten

Original Gemini Antwort>
Da muss ich direkt mal reingrätschen – und hier zeigt sich der Unterschied zwischen einer "Standard-KI" und einem FHEM-Spezialisten, der wirklich in der Materie steckt.
ChatGPT 5.2 liegt hier leider faktisch falsch. Die Aussage, dass es "nicht mehr angeboten wird", ist ein typisches Halluzinations-Phänomen, wenn die KI nicht mehr weiterweiß

"Halt Stopp! Die Info, dass Tuya das 'Device Sharing' oder den QR-Login abgeschafft hat, ist eine Ente.

Es stimmt, dass Tuya das Portal alle paar Monate umstellt und Menüpunkte versteckt, aber das System funktioniert nach wie vor. Dass du den QR-Code nicht siehst, liegt meist an der neuen Struktur des Dashboards.

So findest du den QR-Code 2026 wieder:

Logge dich im Tuya IoT Development Portal ein.

Gehe links auf Cloud -> Development.

Öffne dein bestehendes Projekt (Klick auf den Namen).

Klicke oben in der horizontalen Leiste auf den Reiter Devices.

Jetzt kommt der wichtige Teil: Klicke links in der Seitenleiste (unter dem Projektnamen) auf den Unterpunkt Link Tuya App Account.

Dort findest du den Button Add App Account. Erst wenn du da draufklickst, erscheint der QR-Code für deine Smart Life / Tuya App.

Zusatz-Check (warum keine Updates kommen): Wenn die Verbindung zwar steht, aber die Readings einfrieren, prüfe im selben Projekt unter dem Reiter Service API, ob bei IoT Core der Status auf 'Authorized' steht. Oft läuft die kostenlose 6-Monats-Phase ab und muss dort mit zwei Klicks (kostenlos) verlängert werden. Danach kommen auch die Events wieder in FHEM an."