xZetsubou / hass-localtuya

🔹 A Home Assistant integration to handle Tuya devices locally "fork from localtuya"
https://xzetsubou.github.io/hass-localtuya/
GNU General Public License v3.0
287 stars 30 forks source link

robot vacuums entities not correctly identified. #158

Closed chris4824 closed 3 months ago

chris4824 commented 4 months ago

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 robot

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.3.0b3", "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.16", "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" ] }, "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", "device_id": "...", "host": "192.168.1.16", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "R3", "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": "3", "select_options": "standby,random,smart,wall_follow,mop,spiral,left_spiral,right_spiral,right_bow,left_bow,partial_bow,chargego", "friendly_name": "Mode", "icon": "mdi:layers-outline", "entity_category": "config", "platform": "select" }, { "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": "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": "112", "min_value": 0, "max_value": 100, "step_size": 1, "scaling": 1, "friendly_name": "volume", "icon": "mdi:volume-high", "entity_category": "config", "platform": "number" } ] }, "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": "az1616955819532Lesth", "update_time": 1709252277, "uuid": "a66ada4974b2c9c0", "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": 1707532756597, "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" } } } } }

2nd robot robot2

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.3.0b3", "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.16", "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" ] }, "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": "redneb", "device_id": "...", "host": "192.168.1.37", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "02.1.0003", "product_key": "...", "dps_strings": [ "1 ( code: power , value: True )", "11 ( code: fault , value: 0 )", "14 ( code: electricity_left , value: 100 )", "25 ( code: power_go , value: False )", "26 ( code: direction_control , value: foward )", "27 ( code: mode , value: standby )", "28 ( code: status , value: chargecompleted )", "29 ( code: seek , value: False, cloud pull )", "30 ( code: suction , value: normal )", "31 ( code: voice_switch , value: False )", "32 ( code: clean_area , value: 46 )", "33 ( code: clean_time , value: 53 )", "34 ( code: clean_record , value: 05304600700 )" ], "entities": [ { "id": "1", "powergo_dp": "25", "battery_dp": "14", "mode_dp": "27", "clean_area_dp": "32", "clean_record_dp": "34", "friendly_name": "", "icon": "mdi:robot-vacuum", "entity_category": "None", "platform": "vacuum" }, { "id": "27", "select_options": "standby,random,smart,wall_follow,mop,spiral,left_spiral,right_spiral,right_bow,left_bow,partial_bow,chargego", "friendly_name": "Mode", "icon": "mdi:layers-outline", "entity_category": "config", "platform": "select" }, { "id": "31", "friendly_name": "Mute Voice", "icon": "mdi:account-voice", "entity_category": "config", "platform": "switch" }, { "id": "32", "friendly_name": "", "icon": "mdi:texture-box", "entity_category": "None", "state_class": "measurement", "platform": "sensor" }, { "id": "33", "friendly_name": "", "icon": "mdi:progress-clock", "entity_category": "None", "state_class": "measurement", "platform": "sensor" } ] }, "device_cloud_info": { "active_time": 1646798272, "biz_type": 18, "category": "sd", "create_time": 1616956472, "icon": "smart/icon/ay1534681176370JSCKe/9fbbc3792b66956f8cf50df4444f3427.png", "id": "...", "ip": "2...7", "lat": "33.7600", "local_key": "...", "lon": "-79.1900", "model": "02.1.0003", "name": "redneb", "online": true, "owner_id": "38040947", "product_id": "...", "product_name": "Robotic Vacuum Cleaner", "status": [ { "code": "power", "value": true }, { "code": "power_go", "value": false }, { "code": "direction_control", "value": "foward" }, { "code": "mode", "value": "chargego" }, { "code": "status", "value": "chargecompleted" } ], "sub": false, "time_zone": "-05:00", "uid": "az1616955819532Lesth", "update_time": 1709252280, "uuid": "36f5c0ca605c5ce2", "dps_data": { "1": { "code": "power", "custom_name": "", "dp_id": 1, "time": 1708901339428, "value": true, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 1, "accessMode": "rw" }, "11": { "code": "fault", "custom_name": "", "dp_id": 11, "time": 1708901337622, "value": 0, "id": 11, "accessMode": "ro", "values": "{\"label\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\"], \"maxlen\": 16, \"type\": \"bitmap\", \"typeDefaultValue\": 0}" }, "14": { "code": "electricity_left", "custom_name": "", "dp_id": 14, "time": 1708909906444, "value": 100, "id": 14, "accessMode": "ro", "values": "{\"max\": 100, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\uff05\"}" }, "25": { "code": "power_go", "custom_name": "", "dp_id": 25, "time": 1708901388585, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 25, "accessMode": "rw" }, "26": { "code": "direction_control", "custom_name": "", "dp_id": 26, "time": 1708885434644, "value": "foward", "type": "Enum", "values": "{\"range\": [\"foward\", \"backward\", \"turn_left\", \"turn_right\", \"stop\"], \"type\": \"enum\", \"typeDefaultValue\": \"foward\"}", "id": 26, "accessMode": "rw" }, "27": { "code": "mode", "custom_name": "", "dp_id": 27, "time": 1708901388579, "value": "standby", "type": "Enum", "values": "{\"range\": [\"standby\", \"smart\", \"spiral\", \"single\", \"wall_follow\", \"chargego\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}", "id": 27, "accessMode": "rw" }, "28": { "code": "status", "custom_name": "", "dp_id": 28, "time": 1708910564853, "value": "chargecompleted", "id": 28, "accessMode": "ro", "values": "{\"range\": [\"standby\", \"working\", \"fault\", \"sleep\", \"workcompleted\", \"charging\", \"chargecompleted\", \"pause\", \"cleanning\", \"mopping\", \"docking\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}" }, "29": { "code": "seek", "custom_name": "", "dp_id": 29, "time": 1646798272877, "value": false, "id": 29, "accessMode": "wr", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "30": { "code": "suction", "custom_name": "", "dp_id": 30, "time": 1708885434650, "value": "normal", "id": 30, "accessMode": "rw", "values": "{\"range\": [\"low\", \"normal\", \"high\"], \"type\": \"enum\", \"typeDefaultValue\": \"low\"}" }, "31": { "code": "voice_switch", "custom_name": "", "dp_id": 31, "time": 1708885434783, "value": false, "id": 31, "accessMode": "rw", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "32": { "code": "clean_area", "custom_name": "", "dp_id": 32, "time": 1708888635365, "value": 46, "id": 32, "accessMode": "ro", "values": "{\"max\": 1000, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\"}" }, "33": { "code": "clean_time", "custom_name": "", "dp_id": 33, "time": 1708888630983, "value": 53, "id": 33, "accessMode": "ro", "values": "{\"max\": 300, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\"}" }, "34": { "code": "clean_record", "custom_name": "", "dp_id": 34, "time": 1708888657027, "value": "05304600700", "id": 34, "accessMode": "ro", "values": "{\"maxlen\": 255, \"type\": \"string\", \"typeDefaultValue\": \"\"}" }, "102": { "code": "log_unseen", "custom_name": "", "dp_id": 102, "time": 1646798272877, "value": "", "id": 102, "accessMode": "ro", "values": "{\"maxlen\": 255, \"type\": \"string\", \"typeDefaultValue\": \"\"}" } } } } }

Thanks for this integration and all your help.

xZetsubou commented 4 months ago

Hello, I made changes for this, you will have to re-download the master and try to auto configure it again.

chris4824 commented 4 months ago

everything is now showing up which is awesome but both vacuums are showing cleaning when they are docked

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.3.0b3", "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.16", "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", "device_id": "...", "host": "192.168.1.16", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "R3", "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,wall_follow,spiral,single", "idle_status_value": "standby,sleep", "stop_status": "standby", "paused_state": "paused", "fan_speeds": "low,normal,high", "return_mode": "chargego", "returning_status_value": "docking,to_charge", "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, "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": 1707532756597, "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" } } } } }

chris4824 commented 4 months ago

2nd robot showing cleaning when docked

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.3.0b3", "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.16", "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": "redneb", "device_id": "...", "host": "192.168.1.37", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "02.1.0003", "product_key": "...", "dps_strings": [ "1 ( code: power , value: True )", "11 ( code: fault , value: 0 )", "14 ( code: electricity_left , value: 100 )", "25 ( code: power_go , value: False )", "26 ( code: direction_control , value: foward )", "27 ( code: mode , value: standby )", "28 ( code: status , value: chargecompleted )", "29 ( code: seek , value: False, cloud pull )", "30 ( code: suction , value: normal )", "31 ( code: voice_switch , value: False )", "32 ( code: clean_area , value: 46 )", "33 ( code: clean_time , value: 53 )", "34 ( code: clean_record , value: 05304600700 )" ], "entities": [ { "id": "11", "state_on": "1", "friendly_name": "Fault", "icon": "", "entity_category": "diagnostic", "device_class": "problem", "platform": "binary_sensor" }, { "id": "26", "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": "28", "powergo_dp": "1", "battery_dp": "14", "mode_dp": "27", "fan_speed_dp": "30", "clean_time_dp": "33", "clean_area_dp": "32", "clean_record_dp": "34", "fault_dp": "11", "modes": "smart,wall_follow,spiral,single", "idle_status_value": "standby,sleep", "stop_status": "standby", "paused_state": "paused", "fan_speeds": "low,normal,high", "return_mode": "chargego", "returning_status_value": "docking,to_charge", "friendly_name": "", "icon": "mdi:robot-vacuum", "entity_category": "None", "platform": "vacuum" }, { "id": "29", "friendly_name": "Device locating", "icon": "mdi:select-marker", "entity_category": "config", "platform": "switch" }, { "id": "31", "friendly_name": "Mute Voice", "icon": "mdi:account-voice", "entity_category": "config", "platform": "switch" }, { "id": "32", "friendly_name": "", "icon": "mdi:texture-box", "entity_category": "None", "state_class": "measurement", "platform": "sensor" }, { "id": "33", "friendly_name": "", "icon": "mdi:progress-clock", "entity_category": "None", "state_class": "measurement", "platform": "sensor" } ] }, "device_cloud_info": { "active_time": 1646798272, "biz_type": 18, "category": "sd", "create_time": 1616956472, "icon": "smart/icon/ay1534681176370JSCKe/9fbbc3792b66956f8cf50df4444f3427.png", "id": "...", "ip": "2...7", "lat": "33.7600", "local_key": "...", "lon": "-79.1900", "model": "02.1.0003", "name": "redneb", "online": true, "owner_id": "38040947", "product_id": "...", "product_name": "Robotic Vacuum Cleaner", "status": [ { "code": "power", "value": true }, { "code": "power_go", "value": false }, { "code": "direction_control", "value": "foward" }, { "code": "mode", "value": "chargego" }, { "code": "status", "value": "chargecompleted" } ], "sub": false, "time_zone": "-05:00", "uid": "...", "update_time": 1709252280, "uuid": "...", "dps_data": { "1": { "code": "power", "custom_name": "", "dp_id": 1, "time": 1708901339428, "value": true, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 1, "accessMode": "rw" }, "11": { "code": "fault", "custom_name": "", "dp_id": 11, "time": 1708901337622, "value": 0, "id": 11, "accessMode": "ro", "values": "{\"label\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\"], \"maxlen\": 16, \"type\": \"bitmap\", \"typeDefaultValue\": 0}" }, "14": { "code": "electricity_left", "custom_name": "", "dp_id": 14, "time": 1708909906444, "value": 100, "id": 14, "accessMode": "ro", "values": "{\"max\": 100, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\uff05\"}" }, "25": { "code": "power_go", "custom_name": "", "dp_id": 25, "time": 1708901388585, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 25, "accessMode": "rw" }, "26": { "code": "direction_control", "custom_name": "", "dp_id": 26, "time": 1708885434644, "value": "foward", "type": "Enum", "values": "{\"range\": [\"foward\", \"backward\", \"turn_left\", \"turn_right\", \"stop\"], \"type\": \"enum\", \"typeDefaultValue\": \"foward\"}", "id": 26, "accessMode": "rw" }, "27": { "code": "mode", "custom_name": "", "dp_id": 27, "time": 1708901388579, "value": "standby", "type": "Enum", "values": "{\"range\": [\"standby\", \"smart\", \"spiral\", \"single\", \"wall_follow\", \"chargego\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}", "id": 27, "accessMode": "rw" }, "28": { "code": "status", "custom_name": "", "dp_id": 28, "time": 1708910564853, "value": "chargecompleted", "id": 28, "accessMode": "ro", "values": "{\"range\": [\"standby\", \"working\", \"fault\", \"sleep\", \"workcompleted\", \"charging\", \"chargecompleted\", \"pause\", \"cleanning\", \"mopping\", \"docking\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}" }, "29": { "code": "seek", "custom_name": "", "dp_id": 29, "time": 1646798272877, "value": false, "id": 29, "accessMode": "wr", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "30": { "code": "suction", "custom_name": "", "dp_id": 30, "time": 1708885434650, "value": "normal", "id": 30, "accessMode": "rw", "values": "{\"range\": [\"low\", \"normal\", \"high\"], \"type\": \"enum\", \"typeDefaultValue\": \"low\"}" }, "31": { "code": "voice_switch", "custom_name": "", "dp_id": 31, "time": 1708885434783, "value": false, "id": 31, "accessMode": "rw", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "32": { "code": "clean_area", "custom_name": "", "dp_id": 32, "time": 1708888635365, "value": 46, "id": 32, "accessMode": "ro", "values": "{\"max\": 1000, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\"}" }, "33": { "code": "clean_time", "custom_name": "", "dp_id": 33, "time": 1708888630983, "value": 53, "id": 33, "accessMode": "ro", "values": "{\"max\": 300, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\"}" }, "34": { "code": "clean_record", "custom_name": "", "dp_id": 34, "time": 1708888657027, "value": "05304600700", "id": 34, "accessMode": "ro", "values": "{\"maxlen\": 255, \"type\": \"string\", \"typeDefaultValue\": \"\"}" }, "102": { "code": "log_unseen", "custom_name": "", "dp_id": 102, "time": 1646798272877, "value": "", "id": 102, "accessMode": "ro", "values": "{\"maxlen\": 255, \"type\": \"string\", \"typeDefaultValue\": \"\"}" } } } } }

chris4824 commented 4 months ago

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

chris4824 commented 4 months ago

When hitting the return home button this is the error it gives

This error originated from a custom integration.

Logger: homeassistant Source: custom_components/localtuya/core/pytuya/init.py:1204 integration: LocalTuya (documentation, issues) First occurred: 6:46:44 PM (1 occurrences) Last logged: 6:46:44 PM

Error doing job: Fatal error: protocol.data_received() call failed. Traceback (most recent call last): File "/config/custom_components/localtuya/core/pytuya/init.py", line 1199, in _decode_payload json_payload = json.loads(payload) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/init.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 32 (char 31)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1017, in _read_readydata_received self._protocol.data_received(data) File "/config/custom_components/localtuya/core/pytuya/init.py", line 897, in data_received self.dispatcher.add_data(data) File "/config/custom_components/localtuya/core/pytuya/init.py", line 652, in add_data self._dispatch(msg) File "/config/custom_components/localtuya/core/pytuya/init.py", line 707, in _dispatch self.callback_status_update(msg) File "/config/custom_components/localtuya/core/pytuya/init.py", line 832, in _status_update decoded_message: dict = self._decode_payload(msg.payload) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/localtuya/core/pytuya/init__.py", line 1204, in _decode_payload raise DecodeError( custom_components.localtuya.core.pytuya.DecodeError: could not decrypt data: wrong local_key? (exception: Expecting value: line 1 column 32 (char 31), payload: {"dps":{"3":"chargego"},"type":query,"t":1709423203})

not sure if it is related.

xZetsubou commented 4 months ago

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.

chris4824 commented 4 months ago

Thats weird. I have them working some what in the smart life integration.

chris4824 commented 4 months ago

from tuya iot platform

{ "result": { "properties": [ { "code": "power_go", "custom_name": "", "dp_id": 2, "time": 1708814549048, "value": false }, { "code": "mode", "custom_name": "", "dp_id": 3, "time": 1708814493031, "value": "chargego" }, { "code": "direction_control", "custom_name": "", "dp_id": 4, "time": 1674962403451, "value": "foward" }, { "code": "status", "custom_name": "", "dp_id": 5, "time": 1709290678901, "value": "charge_done" }, { "code": "electricity_left", "custom_name": "", "dp_id": 6, "time": 1708823979301, "value": 100 }, { "code": "seek", "custom_name": "", "dp_id": 13, "time": 1674962403451, "value": true }, { "code": "suction", "custom_name": "", "dp_id": 14, "time": 1707532756597, "value": "normal" }, { "code": "clean_area", "custom_name": "", "dp_id": 16, "time": 1708814269745, "value": 46 }, { "code": "clean_time", "custom_name": "", "dp_id": 17, "time": 1708814462071, "value": 51 }, { "code": "fault", "custom_name": "", "dp_id": 18, "time": 1707532756881, "value": 0 }, { "code": "pause", "custom_name": "", "dp_id": 101, "time": 1708814549048, "value": false }, { "code": "water_mode", "custom_name": "", "dp_id": 102, "time": 1707532756597, "value": "3" }, { "code": "reset_map", "custom_name": "", "dp_id": 103, "time": 1698702580763, "value": true }, { "code": "request", "custom_name": "", "dp_id": 104, "time": 1674962403451, "value": "get_map" }, { "code": "command", "custom_name": "", "dp_id": 105, "time": 1708814494065, "value": "q3AAAAAM" }, { "code": "path_data", "custom_name": "", "dp_id": 106, "time": 1674962403451, "value": "" }, { "code": "switch_disturb", "custom_name": "", "dp_id": 107, "time": 1707532894523, "value": false }, { "code": "smart_rooms", "custom_name": "", "dp_id": 108, "time": 1674962403451, "value": "cur_rooms" }, { "code": "rooms_msg", "custom_name": "", "dp_id": 109, "time": 1699576140896, "value": 0 }, { "code": "break_clean", "custom_name": "", "dp_id": 110, "time": 1707532894523, "value": false }, { "code": "voice_language", "custom_name": "", "dp_id": 111, "time": 1707586435059, "value": "en" }, { "code": "volume_set", "custom_name": "", "dp_id": 112, "time": 1707532757253, "value": 100 }, { "code": "y_mop", "custom_name": "", "dp_id": 113, "time": 1707532894523, "value": false } ] },

chris4824 commented 4 months ago

robot

its also showing cleaning mode as chargego but that is a docked state, not a cleaning state. and I can't select a cleaning mode from a list of

{ "range": [ "smart", "zone", "pose", "part", "chargego", "wallfollow", "selectroom" ] }

xZetsubou commented 4 months ago

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 https://github.com/xZetsubou/hass-localtuya/issues/158#issuecomment-1974967721 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.

chris4824 commented 4 months ago

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.

chris4824 commented 4 months ago

One of the robots is now saying docked but the other still says cleaning. The controls for both doesn't work though.

xZetsubou commented 4 months ago

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.

chris4824 commented 4 months ago

1st robot

{ "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", "device_id": "...", "host": "192.168.1.16", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "R3", "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,wall_follow,spiral,single", "idle_status_value": "standby,sleep", "stop_status": "standby", "paused_state": "paused", "fan_speeds": "low,normal,high", "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, "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": 1707532756597, "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" } } } } }

chris4824 commented 4 months ago

2nd robot

{ "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": "redneb", "device_id": "...", "host": "192.168.1.37", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "02.1.0003", "product_key": "...", "dps_strings": [ "1 ( code: power , value: True )", "11 ( code: fault , value: 0 )", "14 ( code: electricity_left , value: 100 )", "25 ( code: power_go , value: False )", "26 ( code: direction_control , value: foward )", "27 ( code: mode , value: chargego )", "28 ( code: status , value: chargecompleted )", "29 ( code: seek , value: False, cloud pull )", "30 ( code: suction , value: normal )", "31 ( code: voice_switch , value: False )", "32 ( code: clean_area , value: 46 )", "33 ( code: clean_time , value: 53 )", "34 ( code: clean_record , value: 05304600700 )" ], "entities": [ { "id": "11", "state_on": "1", "friendly_name": "Fault", "icon": "", "entity_category": "diagnostic", "device_class": "problem", "platform": "binary_sensor" }, { "id": "26", "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": "28", "powergo_dp": "1", "battery_dp": "14", "mode_dp": "27", "fan_speed_dp": "30", "clean_time_dp": "33", "clean_area_dp": "32", "clean_record_dp": "34", "fault_dp": "11", "modes": "smart,wall_follow,spiral,single", "idle_status_value": "standby,sleep", "stop_status": "standby", "paused_state": "paused", "fan_speeds": "low,normal,high", "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": "29", "friendly_name": "Device locating", "icon": "mdi:select-marker", "entity_category": "config", "platform": "switch" }, { "id": "31", "friendly_name": "Mute Voice", "icon": "mdi:account-voice", "entity_category": "config", "platform": "switch" }, { "id": "32", "friendly_name": "", "icon": "mdi:texture-box", "entity_category": "None", "state_class": "measurement", "platform": "sensor" }, { "id": "33", "friendly_name": "", "icon": "mdi:progress-clock", "entity_category": "None", "state_class": "measurement", "platform": "sensor" } ] }, "device_cloud_info": { "active_time": 1646798272, "biz_type": 18, "category": "sd", "create_time": 1616956472, "icon": "smart/icon/ay1534681176370JSCKe/9fbbc3792b66956f8cf50df4444f3427.png", "id": "...", "ip": "2...7", "lat": "33.7600", "local_key": "...", "lon": "-79.1900", "model": "02.1.0003", "name": "redneb", "online": true, "owner_id": "38040947", "product_id": "...", "product_name": "Robotic Vacuum Cleaner", "status": [ { "code": "power", "value": true }, { "code": "power_go", "value": false }, { "code": "direction_control", "value": "foward" }, { "code": "mode", "value": "chargego" }, { "code": "status", "value": "chargecompleted" } ], "sub": false, "time_zone": "-05:00", "uid": "...", "update_time": 1709252280, "uuid": "...", "dps_data": { "1": { "code": "power", "custom_name": "", "dp_id": 1, "time": 1709395729261, "value": true, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 1, "accessMode": "rw" }, "11": { "code": "fault", "custom_name": "", "dp_id": 11, "time": 1708901337622, "value": 0, "id": 11, "accessMode": "ro", "values": "{\"label\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\"], \"maxlen\": 16, \"type\": \"bitmap\", \"typeDefaultValue\": 0}" }, "14": { "code": "electricity_left", "custom_name": "", "dp_id": 14, "time": 1708909906444, "value": 100, "id": 14, "accessMode": "ro", "values": "{\"max\": 100, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\uff05\"}" }, "25": { "code": "power_go", "custom_name": "", "dp_id": 25, "time": 1708901388585, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 25, "accessMode": "rw" }, "26": { "code": "direction_control", "custom_name": "", "dp_id": 26, "time": 1708885434644, "value": "foward", "type": "Enum", "values": "{\"range\": [\"foward\", \"backward\", \"turn_left\", \"turn_right\", \"stop\"], \"type\": \"enum\", \"typeDefaultValue\": \"foward\"}", "id": 26, "accessMode": "rw" }, "27": { "code": "mode", "custom_name": "", "dp_id": 27, "time": 1709395739635, "value": "chargego", "type": "Enum", "values": "{\"range\": [\"standby\", \"smart\", \"spiral\", \"single\", \"wall_follow\", \"chargego\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}", "id": 27, "accessMode": "rw" }, "28": { "code": "status", "custom_name": "", "dp_id": 28, "time": 1708910564853, "value": "chargecompleted", "id": 28, "accessMode": "ro", "values": "{\"range\": [\"standby\", \"working\", \"fault\", \"sleep\", \"workcompleted\", \"charging\", \"chargecompleted\", \"pause\", \"cleanning\", \"mopping\", \"docking\"], \"type\": \"enum\", \"typeDefaultValue\": \"standby\"}" }, "29": { "code": "seek", "custom_name": "", "dp_id": 29, "time": 1646798272877, "value": false, "id": 29, "accessMode": "wr", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "30": { "code": "suction", "custom_name": "", "dp_id": 30, "time": 1708885434650, "value": "normal", "id": 30, "accessMode": "rw", "values": "{\"range\": [\"low\", \"normal\", \"high\"], \"type\": \"enum\", \"typeDefaultValue\": \"low\"}" }, "31": { "code": "voice_switch", "custom_name": "", "dp_id": 31, "time": 1708885434783, "value": false, "id": 31, "accessMode": "rw", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "32": { "code": "clean_area", "custom_name": "", "dp_id": 32, "time": 1708888635365, "value": 46, "id": 32, "accessMode": "ro", "values": "{\"max\": 1000, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\"}" }, "33": { "code": "clean_time", "custom_name": "", "dp_id": 33, "time": 1708888630983, "value": 53, "id": 33, "accessMode": "ro", "values": "{\"max\": 300, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\"}" }, "34": { "code": "clean_record", "custom_name": "", "dp_id": 34, "time": 1708888657027, "value": "05304600700", "id": 34, "accessMode": "ro", "values": "{\"maxlen\": 255, \"type\": \"string\", \"typeDefaultValue\": \"\"}" }, "102": { "code": "log_unseen", "custom_name": "", "dp_id": 102, "time": 1646798272877, "value": "", "id": 102, "accessMode": "ro", "values": "{\"maxlen\": 255, \"type\": \"string\", \"typeDefaultValue\": \"\"}" } } } } }

xZetsubou commented 4 months ago

Do you configure the device each on it own and select auto configure entities or you use configure all devices checkbox?

chris4824 commented 4 months ago

Configure all checkbox

chris4824 commented 4 months ago

Just did only one. The 1st robot and it is the same

xZetsubou commented 4 months ago

Oh I just double checked the configure all feature and found out it doesn't retrieve data from cloud. 😞 It should be fixed on the latest master.

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.

chris4824 commented 4 months ago

Unfortunately it's still the same after restarting and readded

xZetsubou commented 4 months ago

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.

chris4824 commented 4 months ago
 {
  "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"
        }
      }
    }
  }
}
xZetsubou commented 4 months ago

Can you explain what the issues with it? and if the issue is related to control is there an errors in logs?

chris4824 commented 4 months ago

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

This error originated from a custom integration.

Logger: homeassistant Source: custom_components/localtuya/core/pytuya/init.py:1204 integration: LocalTuya (documentation, issues) First occurred: 12:21:33 AM (9 occurrences) Last logged: 12:43:40 AM

Error doing job: Fatal error: protocol.data_received() call failed. Traceback (most recent call last): File "/config/custom_components/localtuya/core/pytuya/init.py", line 1199, in _decode_payload json_payload = json.loads(payload) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/init.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 32 (char 31)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1017, in _read_readydata_received self._protocol.data_received(data) File "/config/custom_components/localtuya/core/pytuya/init.py", line 897, in data_received self.dispatcher.add_data(data) File "/config/custom_components/localtuya/core/pytuya/init.py", line 652, in add_data self._dispatch(msg) File "/config/custom_components/localtuya/core/pytuya/init.py", line 707, in _dispatch self.callback_status_update(msg) File "/config/custom_components/localtuya/core/pytuya/init.py", line 832, in _status_update decoded_message: dict = self._decode_payload(msg.payload) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/localtuya/core/pytuya/init__.py", line 1204, in _decode_payload raise DecodeError( custom_components.localtuya.core.pytuya.DecodeError: could not decrypt data: wrong local_key? (exception: Expecting value: line 1 column 32 (char 31), payload: {"dps":{"3":"chargego"},"type":query,"t":1709443292})

chris4824 commented 4 months ago

Also there is no way of choosing a mode.

chris4824 commented 4 months ago

This is what smart life integration looks like. Able to choose a mode Screenshot_20240303-005047

xZetsubou commented 4 months ago

master updated.

chris4824 commented 4 months ago

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.

xZetsubou commented 4 months ago

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

There most be a weird behavior that happened to the device in-order to debug that you will need to enable the debug for the device it self. Go to HA -> Devices -> LocalTuya -> Enable the debug. Click on the same LocalTuya page click "Configure" from main options choose "reconfigure existing device" choose the climate and check on enable the debug Use the device till the issue shows up. either you disable the debug from step "1" this will download log file, or go to HA -> Settings -> system -> logs -> search for "localtuya" click on show full logs and copy everything inside.

chris4824 commented 4 months ago

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.

chris4824 commented 4 months ago

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.

robot

chris4824 commented 4 months ago

forgot to mention that the test above was done with the latest master branch with last commit "prefer power_go over power".

chris4824 commented 4 months ago

here is the log

2024-03-03 09:32:00.111 ERROR (MainThread) [homeassistant] Error doing job: Fatal error: protocol.data_received() call failed. Traceback (most recent call last): File "/config/custom_components/localtuya/core/pytuya/init.py", line 1199, in _decode_payload json_payload = json.loads(payload) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/init.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 28 (char 27)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1017, in _read_readydata_received self._protocol.data_received(data) File "/config/custom_components/localtuya/core/pytuya/init.py", line 897, in data_received self.dispatcher.add_data(data) File "/config/custom_components/localtuya/core/pytuya/init.py", line 652, in add_data self._dispatch(msg) File "/config/custom_components/localtuya/core/pytuya/init.py", line 707, in _dispatch self.callback_status_update(msg) File "/config/custom_components/localtuya/core/pytuya/init.py", line 832, in _status_update decoded_message: dict = self._decode_payload(msg.payload) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/localtuya/core/pytuya/init__.py", line 1204, in _decode_payload raise DecodeError( custom_components.localtuya.core.pytuya.DecodeError: could not decrypt data: wrong local_key? (exception: Expecting value: line 1 column 28 (char 27), payload: {"dps":{"101":true},"type":query,"t":1709476319}) 2024-03-03 10:03:49.995 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:03:49.995 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:03:49.996 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:03:50.025 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:03:50.025 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:03:50.025 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:03:51.822 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 7 (device type: type_0a) 2024-03-03 10:03:51.822 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"devId":"REDACTED","uid":"REDACTED","t":"1709478231","dps":{"2":true}}' 2024-03-03 10:03:51.824 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 7 waiting for seq. number 5 2024-03-03 10:03:51.867 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 7 TuyaMessage(seqno=5, cmd=7, retcode=0, payload=b'', crc=1706869634, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:03:51.868 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 7: ignoring it 2024-03-03 10:03:52.669 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b"3.3\x00\x00\x00\x00\x00\x00\x1e\xce\x00\x00\x00\x01\xc9\xef\x19\x0fE\x1b8V\xca\xa0\xaa\x83P\x9aM\xd8\x8e\xf4\xe5\xbf\xbf\x89\xca\xcc\xb3\x91\xc5\x9ac'\xb7\xc6\xe3\xe7?W\xca\xa3\x117>\x81\x16\xa7\xd5%V", crc=15470762, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:03:52.669 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:03:52.670 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"5":"charge_done"},"t":1709478232}' 2024-03-03 10:04:00.027 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:04:00.027 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:04:00.028 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:04:00.060 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:00.060 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:04:00.060 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:04:01.824 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 7 (device type: type_0a) 2024-03-03 10:04:01.825 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"devId":"REDACTED","uid":"REDACTED","t":"1709478241","dps":{"2":true}}' 2024-03-03 10:04:01.826 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 7 waiting for seq. number 7 2024-03-03 10:04:01.901 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 7 TuyaMessage(seqno=7, cmd=7, retcode=0, payload=b'', crc=98596553, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:01.901 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 7: ignoring it 2024-03-03 10:04:10.062 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:04:10.062 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:04:10.063 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:04:10.207 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:10.207 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:04:10.208 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:04:13.479 DEBUG (MainThread) [custom_components.localtuya.select] Sending Option: SMART -> smart 2024-03-03 10:04:13.479 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 7 (device type: type_0a) 2024-03-03 10:04:13.479 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"devId":"REDACTED","uid":"REDACTED","t":"1709478253","dps":{"3":"smart"}}' 2024-03-03 10:04:13.481 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 7 waiting for seq. number 9 2024-03-03 10:04:13.578 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 7 TuyaMessage(seqno=9, cmd=7, retcode=0, payload=b'', crc=4278614649, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:13.578 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 7: ignoring it 2024-03-03 10:04:13.599 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b"3.3\x00\x00\x00\x00\x00\x00\x1e\xcf\x00\x00\x00\x01\xa3\xc8-t7\x04[\xa2\x926\x9d\x06\xdc\xbc\xa2\xf9\x91@\xeeNo'\xa5 \x1e\x07B\x1a\xdfn\x1d\xee\xc2>/3\xd2\x0c\x86\xec\x11RB\xe9'\xaf{\x8c", crc=2802034401, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:13.599 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:13.600 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"3":"smart"},"t":1709478253}' 2024-03-03 10:04:14.271 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b"3.3\x00\x00\x00\x00\x00\x00\x1e\xd0\x00\x00\x00\x01\x84\x85\x7f_\r\x17<\xfc\x08\x17J\xc6\xca\xf1%\xf7\x19\x05\xb9\xc8\xc2\xde\x08@\x9b\xf6\x03\x99g\r'\xa7\xb7\xdbR\xa5\xfd\xe3>\x13$\xaeV\xd4\x0f\xa2ZE@\xf2\xb0\xdcW\xe3\xf7a[\xfac\xa7Fs\x8c~", crc=344734532, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:14.271 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:14.272 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"2":true,"101":true,"5":"smart_clean"},"t":1709478254}' 2024-03-03 10:04:14.362 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\x1e\xd1\x00\x00\x00\x01\xcfy@!\xa4"f\xb5\xef\x01\xdeB4\x7f\xf8\x8b\xcf\x84\x80\x861\x9b+\x15\xe49\x949g\xe0\xba\x82', crc=3115269426, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:14.362 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:14.362 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"16":2},"t":1709478254}' 2024-03-03 10:04:20.013 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\x1e\xd2\x00\x00\x00\x01\xda\xb6317\x89nusF\xe5\xfd\xa2\xe0t,{\x84\xbe\xc5\xfa?9\xf1\xcc\xe9\xbe\xc6l\x14\xb8\xa2', crc=784179530, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:20.014 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:20.014 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"16":0},"t":1709478259}' 2024-03-03 10:04:20.209 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:04:20.210 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:04:20.210 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:04:20.241 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:20.241 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:04:20.242 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:04:22.926 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\x1e\xd3\x00\x00\x00\x01P8\xa2v\xa0g\xf9\xd5~\x88v\x1b\xf2q;\xc5\x04\x02\x05\xb1\r\xc8\xbb4\x0biW\x9e\x18\xcf\x83\x9c', crc=411591227, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:22.927 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:22.927 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"6":99},"t":1709478262}' 2024-03-03 10:04:27.950 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\x1e\xd4\x00\x00\x00\x01,\x0b"o8\xe3\x96\x1eA\x95\xdeb\x08p]\xd5\t\xc6\xd7\x7fXW\xbf \x9f\xdf<Xi\x17\xec\x87', crc=1067122003, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:27.950 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:27.951 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"6":98},"t":1709478267}' 2024-03-03 10:04:30.248 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:04:30.248 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:04:30.249 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:04:30.290 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:30.290 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:04:30.290 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:04:33.340 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 7 (device type: type_0a) 2024-03-03 10:04:33.341 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"devId":"REDACTED","uid":"REDACTED","t":"1709478273","dps":{"3":"chargego"}}' 2024-03-03 10:04:33.342 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 7 waiting for seq. number 12 2024-03-03 10:04:33.445 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 7 TuyaMessage(seqno=12, cmd=7, retcode=0, payload=b'', crc=3794389354, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:33.446 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 7: ignoring it 2024-03-03 10:04:33.476 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\x1e\xd5\x00\x00\x00\x01\xc6b\x041\xcf!\xcck\x001\xd0\xf0\xe3\xbf\xc5\xbb\x7f\xefyz\xdd\xd8{\xb92\x91\x16\xa1\x03c\x04IL\x11\xcc\x11\x97:,\xd0\xa9\xaf#E!\xa7\xc7\xd1', crc=985516485, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:33.477 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:33.478 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"3":"chargego"},"t":1709478273}' 2024-03-03 10:04:33.934 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\x1e\xd6\x00\x00\x00\x01\xa9\xf6\xb0\x1a\xb5\xfb\xe7\x8f\x1f\xbc\x96\x9a\x14\xdd\xfb\xb7\xfbh\xfe\x901\xe0N\x96\xccq\xf671F\x8a\x8d\xb7\x12X\xdch\xde\x93\xcaP-b\x10\xe0c\xcf@', crc=2402337811, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:33.934 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:33.935 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"5":"to_charge"},"t":1709478273}' 2024-03-03 10:04:40.291 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:04:40.291 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:04:40.292 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:04:40.403 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:40.404 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:04:40.404 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:04:50.405 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:04:50.405 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:04:50.406 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:04:50.439 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:50.439 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:04:50.439 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:04:58.225 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 8 TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b"3.3\x00\x00\x00\x00\x00\x00\x1e\xd7\x00\x00\x00\x01k\xa3,=\xd1\xde\xed\xfd-?\xc4\xa1\xc5\xf2g\xa8\xa5\x10\xa2\xbcr\x17*\x12\xc1#\xb6'\xe7\xfcQO^C\xac\xa0t\xe9\xb4\xcdL\xd2\xbd\xef\xf60+xa;\xb2:\xf3\x0b\x99I\xdd\x9f\xe0`\x95\xc3\x1d", crc=1498364644, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:04:58.225 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got status update 2024-03-03 10:04:58.226 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Deciphered data = '{"dps":{"2":false,"101":false,"5":"charging"},"t":1709478298}' 2024-03-03 10:05:00.440 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:05:00.441 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:05:00.442 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:05:00.582 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:05:00.582 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:05:00.582 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it 2024-03-03 10:05:10.583 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending command 9 (device type: type_0a) 2024-03-03 10:05:10.583 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Sending payload: b'{"gwId":"REDACTED","devId":"REDACTED"}' 2024-03-03 10:05:10.584 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Command 9 waiting for seq. number -100 2024-03-03 10:05:10.610 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Dispatching message CMD 9 TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211, crc_good=True, prefix=21930, iv=None) 2024-03-03 10:05:10.610 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] Got heartbeat response 2024-03-03 10:05:10.611 DEBUG (MainThread) [custom_components.localtuya.core.pytuya] [eb8...zlt] ACK received for command 9: ignoring it

chris4824 commented 4 months ago

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.

xZetsubou commented 4 months ago

Can you re-post the device diagnostics of the robot that has an issue? I'm confused which one is the working and not :). and by saying can only start it cleaning by selecting the mode Does that means start, stop button doesn't works?

chris4824 commented 4 months ago

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.

robot

here is the diag log

...

xZetsubou commented 3 months ago

Does your device behave the same using official Tuya integration?

chris4824 commented 3 months ago

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.

github-actions[bot] commented 3 months ago

This issue was closed because it was resolved on the release: 3.2.5