fhempy: tuya (lokal)

Begonnen von dominik, 26 April 2022, 19:12:25

Vorheriges Thema - Nächstes Thema

peterboeckmann

Ich bin wieder ein Stückchen weiter, ohne wirklich weiter zu sein.

Ich habe mir die Fehlermeldung mal genau angesehen...
File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.13/site-packages/tuya_sharing/customerapi.py", line 12, in <module>
    from cryptography.hazmat.primitives.ciphers.aead import AESGCM
...und die Zeile 12 in der Datei customerapi.py auskommentiert.

Danach wurden mir die setter angezeigt, ich habe einen QR-Code bekommen und diesen gescannt.
Nur dann leider:
login failed: {'code': 'E0020003', 'msg': 'Login failed, please scan and try again!', 'success': False, 'tid': 'd6b2f21b247411f09aa10ee60e006925', 't': 1745874468541}
Vermutlich liegt das jetzt an der fehlenden Ver- bzw. Entschlüsselung.

Oder muss ich in meinem SmartLife-Profil irgend etwas bestimmtes eingestellt haben?

Viele Grüße,
Peter

rallye

Hallo!

Ich habe mir eine IPS Poolwärmepumpe zugelegt und die kann "Tuya". Nun habe ich bereits einen Luftentfeuchter, den ich mühsam ins Laufen gebracht habe (nicht zuletzt Tuya war für mich ein Grund von FHEM Docker auf bare-metal umzusteigen). Nun habe ich für den Luftentfeuchter wie hier beschrieben ein Projekt angelegt, mir von dort API_KEY & API_SECRET geholt und mit dem device
defmod tuya_system fhempy tuya setup API_KEY API_SECRET Device-ID-des-Luftentfeuchters
attr tuya_system group tuya
attr tuya_system icon control_plus
attr tuya_system room HW & Gateways
diesen mitset tuya_systems scan_devices gefunden und mittels set tuya_systems create_device WDH-930EEW_Device-ID-des-Luftentfeuchters erfolgreich eingerichtet.

Heute habe ich die IPS Wärmepumpe in Smart Life definiert, bin wieder hier her in die Cloud, habe das Projekt geöffnet und unter "Devices" nun neben meinem Luftenfeuchter auch die Wärmepumpe gefunden. Wie den Luftentfeuchter im Status "Online". Wieder ein set tuya_systems scan_devices durchgeführt und siehe da: 2 Devices gefunden. In meiner Freude habe ich ein set tuya_systems create_device Inverter_Pool_Wärmepumpe_Device-ID-der-Wärmepumpe durchgeführt und - nichts :(
Kein zusätzliches Device und auch sonst nichts. Nur die Readings des tuya_system - Devices habe sich erweitert und sehen nun so aus:

defmod tuya_system fhempy tuya setup API_KEY API_SECRET Device-ID-des-Luftentfeuchters
attr tuya_system group tuya
attr tuya_system icon control_plus
attr tuya_system room HW & Gateways

setstate tuya_system 2 devices found localy
setstate tuya_system 2025-05-02 15:32:53 Device-ID-der-Wärmepumpe_icon https://images.tuyaeu.com/smart/icon/1537857926nlb8964flm_0.png
setstate tuya_system 2025-05-02 15:32:53 Device-ID-der-Wärmepumpe_id Device-ID-der-Wärmepumpe
setstate tuya_system 2025-05-02 15:33:13 Device-ID-der-Wärmepumpe_ip 192.168.57.158
setstate tuya_system 2025-05-02 15:32:53 Device-ID-der-Wärmepumpe_localkey local_key_der_Wärmepumpe
setstate tuya_system 2025-05-02 15:32:53 Device-ID-der-Wärmepumpe_name Inverter Pool Wärmepumpe
setstate tuya_system 2025-05-02 15:32:53 Device-ID-der-Wärmepumpe_productid productID_der_Wärmepumpe
setstate tuya_system 2025-05-02 15:33:13 Device-ID-der-Wärmepumpe_version 3.3
setstate tuya_system 2025-04-26 17:01:25 Device-ID-des-Luftentfeuchters_icon https://images.tuyaeu.com/smart/icon/ay1540889171034rOso7/6e43c268ce8e1a14e5ad10b8f399b835.png
setstate tuya_system 2025-04-26 17:01:25 Device-ID-des-Luftentfeuchters_id Device-ID-des-Luftentfeuchters
setstate tuya_system 2025-04-26 17:01:45 Device-ID-des-Luftentfeuchters_ip 192.168.57.167
setstate tuya_system 2025-04-26 17:01:25 Device-ID-des-Luftentfeuchters_localkey local_key_des_Luftentfeuchters
setstate tuya_system 2025-04-26 17:01:25 Device-ID-des-Luftentfeuchters_name WDH-930EEW
setstate tuya_system 2025-04-26 17:01:25 Device-ID-des-Luftentfeuchters_productid productID_des_Luftentfeuchters
setstate tuya_system 2025-04-26 17:01:45 Device-ID-des-Luftentfeuchters_version 3.3
setstate tuya_system 2025-05-02 15:40:10 state 2 devices found localy

Kann mir bitte jemand behilflich sein die Wärmepumpe doch im FHEM als Device zu finden/anzulegen? Kann es sein, dass die Sonderzeichen zur Verwirrung beitragen?

Danke!
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

satprofi

bekommst du nicht diese Fehlermeldung vom payload etc. beim scan?
bei mir geht alles nur mehr über smartlife integrator.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

rallye

Nein, ich bekomme gar keine Meldung.
Blöde Frage: Smart Life Integrator: was habe ich verschlafen?

So ganz nebenbei: mit einem manuellen define, bei welchem ich alle Parameter mühsam händisch eingegeben habe hat es funktioniert. Dennoch interessiert mich das mit dem Smart Life Integrator.

Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

satprofi

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

rallye

Danke! Ich hab mir das mal angesehen. Geht sehr einfach zu implementieren. Allerdings sind die verfügbaren Readings vergleichsweise sehr limitiert. Sowohl im Vergleich zur App, als auch zur "local"-Implementierung. Wenn ich hier mal meine Poolheizung vergleichen darf:

Tuya-local
setstate tuya_local_xxx off
setstate tuya_local_xxx 2025-05-02 16:15:09 active_time 1746188071
setstate tuya_local_xxx 2025-05-02 16:15:09 biz_type 18
setstate tuya_local_xxx 2025-05-02 16:15:09 category rs
setstate tuya_local_xxx 2025-05-02 16:15:09 create_time 1746115288
setstate tuya_local_xxx 2025-05-04 02:34:16 dp_102 15
setstate tuya_local_xxx 2025-05-03 18:03:21 dp_104 0
setstate tuya_local_xxx 2025-05-02 16:15:10 dp_105 warm
setstate tuya_local_xxx 2025-05-02 16:15:10 dp_107 18
setstate tuya_local_xxx 2025-05-02 16:15:10 dp_108 40
setstate tuya_local_xxx 2025-05-03 18:19:14 dp_115 0
setstate tuya_local_xxx 2025-05-02 16:15:10 dp_116 0
setstate tuya_local_xxx 2025-05-02 16:15:10 dp_117 0
setstate tuya_local_xxx 2025-05-02 16:15:09 icon smart/icon/1537857926nlb8964flm_0.png
setstate tuya_local_xxx 2025-05-02 16:15:09 id xxx
setstate tuya_local_xxx 2025-05-02 16:15:09 ip 89.144.211.xxx
setstate tuya_local_xxx 2025-05-02 16:15:09 lat xxx.21
setstate tuya_local_xxx 2025-05-02 16:15:09 local_key xxx
setstate tuya_local_xxx 2025-05-02 16:15:09 lon xxx.09
setstate tuya_local_xxx 2025-05-02 16:15:09 name Inverter Pool Wärmepumpe
setstate tuya_local_xxx 2025-05-02 16:15:09 online 1
setstate tuya_local_xxx 2025-05-02 16:15:09 owner_id xxx
setstate tuya_local_xxx 2025-05-02 16:15:09 product_id xxx
setstate tuya_local_xxx 2025-05-02 16:15:09 product_name Inverter Pool Heat Pump
setstate tuya_local_xxx 2025-05-03 18:18:30 state off
setstate tuya_local_xxx 2025-05-02 16:15:09 sub 0
setstate tuya_local_xxx 2025-05-02 16:15:10 switch on
setstate tuya_local_xxx 2025-05-03 18:25:48 temp_set 26.0
setstate tuya_local_xxx 2025-05-02 16:15:10 temp_unit_convert 1
setstate tuya_local_xxx 2025-05-02 16:15:09 time_zone +01:00
setstate tuya_local_xxx 2025-05-02 16:15:09 uid euxxx
setstate tuya_local_xxx 2025-05-02 16:15:09 update_time 1746188077
setstate tuya_local_xxx 2025-05-02 16:15:09 uuid xxx

und Tuya-smartlife
setstate tuya_smartlife_xxx off
setstate tuya_smartlife_xxx 2025-05-04 08:42:04 state off
setstate tuya_smartlife_xxx 2025-05-04 08:42:04 temp_set 26
setstate tuya_smartlife_xxx 2025-05-04 08:42:04 temp_unit_convert f
In der local-Integration bzw. Smart Life App gibt es doch um einiges mehr an Informationen wie beispielsweise
- heizen/kühlen/automatik
- full/silent mode
- Leistung
- timer
und ähnliches. Kann man das bei der smartlife-Integration "nachrüsten"

Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

haneub

#1086
Hallo,
versuche erst mal 3 einfache Steckdosen zum laufen zu bringen...
fhempy_local und fhempyserver_15733 scheinen zu laufen, tuya_system hat als Status ready, aber alle 3 Steckdosen stehen auf "Initializing"
Die Steckdosen wurden beim scan alle gefunden und haben dabei auch einen localkey bekommen. Die lokalen Ip-Adressen sind eingetragen
im fhempy log findet sich folgendes:
2025-05-11 17:39:25,686 - INFO    - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.753...
2025-05-11 17:39:25,687 - INFO    - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2025-05-11 17:39:25,765 - INFO    - websockets.server: server listening on 0.0.0.0:15733
2025-05-11 17:39:36,424 - INFO    - websockets.server: connection open
2025-05-11 17:39:36,426 - INFO    - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2025-05-11 17:39:39,534 - ERROR    - tuya_local_bffe2bce694aa70bbalxl5: Failed create_device
Traceback (most recent call last):
  File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.11/site-packages/fhempy/lib/tuya/tuya.py", line 586, in create_device
    await self._create_cloudmapping_dev()
  File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.11/site-packages/fhempy/lib/tuya/tuya.py", line 482, in _create_cloudmapping_dev
    await self.retrieve_tuya_specs()
  File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.11/site-packages/fhempy/lib/tuya/tuya.py", line 457, in retrieve_tuya_specs
    spec = await self.get_tuya_dev_specification()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/fhem/.fhempy/fhempy_venv/lib/python3.11/site-packages/fhempy/lib/tuya/tuya.py", line 411, in get_tuya_dev_specification
    return resp["result"]
          ~~~~^^^^^^^^^^
KeyError: 'result'

damit kann ich aber irgendwie nix anfangen...
Kann mir da jemand weiterhelfen ;-)
Danke, Harald

und hier die Devicedefinition (PW alle gekürzt)

defmod tuya_local_bf6e8f04e558 fhempy tuya 9y0qx bf6e8f04e558aa6a74wucs 192.168.1.31 3.3 scgr3q59 #b6a68f02dcae41fab963990
attr tuya_local_bf6e8f04e558aa6a74wucs alias Steckdose1
attr tuya_local_bf6e8f04e558aa6a74wucs group tuya
attr tuya_local_bf6e8f04e558aa6a74wucs localkey r2ESE$M
attr tuya_local_bf6e8f04e558aa6a74wucs room fhempy

setstate tuya_local_bf6e8f04e558aa6a74wucs Initializing...
setstate tuya_local_bf6e8f04e558aa6a74wucs 2025-05-11 17:19:18 online 0
setstate tuya_local_bf6e8f04e558aa6a74wucs 2025-05-11 18:00:29 state Initializing...

TheTrumpeter

Neustart von fhempy_local bzw. dem fhempy_server hast Du schon versucht?
Ev. auch Neustart von FHEM?

Kann mich erinnern, so ein Problem auch schonmal gehabt zu haben, Neustart der genannten Teile hat das Problem soweit ich weiß fast immer gelöst.

1x hat nur das Löschen des betroffenen Geräts aus der Tuya-App und neu-hinzufügen geholfen. Da wird dann ein neuer Local-Key generiert, d.h. neuerlicher Scan ist erforderlich.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

haneub

Zitat von: TheTrumpeter am 12 Mai 2025, 09:56:33Neustart von fhempy_local bzw. dem fhempy_server hast Du schon versucht?
Ev. auch Neustart von FHEM?

Kann mich erinnern, so ein Problem auch schonmal gehabt zu haben, Neustart der genannten Teile hat das Problem soweit ich weiß fast immer gelöst.


Ja Neustart ist immer das erste ;-).
Hab den kompletten Raspi neu gestartet und dann auch den fhempy server.
mit tinytuya auf commandozeile siehts gut aus, da kommen infos aus allen 3 Devices. Daher gehe ich davon aus, dass die Local-Keys passen.
Gruß, Harald


TheTrumpeter

Zitat von: haneub am 12 Mai 2025, 14:21:04Daher gehe ich davon aus, dass die Local-Keys passen.
Das habe ich nie bezweifelt.

Ich habe bei mir dennoch Auffälligkeiten festgestellt. Es gab/gibt wohl einen Bug bzgl. Sonderzeichen im Local-Key. Da bei jedem Neu-Hinzufügen der Geräte über die Tuya-App ein neuer Schlüssel generiert wird, hat man jedes Mal eine Chance darauf, dass die problematischen Sonderzeichen nicht mehr enthalten sind.

Wie gesagt, das bezieht sich auf eine Beobachtung bei mir, möglicherweise sind die aktuellen Versionen davon nicht mehr betroffen. (Bei mir lässt sich das Modul leider nicht aktualisieren, zumindest ändert sich die Versionsnummer nach den Updates nicht.)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Gisbert

Zitat von: TheTrumpeter am 13 Mai 2025, 06:52:52
Zitat von: haneub am 12 Mai 2025, 14:21:04Daher gehe ich davon aus, dass die Local-Keys passen.
Ich habe bei mir dennoch Auffälligkeiten festgestellt. Es gab/gibt wohl einen Bug bzgl. Sonderzeichen im Local-Key. ... (Bei mir lässt sich das Modul leider nicht aktualisieren, zumindest ändert sich die Versionsnummer nach den Updates nicht.)

Hallo TheTrumpeter,

ich sehe auch bei Umlauten und Sonderzeichen "krumme" Zeichen.
In der Übersicht auf der Raumseite sieht alles gut aus, geht man in das Device rein, dann gibt es Probleme mit den Umlauten und Sonderzeichen. Nach ein paar Sekunden bis ca. eine halbe Minute werden einige wieder richtig angezeigt.
Ich nehme an, dass es noch (überhaupt?) keine Lösung dafür gibt.

Es gab sehr lange keine Updates mehr - meine Version ist die 0.1.753.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome