fhempy: tuya (lokal)

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

Vorheriges Thema - Nächstes Thema

dominik

Zitat von: thburkhart am 18 Dezember 2022, 13:46:27
super!
damit "lohnt sich mein Wechsel auf tuya_lokal

oder machst du das auch in tuya_cloud?

Mit 0.1.534 kannst du nun tuya_spec_status ändern und dort bei cur_voltage den Wert scale auf 1 (aktuell 0 bei dir) setzen. tuya_cloud muss ich noch anpassen, dort geht es das noch nicht.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: fretti am 18 Dezember 2022, 14:54:20
Das scheint ein Tuya-Device (Smart-Plug) zu verursachen.
Sobald ich dieses lösche ist Ruhe im Log.
fhempy initialisiert das Device und setzt es ready, dann gehen die Meldungen los und das Device ist auch nicht bedienbar, lässt sich nicht on-off schalten im fhemweb

Kann es sein, dass dieses Device nicht verfügbar war/ist?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

fretti

Zitat von: dominik am 18 Dezember 2022, 22:11:33
Kann es sein, dass dieses Device nicht verfügbar war/ist?

In der SmartLife-App kann ich es schalten.
Ping geht auch.
promox, debian, rpi, homematic, mqtt, dect, z2m

dominik

Kannst du das Device nochmals anlegen und schauen ob du es über fhempy steuern kannst?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

fretti

Zitat von: dominik am 18 Dezember 2022, 22:21:55
Kannst du das Device nochmals anlegen und schauen ob du es über fhempy steuern kannst?
Hab ich gerade mit der 534 versucht.
Lässt sich anlegen, steuerbar ist es nicht.
in den readings von tuya_system steht bei dem Gerät auch keine IP sondern offline. Wenn ich das im DEF vom Plug dann händisch ändere, gehen die Meldungen im Log los.

Ich hab noch ein zweites tuya-Gerät eine WLAN-Lampe da funktioniert alles.
promox, debian, rpi, homematic, mqtt, dect, z2m

dominik

Hat dieses Gerät schon mal mit fhempy funktioniert? Kann es sein, dass es vielleicht ein Version 3.4 Device ist?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

fretti

Zitat von: dominik am 18 Dezember 2022, 22:30:57
Hat dieses Gerät schon mal mit fhempy funktioniert? Kann es sein, dass es vielleicht ein Version 3.4 Device ist?
Nein, ich bin erst später auf fhempy aufmerksam geworden. Habe bisher tuya-mqtt benutzt, da funktioniert er Plug.
Lt. Readings von tuya_system ist es Version3.3
promox, debian, rpi, homematic, mqtt, dect, z2m

thburkhart

hi Dominik,
ich konnte nun 18 von meinen 62 Devices übernehmen.
Zuletzt "49 devices found localy"

Es wurde dann nur noch "scan_devices" angeboten
nach Ausführung "error"

auch nach shutdown restart erscheint im Dropdown-Feld SET keines der Devices mehr.

Im Vorfeld hatte ich bemerkt, dass Devices mit Umlauten im "smartlife"-Namen nicht übernommen wurden. Hatte sie deshalb in SmartLife umbenannt.

das steht zuletzt im log:
2022.12.18 23:04:56 1: readingsUpdate(tuya_local_30180616dc4f22fc986a,dp_25,0) missed to call readingsBeginUpdate first.
2022.12.18 23:04:56 1: stacktrace:
2022.12.18 23:04:56 1:     main::readingsBulkUpdate            called by fhem.pl (5012)
2022.12.18 23:04:56 1:     main::readingsBulkUpdateIfChanged   called by (eval 5451) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2022.12.18 23:04:56 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2022.12.18 23:04:56 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (425)
2022.12.18 23:04:56 1:     main::BindingsIo_Write              called by fhem.pl (1064)
2022.12.18 23:04:56 1:     main::IOWrite                       called by ./FHEM/10_fhempy.pm (91)
2022.12.18 23:04:56 1:     main::fhempy_Set                    called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (1954)
2022.12.18 23:04:56 1:     main::DoSet                         called by fhem.pl (1996)
2022.12.18 23:04:56 1:     main::CommandSet                    called by fhem.pl (2904)
2022.12.18 23:04:56 1:     main::getAllSets                    called by ./FHEM/01_FHEMWEB.pm (3326)
2022.12.18 23:04:56 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (3219)
2022.12.18 23:04:56 1:     main::FW_Notify                     called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (3888)
2022.12.18 23:04:56 1:     main::DoTrigger                     called by fhem.pl (4995)
2022.12.18 23:04:56 1:     main::readingsEndUpdate             called by (eval 5410) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2022.12.18 23:04:56 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2022.12.18 23:04:56 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (425)
2022.12.18 23:04:56 1:     main::BindingsIo_Write              called by fhem.pl (1064)
2022.12.18 23:04:56 1:     main::IOWrite                       called by ./FHEM/10_fhempy.pm (91)
2022.12.18 23:04:56 1:     main::fhempy_Set                    called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (1954)
2022.12.18 23:04:56 1:     main::DoSet                         called by fhem.pl (1996)
2022.12.18 23:04:56 1:     main::CommandSet                    called by fhem.pl (2904)
2022.12.18 23:04:56 1:     main::getAllSets                    called by ./FHEM/01_FHEMWEB.pm (3326)
2022.12.18 23:04:56 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (3219)
2022.12.18 23:04:56 1:     main::FW_Notify                     called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (3888)
2022.12.18 23:04:56 1:     main::DoTrigger                     called by fhem.pl (4995)
2022.12.18 23:04:56 1:     main::readingsEndUpdate             called by (eval 5393) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2022.12.18 23:04:56 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2022.12.18 23:04:56 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (425)
2022.12.18 23:04:56 1:     main::BindingsIo_Write              called by fhem.pl (1064)
2022.12.18 23:04:56 1:     main::IOWrite                       called by ./FHEM/10_fhempy.pm (91)
2022.12.18 23:04:56 1:     main::fhempy_Set                    called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (1954)
2022.12.18 23:04:56 1:     main::DoSet                         called by fhem.pl (1996)
2022.12.18 23:04:56 1:     main::CommandSet                    called by fhem.pl (2904)
2022.12.18 23:04:56 1:     main::getAllSets                    called by ./FHEM/01_FHEMWEB.pm (3326)
2022.12.18 23:04:56 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (3219)
2022.12.18 23:04:56 1:     main::FW_Notify                     called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (3888)
2022.12.18 23:04:56 1:     main::DoTrigger                     called by fhem.pl (4995)
2022.12.18 23:04:56 1:     main::readingsEndUpdate             called by (eval 5379) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)


Du kriegst wohl die lokale IPs der Devices mit. Könnte man die auch in ein reading schreiben?

1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

dominik

@fretti
Siehst du Readings wenn es angelegt ist? Kannst du mir mal die Inhalte reinposten was das Device in FHEM anzeigt?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: thburkhart am 18 Dezember 2022, 23:13:12
hi Dominik,
ich konnte nun 18 von meinen 62 Devices übernehmen.
Zuletzt "49 devices found localy"

Es wurde dann nur noch "scan_devices" angeboten
nach Ausführung "error"

auch nach shutdown restart erscheint im Dropdown-Feld SET keines der Devices mehr.

Im Vorfeld hatte ich bemerkt, dass Devices mit Umlauten im "smartlife"-Namen nicht übernommen wurden. Hatte sie deshalb in SmartLife umbenannt.

das steht zuletzt im log:
2022.12.18 23:04:56 1: readingsUpdate(tuya_local_30180616dc4f22fc986a,dp_25,0) missed to call readingsBeginUpdate first.
2022.12.18 23:04:56 1: stacktrace:
2022.12.18 23:04:56 1:     main::readingsBulkUpdate            called by fhem.pl (5012)
2022.12.18 23:04:56 1:     main::readingsBulkUpdateIfChanged   called by (eval 5451) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2022.12.18 23:04:56 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2022.12.18 23:04:56 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (425)
2022.12.18 23:04:56 1:     main::BindingsIo_Write              called by fhem.pl (1064)
2022.12.18 23:04:56 1:     main::IOWrite                       called by ./FHEM/10_fhempy.pm (91)
2022.12.18 23:04:56 1:     main::fhempy_Set                    called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (1954)
2022.12.18 23:04:56 1:     main::DoSet                         called by fhem.pl (1996)
2022.12.18 23:04:56 1:     main::CommandSet                    called by fhem.pl (2904)
2022.12.18 23:04:56 1:     main::getAllSets                    called by ./FHEM/01_FHEMWEB.pm (3326)
2022.12.18 23:04:56 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (3219)
2022.12.18 23:04:56 1:     main::FW_Notify                     called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (3888)
2022.12.18 23:04:56 1:     main::DoTrigger                     called by fhem.pl (4995)
2022.12.18 23:04:56 1:     main::readingsEndUpdate             called by (eval 5410) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2022.12.18 23:04:56 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2022.12.18 23:04:56 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (425)
2022.12.18 23:04:56 1:     main::BindingsIo_Write              called by fhem.pl (1064)
2022.12.18 23:04:56 1:     main::IOWrite                       called by ./FHEM/10_fhempy.pm (91)
2022.12.18 23:04:56 1:     main::fhempy_Set                    called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (1954)
2022.12.18 23:04:56 1:     main::DoSet                         called by fhem.pl (1996)
2022.12.18 23:04:56 1:     main::CommandSet                    called by fhem.pl (2904)
2022.12.18 23:04:56 1:     main::getAllSets                    called by ./FHEM/01_FHEMWEB.pm (3326)
2022.12.18 23:04:56 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (3219)
2022.12.18 23:04:56 1:     main::FW_Notify                     called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (3888)
2022.12.18 23:04:56 1:     main::DoTrigger                     called by fhem.pl (4995)
2022.12.18 23:04:56 1:     main::readingsEndUpdate             called by (eval 5393) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2022.12.18 23:04:56 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2022.12.18 23:04:56 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (425)
2022.12.18 23:04:56 1:     main::BindingsIo_Write              called by fhem.pl (1064)
2022.12.18 23:04:56 1:     main::IOWrite                       called by ./FHEM/10_fhempy.pm (91)
2022.12.18 23:04:56 1:     main::fhempy_Set                    called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (1954)
2022.12.18 23:04:56 1:     main::DoSet                         called by fhem.pl (1996)
2022.12.18 23:04:56 1:     main::CommandSet                    called by fhem.pl (2904)
2022.12.18 23:04:56 1:     main::getAllSets                    called by ./FHEM/01_FHEMWEB.pm (3326)
2022.12.18 23:04:56 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (3219)
2022.12.18 23:04:56 1:     main::FW_Notify                     called by fhem.pl (3976)
2022.12.18 23:04:56 1:     main::CallFn                        called by fhem.pl (3888)
2022.12.18 23:04:56 1:     main::DoTrigger                     called by fhem.pl (4995)
2022.12.18 23:04:56 1:     main::readingsEndUpdate             called by (eval 5379) (1)
2022.12.18 23:04:56 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)


Du kriegst wohl die lokale IPs der Devices mit. Könnte man die auch in ein reading schreiben?

Mach mal nur einen Restart von fhempy, warte danach bitte ein paar Minuten und drück nichts im FHEMWEB. Nach einem Restart von fhempy wird FHEM nämlich mit ziemlich vielen Anfragen belastet und reagiert daher sehr träge.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thburkhart

genau:

2022-12-18 23:04:49,064 - ERROR    - fhempy.lib.fhem: NO RESPONSE since 60s: readingsBulkUpdate($defs{'SensorW3'},'uid','eu1548823829280mLHX1');;
2022-12-18 23:04:52,146 - WARNING  - asyncio: Executing <Task pending name='Task-1738' coro=<FhemModule._run_coro() running at /opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/generic.py:196> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/lib/python3.9/asyncio/futures.py:384, <TaskWakeupMethWrapper object at 0xb44226b8>()] created at /usr/lib/python3.9/asyncio/base_events.py:424> cb=[FhemModule._handle_task_result()] created at /usr/lib/python3.9/asyncio/tasks.py:361> took 0.101 seconds
2022-12-18 23:04:53,542 - WARNING  - urllib3.connectionpool: Connection pool is full, discarding connection: openapi.tuyaeu.com


nur, wie starte ich fhempy neu ?
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

fhempy restart gefunden und ausgeführt

immer noch Connection pool is full, discarding connection: openapi.tuyaeu.com

wann komme ich wohl wieder in den Pool?
ich dachtescan_devices sucht im lokalen Netz ; oder erst in der cloud und dann lokal?
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

dominik

Zuerst wird die Connection zur Cloud aufgebaut, damit man den local key bekommt, danach wird das lokale Netz gescannt.

Aktuell muss man noch scan_devices ausführen damit man create_device bekommt. Das muss ich noch umbauen, damit man nach einem Restart nicht nochmals einen Scan machen muss.

Connection pool full ist leider noch ein Fehler in der tuya Library welche Tuya noch nicht behoben hat: https://github.com/tuya/tuya-iot-python-sdk/pull/63
Probier einfach nochmals scan_devices.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thburkhart

ok gemacht:

"found 104  start local scan"
dann
"49 devices found localy"

aber immer noch kein "create_devices"
letztes gefundenes war 10:18 gestern
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

dominik

Schau ich morgen woran das liegt.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik