-
Notifications
You must be signed in to change notification settings - Fork 210
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Controls for my vacuum cleaner stopped working since latest HA 2026.1 updates.
I've re-synched the account, same issue. Before re-synching I used to see the controls but they were disabled, but after the new sync, they aren't even here.
home-assistant/home-assistant.io#43344
Expected behavior
It used to work fine before the update
Diagnostics for integrations and devices
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2026.1.3",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.13.11",
"docker": true,
"arch": "aarch64",
"timezone": "Europe/Madrid",
"os_name": "Linux",
"os_version": "6.12.47-haos-raspi",
"container_arch": "aarch64",
"supervisor": "2026.01.1",
"host_os": "Home Assistant OS 17.0",
"docker_version": "29.1.3",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"ariston": {
"documentation": "https://github.com/fustom/ariston-remotethermo-home-assistant-v3",
"version": "0.19.9",
"requirements": [
"ariston==0.19.9"
]
},
"hacs": {
"documentation": "https://hacs.xyz/docs/use/",
"version": "2.0.5",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "tuya",
"name": "Tuya",
"codeowners": [
"Tuya",
"zlinoliver"
],
"config_flow": true,
"dependencies": [
"ffmpeg"
],
"dhcp": [
{
"..."
}
],
"documentation": "https://www.home-assistant.io/integrations/tuya",
"integration_type": "hub",
"iot_class": "cloud_push",
"loggers": [
"tuya_sharing"
],
"requirements": [
"tuya-device-sharing-sdk==0.2.7"
],
"is_built_in": true,
"overwrites_built_in": false
},
"setup_times": {
"null": {
"setup": 3.48889734596014e-05
},
"01KGBS4WX1DSHQTTFTQCR063GJ": {
"wait_import_platforms": -0.0887518300442025,
"wait_base_component": -0.0009479860309511423,
"config_entry_setup": 0.7573336710920557
}
},
"data": {
"endpoint": "https://apigw.tuyaeu.com",
"terminal_id": "1769921999592dPXaCW",
"mqtt_connected": true,
"disabled_by": null,
"disabled_polling": false,
"devices": [
{
"id": "bf31198fb6c0e6ecd0artv",
"name": "Aspirador Jonny",
"category": "sd",
"product_id": "kixj2uvxfv0toepz",
"product_name": "SMARTAI S7 MAX",
"online": true,
"sub": false,
"time_zone": "+02:00",
"active_time": "2025-04-23T09:17:29+00:00",
"create_time": "2025-04-23T09:17:29+00:00",
"update_time": "2025-04-23T09:17:29+00:00",
"function": {
"power_go": {
"type": "Boolean",
"value": "{}"
},
"pause": {
"type": "Boolean",
"value": "{}"
},
"switch_charge": {
"type": "Boolean",
"value": "{}"
},
"mode": {
"type": "Enum",
"value": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
},
"seek": {
"type": "Boolean",
"value": "{}"
}
},
"status_range": {
"power_go": {
"type": "Boolean",
"value": "{}"
},
"pause": {
"type": "Boolean",
"value": "{}"
},
"switch_charge": {
"type": "Boolean",
"value": "{}"
},
"mode": {
"type": "Enum",
"value": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
},
"seek": {
"type": "Boolean",
"value": "{}"
}
},
"status": {
"power_go": true,
"pause": false,
"switch_charge": true,
"mode": "chargego",
"seek": false
},
"home_assistant": {
"name": "Aspirador Jonny",
"name_by_user": null,
"disabled": false,
"disabled_by": null,
"entities": []
},
"set_up": false,
"support_local": true,
"local_strategy": {
"1": {
"value_convert": "default",
"status_code": "power_go",
"config_item": {
"statusFormat": "{\"power_go\":\"$\"}",
"valueDesc": "{}",
"valueType": "Boolean",
"enumMappingMap": {},
"pid": "kixj2uvxfv0toepz"
}
},
"2": {
"value_convert": "default",
"status_code": "pause",
"config_item": {
"statusFormat": "{\"pause\":\"$\"}",
"valueDesc": "{}",
"valueType": "Boolean",
"enumMappingMap": {},
"pid": "kixj2uvxfv0toepz"
}
},
"3": {
"value_convert": "default",
"status_code": "switch_charge",
"config_item": {
"statusFormat": "{\"switch_charge\":\"$\"}",
"valueDesc": "{}",
"valueType": "Boolean",
"enumMappingMap": {},
"pid": "kixj2uvxfv0toepz"
}
},
"4": {
"value_convert": "default",
"status_code": "mode",
"config_item": {
"statusFormat": "{\"mode\":\"$\"}",
"valueDesc": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}",
"valueType": "Enum",
"enumMappingMap": {},
"pid": "kixj2uvxfv0toepz"
}
},
"11": {
"value_convert": "default",
"status_code": "seek",
"config_item": {
"statusFormat": "{\"seek\":\"$\"}",
"valueDesc": "{}",
"valueType": "Boolean",
"enumMappingMap": {},
"pid": "kixj2uvxfv0toepz"
}
}
},
"warnings": null
}
]
},
"issues": []
}
Home Assistant Version
2026.1.2
2026.1.3
Device info (please complete the following information, which can be found in log):
WIP
Device specifications (please complete the following information, which can be found in log):
WIP
Additional context
I can see this error log occured when re-synching the account:
�[31m2026-02-01 00:33:01.408 ERROR (MainThread) [homeassistant.components.select] Error while setting up tuya platform for select: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 459, in _async_setup_platform
await asyncio.shield(awaitable)
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 381, in async_setup_entry
async_discover_device([*manager.device_map])
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 367, in async_discover_device
entities.extend(
~~~~~~~~~~~~~~~^
TuyaSelectEntity(
^^^^^^^^^^^^^^^^^
...<7 lines>...
)
^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 373, in <genexpr>
dpcode_wrapper := DPCodeEnumWrapper.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
device, description.key, prefer_function=True
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/models.py", line 100, in find_dpcode
if type_information := cls._DPTYPE.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~^
device, dpcodes, prefer_function=prefer_function
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
):
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 88, in find_dpcode
type_information := cls._from_json(
~~~~~~~~~~~~~~^
dpcode=dpcode, type_data=current_definition.values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 184, in _from_json
return cls(
dpcode=dpcode,
type_data=type_data,
**cast(dict[str, list[str]], parsed),
)
TypeError: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'�[0m
�[31m2026-02-01 00:33:01.421 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up tuya platform for vacuum: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 459, in _async_setup_platform
await asyncio.shield(awaitable)
File "/usr/src/homeassistant/homeassistant/components/tuya/vacuum.py", line 95, in async_setup_entry
async_discover_device([*manager.device_map])
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tuya/vacuum.py", line 79, in async_discover_device
mode_wrapper=DPCodeEnumWrapper.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
device, DPCode.MODE, prefer_function=True
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/usr/src/homeassistant/homeassistant/components/tuya/models.py", line 100, in find_dpcode
if type_information := cls._DPTYPE.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~^
device, dpcodes, prefer_function=prefer_function
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
):
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 88, in find_dpcode
type_information := cls._from_json(
~~~~~~~~~~~~~~^
dpcode=dpcode, type_data=current_definition.values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 184, in _from_json
return cls(
dpcode=dpcode,
type_data=type_data,
**cast(dict[str, list[str]], parsed),
)
TypeError: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'�[0m
�[31m2026-02-01 00:33:01.428 ERROR (MainThread) [homeassistant.components.select] Error while setting up tuya platform for select: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 459, in _async_setup_platform
await asyncio.shield(awaitable)
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 381, in async_setup_entry
async_discover_device([*manager.device_map])
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 367, in async_discover_device
entities.extend(
~~~~~~~~~~~~~~~^
TuyaSelectEntity(
^^^^^^^^^^^^^^^^^
...<7 lines>...
)
^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 373, in <genexpr>
dpcode_wrapper := DPCodeEnumWrapper.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
device, description.key, prefer_function=True
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/models.py", line 100, in find_dpcode
if type_information := cls._DPTYPE.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~^
device, dpcodes, prefer_function=prefer_function
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
):
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 88, in find_dpcode
type_information := cls._from_json(
~~~~~~~~~~~~~~^
dpcode=dpcode, type_data=current_definition.values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 184, in _from_json
return cls(
dpcode=dpcode,
type_data=type_data,
**cast(dict[str, list[str]], parsed),
)
TypeError: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'�[0m
�[31m2026-02-01 00:33:01.434 ERROR (MainThread) [homeassistant.components.sensor] Platform tuya does not generate unique IDs. ID tuya.bfc2d40be5df447b2b8op1add_ele already exists - ignoring sensor.enchufe_wifi_total_energy�[0m
�[31m2026-02-01 00:33:01.435 ERROR (MainThread) [homeassistant.components.switch] Platform tuya does not generate unique IDs. ID tuya.bfc2d40be5df447b2b8op1switch_1 already exists - ignoring switch.enchufe_wifi_socket_1�[0m
�[31m2026-02-01 00:33:01.435 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up tuya platform for vacuum: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 459, in _async_setup_platform
await asyncio.shield(awaitable)
File "/usr/src/homeassistant/homeassistant/components/tuya/vacuum.py", line 95, in async_setup_entry
async_discover_device([*manager.device_map])
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tuya/vacuum.py", line 79, in async_discover_device
mode_wrapper=DPCodeEnumWrapper.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
device, DPCode.MODE, prefer_function=True
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/usr/src/homeassistant/homeassistant/components/tuya/models.py", line 100, in find_dpcode
if type_information := cls._DPTYPE.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~^
device, dpcodes, prefer_function=prefer_function
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
):
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 88, in find_dpcode
type_information := cls._from_json(
~~~~~~~~~~~~~~^
dpcode=dpcode, type_data=current_definition.values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 184, in _from_json
return cls(
dpcode=dpcode,
type_data=type_data,
**cast(dict[str, list[str]], parsed),
)
TypeError: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'�[0m
�[31m2026-02-01 05:54:16.072 ERROR (MainThread) [homeassistant.components.select] Error while setting up tuya platform for select: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 459, in _async_setup_platform
await asyncio.shield(awaitable)
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 381, in async_setup_entry
async_discover_device([*manager.device_map])
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 367, in async_discover_device
entities.extend(
~~~~~~~~~~~~~~~^
TuyaSelectEntity(
^^^^^^^^^^^^^^^^^
...<7 lines>...
)
^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/select.py", line 373, in <genexpr>
dpcode_wrapper := DPCodeEnumWrapper.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
device, description.key, prefer_function=True
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/models.py", line 100, in find_dpcode
if type_information := cls._DPTYPE.find_dpcode(
~~~~~~~~~~~~~~~~~~~~~~~^
device, dpcodes, prefer_function=prefer_function
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
):
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 88, in find_dpcode
type_information := cls._from_json(
~~~~~~~~~~~~~~^
dpcode=dpcode, type_data=current_definition.values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/components/tuya/type_information.py", line 184, in _from_json
return cls(
dpcode=dpcode,
type_data=type_data,
**cast(dict[str, list[str]], parsed),
)
TypeError: EnumTypeInformation.__init__() got an unexpected keyword argument 'type'
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working