Closed mariustt closed 1 month ago
The objectives of Zigbee2MQTT and this integration are different, so it is not sufficient to follow instructions of one project when making a report on the other.
@make-all I've added the Zigbee2MQTT information to make it easier to compare dps. They are extracted from tuya cloud. There is also some other information below which is the same as the first.
Is there any missing information in this case that the issue was closed?
@make-all I have deleted irrelevant information. I just thought that more information is more useful. :)
All of the information requested on the new device template is missing. The information you are providing is for the cloud protocol, which often resembles the local protocol, but is also often different. The specific QueryThingsDataModel API result mentioned in the template, and most importantly, Home Assistant logs or diagnostics showing the values actually received from the device are needed.
@make-all Sorry, I missed the QueryThingsDataModel. I have added this information by editing the original information.
Please see if the information is now sufficient. Does the information from the logs have to be added? Because when I created the yaml config file for the TAMPA led system, all the functions were fully working the same as in the cloud. The only problem is that in order for tuya local to see all the cloud DPS, it has to be first triggered via the API before adding them locally.
@make-all based on your comments, I have updated the issue description with all the necessary information regarding the new device template. I've made sure to include the specific QueryThingsDataModel API result and Home Assistant logs/diagnostics showing the values received from the device, as you suggested.
Could you please take a moment to review the updated information? Also, I would like to inquire if it's possible to reopen the current issue or would it be more appropriate for me to create a new issue with the identical information?
Looking forward to your guidance and thank you in advance for your time.
Hi! I also have the Lefant N3. It has its own Lefant app, which lacks a lot of features, Scenes and conneciton to HA 😢 It's halfway supported in Tuya (it's a mess though), but it's the only way to have it in HA so...
Here's an initial (incomplete!) config file for it:
name: Lefant N3 vacuum
products:
- id: jtna6ihybmr0mxg8
name: Lefant N3
primary_entity:
entity: vacuum
dps:
- id: 1
name: activate
type: boolean
- id: 5
name: status
type: string
mapping:
- dps_val: standby
value: standby
- dps_val: smart
value: cleaning
- dps_val: zone_clean
value: cleaning
- dps_val: part_clean
value: cleaning
- dps_val: cleaning
value: cleaning
- dps_val: paused
value: paused
- dps_val: goto_pos
value: cleaning
- dps_val: pos_arrived
value: paused
- dps_val: pos_unarrive
value: pos_unarrive
- dps_val: goto_charge
value: returning
- dps_val: charging
value: charging
- dps_val: charge_done
value: charged
- dps_val: sleep
value: sleep
- dps_val: relocating
value: cleaning
- dps_val: relocating_recharge
value: returning
- dps_val: recharing_paused
value: paused
- dps_val: fastmaping
value: fastmaping
- dps_val: fastmaping_paused
value: paused
secondary_entities:
- entity: sensor
name: Battery
class: battery
dps:
- id: 8
type: integer
name: sensor
unit: "%"
class: measurement
- entity: sensor
name: Clean area
category: diagnostic
icon: "mdi:floor-plan"
dps:
- id: 7
type: integer
optional: true
name: sensor
unit: m2
- entity: sensor
name: Clean time
category: diagnostic
class: duration
icon: "mdi:clock-outline"
dps:
- id: 6
type: integer
optional: true
name: sensor
unit: min
- entity: select
name: Suction
category: config
dps:
- id: 9
type: string
name: option
mapping:
- dps_val: closed
value: closed
- dps_val: gentle
value: gentle
- dps_val: normal
value: normal
- dps_val: strong
value: strong
- dps_val: superstrong
value: superstrong
- entity: select
name: Cistern
category: config
dps:
- id: 10
type: string
name: option
mapping:
- dps_val: closed
value: closed
- dps_val: low
value: low
- dps_val: middle
value: middle
- dps_val: high
value: high
Return to Dock currently doesn't work with that config (it worked while working on it, but not after re-adding the device. I must have deleted the part relating to Docking and it continued working through reloads, until deleting-readding)
@make-all this device works a bit different/weird... There are 3 DPs that control the device when setting them to true:
However, those DPs don't really update/stay updated. They always stay like this
So they act more as buttons. Very weird, I know, but how can we set this up in the config file? Unless there's a better way (I hope there is), it would be something like:
I'm trying to understand constraints and conditions and take inspiration from some other vacuum config files like tesvor_s6, kogan_lx10 and ttec_reobipro but for now, it surpasses me.
I think TTEC Robipro has the same issue with buttons, as reported on #1545. Your info gives me a bit more to think about how to work with this.
After the update, the vacuum is not matched to the config file:
2024-01-29 11:49:27.921 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config lefant_n3_vacuum.yaml
2024-01-29 11:49:27.922 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Robot vacuum, missing required DPs: [{'4': 'str'}, {'126': 'bool'}, {'6': 'int'}, {'7': 'int'}]
Setting those 4 to optional: true
seems to work (eg. I know that 6 & 7 are Unknown/empty when setting it up so there's no match. 4 & 126 are probably the same), and all of the info is pulled:
A few notes:
I suppose this cannot be easily changed so that the native controls act like the auxiliar buttons?
In any case, thank you! This vacuum is great but no connection to HA was killing me. This makes it 99% perfect (cannot control volume without Lefant app and it talks very loud)
I can only try. Let me know if this change has made it better or worse.
Using the latest c67099f (dimissing a7becc1):
2024-01-29 17:55:49.971 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config lefant_n3_vacuum.yaml
2024-01-29 17:55:49.972 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Robot vacuum, missing required DPs: [{'2': 'bool'}]
Made DP 2 optional also, works then.
Native Pause
works so the change did something 🥳
Native Return to Dock
doesn't:
fyi this is the more-info dialog now (3 buttons instead of 5, but Clean Spot was unnecessary and Dock was duplicate, so it's better like this) 👍:
Thanks again for your support Jason 🙏
@make-all with 2fef921, native Return to Dock (both buttons in more-info dialog) work.
I simply updated the config file and reloaded (haven't deleted & re-added the device), but I would assume it's fine.
Thank you so much.
I have two Lefant devices and seeing some odd behavior when connecting to tuya-local, wondering if anyone can point me in the right direction on where to fix/update.
NOTE: These details were from setting up the integration w/ tuya-local via the smart life android app
I have a "Lefant N3" I can connect, but the only options for me to select as the "device type" during setup is gainsboroughlibery_entrance_lock
2024-07-18 20:37:17.655 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found: {'ip': '192.168.1.154', 'version': '3.3', 'id': 'bf9abd31d0c7dc0789utlp', 'product_id': 'yn442adgwn5ffqmz', 'data': {'ip': '192.168.1.154', 'gwId': 'bf9abd31d0c7dc0789utlp', 'active': 2, 'encrypt': True, 'productKey': 'yn442adgwn5ffqmz', 'version': '3.3', 'name': '', 'key': '', 'mac': '', 'id': 'bf9abd31d0c7dc0789utlp', 'ability': 0, 'token': '', 'wf_cfg': '', 'dev_type': 'default', 'origin': 'broadcast'}}
2024-07-18 20:37:19.437 DEBUG (MainThread) [custom_components.tuya_local.device] Refreshing device state for Test
2024-07-18 20:37:19.438 INFO (MainThread) [custom_components.tuya_local.device] Setting protocol version for Test to 3.3
2024-07-18 20:37:19.464 DEBUG (SyncWorker_27) [custom_components.tuya_local.device] Test refreshed device state: {"dps": {"4": "smart", "5": "charging", "6": 0, "7": 0, "8": 27, "9": "normal", "10": "middle", "27": true, "28": 0, "45": true, "122": false, "125": true}}
2024-07-18 20:37:19.465 DEBUG (SyncWorker_27) [custom_components.tuya_local.device] new state (incl pending): {"updated_at": 1721299039.464816, "4": "smart", "5": "charging", "6": 0, "7": 0, "8": 27, "9": "normal", "10": "middle", "27": true, "28": 0, "45": true, "122": false, "125": true}
<<<>>>
2024-07-18 20:37:33.544 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config zym201_presence_sensor.yaml
2024-07-18 20:37:33.544 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, missing required DPs: [{'101': 'str'}, {'1': 'str'}, {'102': 'int'}, {'104': 'int'}]
2024-07-18 20:37:33.545 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, DPs have incorrect type: [{'4': 'int'}, {'9': 'int'}]
2024-07-18 20:37:33.555 WARNING (MainThread) [custom_components.tuya_local.config_flow] Device matches gainsboroughliberty_entrance_lock with quality of 8%. DPS: {"updated_at": 1721299039.464816, "4": "smart", "5": "charging", "6": 0, "7": 0, "8": 27, "9": "normal", "10": "middle", "27": true, "28": 0, "45": true, "122": false, "125": true}
2024-07-18 20:37:33.555 WARNING (MainThread) [custom_components.tuya_local.config_flow] Include the previous log message with any new device request to https://github.com/make-all/tuya-local/issues/
I have a "Lefant M1" that i've successfully registered in home assistant, where it lets me select the device type lefant_n3_vacuum
and seems to work.
Following the steps in the README.md. It seemed like I needed to switch to use the Tuya Smart android app instead of the Smart Life android app, so I did that
Weirdly after doing that and trying to register the devices via tuya-local
again I get both the Lefant M1
and Lefant N3
only registering the option to setup as gainsboroughlibery_entrance_lock
device type
Tuya platform "debug device > data points":
{"1":"Switch","2":"Pause / Resume","3":"Recharge","4":"Working Mode","5":"State","6":"Cleaning time","7":"Sweeping area","8":"Electricity","9":"Suction","10":"Water quantity","11":"Looking for machines","12":"Cleaning direction","13":"Reset Map","14":"Path transfer","15":"Instruction transmission","16":"Request data","27":"Breakpoint continuous scanning","28":"Fault Alarm","32":"Timing","45":"Auto Boost","101":"禁区信息获取","102":"划区信息获取","103":"指哪扫哪获取","104":"禁区,划区,指哪扫哪状态获取","105":"地图比例_Android","106":"地图比例_IOS","107":"设备log显示","108":"退出划区清扫","109":"退出指哪扫哪","110":"获取设备信息","111":"获取嵌入式日志","112":"地图保存开关","120":"音量调节","121":"死机标志位","122":"地图保存标志位","123":"勿扰设置","124":"预约清扫","125":"在桩标志","126":"地图保存结果","150":"预留0","151":"预留1","152":"预留2","153":"预留3","154":"预留4"}
Tuya platform "API Explorer > Query Things Data Model"
{
"result": {
"model": "{\"modelId\":\"000004x6kz\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"switch_go\",\"description\":\"清扫启动、清扫停止\",\"extensions\":{\"attribute\":\"672\"},\"name\":\"清扫开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"pause\",\"description\":\"暂停有效、暂停无效\\n\",\"extensions\":{\"attribute\":\"672\"},\"name\":\"暂停/继续\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":3,\"accessMode\":\"rw\",\"code\":\"switch_charge\",\"description\":\"回充启动、回充停止\\n\",\"extensions\":{\"attribute\":\"672\"},\"name\":\"回充开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":4,\"accessMode\":\"rw\",\"code\":\"mode\",\"description\":\"smart - 自动清扫模式/全屋清扫模式 \\nchargego - 自动回充模式\\nzone - 划区清扫模式/矩形清扫模式\\npose - 指哪扫哪模式/定点清扫模式\\npart - 局部清扫模式\\nfastmapping - 快速建图\\nCleanModeSectorbased - 分区清扫\",\"extensions\":{\"attribute\":\"704\"},\"name\":\"工作模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"fastmapping\",\"CleanModeSectorbased\"]}},{\"abilityId\":5,\"accessMode\":\"ro\",\"code\":\"status\",\"description\":\"默认值(不可修改删除,否则影响控制面板逻辑):\\nstandby - 待机中\\nsmart - 自动清扫中 \\nzone_clean - 划区清扫中\\npart_clean - 局部清扫中\\ncleaning - 清扫中(备选) \\npaused - 已暂停\\ngoto_pos - 前往目标点中\\npos_arrived - 目标点已到达 \\npos_unarrive - 目标点不可达 \\ngoto_charge - 寻找充电座中 \\ncharging - 充电中\\ncharge_done - 充电完成 \\nsleep - 休眠\\nrelocating - 定位中\\nrelocating_reharge - 回充定位中\\nrecharing_paused - 回充暂停中\\nfastmaping - 快速建图中\\nfastmaping_paused - 快速建图暂停中\\n\",\"extensions\":{\"attribute\":\"706\"},\"name\":\"当前状态\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"standby\",\"smart\",\"zone_clean\",\"part_clean\",\"cleaning\",\"paused\",\"goto_pos\",\"pos_arrived\",\"pos_unarrive\",\"goto_charge\",\"charging\",\"charge_done\",\"sleep\",\"relocating\",\"relocating_recharge\",\"recharing_paused\",\"fastmaping\",\"fastmaping_paused\"]}},{\"abilityId\":6,\"accessMode\":\"ro\",\"code\":\"clean_time\",\"description\":\"默认区间为0min—9999分钟(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9min\",\"extensions\":{\"attribute\":\"192\"},\"name\":\"清扫时间\",\"typeSpec\":{\"type\":\"value\",\"max\":9999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"min\"}},{\"abilityId\":7,\"accessMode\":\"ro\",\"code\":\"clean_area\",\"description\":\"默认区间为0㎡—9999㎡(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9㎡\\n\",\"extensions\":{\"attribute\":\"192\"},\"name\":\"清扫面积\",\"typeSpec\":{\"type\":\"value\",\"max\":9999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"㎡\"}},{\"abilityId\":8,\"accessMode\":\"ro\",\"code\":\"residual_electricity\",\"description\":\"默认区间为0%—100%(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9%\\n\",\"extensions\":{\"attribute\":\"194\"},\"name\":\"剩余电量\",\"typeSpec\":{\"type\":\"value\",\"max\":100,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"%\"}},{\"abilityId\":9,\"accessMode\":\"rw\",\"code\":\"suction\",\"description\":\"默认值(可修改、删除、增加):\\nstrong - 强劲\\nnormal - 正常\\ngentle - 安静\\nclosed - 关闭\\n\\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"吸力选择\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"closed\",\"gentle\",\"normal\",\"strong\"]}},{\"abilityId\":10,\"accessMode\":\"rw\",\"code\":\"cistern\",\"description\":\"默认值(可修改、删除、增加):\\nclosed:关闭\\nlow - 低\\nmiddle - 中\\nhigh - 高\\n\\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"水量选择\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"closed\",\"low\",\"middle\",\"high\"]}},{\"abilityId\":11,\"accessMode\":\"rw\",\"code\":\"seek\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"寻找机器\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":12,\"accessMode\":\"rw\",\"code\":\"direction_control\",\"description\":\"默认值(不可修改、删除、增加),按键按下下发对应的方向值,松手下发停\",\"extensions\":{\"iconName\":\"icon-dp_compass\",\"attribute\":\"224\"},\"name\":\"清扫方向\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"forward\",\"backward\",\"turn_left\",\"turn_right\",\"stop\"]}},{\"abilityId\":13,\"accessMode\":\"rw\",\"code\":\"map_reset\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_loop\",\"attribute\":\"128\"},\"name\":\"重置地图\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":14,\"accessMode\":\"rw\",\"code\":\"path_data\",\"description\":\"相关数据协议及逻辑可参看协议文件\\n\",\"extensions\":{\"attribute\":\"736\"},\"name\":\"路径传输\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":15,\"accessMode\":\"rw\",\"code\":\"command_trans\",\"description\":\"相关数据协议及逻辑可参看协议文件\\n\",\"extensions\":{\"attribute\":\"736\"},\"name\":\"指令传输\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":16,\"accessMode\":\"rw\",\"code\":\"request\",\"description\":\"相关数据协议及逻辑可参看协议文件\\n\",\"extensions\":{\"attribute\":\"736\"},\"name\":\"请求数据\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"get_map\",\"get_path\",\"get_both\"]}},{\"abilityId\":27,\"accessMode\":\"rw\",\"code\":\"break_clean\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_wash\",\"attribute\":\"1152\"},\"name\":\"断点续扫\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":28,\"accessMode\":\"ro\",\"code\":\"fault\",\"description\":\"默认值(不可修改删除,否则影响控制面板逻辑):\\nedge_sweep_fault - 边刷故障\\nmiddle_sweep_fault - 滚刷故障\\nleft_wheel_fault - 左轮故障\\nright_wheel_fault - 右轮故障\\ngarbage_box_fault - 尘盒故障\\nland_check_fault - 地检故障\\ncollision_fault - 碰撞传感器故障\\n\\n可在后面增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加故障中状态,则为in_trouble\",\"extensions\":{\"scope\":\"fault\",\"attribute\":\"704\"},\"name\":\"故障告警\",\"typeSpec\":{\"type\":\"bitmap\",\"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\",\"25\",\"26\",\"27\",\"28\",\"29\"],\"maxlen\":30}},{\"abilityId\":32,\"accessMode\":\"rw\",\"code\":\"device_timer\",\"description\":\"相关数据协议及逻辑可参看协议文件\",\"extensions\":{\"attribute\":\"224\"},\"name\":\"定时\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":45,\"accessMode\":\"rw\",\"code\":\"auto_boost\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_up\"},\"name\":\"地毯增压\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":101,\"accessMode\":\"rw\",\"code\":\"forbidden_zone\",\"description\":\"\",\"name\":\"禁区信息获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":102,\"accessMode\":\"rw\",\"code\":\"clean_zone\",\"description\":\"\",\"name\":\"划区信息获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":103,\"accessMode\":\"rw\",\"code\":\"pos_clean\",\"description\":\"\",\"name\":\"指哪扫哪获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":104,\"accessMode\":\"rw\",\"code\":\"all_zone\",\"description\":\"\",\"name\":\"禁区,划区,指哪扫哪状态获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":105,\"accessMode\":\"rw\",\"code\":\"map_zoom_android\",\"description\":\"\",\"name\":\"地图比例_Android\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":106,\"accessMode\":\"rw\",\"code\":\"map_zoom_ios\",\"description\":\"\",\"name\":\"地图比例_IOS\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":107,\"accessMode\":\"rw\",\"code\":\"dev_log_show\",\"description\":\"\",\"name\":\"设备log显示\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":108,\"accessMode\":\"rw\",\"code\":\"clean_zone_back\",\"description\":\"\",\"name\":\"退出划区清扫\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":109,\"accessMode\":\"rw\",\"code\":\"pos_clean_back\",\"description\":\"\",\"name\":\"退出指哪扫哪\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":110,\"accessMode\":\"rw\",\"code\":\"get_device_info\",\"description\":\"\",\"name\":\"获取设备信息\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":111,\"accessMode\":\"rw\",\"code\":\"get_robot_log\",\"description\":\"\",\"name\":\"获取嵌入式日志\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":112,\"accessMode\":\"rw\",\"code\":\"switch_save_map\",\"description\":\"\",\"name\":\"地图保存开关\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":120,\"accessMode\":\"rw\",\"code\":\"voice_check\",\"description\":\"\",\"name\":\"音量调节\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":121,\"accessMode\":\"rw\",\"code\":\"robot_reboot\",\"description\":\"\",\"name\":\"死机标志位\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":122,\"accessMode\":\"rw\",\"code\":\"save_mapping\",\"description\":\"\",\"name\":\"地图保存标志位\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":123,\"accessMode\":\"rw\",\"code\":\"disturb_set\",\"description\":\"\",\"name\":\"勿扰设置\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":124,\"accessMode\":\"rw\",\"code\":\"appointment_clean\",\"description\":\"\",\"name\":\"预约清扫\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":125,\"accessMode\":\"rw\",\"code\":\"is_charging\",\"description\":\"\",\"name\":\"在桩标志\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":126,\"accessMode\":\"rw\",\"code\":\"save_map_result\",\"description\":\"\",\"name\":\"地图保存结果\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":150,\"accessMode\":\"rw\",\"code\":\"reserved0\",\"description\":\"\",\"name\":\"预留0\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":151,\"accessMode\":\"rw\",\"code\":\"reserved1\",\"description\":\"\",\"name\":\"预留1\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":152,\"accessMode\":\"rw\",\"code\":\"reserved2\",\"description\":\"\",\"name\":\"预留2\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":153,\"accessMode\":\"rw\",\"code\":\"reserved3\",\"description\":\"\",\"name\":\"预留3\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":154,\"accessMode\":\"rw\",\"code\":\"reserved4\",\"description\":\"\",\"name\":\"预留4\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}}]}]}"
},
"success": true,
"t": 1721304292759,
"tid": "f0a155f744fd11efb20dc6731f22cc33"
}
{
"modelId": "000004x6kz",
"services": [
{
"actions": [],
"code": "",
"description": "",
"events": [],
"name": "默认服务",
"properties": [
{
"abilityId": 1,
"accessMode": "rw",
"code": "switch_go",
"description": "清扫启动、清扫停止",
"extensions": {
"attribute": "672"
},
"name": "清扫开关",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 2,
"accessMode": "rw",
"code": "pause",
"description": "暂停有效、暂停无效\n",
"extensions": {
"attribute": "672"
},
"name": "暂停/继续",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 3,
"accessMode": "rw",
"code": "switch_charge",
"description": "回充启动、回充停止\n",
"extensions": {
"attribute": "672"
},
"name": "回充开关",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 4,
"accessMode": "rw",
"code": "mode",
"description": "smart - 自动清扫模式/全屋清扫模式 \nchargego - 自动回充模式\nzone - 划区清扫模式/矩形清扫模式\npose - 指哪扫哪模式/定点清扫模式\npart - 局部清扫模式\nfastmapping - 快速建图\nCleanModeSectorbased - 分区清扫",
"extensions": {
"attribute": "704"
},
"name": "工作模式",
"typeSpec": {
"type": "enum",
"range": [
"smart",
"chargego",
"zone",
"pose",
"fastmapping",
"CleanModeSectorbased"
]
}
},
{
"abilityId": 5,
"accessMode": "ro",
"code": "status",
"description": "默认值(不可修改删除,否则影响控制面板逻辑):\nstandby - 待机中\nsmart - 自动清扫中 \nzone_clean - 划区清扫中\npart_clean - 局部清扫中\ncleaning - 清扫中(备选) \npaused - 已暂停\ngoto_pos - 前往目标点中\npos_arrived - 目标点已到达 \npos_unarrive - 目标点不可达 \ngoto_charge - 寻找充电座中 \ncharging - 充电中\ncharge_done - 充电完成 \nsleep - 休眠\nrelocating - 定位中\nrelocating_reharge - 回充定位中\nrecharing_paused - 回充暂停中\nfastmaping - 快速建图中\nfastmaping_paused - 快速建图暂停中\n",
"extensions": {
"attribute": "706"
},
"name": "当前状态",
"typeSpec": {
"type": "enum",
"range": [
"standby",
"smart",
"zone_clean",
"part_clean",
"cleaning",
"paused",
"goto_pos",
"pos_arrived",
"pos_unarrive",
"goto_charge",
"charging",
"charge_done",
"sleep",
"relocating",
"relocating_recharge",
"recharing_paused",
"fastmaping",
"fastmaping_paused"
]
}
},
{
"abilityId": 6,
"accessMode": "ro",
"code": "clean_time",
"description": "默认区间为0min—9999分钟(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9min",
"extensions": {
"attribute": "192"
},
"name": "清扫时间",
"typeSpec": {
"type": "value",
"max": 9999,
"min": 0,
"scale": 0,
"step": 1,
"unit": "min"
}
},
{
"abilityId": 7,
"accessMode": "ro",
"code": "clean_area",
"description": "默认区间为0㎡—9999㎡(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9㎡\n",
"extensions": {
"attribute": "192"
},
"name": "清扫面积",
"typeSpec": {
"type": "value",
"max": 9999,
"min": 0,
"scale": 0,
"step": 1,
"unit": "㎡"
}
},
{
"abilityId": 8,
"accessMode": "ro",
"code": "residual_electricity",
"description": "默认区间为0%—100%(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9%\n",
"extensions": {
"attribute": "194"
},
"name": "剩余电量",
"typeSpec": {
"type": "value",
"max": 100,
"min": 0,
"scale": 0,
"step": 1,
"unit": "%"
}
},
{
"abilityId": 9,
"accessMode": "rw",
"code": "suction",
"description": "默认值(可修改、删除、增加):\nstrong - 强劲\nnormal - 正常\ngentle - 安静\nclosed - 关闭\n\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto",
"extensions": {
"attribute": "128"
},
"name": "吸力选择",
"typeSpec": {
"type": "enum",
"range": [
"closed",
"gentle",
"normal",
"strong"
]
}
},
{
"abilityId": 10,
"accessMode": "rw",
"code": "cistern",
"description": "默认值(可修改、删除、增加):\nclosed:关闭\nlow - 低\nmiddle - 中\nhigh - 高\n\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto",
"extensions": {
"attribute": "128"
},
"name": "水量选择",
"typeSpec": {
"type": "enum",
"range": [
"closed",
"low",
"middle",
"high"
]
}
},
{
"abilityId": 11,
"accessMode": "rw",
"code": "seek",
"description": "",
"extensions": {
"attribute": "128"
},
"name": "寻找机器",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 12,
"accessMode": "rw",
"code": "direction_control",
"description": "默认值(不可修改、删除、增加),按键按下下发对应的方向值,松手下发停",
"extensions": {
"iconName": "icon-dp_compass",
"attribute": "224"
},
"name": "清扫方向",
"typeSpec": {
"type": "enum",
"range": [
"forward",
"backward",
"turn_left",
"turn_right",
"stop"
]
}
},
{
"abilityId": 13,
"accessMode": "rw",
"code": "map_reset",
"description": "",
"extensions": {
"iconName": "icon-dp_loop",
"attribute": "128"
},
"name": "重置地图",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 14,
"accessMode": "rw",
"code": "path_data",
"description": "相关数据协议及逻辑可参看协议文件\n",
"extensions": {
"attribute": "736"
},
"name": "路径传输",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 15,
"accessMode": "rw",
"code": "command_trans",
"description": "相关数据协议及逻辑可参看协议文件\n",
"extensions": {
"attribute": "736"
},
"name": "指令传输",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 16,
"accessMode": "rw",
"code": "request",
"description": "相关数据协议及逻辑可参看协议文件\n",
"extensions": {
"attribute": "736"
},
"name": "请求数据",
"typeSpec": {
"type": "enum",
"range": [
"get_map",
"get_path",
"get_both"
]
}
},
{
"abilityId": 27,
"accessMode": "rw",
"code": "break_clean",
"description": "",
"extensions": {
"iconName": "icon-dp_wash",
"attribute": "1152"
},
"name": "断点续扫",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 28,
"accessMode": "ro",
"code": "fault",
"description": "默认值(不可修改删除,否则影响控制面板逻辑):\nedge_sweep_fault - 边刷故障\nmiddle_sweep_fault - 滚刷故障\nleft_wheel_fault - 左轮故障\nright_wheel_fault - 右轮故障\ngarbage_box_fault - 尘盒故障\nland_check_fault - 地检故障\ncollision_fault - 碰撞传感器故障\n\n可在后面增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加故障中状态,则为in_trouble",
"extensions": {
"scope": "fault",
"attribute": "704"
},
"name": "故障告警",
"typeSpec": {
"type": "bitmap",
"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",
"25",
"26",
"27",
"28",
"29"
],
"maxlen": 30
}
},
{
"abilityId": 32,
"accessMode": "rw",
"code": "device_timer",
"description": "相关数据协议及逻辑可参看协议文件",
"extensions": {
"attribute": "224"
},
"name": "定时",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 45,
"accessMode": "rw",
"code": "auto_boost",
"description": "",
"extensions": {
"iconName": "icon-dp_up"
},
"name": "地毯增压",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 101,
"accessMode": "rw",
"code": "forbidden_zone",
"description": "",
"name": "禁区信息获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 102,
"accessMode": "rw",
"code": "clean_zone",
"description": "",
"name": "划区信息获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 103,
"accessMode": "rw",
"code": "pos_clean",
"description": "",
"name": "指哪扫哪获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 104,
"accessMode": "rw",
"code": "all_zone",
"description": "",
"name": "禁区,划区,指哪扫哪状态获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 105,
"accessMode": "rw",
"code": "map_zoom_android",
"description": "",
"name": "地图比例_Android",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 106,
"accessMode": "rw",
"code": "map_zoom_ios",
"description": "",
"name": "地图比例_IOS",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 107,
"accessMode": "rw",
"code": "dev_log_show",
"description": "",
"name": "设备log显示",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 108,
"accessMode": "rw",
"code": "clean_zone_back",
"description": "",
"name": "退出划区清扫",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 109,
"accessMode": "rw",
"code": "pos_clean_back",
"description": "",
"name": "退出指哪扫哪",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 110,
"accessMode": "rw",
"code": "get_device_info",
"description": "",
"name": "获取设备信息",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 111,
"accessMode": "rw",
"code": "get_robot_log",
"description": "",
"name": "获取嵌入式日志",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 112,
"accessMode": "rw",
"code": "switch_save_map",
"description": "",
"name": "地图保存开关",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 120,
"accessMode": "rw",
"code": "voice_check",
"description": "",
"name": "音量调节",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 121,
"accessMode": "rw",
"code": "robot_reboot",
"description": "",
"name": "死机标志位",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 122,
"accessMode": "rw",
"code": "save_mapping",
"description": "",
"name": "地图保存标志位",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 123,
"accessMode": "rw",
"code": "disturb_set",
"description": "",
"name": "勿扰设置",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 124,
"accessMode": "rw",
"code": "appointment_clean",
"description": "",
"name": "预约清扫",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 125,
"accessMode": "rw",
"code": "is_charging",
"description": "",
"name": "在桩标志",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 126,
"accessMode": "rw",
"code": "save_map_result",
"description": "",
"name": "地图保存结果",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 150,
"accessMode": "rw",
"code": "reserved0",
"description": "",
"name": "预留0",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 151,
"accessMode": "rw",
"code": "reserved1",
"description": "",
"name": "预留1",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 152,
"accessMode": "rw",
"code": "reserved2",
"description": "",
"name": "预留2",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 153,
"accessMode": "rw",
"code": "reserved3",
"description": "",
"name": "预留3",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 154,
"accessMode": "rw",
"code": "reserved4",
"description": "",
"name": "预留4",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
}
]
}
]
}
Tuya platform "debug device > data points":
{"1":"Switch","2":"Pause / Resume","3":"Recharge","4":"Working Mode","5":"State","6":"Cleaning time","7":"Sweeping area","8":"Electricity","9":"Suction","10":"Water quantity","11":"Looking for machines","12":"Cleaning direction","13":"Reset Map","14":"Path transfer","15":"Instruction transmission","16":"Request data","27":"Breakpoint continuous scanning","28":"Fault Alarm","32":"Timing","33":"Disturb Time_ Set","45":"Auto Boost","101":"禁区信息获取","102":"划区信息获取","103":"指哪扫哪获取","104":"禁区,划区,指哪扫哪状态获取","105":"地图比例_Android","106":"地图比例_IOS","107":"设备log显示","108":"退出划区清扫","109":"退出指哪扫哪","110":"获取设备信息","111":"获取嵌入式日志","112":"地图保存开关","120":"音量调节","121":"死机标志位","122":"地图保存标志位","123":"勿扰设置","124":"预约清扫","125":"在桩标志","126":"地图保存结果","150":"个性化清扫","151":"清扫定制开关","152":"清扫顺序","153":"设备判断存图","154":"定时任务","155":"设备mac地址","156":"预留6","157":"预留7","158":"预留8","159":"预留9","160":"预留10","161":"预留11","162":"预留12","163":"预留13","164":"预留14","165":"预留15","166":"预留16","167":"预留17","168":"预留18","169":"预留19","170":"预留20","171":"预留21","172":"预留22","173":"预留23","174":"预留24","175":"预留25","176":"预留26","177":"预留27","178":"预留28","179":"预留29","180":"预留30","181":"预留31","182":"预留32","183":"预留33","184":"预留34","185":"预留35","186":"预留36","187":"预留37","188":"预留38","189":"预留39","190":"预留40"}
Tuya platform "API Explorer > Query Things Data Model"
{
"result": {
"model": "{\"modelId\":\"dwzcjg\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"switch_go\",\"description\":\"清扫启动、清扫停止\",\"extensions\":{\"attribute\":\"672\"},\"name\":\"清扫开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"pause\",\"description\":\"暂停有效、暂停无效\\n\",\"extensions\":{\"attribute\":\"672\"},\"name\":\"暂停/继续\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":3,\"accessMode\":\"rw\",\"code\":\"switch_charge\",\"description\":\"回充启动、回充停止\\n\",\"extensions\":{\"attribute\":\"672\"},\"name\":\"回充开关\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":4,\"accessMode\":\"rw\",\"code\":\"mode\",\"description\":\"smart - 自动清扫模式/全屋清扫模式 \\nchargego - 自动回充模式\\nzone - 划区清扫模式/矩形清扫模式\\npose - 指哪扫哪模式/定点清扫模式\\npart - 局部清扫模式\\nfastmapping - 快速建图\\nCleanModeSectorbased - 分区清扫\",\"extensions\":{\"attribute\":\"704\"},\"name\":\"工作模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"fastmapping\",\"CleanModeSectorbased\"]}},{\"abilityId\":5,\"accessMode\":\"ro\",\"code\":\"status\",\"description\":\"默认值(不可修改删除,否则影响控制面板逻辑):\\nstandby - 待机中\\nsmart - 自动清扫中 \\nzone_clean - 划区清扫中\\npart_clean - 局部清扫中\\ncleaning - 清扫中(备选) \\npaused - 已暂停\\ngoto_pos - 前往目标点中\\npos_arrived - 目标点已到达 \\npos_unarrive - 目标点不可达 \\ngoto_charge - 寻找充电座中 \\ncharging - 充电中\\ncharge_done - 充电完成 \\nsleep - 休眠\\nrelocating - 定位中\\nrelocating_reharge - 回充定位中\\nrecharing_paused - 回充暂停中\\nfastmaping - 快速建图中\\nfastmaping_paused - 快速建图暂停中\\n\",\"extensions\":{\"attribute\":\"706\"},\"name\":\"当前状态\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"standby\",\"smart\",\"zone_clean\",\"part_clean\",\"cleaning\",\"paused\",\"goto_pos\",\"pos_arrived\",\"pos_unarrive\",\"goto_charge\",\"charging\",\"charge_done\",\"sleep\",\"relocating\",\"relocating_recharge\",\"recharing_paused\",\"fastmaping\",\"fastmaping_paused\"]}},{\"abilityId\":6,\"accessMode\":\"ro\",\"code\":\"clean_time\",\"description\":\"默认区间为0min—9999分钟(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9min\",\"extensions\":{\"attribute\":\"192\"},\"name\":\"清扫时间\",\"typeSpec\":{\"type\":\"value\",\"max\":9999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"min\"}},{\"abilityId\":7,\"accessMode\":\"ro\",\"code\":\"clean_area\",\"description\":\"默认区间为0㎡—9999㎡(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9㎡\\n\",\"extensions\":{\"attribute\":\"192\"},\"name\":\"清扫面积\",\"typeSpec\":{\"type\":\"value\",\"max\":9999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"㎡\"}},{\"abilityId\":8,\"accessMode\":\"ro\",\"code\":\"residual_electricity\",\"description\":\"默认区间为0%—100%(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9%\\n\",\"extensions\":{\"attribute\":\"194\"},\"name\":\"剩余电量\",\"typeSpec\":{\"type\":\"value\",\"max\":100,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"%\"}},{\"abilityId\":9,\"accessMode\":\"rw\",\"code\":\"suction\",\"description\":\"默认值(可修改、删除、增加):\\nsuperstrong-超强\\nstrong - 强劲\\nnormal - 正常\\ngentle - 安静\\nclosed - 关闭\\n\\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"吸力选择\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"closed\",\"gentle\",\"normal\",\"strong\",\"superstrong\"]}},{\"abilityId\":10,\"accessMode\":\"rw\",\"code\":\"cistern\",\"description\":\"默认值(可修改、删除、增加):\\nclosed-关\\nlow - 低\\nmiddle - 中\\nhigh - 高\\nclosed - 关闭\\n\\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"水量选择\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"closed\",\"low\",\"middle\",\"high\"]}},{\"abilityId\":11,\"accessMode\":\"rw\",\"code\":\"seek\",\"description\":\"\",\"extensions\":{\"attribute\":\"128\"},\"name\":\"寻找机器\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":12,\"accessMode\":\"rw\",\"code\":\"direction_control\",\"description\":\"默认值(不可修改、删除、增加),按键按下下发对应的方向值,松手下发停\",\"extensions\":{\"iconName\":\"icon-dp_compass\",\"attribute\":\"224\"},\"name\":\"清扫方向\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"forward\",\"backward\",\"turn_left\",\"turn_right\",\"stop\"]}},{\"abilityId\":13,\"accessMode\":\"rw\",\"code\":\"map_reset\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_loop\",\"attribute\":\"128\"},\"name\":\"重置地图\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":14,\"accessMode\":\"rw\",\"code\":\"path_data\",\"description\":\"相关数据协议及逻辑可参看协议文件\\n\",\"extensions\":{\"attribute\":\"736\"},\"name\":\"路径传输\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":15,\"accessMode\":\"rw\",\"code\":\"command_trans\",\"description\":\"相关数据协议及逻辑可参看协议文件\\n\",\"extensions\":{\"attribute\":\"736\"},\"name\":\"指令传输\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":16,\"accessMode\":\"rw\",\"code\":\"request\",\"description\":\"相关数据协议及逻辑可参看协议文件\\n\",\"extensions\":{\"attribute\":\"736\"},\"name\":\"请求数据\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"get_map\",\"get_path\",\"get_both\"]}},{\"abilityId\":27,\"accessMode\":\"rw\",\"code\":\"break_clean\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_wash\",\"attribute\":\"1152\"},\"name\":\"断点续扫\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":28,\"accessMode\":\"ro\",\"code\":\"fault\",\"description\":\"默认值(不可修改删除,否则影响控制面板逻辑):\\nedge_sweep_fault - 边刷故障\\nmiddle_sweep_fault - 滚刷故障\\nleft_wheel_fault - 左轮故障\\nright_wheel_fault - 右轮故障\\ngarbage_box_fault - 尘盒故障\\nland_check_fault - 地检故障\\ncollision_fault - 碰撞传感器故障\\n\\n可在后面增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加故障中状态,则为in_trouble\",\"extensions\":{\"scope\":\"fault\",\"attribute\":\"704\"},\"name\":\"故障告警\",\"typeSpec\":{\"type\":\"bitmap\",\"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\",\"25\",\"26\",\"27\",\"28\",\"29\"],\"maxlen\":30}},{\"abilityId\":32,\"accessMode\":\"rw\",\"code\":\"device_timer\",\"description\":\"相关数据协议及逻辑可参看协议文件\",\"extensions\":{\"attribute\":\"224\"},\"name\":\"定时\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":33,\"accessMode\":\"rw\",\"code\":\"disturb_time_set\",\"description\":\"相关数据协议及逻辑可参看开发包中激光扫地机地图协议文件\",\"extensions\":{\"iconName\":\"icon-dp_time3\",\"attribute\":\"224\"},\"name\":\"勿扰时间设置\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":45,\"accessMode\":\"rw\",\"code\":\"auto_boost\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_up\"},\"name\":\"地毯增压\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":101,\"accessMode\":\"rw\",\"code\":\"forbidden_zone\",\"description\":\"\",\"name\":\"禁区信息获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":102,\"accessMode\":\"rw\",\"code\":\"clean_zone\",\"description\":\"\",\"name\":\"划区信息获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":103,\"accessMode\":\"rw\",\"code\":\"pos_clean\",\"description\":\"\",\"name\":\"指哪扫哪获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":104,\"accessMode\":\"rw\",\"code\":\"all_zone\",\"description\":\"\",\"name\":\"禁区,划区,指哪扫哪状态获取\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":105,\"accessMode\":\"rw\",\"code\":\"map_zoom_android\",\"description\":\"\",\"name\":\"地图比例_Android\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":106,\"accessMode\":\"rw\",\"code\":\"map_zoom_ios\",\"description\":\"\",\"name\":\"地图比例_IOS\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":107,\"accessMode\":\"rw\",\"code\":\"dev_log_show\",\"description\":\"\",\"name\":\"设备log显示\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":108,\"accessMode\":\"rw\",\"code\":\"clean_zone_back\",\"description\":\"\",\"name\":\"退出划区清扫\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":109,\"accessMode\":\"rw\",\"code\":\"pos_clean_back\",\"description\":\"\",\"name\":\"退出指哪扫哪\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":110,\"accessMode\":\"rw\",\"code\":\"get_device_info\",\"description\":\"\",\"name\":\"获取设备信息\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":111,\"accessMode\":\"rw\",\"code\":\"get_robot_log\",\"description\":\"\",\"name\":\"获取嵌入式日志\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":112,\"accessMode\":\"rw\",\"code\":\"switch_save_map\",\"description\":\"\",\"name\":\"地图保存开关\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":120,\"accessMode\":\"rw\",\"code\":\"voice_check\",\"description\":\"\",\"name\":\"音量调节\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":121,\"accessMode\":\"rw\",\"code\":\"robot_reboot\",\"description\":\"\",\"name\":\"死机标志位\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":122,\"accessMode\":\"rw\",\"code\":\"save_mapping\",\"description\":\"有历史地图1 没有历史地图0\",\"name\":\"地图保存标志位\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":123,\"accessMode\":\"rw\",\"code\":\"disturb_set\",\"description\":\"\",\"name\":\"勿扰设置\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":124,\"accessMode\":\"rw\",\"code\":\"appointment_clean\",\"description\":\"\",\"name\":\"预约清扫\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":125,\"accessMode\":\"rw\",\"code\":\"is_charging\",\"description\":\"在充电桩上1 \\n不在充电桩0\",\"name\":\"在桩标志\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":126,\"accessMode\":\"rw\",\"code\":\"save_map_result\",\"description\":\"地图是否保存,保存失败要弹窗为1,成功则为0\",\"name\":\"地图保存结果\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":150,\"accessMode\":\"rw\",\"code\":\"personalized_cleaning\",\"description\":\"\",\"name\":\"个性化清扫\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":151,\"accessMode\":\"rw\",\"code\":\"cleaning_custom_switch\",\"description\":\"\",\"name\":\"清扫定制开关\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":152,\"accessMode\":\"rw\",\"code\":\"cleaning_sequence\",\"description\":\"\",\"name\":\"清扫顺序\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":153,\"accessMode\":\"rw\",\"code\":\"device_judgment_savemap\",\"description\":\"\",\"name\":\"设备判断存图\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":154,\"accessMode\":\"rw\",\"code\":\"time_taask\",\"description\":\"\",\"name\":\"定时任务\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":155,\"accessMode\":\"rw\",\"code\":\"device_mac_address\",\"description\":\"\",\"name\":\"设备mac地址\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":156,\"accessMode\":\"rw\",\"code\":\"reserved6\",\"description\":\"\",\"name\":\"预留6\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":157,\"accessMode\":\"rw\",\"code\":\"reserved7\",\"description\":\"\",\"name\":\"预留7\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":158,\"accessMode\":\"rw\",\"code\":\"reserved8\",\"description\":\"\",\"name\":\"预留8\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":159,\"accessMode\":\"rw\",\"code\":\"reserved9\",\"description\":\"\",\"name\":\"预留9\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":160,\"accessMode\":\"rw\",\"code\":\"reserved10\",\"description\":\"\",\"name\":\"预留10\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":161,\"accessMode\":\"rw\",\"code\":\"reserved11\",\"description\":\"\",\"name\":\"预留11\",\"typeSpec\":{\"type\":\"value\",\"max\":999999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":162,\"accessMode\":\"rw\",\"code\":\"reserved12\",\"description\":\"\",\"name\":\"预留12\",\"typeSpec\":{\"type\":\"value\",\"max\":999999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":163,\"accessMode\":\"rw\",\"code\":\"reserved13\",\"description\":\"\",\"name\":\"预留13\",\"typeSpec\":{\"type\":\"value\",\"max\":999999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":164,\"accessMode\":\"rw\",\"code\":\"reserved14\",\"description\":\"\",\"name\":\"预留14\",\"typeSpec\":{\"type\":\"value\",\"max\":999999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":165,\"accessMode\":\"rw\",\"code\":\"reserved15\",\"description\":\"\",\"name\":\"预留15\",\"typeSpec\":{\"type\":\"value\",\"max\":999999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},{\"abilityId\":166,\"accessMode\":\"rw\",\"code\":\"reserved16\",\"description\":\"\",\"name\":\"预留16\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":167,\"accessMode\":\"rw\",\"code\":\"reserved17\",\"description\":\"\",\"name\":\"预留17\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":168,\"accessMode\":\"rw\",\"code\":\"reserved18\",\"description\":\"\",\"name\":\"预留18\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":169,\"accessMode\":\"rw\",\"code\":\"reserved19\",\"description\":\"\",\"name\":\"预留19\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":170,\"accessMode\":\"rw\",\"code\":\"reserved20\",\"description\":\"\",\"name\":\"预留20\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},{\"abilityId\":171,\"accessMode\":\"rw\",\"code\":\"reserved21\",\"description\":\"\",\"name\":\"预留21\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":172,\"accessMode\":\"rw\",\"code\":\"reserved22\",\"description\":\"\",\"name\":\"预留22\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":173,\"accessMode\":\"rw\",\"code\":\"reserved23\",\"description\":\"\",\"name\":\"预留23\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":174,\"accessMode\":\"rw\",\"code\":\"reserved24\",\"description\":\"\",\"name\":\"预留24\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":175,\"accessMode\":\"rw\",\"code\":\"reserved25\",\"description\":\"\",\"name\":\"预留25\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":176,\"accessMode\":\"rw\",\"code\":\"reserved26\",\"description\":\"\",\"name\":\"预留26\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":177,\"accessMode\":\"rw\",\"code\":\"reserved27\",\"description\":\"\",\"name\":\"预留27\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":178,\"accessMode\":\"rw\",\"code\":\"reserved28\",\"description\":\"\",\"name\":\"预留28\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":179,\"accessMode\":\"rw\",\"code\":\"reserved29\",\"description\":\"\",\"name\":\"预留29\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":180,\"accessMode\":\"rw\",\"code\":\"reserved30\",\"description\":\"\",\"name\":\"预留30\",\"typeSpec\":{\"type\":\"bool\"}},{\"abilityId\":181,\"accessMode\":\"rw\",\"code\":\"reserved31\",\"description\":\"\",\"name\":\"预留31\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":182,\"accessMode\":\"rw\",\"code\":\"reserved32\",\"description\":\"\",\"name\":\"预留32\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":183,\"accessMode\":\"rw\",\"code\":\"reserved33\",\"description\":\"\",\"name\":\"预留33\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":184,\"accessMode\":\"rw\",\"code\":\"reserved34\",\"description\":\"\",\"name\":\"预留34\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":185,\"accessMode\":\"rw\",\"code\":\"reserved35\",\"description\":\"\",\"name\":\"预留35\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":186,\"accessMode\":\"rw\",\"code\":\"reserved36\",\"description\":\"\",\"name\":\"预留36\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":187,\"accessMode\":\"rw\",\"code\":\"reserved37\",\"description\":\"\",\"name\":\"预留37\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":188,\"accessMode\":\"rw\",\"code\":\"reserved38\",\"description\":\"\",\"name\":\"预留38\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":189,\"accessMode\":\"rw\",\"code\":\"reserved39\",\"description\":\"\",\"name\":\"预留39\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},{\"abilityId\":190,\"accessMode\":\"rw\",\"code\":\"reserved40\",\"description\":\"\",\"name\":\"预留40\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}}]}]}"
},
"success": true,
"t": 1721304334677,
"tid": "09a7fc4f44fe11ef951b0ac953b99798"
}
{
"modelId": "dwzcjg",
"services": [
{
"actions": [],
"code": "",
"description": "",
"events": [],
"name": "默认服务",
"properties": [
{
"abilityId": 1,
"accessMode": "rw",
"code": "switch_go",
"description": "清扫启动、清扫停止",
"extensions": {
"attribute": "672"
},
"name": "清扫开关",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 2,
"accessMode": "rw",
"code": "pause",
"description": "暂停有效、暂停无效\n",
"extensions": {
"attribute": "672"
},
"name": "暂停/继续",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 3,
"accessMode": "rw",
"code": "switch_charge",
"description": "回充启动、回充停止\n",
"extensions": {
"attribute": "672"
},
"name": "回充开关",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 4,
"accessMode": "rw",
"code": "mode",
"description": "smart - 自动清扫模式/全屋清扫模式 \nchargego - 自动回充模式\nzone - 划区清扫模式/矩形清扫模式\npose - 指哪扫哪模式/定点清扫模式\npart - 局部清扫模式\nfastmapping - 快速建图\nCleanModeSectorbased - 分区清扫",
"extensions": {
"attribute": "704"
},
"name": "工作模式",
"typeSpec": {
"type": "enum",
"range": [
"smart",
"chargego",
"zone",
"pose",
"fastmapping",
"CleanModeSectorbased"
]
}
},
{
"abilityId": 5,
"accessMode": "ro",
"code": "status",
"description": "默认值(不可修改删除,否则影响控制面板逻辑):\nstandby - 待机中\nsmart - 自动清扫中 \nzone_clean - 划区清扫中\npart_clean - 局部清扫中\ncleaning - 清扫中(备选) \npaused - 已暂停\ngoto_pos - 前往目标点中\npos_arrived - 目标点已到达 \npos_unarrive - 目标点不可达 \ngoto_charge - 寻找充电座中 \ncharging - 充电中\ncharge_done - 充电完成 \nsleep - 休眠\nrelocating - 定位中\nrelocating_reharge - 回充定位中\nrecharing_paused - 回充暂停中\nfastmaping - 快速建图中\nfastmaping_paused - 快速建图暂停中\n",
"extensions": {
"attribute": "706"
},
"name": "当前状态",
"typeSpec": {
"type": "enum",
"range": [
"standby",
"smart",
"zone_clean",
"part_clean",
"cleaning",
"paused",
"goto_pos",
"pos_arrived",
"pos_unarrive",
"goto_charge",
"charging",
"charge_done",
"sleep",
"relocating",
"relocating_recharge",
"recharing_paused",
"fastmaping",
"fastmaping_paused"
]
}
},
{
"abilityId": 6,
"accessMode": "ro",
"code": "clean_time",
"description": "默认区间为0min—9999分钟(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9min",
"extensions": {
"attribute": "192"
},
"name": "清扫时间",
"typeSpec": {
"type": "value",
"max": 9999,
"min": 0,
"scale": 0,
"step": 1,
"unit": "min"
}
},
{
"abilityId": 7,
"accessMode": "ro",
"code": "clean_area",
"description": "默认区间为0㎡—9999㎡(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9㎡\n",
"extensions": {
"attribute": "192"
},
"name": "清扫面积",
"typeSpec": {
"type": "value",
"max": 9999,
"min": 0,
"scale": 0,
"step": 1,
"unit": "㎡"
}
},
{
"abilityId": 8,
"accessMode": "ro",
"code": "residual_electricity",
"description": "默认区间为0%—100%(没有小数点),如果需要显示为小数点,可以修改倍数参数,例如需要支持一位小数点,则倍数参数为1,上报的数值会经过计算,保留一位小数,例如上报589,经过换算后为58.9%\n",
"extensions": {
"attribute": "194"
},
"name": "剩余电量",
"typeSpec": {
"type": "value",
"max": 100,
"min": 0,
"scale": 0,
"step": 1,
"unit": "%"
}
},
{
"abilityId": 9,
"accessMode": "rw",
"code": "suction",
"description": "默认值(可修改、删除、增加):\nsuperstrong-超强\nstrong - 强劲\nnormal - 正常\ngentle - 安静\nclosed - 关闭\n\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto",
"extensions": {
"attribute": "128"
},
"name": "吸力选择",
"typeSpec": {
"type": "enum",
"range": [
"closed",
"gentle",
"normal",
"strong",
"superstrong"
]
}
},
{
"abilityId": 10,
"accessMode": "rw",
"code": "cistern",
"description": "默认值(可修改、删除、增加):\nclosed-关\nlow - 低\nmiddle - 中\nhigh - 高\nclosed - 关闭\n\n选项排列与此处值的排列顺序一致,可调整排列顺序,可删减值,可增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加自动状态,则为auto",
"extensions": {
"attribute": "128"
},
"name": "水量选择",
"typeSpec": {
"type": "enum",
"range": [
"closed",
"low",
"middle",
"high"
]
}
},
{
"abilityId": 11,
"accessMode": "rw",
"code": "seek",
"description": "",
"extensions": {
"attribute": "128"
},
"name": "寻找机器",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 12,
"accessMode": "rw",
"code": "direction_control",
"description": "默认值(不可修改、删除、增加),按键按下下发对应的方向值,松手下发停",
"extensions": {
"iconName": "icon-dp_compass",
"attribute": "224"
},
"name": "清扫方向",
"typeSpec": {
"type": "enum",
"range": [
"forward",
"backward",
"turn_left",
"turn_right",
"stop"
]
}
},
{
"abilityId": 13,
"accessMode": "rw",
"code": "map_reset",
"description": "",
"extensions": {
"iconName": "icon-dp_loop",
"attribute": "128"
},
"name": "重置地图",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 14,
"accessMode": "rw",
"code": "path_data",
"description": "相关数据协议及逻辑可参看协议文件\n",
"extensions": {
"attribute": "736"
},
"name": "路径传输",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 15,
"accessMode": "rw",
"code": "command_trans",
"description": "相关数据协议及逻辑可参看协议文件\n",
"extensions": {
"attribute": "736"
},
"name": "指令传输",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 16,
"accessMode": "rw",
"code": "request",
"description": "相关数据协议及逻辑可参看协议文件\n",
"extensions": {
"attribute": "736"
},
"name": "请求数据",
"typeSpec": {
"type": "enum",
"range": [
"get_map",
"get_path",
"get_both"
]
}
},
{
"abilityId": 27,
"accessMode": "rw",
"code": "break_clean",
"description": "",
"extensions": {
"iconName": "icon-dp_wash",
"attribute": "1152"
},
"name": "断点续扫",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 28,
"accessMode": "ro",
"code": "fault",
"description": "默认值(不可修改删除,否则影响控制面板逻辑):\nedge_sweep_fault - 边刷故障\nmiddle_sweep_fault - 滚刷故障\nleft_wheel_fault - 左轮故障\nright_wheel_fault - 右轮故障\ngarbage_box_fault - 尘盒故障\nland_check_fault - 地检故障\ncollision_fault - 碰撞传感器故障\n\n可在后面增加其他状态值,状态值尽量是状态的英文小写单词,如需要增加故障中状态,则为in_trouble",
"extensions": {
"scope": "fault",
"attribute": "704"
},
"name": "故障告警",
"typeSpec": {
"type": "bitmap",
"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",
"25",
"26",
"27",
"28",
"29"
],
"maxlen": 30
}
},
{
"abilityId": 32,
"accessMode": "rw",
"code": "device_timer",
"description": "相关数据协议及逻辑可参看协议文件",
"extensions": {
"attribute": "224"
},
"name": "定时",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 33,
"accessMode": "rw",
"code": "disturb_time_set",
"description": "相关数据协议及逻辑可参看开发包中激光扫地机地图协议文件",
"extensions": {
"iconName": "icon-dp_time3",
"attribute": "224"
},
"name": "勿扰时间设置",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 45,
"accessMode": "rw",
"code": "auto_boost",
"description": "",
"extensions": {
"iconName": "icon-dp_up"
},
"name": "地毯增压",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 101,
"accessMode": "rw",
"code": "forbidden_zone",
"description": "",
"name": "禁区信息获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 102,
"accessMode": "rw",
"code": "clean_zone",
"description": "",
"name": "划区信息获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 103,
"accessMode": "rw",
"code": "pos_clean",
"description": "",
"name": "指哪扫哪获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 104,
"accessMode": "rw",
"code": "all_zone",
"description": "",
"name": "禁区,划区,指哪扫哪状态获取",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 105,
"accessMode": "rw",
"code": "map_zoom_android",
"description": "",
"name": "地图比例_Android",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 106,
"accessMode": "rw",
"code": "map_zoom_ios",
"description": "",
"name": "地图比例_IOS",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 107,
"accessMode": "rw",
"code": "dev_log_show",
"description": "",
"name": "设备log显示",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 108,
"accessMode": "rw",
"code": "clean_zone_back",
"description": "",
"name": "退出划区清扫",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 109,
"accessMode": "rw",
"code": "pos_clean_back",
"description": "",
"name": "退出指哪扫哪",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 110,
"accessMode": "rw",
"code": "get_device_info",
"description": "",
"name": "获取设备信息",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 111,
"accessMode": "rw",
"code": "get_robot_log",
"description": "",
"name": "获取嵌入式日志",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 112,
"accessMode": "rw",
"code": "switch_save_map",
"description": "",
"name": "地图保存开关",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 120,
"accessMode": "rw",
"code": "voice_check",
"description": "",
"name": "音量调节",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 121,
"accessMode": "rw",
"code": "robot_reboot",
"description": "",
"name": "死机标志位",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 122,
"accessMode": "rw",
"code": "save_mapping",
"description": "有历史地图1 没有历史地图0",
"name": "地图保存标志位",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 123,
"accessMode": "rw",
"code": "disturb_set",
"description": "",
"name": "勿扰设置",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 124,
"accessMode": "rw",
"code": "appointment_clean",
"description": "",
"name": "预约清扫",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 125,
"accessMode": "rw",
"code": "is_charging",
"description": "在充电桩上1 \n不在充电桩0",
"name": "在桩标志",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 126,
"accessMode": "rw",
"code": "save_map_result",
"description": "地图是否保存,保存失败要弹窗为1,成功则为0",
"name": "地图保存结果",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 150,
"accessMode": "rw",
"code": "personalized_cleaning",
"description": "",
"name": "个性化清扫",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 151,
"accessMode": "rw",
"code": "cleaning_custom_switch",
"description": "",
"name": "清扫定制开关",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 152,
"accessMode": "rw",
"code": "cleaning_sequence",
"description": "",
"name": "清扫顺序",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 153,
"accessMode": "rw",
"code": "device_judgment_savemap",
"description": "",
"name": "设备判断存图",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 154,
"accessMode": "rw",
"code": "time_taask",
"description": "",
"name": "定时任务",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 155,
"accessMode": "rw",
"code": "device_mac_address",
"description": "",
"name": "设备mac地址",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 156,
"accessMode": "rw",
"code": "reserved6",
"description": "",
"name": "预留6",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 157,
"accessMode": "rw",
"code": "reserved7",
"description": "",
"name": "预留7",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 158,
"accessMode": "rw",
"code": "reserved8",
"description": "",
"name": "预留8",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 159,
"accessMode": "rw",
"code": "reserved9",
"description": "",
"name": "预留9",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 160,
"accessMode": "rw",
"code": "reserved10",
"description": "",
"name": "预留10",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 161,
"accessMode": "rw",
"code": "reserved11",
"description": "",
"name": "预留11",
"typeSpec": {
"type": "value",
"max": 999999999,
"min": 0,
"scale": 0,
"step": 1,
"unit": ""
}
},
{
"abilityId": 162,
"accessMode": "rw",
"code": "reserved12",
"description": "",
"name": "预留12",
"typeSpec": {
"type": "value",
"max": 999999999,
"min": 0,
"scale": 0,
"step": 1,
"unit": ""
}
},
{
"abilityId": 163,
"accessMode": "rw",
"code": "reserved13",
"description": "",
"name": "预留13",
"typeSpec": {
"type": "value",
"max": 999999999,
"min": 0,
"scale": 0,
"step": 1,
"unit": ""
}
},
{
"abilityId": 164,
"accessMode": "rw",
"code": "reserved14",
"description": "",
"name": "预留14",
"typeSpec": {
"type": "value",
"max": 999999999,
"min": 0,
"scale": 0,
"step": 1,
"unit": ""
}
},
{
"abilityId": 165,
"accessMode": "rw",
"code": "reserved15",
"description": "",
"name": "预留15",
"typeSpec": {
"type": "value",
"max": 999999999,
"min": 0,
"scale": 0,
"step": 1,
"unit": ""
}
},
{
"abilityId": 166,
"accessMode": "rw",
"code": "reserved16",
"description": "",
"name": "预留16",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 167,
"accessMode": "rw",
"code": "reserved17",
"description": "",
"name": "预留17",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 168,
"accessMode": "rw",
"code": "reserved18",
"description": "",
"name": "预留18",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 169,
"accessMode": "rw",
"code": "reserved19",
"description": "",
"name": "预留19",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 170,
"accessMode": "rw",
"code": "reserved20",
"description": "",
"name": "预留20",
"typeSpec": {
"type": "string",
"maxlen": 255
}
},
{
"abilityId": 171,
"accessMode": "rw",
"code": "reserved21",
"description": "",
"name": "预留21",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 172,
"accessMode": "rw",
"code": "reserved22",
"description": "",
"name": "预留22",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 173,
"accessMode": "rw",
"code": "reserved23",
"description": "",
"name": "预留23",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 174,
"accessMode": "rw",
"code": "reserved24",
"description": "",
"name": "预留24",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 175,
"accessMode": "rw",
"code": "reserved25",
"description": "",
"name": "预留25",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 176,
"accessMode": "rw",
"code": "reserved26",
"description": "",
"name": "预留26",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 177,
"accessMode": "rw",
"code": "reserved27",
"description": "",
"name": "预留27",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 178,
"accessMode": "rw",
"code": "reserved28",
"description": "",
"name": "预留28",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 179,
"accessMode": "rw",
"code": "reserved29",
"description": "",
"name": "预留29",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 180,
"accessMode": "rw",
"code": "reserved30",
"description": "",
"name": "预留30",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 181,
"accessMode": "rw",
"code": "reserved31",
"description": "",
"name": "预留31",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 182,
"accessMode": "rw",
"code": "reserved32",
"description": "",
"name": "预留32",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 183,
"accessMode": "rw",
"code": "reserved33",
"description": "",
"name": "预留33",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 184,
"accessMode": "rw",
"code": "reserved34",
"description": "",
"name": "预留34",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 185,
"accessMode": "rw",
"code": "reserved35",
"description": "",
"name": "预留35",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 186,
"accessMode": "rw",
"code": "reserved36",
"description": "",
"name": "预留36",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 187,
"accessMode": "rw",
"code": "reserved37",
"description": "",
"name": "预留37",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 188,
"accessMode": "rw",
"code": "reserved38",
"description": "",
"name": "预留38",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 189,
"accessMode": "rw",
"code": "reserved39",
"description": "",
"name": "预留39",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 190,
"accessMode": "rw",
"code": "reserved40",
"description": "",
"name": "预留40",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
}
]
}
]
}
Log Message
Information about DPS mappings
Cloud -> API Explorer -> Device Control -> Query Things Data Model // v2.0/cloud/thing/{{device_id}}/model result
Information from Tuya Cloud API Explorer -> Device Control -> Query Properties
Information from Tuya Cloud API Explorer -> Device Control (Standard Instruction Set) -> Get the Instruction Set of the Device
General Device Information