Closed arhimidis64 closed 5 months ago
Model name: Inventor Leon (LEUVI-09WFI / (LEUVO-09)
Hello, generally it's working. But i think there are some bugs. Some logs i found:
1) Logger: custom_components.tuya_local.device Source: custom_components/tuya_local/device.py:555 Integration: Tuya Local (documentation, issues) First occurred: February 13, 2024 at 23:35:57 (220 occurrences) Last logged: February 15, 2024 at 19:43:33
Failed to fetch device status for Bedroom_AC_Inventor
2) Logger: custom_components.tuya_local.device Source: custom_components/tuya_local/device.py:225 Integration: Tuya Local (documentation, issues) First occurred: February 14, 2024 at 08:36:11 (2 occurrences) Last logged: 07:18:15
Bedroom_AC_Inventor receive loop has terminated
3) Logger: homeassistant.components.climate Source: components/climate/init.py:354 Integration: Climate (documentation, issues) First occurred: February 13, 2024 at 12:35:02 (9 occurrences) Last logged: 07:18:15
Entity None (<class 'custom_components.tuya_local.climate.TuyaLocalClimate'>) does not set ClimateEntityFeature.TURN_OFF but implements the turn_off method. Please create a bug report at https://github.com/make-all/tuya-local/issues Entity None (<class 'custom_components.tuya_local.climate.TuyaLocalClimate'>) does not set ClimateEntityFeature.TURN_ON but implements the turn_on method. Please create a bug report at https://github.com/make-all/tuya-local/issues Entity None (<class 'custom_components.tuya_local.climate.TuyaLocalClimate'>) implements HVACMode(s): off, heat_cool, cool, dry, fan_only, heat and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/make-all/tuya-local/issues
4) 2024-02-16 06:15:01.356 WARNING (MainThread) [custom_components.tuya_local.climate] inventor_tokenslegend_airconditioner.yaml/climate: Unrecognised HVAC Mode of True ignored
If you need anything else please let me know!
4 appears to be a bug.
1 and 2 are connection issues which may be bug in the device itself, or just a WiFi network interruption (such as microwave oven interference since Tuya devices only work on 2.4GHz)
4 is most likely caused by an unhandled mode of the air conditioner. I would need the device diagnostics when this error has occurred to see what the mode is that is causing this.
Thanks for your quick reply!!
How should i get device diagnostics?
Settings / Devices / Tuya-local
But it is a snapshot of the current state, so it will need to be immediately after the log message is produced, before any other mode change. If it is a transient state, then maybe debug logs will be better for capturing it (also enabled and disabled+downloaded on the same page).
I will look forward to it and i will let you know! Should i post here or open new issue?
Just post it here since I already reopened it for this issue.
I cant re-produce the above 4 but i have some other problems, i think:
unavailable.json follow me turned off its self.json
Thanks!!
For the latest issues:
I wasn't able to get any info relating to your problems, but the diagnostics do reveal that the device is not reportng a number of dps when it is off, so that info can be used to improve the device detection.
Recently i found all the entities to be unavailable and i found out some logs including the 1 & 2 from my first post. This is the new one: Log details (ERROR) This error originated from a custom integration. Logger: custom_components.tuya_local.device Source: custom_components/tuya_local/device.py:218 Integration: Tuya Local (documentation, issues) First occurred: 18:07:32 (1 occurrences) Last logged: 18:07:32
Bedroom_AC_Inventor receive loop terminated by exception unsupported operand type(s) for -: 'NoneType' and 'float' Traceback (most recent call last): File "/config/custom_components/tuya_local/device.py", line 218, in receive_loop entity.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 989, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1110, in _async_write_ha_state state, attr, capabilities, shadowed_attr = self.async_calculate_state() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1049, in async_calculate_state attr.update(self.state_attributes or {}) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/fan/init.py", line 426, in state_attributes data[ATTR_PERCENTAGE] = self.percentage ^^^^^^^^^^^^^^^ File "/config/custom_components/tuya_local/fan.py", line 120, in percentage val = ranged_value_to_percentage(r, val) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/util/percentage.py", line 79, in ranged_value_to_percentage return scale_ranged_value_to_int_range(low_high_range, (1, 100), value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/util/scaling.py", line 23, in scale_ranged_value_to_int_range (value - source_offset)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
Also i downloaded the diagnostics and you can find the file below. If you need anything just let me know. Thanks!
[config_entry-tuya_local-7233eb090718fdb4e99f8c36f9b27824-1.json](https://github.com/make-all/tuya-local/files/14554990/config_entry-tuya_local-7233eb090718fdb4e99f8c36f9b27824-1.json)
After the latest update to "2024.3.2 Valves" and upon restarting ha:
Logger: homeassistant.components.climate Source: components/climate/init.py:361 integration: Climate (documentation, issues) First occurred: 10:46:18 (1 occurrences) Last logged: 10:46:18
Entity None (<class 'custom_components.tuya_local.climate.TuyaLocalClimate'>) implements HVACMode(s): off, heat_cool, cool, dry, fan_only, heat and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/make-all/tuya-local/issues
This is a bug in Home Assistant. This integration does set the proper ClimateEntityFeatures for turn_off and turn_on, and it also explicitly supports turn_on and turn_off methods, so the message about implicit support is incorrect.
Log Message
Information about DPS mappings
Other info for DP's from iot.tuya.com:
1) Device control (Standard Instruction Set): Get the specifications and properties of the device { "result": { "category": "kt", "functions": [ { "code": "switch", "desc": "{}", "name": "开关", "type": "Boolean", "values": "{}" }, { "code": "temp_set", "desc": "{\"unit\":\"℃\",\"min\":160,\"max\":300,\"scale\":1,\"step\":5}", "name": "设置温度", "type": "Integer", "values": "{\"unit\":\"℃\",\"min\":160,\"max\":300,\"scale\":1,\"step\":5}" }, { "code": "mode", "desc": "{\"range\":[\"auto\",\"cold\",\"wet\",\"wind\",\"hot\"]}", "name": "工作模式", "type": "Enum", "values": "{\"range\":[\"auto\",\"cold\",\"wet\",\"wind\",\"hot\"]}" }, { "code": "temp_unit_convert", "desc": "{\"range\":[\"c\",\"f\"]}", "name": "温标,华氏度,摄氏度切换新", "type": "Enum", "values": "{\"range\":[\"c\",\"f\"]}" }, { "code": "temp_set_f", "desc": "{\"unit\":\"℉\",\"min\":60,\"max\":86,\"scale\":0,\"step\":1}", "name": "设置华氏温度", "type": "Integer", "values": "{\"unit\":\"℉\",\"min\":60,\"max\":86,\"scale\":0,\"step\":1}" }, { "code": "cleaning", "desc": "{}", "name": "自清洁", "type": "Boolean", "values": "{}" }, { "code": "switch_vertical", "desc": "{}", "name": "上下摆风开关", "type": "Boolean", "values": "{}" }, { "code": "switch_horizontal", "desc": "{}", "name": "左右摆风开关", "type": "Boolean", "values": "{}" } ], "status": [ { "code": "switch", "name": "开关", "type": "Boolean", "values": "{}" }, { "code": "temp_set", "name": "设置温度", "type": "Integer", "values": "{\"unit\":\"℃\",\"min\":160,\"max\":300,\"scale\":1,\"step\":5}" }, { "code": "temp_current", "name": "当前温度", "type": "Integer", "values": "{\"unit\":\"℃\",\"min\":0,\"max\":500,\"scale\":1,\"step\":1}" }, { "code": "mode", "name": "工作模式", "type": "Enum", "values": "{\"range\":[\"auto\",\"cold\",\"wet\",\"wind\",\"hot\"]}" }, { "code": "humidity_current", "name": "当前湿度", "type": "Integer", "values": "{\"unit\":\"%\",\"min\":30,\"max\":90,\"scale\":0,\"step\":1}" }, { "code": "temp_unit_convert", "name": "温标,华氏度,摄氏度切换(新)", "type": "Enum", "values": "{\"range\":[\"c\",\"f\"]}" }, { "code": "fault", "name": "故障告警", "type": "Bitmap", "values": "{\"label\":[\"sensor_fault\",\"temp_fault\"]}" }, { "code": "temp_current_f", "name": "当前华氏温度", "type": "Integer", "values": "{\"unit\":\"℉\",\"min\":0,\"max\":122,\"scale\":0,\"step\":1}" }, { "code": "temp_set_f", "name": "设置华氏温度", "type": "Integer", "values": "{\"unit\":\"℉\",\"min\":60,\"max\":86,\"scale\":0,\"step\":1}" }, { "code": "cleaning", "name": "自清洁", "type": "Boolean", "values": "{}" }, { "code": "switch_vertical", "name": "上下摆风开关", "type": "Boolean", "values": "{}" }, { "code": "switch_horizontal", "name": "左右摆风开关", "type": "Boolean", "values": "{}" }, { "code": "motion_tracking", "name": "移动追踪", "type": "Boolean", "values": "{}" } ] }, "success": true, "t": 1693668560886, "tid": "7cdefc8349a511eeb89b62eaf3b2071e" } 2) Device Control: Query Properties { "result": { "properties": [ { "code": "switch", "custom_name": "", "dp_id": 1, "time": 1693669832685, "value": false }, { "code": "temp_set", "custom_name": "", "dp_id": 2, "time": 1693516801016, "value": 230 }, { "code": "temp_current", "custom_name": "", "dp_id": 3, "time": 1693669272109, "value": 250 }, { "code": "mode", "custom_name": "", "dp_id": 4, "time": 1693669765991, "value": "auto" }, { "code": "humidity_current", "custom_name": "", "dp_id": 18, "time": 1690322065944, "value": 30 }, { "code": "temp_unit_convert", "custom_name": "", "dp_id": 19, "time": 1692978475595, "value": "c" }, { "code": "fault", "custom_name": "", "dp_id": 22, "time": 1692978475595, "value": 0 }, { "code": "temp_current_f", "custom_name": "", "dp_id": 23, "time": 1690322065944, "value": 0 }, { "code": "temp_set_f", "custom_name": "", "dp_id": 24, "time": 1690322065944, "value": 60 }, { "code": "cleaning", "custom_name": "", "dp_id": 27, "time": 1692978475595, "value": false }, { "code": "switch_vertical", "custom_name": "", "dp_id": 30, "time": 1692978475595, "value": false }, { "code": "switch_horizontal", "custom_name": "", "dp_id": 33, "time": 1692978475595, "value": false }, { "code": "motion_tracking", "custom_name": "", "dp_id": 37, "time": 1692978475595, "value": false }, { "code": "eight_heat", "custom_name": "", "dp_id": 101, "time": 1692978475595, "value": false }, { "code": "temp_current_out", "custom_name": "", "dp_id": 102, "time": 1693669921795, "value": 345 }, { "code": "temp_current_out_f", "custom_name": "", "dp_id": 103, "time": 1690322065944, "value": 0 }, { "code": "plasma", "custom_name": "", "dp_id": 104, "time": 1692978475595, "value": false }, { "code": "prevent_direct", "custom_name": "", "dp_id": 106, "time": 1692978475595, "value": false }, { "code": "presonal_dehumid", "custom_name": "", "dp_id": 107, "time": 1692978475595, "value": "cancel" }, { "code": "infinite_speed", "custom_name": "", "dp_id": 108, "time": 1693669765991, "value": 0 }, { "code": "strong", "custom_name": "", "dp_id": 109, "time": 1693541079356, "value": false } ] }, "success": true, "t": 1693669924658, "tid": "a9bfbf3449a811eeb3f09e6a0abc163a" } 3) Device control (Standard Instruction Set): Get the instruction set of the device { "result": { "category": "kt", "functions": [ { "code": "switch", "desc": "switch", "name": "switch", "type": "Boolean", "values": "{}" }, { "code": "temp_set", "desc": "temp set", "name": "temp set", "type": "Integer", "values": "{\"unit\":\"℃\",\"min\":160,\"max\":300,\"scale\":1,\"step\":5}" }, { "code": "mode", "desc": "mode", "name": "mode", "type": "Enum", "values": "{\"range\":[\"auto\",\"cold\",\"wet\",\"wind\",\"hot\"]}" }, { "code": "temp_unit_convert", "desc": "temp unit convert", "name": "temp unit convert", "type": "Enum", "values": "{\"range\":[\"c\",\"f\"]}" }, { "code": "temp_set_f", "desc": "temp set f", "name": "temp set f", "type": "Integer", "values": "{\"unit\":\"℉\",\"min\":60,\"max\":86,\"scale\":0,\"step\":1}" }, { "code": "cleaning", "desc": "cleaning", "name": "cleaning", "type": "Boolean", "values": "{}"Product ID
gvraxduhxaxalell
Information about how the device functions
Is just a simple AC unit for Greece market (only i thing). Believe me you will help a lot of people if you make it working. Thanks!!!
https://ac.inv-static.com/uploads/ac_mini-split/LEON/LEON_UM%2BIM_0123.pdf https://ac.inv-static.com/uploads/ac_mini-split/LEON/LEON_RC_MANUAL_0123.pdf