-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
robot vacuums entities not correctly identified. #158
Comments
Hello, I made changes for this, you will have to re-download the master and try to auto configure it again. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as outdated.
This comment was marked as outdated.
also tried to just start the vacuums with HA and none of the controls seem to work. Not sure if its cause its stuck on cleaning or something else. Also I'm not able to choose a cleaning mode. Thanks |
When hitting the return home button this is the error it gives
Logger: homeassistant Error doing job: Fatal error: protocol.data_received() call failed. During handling of the above exception, another exception occurred: Traceback (most recent call last): not sure if it is related. |
I know what caused your issue, but rather, there is another issue, the modes and fan speed. For some reason, it didn't retrieve values from the cloud. |
Thats weird. I have them working some what in the smart life integration. |
This comment was marked as outdated.
This comment was marked as outdated.
Hello, so I did simulated your device into auto configure entities and return the correct values however yesterday I made some changes after my last comment #158 (comment) and I thought you will re-download master version later but I guess I may be wrong 😓 ? I think you downloaded the version right after my comment. So to ensure can you re-download the latest master and delete the devices then auto configure the entities for them. |
I saw your changes and did redownloaded it and readded and restarted HA. To be sure I just did it all again and there is no change. The picture above is still how it looks a well. |
One of the robots is now saying docked but the other still says cleaning. The controls for both doesn't work though. |
Can you re-post the device diagnostics once more after last changes, I'm kinda confused I haven't made much changes in vacuum since I forked this so not sure if it upstream bug. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Do you configure the device each on it own and select auto configure entities or you use configure all devices checkbox? |
Configure all checkbox |
Just did only one. The 1st robot and it is the same |
Oh I just double checked the configure all feature and found out it doesn't retrieve data from cloud. 😞 edit to be clear the main issue of the device it wasn't that you can't control the device, it was the auto configure feature didn't pull the correct data from cloud data for the device. |
Unfortunately it's still the same after restarting and readded |
one device is enough can you share the diagnostics after last changes, now that the data pulled correctly we can look for the other issue. and explain the issue with it. |
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2024.3.0b4",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.12.2",
"docker": true,
"arch": "x86_64",
"timezone": "America/New_York",
"os_name": "Linux",
"os_version": "6.6.16-haos",
"supervisor": "2024.02.1",
"host_os": "Home Assistant OS 12.0",
"docker_version": "24.0.7",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"cielo_home": {
"version": "1.6.8",
"requirements": []
},
"weatherdotcom": {
"version": "1.1.6",
"requirements": []
},
"smartlife": {
"version": "0.1.0",
"requirements": [
"tuya-device-sharing-sdk==0.1.9"
]
},
"ttlock": {
"version": "v0.6.1",
"requirements": [
"pydantic"
]
},
"alarmo": {
"version": "v1.9.14",
"requirements": []
},
"blueiris": {
"version": "1.0.17",
"requirements": []
},
"localtuya": {
"version": "3.2.4.3",
"requirements": []
},
"alexa_media": {
"version": "4.9.2",
"requirements": [
"alexapy==1.27.10",
"packaging>=20.3",
"wrapt>=1.14.0"
]
},
"browser_mod": {
"version": "2.3.0",
"requirements": []
},
"dreo": {
"version": "0.1.3",
"requirements": [
"websockets"
]
},
"meross_cloud": {
"version": "1.2.13",
"requirements": [
"meross_iot==0.4.6.1"
]
},
"hacs": {
"version": "1.34.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "localtuya",
"name": "Local Tuya",
"codeowners": [],
"config_flow": true,
"dependencies": [],
"documentation": "https://github.com/xZetsubou/hass-localtuya/",
"integration_type": "hub",
"iot_class": "local_push",
"issue_tracker": "https://github.com/xZetsubou/hass-localtuya/issues",
"requirements": [],
"version": "3.2.4.3",
"is_built_in": false
},
"data": {
"device_config": {
"friendly_name": "Wall-E",
"host": "192.168.1.16",
"device_id": "",
"local_key": "",
"protocol_version": "3.3",
"enable_debug": false,
"node_id": null,
"model": "Lds Robot",
"product_key": "",
"dps_strings": [
"2 ( code: power_go , value: False )",
"3 ( code: mode , value: chargego )",
"4 ( code: direction_control , value: foward, cloud pull )",
"5 ( code: status , value: charge_done )",
"6 ( code: electricity_left , value: 100 )",
"13 ( code: seek , value: True, cloud pull )",
"14 ( code: suction , value: normal )",
"16 ( code: clean_area , value: 46 )",
"17 ( code: clean_time , value: 51 )",
"18 ( code: fault , value: 0 )",
"101 ( code: pause , value: False )",
"102 ( code: water_mode , value: 3 )",
"103 ( code: reset_map , value: True, cloud pull )",
"104 ( code: request , value: get_map, cloud pull )",
"105 ( code: command , value: q3AAAAAM, cloud pull )",
"107 ( code: switch_disturb , value: False )",
"108 ( code: smart_rooms , value: cur_rooms, cloud pull )",
"109 ( code: rooms_msg , value: 0, cloud pull )",
"110 ( code: break_clean , value: False )",
"111 ( code: voice_language , value: en )",
"112 ( code: volume_set , value: 100 )",
"113 ( code: y_mop , value: False )"
],
"entities": [
{
"id": "4",
"select_options": {
"foward": "Forward",
"backward": "Backward",
"turn_left": "Left",
"turn_right": "Right",
"stop": "Stop"
},
"friendly_name": "Direction",
"icon": "mdi:arrow-all",
"entity_category": "config",
"platform": "select"
},
{
"id": "5",
"powergo_dp": "2",
"battery_dp": "6",
"mode_dp": "3",
"fan_speed_dp": "14",
"pause_dp": "101",
"clean_time_dp": "17",
"clean_area_dp": "16",
"fault_dp": "18",
"modes": "smart,zone,pose,part,chargego,wallfollow,selectroom",
"idle_status_value": "standby,sleep",
"stop_status": "standby",
"paused_state": "paused",
"fan_speeds": "strong,normal,quiet",
"return_mode": "chargego",
"returning_status_value": "docking,to_charge",
"docked_status_value": "charging,chargecompleted",
"friendly_name": "",
"icon": "mdi:robot-vacuum",
"entity_category": "None",
"platform": "vacuum"
},
{
"id": "13",
"friendly_name": "Device locating",
"icon": "mdi:select-marker",
"entity_category": "config",
"platform": "switch"
},
{
"id": "16",
"friendly_name": "",
"icon": "mdi:texture-box",
"entity_category": "None",
"state_class": "measurement",
"platform": "sensor"
},
{
"id": "17",
"friendly_name": "",
"icon": "mdi:progress-clock",
"entity_category": "None",
"state_class": "measurement",
"platform": "sensor"
},
{
"id": "18",
"state_on": "1",
"friendly_name": "Fault",
"icon": "",
"entity_category": "diagnostic",
"device_class": "problem",
"platform": "binary_sensor"
},
{
"id": "103",
"friendly_name": "Reset Map",
"icon": "mdi:map-marker-remove",
"entity_category": "config",
"platform": "button"
},
{
"id": "107",
"friendly_name": "Do Not Disturb",
"icon": "mdi:minus-circle",
"entity_category": "config",
"platform": "switch"
},
{
"id": "110",
"friendly_name": "Resumable Cleaning",
"icon": "mdi:cog-play-outline",
"entity_category": "config",
"platform": "switch"
},
{
"id": "111",
"select_options": {
"cn": "Chinese",
"en": "English"
},
"friendly_name": "Dust Collection Mode",
"icon": "mdi:air-filter",
"entity_category": "config",
"platform": "select"
},
{
"id": "112",
"min_value": 0,
"max_value": 100,
"step_size": 1,
"scaling": 1.0,
"friendly_name": "volume",
"icon": "mdi:volume-high",
"entity_category": "config",
"platform": "number"
},
{
"id": "113",
"friendly_name": "Mop Y",
"icon": "mdi:dots-vertical",
"entity_category": "config",
"platform": "switch"
}
]
},
"device_cloud_info": {
"active_time": 1692144776,
"biz_type": 18,
"category": "sd",
"create_time": 1612367330,
"icon": "smart/icon/bay15948075783455pQT/425d742c39bb7ddaf06b217cf7cc60dc.jpg",
"id": "",
"ip": "6...8",
"lat": "33.7600",
"local_key": "",
"lon": "-79.1900",
"model": "R3",
"name": "Wall-E",
"online": true,
"owner_id": "38040947",
"product_id": "",
"product_name": "Lds Robot",
"status": [
{
"code": "power_go",
"value": false
},
{
"code": "mode",
"value": "chargego"
},
{
"code": "direction_control",
"value": "foward"
},
{
"code": "status",
"value": "charge_done"
},
{
"code": "electricity_left",
"value": 100
},
{
"code": "seek",
"value": true
},
{
"code": "suction",
"value": "normal"
},
{
"code": "clean_area",
"value": 46
},
{
"code": "clean_time",
"value": 51
},
{
"code": "fault",
"value": 0
},
{
"code": "pause",
"value": false
},
{
"code": "water_mode",
"value": "3"
},
{
"code": "reset_map",
"value": true
},
{
"code": "request",
"value": "get_map"
},
{
"code": "command",
"value": "q3AAAAAM"
},
{
"code": "path_data",
"value": ""
},
{
"code": "switch_disturb",
"value": false
},
{
"code": "smart_rooms",
"value": "cur_rooms"
},
{
"code": "rooms_msg",
"value": 0
},
{
"code": "break_clean",
"value": false
},
{
"code": "voice_language",
"value": "en"
},
{
"code": "volume_set",
"value": 100
},
{
"code": "y_mop",
"value": false
}
],
"sub": false,
"time_zone": "-04:00",
"uid": "",
"update_time": 1709252277,
"uuid": "",
"dps_data": {
"2": {
"code": "power_go",
"custom_name": "",
"dp_id": 2,
"time": 1708814549048,
"value": false,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 2,
"accessMode": "rw"
},
"3": {
"code": "mode",
"custom_name": "",
"dp_id": 3,
"time": 1708814493031,
"value": "chargego",
"type": "Enum",
"values": "{\"range\": [\"smart\", \"zone\", \"pose\", \"part\", \"chargego\", \"wallfollow\", \"selectroom\"], \"type\": \"enum\", \"typeDefaultValue\": \"smart\"}",
"id": 3,
"accessMode": "rw"
},
"4": {
"code": "direction_control",
"custom_name": "",
"dp_id": 4,
"time": 1674962403451,
"value": "foward",
"type": "Enum",
"values": "{\"range\": [\"foward\", \"backward\", \"turn_left\", \"turn_right\", \"stop\"], \"type\": \"enum\", \"typeDefaultValue\": \"foward\"}",
"id": 4,
"accessMode": "rw"
},
"5": {
"code": "status",
"custom_name": "",
"dp_id": 5,
"time": 1709290678901,
"value": "charge_done",
"id": 5,
"accessMode": "ro",
"values": "{\"range\": [\"standby\", \"smart_clean\", \"zone_clean\", \"part_clean\", \"paused\", \"goto_pos\", \"pos_arrived\", \"pos_unarrive\", \"to_charge\", \"charging\", \"charge_done\", \"sleep\", \"fault\", \"wall_follow\", \"direction_control\", \"selectroom\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}"
},
"6": {
"code": "electricity_left",
"custom_name": "",
"dp_id": 6,
"time": 1708823979301,
"value": 100,
"id": 6,
"accessMode": "ro",
"values": "{\"max\": 100, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"%\"}"
},
"13": {
"code": "seek",
"custom_name": "",
"dp_id": 13,
"time": 1674962403451,
"value": true,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 13,
"accessMode": "rw"
},
"14": {
"code": "suction",
"custom_name": "",
"dp_id": 14,
"time": 1709443489508,
"value": "normal",
"type": "Enum",
"values": "{\"range\": [\"strong\", \"normal\", \"quiet\"], \"type\": \"enum\", \"typeDefaultValue\": \"strong\"}",
"id": 14,
"accessMode": "rw"
},
"16": {
"code": "clean_area",
"custom_name": "",
"dp_id": 16,
"time": 1708814269745,
"value": 46,
"id": 16,
"accessMode": "ro",
"values": "{\"max\": 9999, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\u33a1\"}"
},
"17": {
"code": "clean_time",
"custom_name": "",
"dp_id": 17,
"time": 1708814462071,
"value": 51,
"id": 17,
"accessMode": "ro",
"values": "{\"max\": 9999, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\u5206\"}"
},
"18": {
"code": "fault",
"custom_name": "",
"dp_id": 18,
"time": 1707532756881,
"value": 0,
"id": 18,
"accessMode": "ro",
"values": "{\"label\": [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\"], \"maxlen\": 25, \"type\": \"bitmap\", \"typeDefaultValue\": 0}"
},
"101": {
"code": "pause",
"custom_name": "",
"dp_id": 101,
"time": 1708814549048,
"value": false,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 101,
"accessMode": "rw"
},
"102": {
"code": "water_mode",
"custom_name": "",
"dp_id": 102,
"time": 1707532756597,
"value": "3",
"type": "Enum",
"values": "{\"range\": [\"0\", \"1\", \"2\", \"3\"], \"type\": \"enum\", \"typeDefaultValue\": \"0\"}",
"id": 102,
"accessMode": "rw"
},
"103": {
"code": "reset_map",
"custom_name": "",
"dp_id": 103,
"time": 1698702580763,
"value": true,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 103,
"accessMode": "rw"
},
"104": {
"code": "request",
"custom_name": "",
"dp_id": 104,
"time": 1674962403451,
"value": "get_map",
"type": "Enum",
"values": "{\"range\": [\"get_map\", \"get_path\", \"in_map\"], \"type\": \"enum\", \"typeDefaultValue\": \"get_map\"}",
"id": 104,
"accessMode": "rw"
},
"105": {
"code": "command",
"custom_name": "",
"dp_id": 105,
"time": 1708814494065,
"value": "q3AAAAAM",
"type": "Raw",
"values": "{\"maxlen\": 128, \"type\": \"raw\"}",
"id": 105,
"accessMode": "rw"
},
"106": {
"code": "path_data",
"custom_name": "",
"dp_id": 106,
"time": 1674962403451,
"value": "",
"type": "Raw",
"values": "{\"maxlen\": 128, \"type\": \"raw\"}",
"id": 106,
"accessMode": "rw"
},
"107": {
"code": "switch_disturb",
"custom_name": "",
"dp_id": 107,
"time": 1707532894523,
"value": false,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 107,
"accessMode": "rw"
},
"108": {
"code": "smart_rooms",
"custom_name": "",
"dp_id": 108,
"time": 1674962403451,
"value": "cur_rooms",
"type": "Enum",
"values": "{\"range\": [\"cur_rooms\", \"edit_rooms\", \"segment\", \"clear_rooms\", \"save_rooms\"], \"type\": \"enum\", \"typeDefaultValue\": \"cur_rooms\"}",
"id": 108,
"accessMode": "rw"
},
"109": {
"code": "rooms_msg",
"custom_name": "",
"dp_id": 109,
"time": 1699576140896,
"value": 0,
"id": 109,
"accessMode": "ro",
"values": "{\"label\": [\"split\", \"merger\", \"map\", \"robot_cleaning\", \"active_split\", \"not_by_human\", \"save_fail\", \"split_success\", \"merger_success\", \"choice_no_found\", \"count_error\", \"choice_set_ok\"], \"maxlen\": 12, \"type\": \"bitmap\", \"typeDefaultValue\": 0}"
},
"110": {
"code": "break_clean",
"custom_name": "",
"dp_id": 110,
"time": 1707532894523,
"value": false,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 110,
"accessMode": "rw"
},
"111": {
"code": "voice_language",
"custom_name": "",
"dp_id": 111,
"time": 1707586435059,
"value": "en",
"type": "Enum",
"values": "{\"range\": [\"cn\", \"en\"], \"type\": \"enum\", \"typeDefaultValue\": \"cn\"}",
"id": 111,
"accessMode": "rw"
},
"112": {
"code": "volume_set",
"custom_name": "",
"dp_id": 112,
"time": 1707532757253,
"value": 100,
"type": "Integer",
"values": "{\"max\": 100, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"%1\"}",
"id": 112,
"accessMode": "rw"
},
"113": {
"code": "y_mop",
"custom_name": "",
"dp_id": 113,
"time": 1707532894523,
"value": false,
"type": "Boolean",
"values": "{\"type\": \"bool\", \"typeDefaultValue\": False}",
"id": 113,
"accessMode": "rw"
}
}
}
}
} |
Can you explain what the issues with it? and if the issue is related to control is there an errors in logs? |
The robot shows cleaning when it's really docked and the only control that works is the suction strength. The only error I see in the log is
Logger: homeassistant Error doing job: Fatal error: protocol.data_received() call failed. During handling of the above exception, another exception occurred: Traceback (most recent call last): |
Also there is no way of choosing a mode. |
master updated. |
I can make it work now with the mode select selecting smart cleaning. And can make it go back to dock. But when it's cleaning it now says paused. And no big deal but the buttons "play, pause, stop, location, home" and the start cleaning doesn't work. But it's not a big deal. |
That's weird I think everything should works as it should does the button doesn't behave correctly or the doesn't works at all. is this happen in both devices? edit: you can debug the device when it goes on or off
|
the only button that works is home but robot says invalid button when you press it. the others do nothing that i can tell. I will get a debug log. |
ok.. so I tested both vacuums and on 1 everything is fixed and working correctly with all buttons working.. your awesome. the other robot the start cleaning text button says invalid button when pressed, the stop button works, the play button works, return to dock works. also the start cleaning text still changes to paused when it actually should say cleaning. think that might be why the start cleaning text doesn't work. |
forgot to mention that the test above was done with the latest master branch with last commit "prefer power_go over power". |
here is the log 2024-03-03 09:32:00.111 ERROR (MainThread) [homeassistant] Error doing job: Fatal error: protocol.data_received() call failed. During handling of the above exception, another exception occurred: Traceback (most recent call last): |
Just wanted to say thank you so much for all the work you have put into this. the only issue really left is the start cleaning text does not start the cleaning on this robot. it does change to the correct status now. the other robot is still working great. but this robot I can only start it cleaning by selecting the mode. i've always used smart mode. let me know if you need anything. Thanks again. |
Can you re-post the device diagnostics of the robot that has an issue? I'm confused which one is the working and not :). |
weirdly the start button only restarts it when paused which is fine if it would just start by the "start cleaning" text. the stop button works. I have to choose a mode to get it start cleaning. I use smart mode. below is a picture of what I mean. I posted another picture earlier showing the "start cleaning" text. once it starts cleaning though its working fine. here is the diag log ... |
Does your device behave the same using official Tuya integration? |
No. It could only be started by the mode select and that was it. No buttons works. I have already removed the official tuya since yours is already WAY better for my devices. |
This issue was closed because it was resolved on the release: 3.2.5 |
Adding the 2 robots with auto configure works with no errors but doesn't show all entities and one robot shows as unavailable.
1st robot
2nd robot
Thanks for this integration and all your help.
The text was updated successfully, but these errors were encountered: