fhempy: tuya (lokal)

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

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: JF Mennedy am 09 Dezember 2022, 17:47:02
Hi Klaus,

Dominik arbeitet derweil an einem Fix.. Ich habe die Version 504 für eine Weile getestet, in der dieser Bug noch nicht enthalten ist, aber leider ein anderer ;-) (https://github.com/fhempy/fhempy/issues/106)

Gruss Jan

Hi Jan,

danke für den Hinweis. Ich habe ein Downgrade auf die 504 durchgeführt. Leider brachte das bei mir nicht die Lösung.  Die Lampe steht noch immer auf Initializing...
Ich hatte sie auch gelöscht und neu anlegen lassen. Leider ohne Erfolg.
Muss ich bei der 504 noch etwas besonderes beachten?

Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

fretti

nach Update auf 527 kommt beim starten:
2022-12-14 23:00:08,907 - INFO     - fhempy.lib.fhem_pythonbinding: Shutdown initiated...
2022-12-14 23:00:08,911 - INFO     - fhempy.lib.fhem_pythonbinding: All modules successfully undefined!
2022-12-14 23:00:08,912 - INFO     - websockets.server: server closing
2022-12-14 23:12:23,394 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.527...
2022-12-14 23:12:23,396 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2022-12-14 23:12:23,411 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2022-12-14 23:12:30,915 - INFO     - websockets.server: connection open
2022-12-14 23:12:30,915 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2022-12-14 23:12:31,547 - ERROR    - tuya_local_63554574c4dd57244455: Failed create_device
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/tuya/tuya.py", line 473, in create_device
    await self._create_cloudmapping_dev()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/tuya/tuya.py", line 390, in _create_cloudmapping_dev
    info = await self.get_tuya_dev_info()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/tuya/tuya.py", line 323, in get_tuya_dev_info
    for dev in resp["result"]:
KeyError: 'result'


Auch ist das "initializing"-Problem nicht behoben.
promox, debian, rpi, homematic, mqtt, dect, z2m

thburkhart

bei mir läuft alles prima...
fhempy hatte mir zuletzt beide dblog mit ein paar Milliarden Einträgen geflutet, die dann ganz FHEM blockierte

Ich habe Sie mit etwas Mühe neu aufgesetzt.
Die Datenflut grenze ich inzwischen so ein:

define Temp1 fhempy tuya_lokal TUYA bf4ae6b15fe239b42bxvpl
setuuid Temp1 625f01ef-f33f-fd5f-eb72-266acf996be40377
attr Temp1 alias Temp1 TUYA Temperatur Terrasse
attr Temp1 doAverage 1
[color=yellow]attr Temp1 event-min-interval va_temperature:7200,humidity_value:7200[/color]
attr Temp1 genericDeviceType thermometer
attr Temp1 group TempHumAussen
attr Temp1 room TUYA,TUYA TempHum,Temperaturen Aussen,Terrasse
attr Temp1 userReadings Temp: temperature [C] Hum: humidity [%]



wichtig ist auch, dass man fleissig "shutdown restart" macht
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

kleinerDrache

hatte ich auch erst und hab das per DBlogInclude und DBlogExlude eingedämmt (ich logge nur was ich auch haben will), zusätzlich reduziere ich die Einträge per event-min-interval auf einen Eintrag pro Minute. Die Tuya Geräte sind das echt extrem gesprächig, hab da aber noch ein paar Geräte die mir sonst alle 5sek. einen neuen Eintrag erstellen. Könnte man noch weiter reduzieren indem man den minimalen Änderungswert z.B. bei den Temperaturen festlegt.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

dominik

Hallo zusammen,

ich glaube ich hab den Fehler nun endlich gefunden wieso die Devices manchmal keine Updates liefern. Ebenso habe ich auf Basis der asynchronen Implementierung (https://github.com/willemwouters/tinytuya) Version 3.4 Support mit aufgenommen.

Ich warte noch auf die beiden Pull Requests (https://github.com/willemwouters/tinytuya/pulls) und sobald die aufgenommen wurden, kann ich fhempy aktualisieren.

@thburkhart
Wegen der Aufsummierung habe ich mir auch schon überlegt wie sich das machen lässt. Eine Möglichkeit wäre natürlich cur_power einfach mit der Zeit zu multiplizieren und somit errechnen. Eine andere Möglichkeit sollte sein den add_ele Wert zu verwenden. Der sollte nämlich die Leistung in kWh beinhalten. Nur weiß ich noch nicht in welchen Zeitabständen der aktualisiert wird. Manchmal geht er auch nicht auf 0.
Sobald die oben erwähnte Version sauber läuft, kann ich mir das genauer anschauen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thburkhart

super !!!

Ist der Fehler mit den 10fachen-Werten mit der neuen Version auch behoben

Herzliche Grüße

Thomas
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

Bei welchen Readings hast du noch 10-fach Werte? Solange die richtige Spec von der Tuya IoT Cloud kommt, sollten die richtig berechnet werden.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thburkhart

Zitat von: dominik am 17 Dezember 2022, 13:11:26
Bei welchen Readings hast du noch 10-fach Werte? Solange die richtige Spec von der Tuya IoT Cloud kommt, sollten die richtig berechnet werden.

Readings
active_time
1592500296
2022-12-16 19:40:35
biz_type
18
2022-12-16 19:40:35
category
cz
2022-12-16 19:40:35
countdown_1
0.0
2022-12-17 15:25:16
create_time
1575043848
2022-12-16 19:40:35
cur_current
21.0
2022-12-17 15:25:16
cur_power
50.0
2022-12-17 15:25:16
cur_voltage
[color=yellow]2266.0[/color]
2022-12-17 15:25:16
icon
https://images.tuyaeu.com/smart/device_icon/eu1548823829280mLHX1/104380002462ab2f8ac0163417849807563.png
2022-12-16 19:40:35
id
104380002462ab2f8ac0
2022-12-16 19:40:35
ip
46.5.205.243
2022-12-16 11:40:49
lat
48.5585
2022-12-16 19:40:35
local_key
a6015a85cfa6f812
2022-12-16 19:40:35
lon
9.2025
2022-12-16 19:40:35
model
SP111,15A,带计电量,中性
2022-12-16 19:40:35
name
Dunstabzug
2022-12-16 19:40:35
online
on
2022-12-16 19:40:35
owner_id
3389434
2022-12-16 19:40:35
product_id
37mnhia3pojleqfh
2022-12-16 19:40:35
product_name
Smart Socket
2022-12-16 19:40:35
state
on
2022-12-17 15:25:16
sub
off
2022-12-16 19:40:35
switch
on
2022-12-14 19:02:02
time_zone
+01:00
2022-12-16 19:40:35
uid
eu1548823829280mLHX1
2022-12-16 19:40:35
update_time
1669504400
2022-12-16 19:40:35
uuid
104380002462ab2f8ac0


und noch 5 weitere SP111

kommen wohl so aus der Cloud
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

Poste mal die Inhalte vom Attribut tuya_spec_status
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Bitte Version 0.1.528 testen.

- Version 3.4 sollte funktionieren (untested!)
- Keine Reading Updates nach paar Tagen fixed
- Power, voltage, current werden nun forced alle 5s aktualisiert, da es ohne force sonst teilweis 30s oder länger dauert (damit geht es gleich schnell wie in der SmartLife App)

Bitte um Feedback ob es bei euch nun stabil funktioniert.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thburkhart

Zitat von: dominik am 17 Dezember 2022, 15:31:40
Poste mal die Inhalte vom Attribut tuya_spec_status

habe nur:
product_id
37mnhia3pojleqfh und wifvoilfrqeo6hvu
diese beiden IDs liefert 10 fache Volt-Werte (12 Geräte bei mir)
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

Ok, hab es für alle lokalen Mappings korrigiert. Sollte nun mit 0.1.530 richtig sein.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

thburkhart

update gefahren  ..

keine Auffälligkeiten bzgl. des ReadingsUpdate

die Geräte IDs

37mnhia3pojleqfh und wifvoilfrqeo6hvu  liefern noch immer 10 fache Werte

kommen aber aus tuya_cloud

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

habe mir übrigen damit:

define TUYAreadingsGroup readingsGroup <Device>,<TimeStamp>,<Produktname>,<ProduktID>,<State>,<online>,<CreateTime>,<cur_current>,<cur_power>,<cur_voltage>,<Countdown>,<Temperatur>,<Humidity> \
TYPE=fhempy:<{ReadingsTimestamp($DEVICE,"state","")}>,product_name,product_id,state,online,create_time,cur_current,cur_power,cur_voltage,countdown_1,temperature,va_temperature,va_humidity,humidity_value
setuuid TUYAreadingsGroup 639b00ce-f33f-fd5f-e7b3-eda5026cfd4e0185
attr TUYAreadingsGroup headerRows xxxx xxxx
attr TUYAreadingsGroup room ! TUYA
attr TUYAreadingsGroup valueFormat {produkt_name => 3},{va_temperature => 10}
attr TUYAreadingsGroup valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
attr TUYAreadingsGroup valueStyle { if($READING eq "temperature" && $VALUE > 20){ 'style="color:green;;font-weight:bold"' }elsif( $READING eq "temperature" && $VALUE <= 20 ){ 'style="color:blue"' }elsif( $READING eq "temperature" && $VALUE > 23 ){ 'style="color:red"' }else{ 'style="color:gray"' } }

ein kleines Cockpit gebaut, um alle Werte auf eine Blick zu haben
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

Zitat von: thburkhart am 17 Dezember 2022, 19:33:52
update gefahren  ..

keine Auffälligkeiten bzgl. des ReadingsUpdate

die Geräte IDs

37mnhia3pojleqfh und wifvoilfrqeo6hvu  liefern noch immer 10 fache Werte

kommen aber aus tuya_cloud

Jetzt bin ich etwas verwirrt, tuya_cloud oder tuya? Wenn tuya_cloud, dann kann man da nix machen, das kommt dann so (falsch) von tuya.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik