core: The status of the vacuum robot (lb3jihr6cvumqomi) is not updating
The problem
I can control the vacuum cleaner through integration, but the status is not visible.
The status of the vacuum cleaner is displayed correctly in the official Tuya IoT application and website.
curl --request GET "https://openapi.tuyaeu.com/v1.0/iot-03/devices/status?device_ids=bfac38a13f374022fbbaho" --header "sign_method: HMAC-SHA256" --header "client_id: x8ne5jnaaxqbg3l983dx" --header "t: 1691234068754" --header "mode: cors" --header "Content-Type: application/json" --header "sign: HIDDEN" --header "access_token: HIDDEN"
{
"result": [
{
"id": "bfac38a13f374022fbbaho",
"status": [
{
"code": "power_go",
"value": true
},
{
"code": "pause",
"value": false
},
{
"code": "switch_charge",
"value": true
},
{
"code": "mode", //<-----
"value": "smart" //<-----
},
{
"code": "seek",
"value": false
}
]
}
],
"success": true,
"t": 1691234069088,
"tid": "3eaeb55d338111ee94e0a2e0adfc0b14"
}
What version of Home Assistant Core has the issue?
core-2023.8.1
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Tuya
Link to integration documentation on our website
https://www.home-assistant.io/integrations/tuya/
Diagnostics information
{ “home_assistant”: { “installation_type”: “Home Assistant OS”, “version”: “2023.8.1”, “dev”: false, “hassio”: true, “virtualenv”: false, “python_version”: “3.11.4”, “docker”: true, “arch”: “aarch64”, “timezone”: “Europe/Moscow”, “os_name”: “Linux”, “os_version”: “6.1.21-v8”, “supervisor”: “2023.07.1”, “host_os”: “Home Assistant OS 10.4”, “docker_version”: “23.0.6”, “chassis”: “embedded”, “run_as_root”: true }, “custom_components”: { “yandex_smart_home”: { “version”: “0.6.3”, “requirements”: [] }, “yandex_weather”: { “version”: “3.1.0”, “requirements”: [] }, “hacs”: { “version”: “1.32.1”, “requirements”: [ “aiogithubapi>=22.10.1” ] }, “yandex_station”: { “version”: “3.12.3”, “requirements”: [] }, “xiaomi_miot”: { “version”: “0.7.10”, “requirements”: [ “construct==2.10.56”, “python-miio>=0.5.6”, “micloud>=0.3” ] }, “ble_monitor”: { “version”: “12.3.2”, “requirements”: [ “pycryptodomex>=3.14.1”, “janus>=1.0.0”, “aioblescan>=0.2.14”, “btsocket>=0.2.0”, “pyric>=0.1.6.3” ] }, “nodered”: { “version”: “2.1.0”, “requirements”: [] } }, “integration_manifest”: { “domain”: “tuya”, “name”: “Tuya”, “codeowners”: [ “@Tuya”, “@zlinoliver”, “@frenck” ], “config_flow”: true, “dependencies”: [ “ffmpeg” ], “dhcp”: [ { “macaddress”: “105A17*” }, { “macaddress”: “10D561*” }, { “macaddress”: “1869D8*” }, { “macaddress”: “381F8D*” }, { “macaddress”: “508A06*” }, { “macaddress”: “68572D*” }, { “macaddress”: “708976*” }, { “macaddress”: “7CF666*” }, { “macaddress”: “84E342*” }, { “macaddress”: “D4A651*” }, { “macaddress”: “D81F12*” } ], “documentation”: “https://www.home-assistant.io/integrations/tuya”, “integration_type”: “hub”, “iot_class”: “cloud_push”, “loggers”: [ “tuya_iot” ], “requirements”: [ “tuya-iot-py-sdk==0.6.6” ], “is_built_in”: true }, “data”: { “endpoint”: “https://openapi.tuyaeu.com”, “auth_type”: 0, “country_code”: “49”, “app_type”: “tuyaSmart”, “mqtt_connected”: true, “disabled_by”: null, “disabled_polling”: false, “name”: “Laser Robot Vacuum Cleaner”, “model”: “50021004”, “category”: “sd”, “product_id”: “lb3jihr6cvumqomi”, “product_name”: “”, “online”: true, “sub”: false, “time_zone”: “+03:00”, “active_time”: “2023-05-12T14:45:53+00:00”, “create_time”: “2023-05-12T14:45:54+00:00”, “update_time”: “2023-08-02T20:14:33+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”: “smart”, “seek”: false }, “home_assistant”: { “name”: “Laser Robot Vacuum Cleaner”, “name_by_user”: null, “disabled”: false, “disabled_by”: null, “entities”: [ { “disabled”: false, “disabled_by”: null, “entity_category”: null, “device_class”: null, “original_device_class”: null, “icon”: null, “original_icon”: null, “unit_of_measurement”: null, “state”: { “entity_id”: “vacuum.laser_robot_vacuum_cleaner”, “state”: “unknown”, “attributes”: { “friendly_name”: “Laser Robot Vacuum Cleaner”, “supported_features”: 13084 }, “last_changed”: “2023-08-05T08:44:16.714066+00:00”, “last_updated”: “2023-08-05T08:44:16.714066+00:00” } } ] } } }
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
curl --request GET "https://openapi.tuyaeu.com/v1.0/iot-03/devices/bfac38a13f374022fbbaho/functions" --header "sign_method: HMAC-SHA256" --header "client_id: x8ne5jnaaxqbg3l983dx" --header "t: 1691233942112" --header "mode: cors" --header "Content-Type: application/json" --header "sign: HIDDEN" --header "access_token: HIDDEN"
{
"result": {
"category": "sd",
"functions": [
{
"code": "power_go",
"desc": "power go",
"name": "power go",
"type": "Boolean",
"values": "{}"
},
{
"code": "pause",
"desc": "pause",
"name": "pause",
"type": "Boolean",
"values": "{}"
},
{
"code": "switch_charge",
"desc": "switch charge",
"name": "switch charge",
"type": "Boolean",
"values": "{}"
},
{
"code": "mode",
"desc": "mode",
"name": "mode",
"type": "Enum",
"values": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
},
{
"code": "seek",
"desc": "seek",
"name": "seek",
"type": "Boolean",
"values": "{}"
}
]
},
"success": true,
"t": 1691233942542,
"tid": "f342d8ab338011ee94e0a2e0adfc0b14"
}
curl --request GET "https://openapi.tuyaeu.com/v1.0/iot-03/devices/bfac38a13f374022fbbaho/specification" --header "sign_method: HMAC-SHA256" --header "client_id: x8ne5jnaaxqbg3l983dx" --header "t: 1691233861465" --header "mode: cors" --header "Content-Type: application/json" --header "sign: HIDDEN" --header "access_token: HIDDEN"
{
"result": {
"category": "sd",
"functions": [
{
"code": "power_go",
"desc": "{}",
"name": "清扫开关",
"type": "Boolean",
"values": "{}"
},
{
"code": "pause",
"desc": "{}",
"name": "暂停开关",
"type": "Boolean",
"values": "{}"
},
{
"code": "switch_charge",
"desc": "{}",
"name": "回充开关",
"type": "Boolean",
"values": "{}"
},
{
"code": "mode",
"desc": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}",
"name": "工作模式",
"type": "Enum",
"values": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
},
{
"code": "seek",
"desc": "{}",
"name": "寻找机器",
"type": "Boolean",
"values": "{}"
}
],
"status": [
{
"code": "power_go",
"name": "清扫开关",
"type": "Boolean",
"values": "{}"
},
{
"code": "pause",
"name": "暂停开关",
"type": "Boolean",
"values": "{}"
},
{
"code": "switch_charge",
"name": "回充开关",
"type": "Boolean",
"values": "{}"
},
{
"code": "mode",
"name": "工作模式",
"type": "Enum",
"values": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
},
{
"code": "seek",
"name": "寻找机器",
"type": "Boolean",
"values": "{}"
}
]
},
"success": true,
"t": 1691233861801,
"tid": "c3205c3f338011ee871736843e81b476"
}
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 2
- Comments: 18 (2 by maintainers)
I solved the problem by moving to another integration, it works great and locally. https://github.com/make-all/tuya-local/commit/53098df5532333e8dfa21c1b702ce00c88efcde2#diff-a68e498d27c3ae5c2d73d2795924de519cbb46de2aebe95cd48243441f86b2c8
My Tuya account is also in EU, and was seeing two incorrectly spelled / enumerated values returned for my vacuum
"cleanning"spelled incorrectly during a cleaning cycle, and"pause"instead of"paused"when device isn’t cleaning.Unfortunately my PR was knocked back to being a device specific issue, even though all I did was add a few extra mapped values 😦
Not sure where I’m supposed to open a Tuya support ticket, but thats the suggestion I’ve been given in my PR.