[miio]SmartMi Vortex Wave

Hi Marcel,

i do have a new toy to play: SmartMi Vortex Wave

Tried to analyze it, but the output is not very good so far:

===================================

Responsive properties

===================================

Device Info: {"life":15563,"model":"zhimi.vacuum.wa1","miio_ver":"0.0.7","fw_ver":"4.0.6_4841","VmPeak":46752,"VmRSS":1672,"MemFree":53796,"netif":{"localIp":"192.168.XXX.XXX","mask":"255.255.255.0","gw":"192.168.XXX.XXX"},"miio_times":[15562,9,0,15550]}

0 channels with responses.

No supported channels found.

Any advice how to investigate any further?

(experimental) Create experimental support for new MIOT protocol devices worked:

{
“deviceMapping”: {
“id”: [
“zhimi.vacuum.wa1”
],
“propertyMethod”: “get_properties”,
“maxProperties”: 1,
“channels”: [
{
“property”: “”,
“friendlyName”: “Actions”,
“channel”: “actions”,
“type”: “String”,
“stateDescription”: {
“options”: [
{
“value”: “vacuum-start-sweep”,
“label”: “Vacuum Start Sweep”
},
{
“value”: “vacuum-stop-sweeping”,
“label”: “Vacuum Stop Sweeping”
},
{
“value”: “vacuum-start-room-sweep”,
“label”: “Vacuum Start Room Sweep”
},
{
“value”: “battery-start-charge”,
“label”: “Battery Start Charge”
},
{
“value”: “filter-reset-filter-life”,
“label”: “Filter Reset Filter Life”
},
{
“value”: “brush-cleaner-reset-brush-life”,
“label”: “Brush Cleaner Reset Brush Life”
},
{
“value”: “brush-cleaner-reset-brush-life”,
“label”: “Brush Cleaner Reset Brush Life”
},
{
“value”: “custom-find-robot”,
“label”: “Custom Find Robot”
},
{
“value”: “custom-remote-control”,
“label”: “Custom Remote Control”
},
{
“value”: “custom-stop-find-charge”,
“label”: “Custom Stop Find Charge”
},
{
“value”: “custom-continue-sweep”,
“label”: “Custom Continue Sweep”
},
{
“value”: “custom-update-audio”,
“label”: “Custom Update Audio”
},
{
“value”: “custom-factory-reset”,
“label”: “Custom Factory Reset”
},
{
“value”: “custom-pause-find-charger”,
“label”: “Custom Pause Find Charger”
},
{
“value”: “custom-continue-find-charge”,
“label”: “Custom Continue Find Charge”
},
{
“value”: “custom-pause”,
“label”: “Custom Pause”
},
{
“value”: “custom-start-self-clean”,
“label”: “Custom Start Self Clean”
},
{
“value”: “custom-end-self-clean”,
“label”: “Custom End Self Clean”
},
{
“value”: “map-request-path”,
“label”: “Map Request Path”
},
{
“value”: “map-change-map-name”,
“label”: “Map Change Map Name”
},
{
“value”: “map-change-area-name”,
“label”: “Map Change Area Name”
},
{
“value”: “map-delete-map-list”,
“label”: “Map Delete Map List”
},
{
“value”: “map-set-auto-area”,
“label”: “Map Set Auto Area”
},
{
“value”: “map-set-current-map”,
“label”: “Map Set Current Map”
},
{
“value”: “map-reset-current-map”,
“label”: “Map Reset Current Map”
},
{
“value”: “map-handle-new-map”,
“label”: “Map Handle New Map”
},
{
“value”: “map-set-custom-map”,
“label”: “Map Set Custom Map”
},
{
“value”: “sweep-start-sweep”,
“label”: “Sweep Start Sweep”
}
]
},
“refresh”: false,
“actions”: [
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 2,
“aiid”: 1,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “vacuum-start-sweep”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 2,
“aiid”: 2,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “vacuum-stop-sweeping”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
9.0
],
“siid”: 2,
“aiid”: 6,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “vacuum-start-room-sweep”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 3,
“aiid”: 1,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “battery-start-charge”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 8,
“aiid”: 1,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “filter-reset-filter-life”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 9,
“aiid”: 1,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “brush-cleaner-reset-brush-life”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 10,
“aiid”: 1,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “brush-cleaner-reset-brush-life”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 3,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-find-robot”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 4,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-remote-control”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 5,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-stop-find-charge”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 6,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-continue-sweep”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
31.0
],
“siid”: 7,
“aiid”: 7,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-update-audio”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 8,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-factory-reset”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 9,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-pause-find-charger”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 10,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-continue-find-charge”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 11,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-pause”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 12,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-start-self-clean”
}
]
}
},
{
“command”: “action”,
“parameterType”: “EMPTY”,
“siid”: 7,
“aiid”: 13,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “custom-end-self-clean”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
2.0
],
“siid”: 11,
“aiid”: 2,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-request-path”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
6.0
],
“siid”: 11,
“aiid”: 3,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-change-map-name”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
6.0
],
“siid”: 11,
“aiid”: 4,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-change-area-name”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
6.0
],
“siid”: 11,
“aiid”: 5,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-delete-map-list”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
4.0
],
“siid”: 11,
“aiid”: 6,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-set-auto-area”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
1.0
],
“siid”: 11,
“aiid”: 7,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-set-current-map”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
6.0
],
“siid”: 11,
“aiid”: 8,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-reset-current-map”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
6.0
],
“siid”: 11,
“aiid”: 9,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-handle-new-map”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
6.0
],
“siid”: 11,
“aiid”: 10,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “map-set-custom-map”
}
]
}
},
{
“command”: “action”,
“parameterType”: “UNKNOWN”,
“parameters”: [
1,
2.0
],
“siid”: 12,
“aiid”: 1,
“condition”: {
“name”: “matchValue”,
“parameters”: [
{
“matchValue”: “sweep-start-sweep”
}
]
}
}
]
},
{
“property”: “status”,
“siid”: 2,
“piid”: 1,
“friendlyName”: “Robot Cleaner - Status”,
“channel”: “status”,
“type”: “Number”,
“stateDescription”: {
“readOnly”: true,
“options”: [
{
“value”: “1”,
“label”: “Dormant”
},
{
“value”: “2”,
“label”: “Idle”
},
{
“value”: “3”,
“label”: “Paused”
},
{
“value”: “4”,
“label”: “Sweeping”
},
{
“value”: “5”,
“label”: “Go Charging”
},
{
“value”: “6”,
“label”: “Charging”
},
{
“value”: “7”,
“label”: “Error”
},
{
“value”: “8”,
“label”: “Rfctrl”
},
{
“value”: “9”,
“label”: “Fullcharge”
},
{
“value”: “10”,
“label”: “Shutdown”
},
{
“value”: “11”,
“label”: “Findchargerpause”
},
{
“value”: “12”,
“label”: “SelfClean”
},
{
“value”: “13”,
“label”: “Drying”
}
]
},
“refresh”: true,
“actions”: ,
“readmeComment”: “Value mapping ["1"\u003d"Dormant","2"\u003d"Idle","3"\u003d"Paused","4"\u003d"Sweeping","5"\u003d"Go Charging","6"\u003d"Charging","7"\u003d"Error","8"\u003d"Rfctrl","9"\u003d"Fullcharge","10"\u003d"Shutdown","11"\u003d"Findchargerpause","12"\u003d"SelfClean","13"\u003d"Drying"]”
},
{
“property”: “fault”,
“siid”: 2,
“piid”: 2,
“friendlyName”: “Robot Cleaner - Device Fault”,
“channel”: “fault”,
“type”: “Number”,
“stateDescription”: {
“readOnly”: true,
“options”: [
{
“value”: “0”,
“label”: “No Faults”
},
{
“value”: “1”,
“label”: “Low Battery Find Charger”
},
{
“value”: “2”,
“label”: “Low Battery And Poweroff”
},
{
“value”: “3”,
“label”: “Wheel Trap”
},
{
“value”: “5”,
“label”: “Tile Do Task”
},
{
“value”: “6”,
“label”: “Lidar Point Error”
},
{
“value”: “7”,
“label”: “Front Wall Error”
},
{
“value”: “8”,
“label”: “Psd Dirty”
},
{
“value”: “9”,
“label”: “Middle Brush Fatal”
},
{
“value”: “12”,
“label”: “Lidar Cover”
},
{
“value”: “14”,
“label”: “Garbage Box Out”
},
{
“value”: “16”,
“label”: “Physical Trapped”
},
{
“value”: “17”,
“label”: “Pick Up Do Task”
},
{
“value”: “18”,
“label”: “No Water Box Do Task”
},
{
“value”: “19”,
“label”: “Water Box Empty”
},
{
“value”: “20”,
“label”: “Clean Cannot Arrive”
},
{
“value”: “21”,
“label”: “Start From Forbid”
},
{
“value”: “22”,
“label”: “Drop”
},
{
“value”: “23”,
“label”: “Kit Water Pump”
},
{
“value”: “24”,
“label”: “Find Charger Task Failed”
},
{
“value”: “25”,
“label”: “Pump Error”
},
{
“value”: “27”,
“label”: “Lidar Error”
},
{
“value”: “28”,
“label”: “Found Charger Error”
},
{
“value”: “31”,
“label”: “Mid Brush Error”
},
{
“value”: “32”,
“label”: “Kit Motor Error”
},
{
“value”: “34”,
“label”: “Kit Fan Error”
},
{
“value”: “35”,
“label”: “Lidar Error”
},
{
“value”: “36”,
“label”: “Sewage Box Full”
}
]
},
“refresh”: true,
“actions”: ,
“readmeComment”: “Value mapping ["0"\u003d"No Faults","1"\u003d"Low Battery Find Charger","2"\u003d"Low Battery And Poweroff","3"\u003d"Wheel Trap","5"\u003d"Tile Do Task","6"\u003d"Lidar Point Error","7"\u003d"Front Wall Error","8"\u003d"Psd Dirty","9"\u003d"Middle Brush Fatal","12"\u003d"Lidar Cover","14"\u003d"Garbage Box Out","16"\u003d"Physical Trapped","17"\u003d"Pick Up Do Task","18"\u003d"No Water Box Do Task","19"\u003d"Water Box Empty","20"\u003d"Clean Cannot Arrive","21"\u003d"Start From Forbid","22"\u003d"Drop","23"\u003d"Kit Water Pump","24"\u003d"Find Charger Task Failed","25"\u003d"Pump Error","27"\u003d"Lidar Error","28"\u003d"Found Charger Error","31"\u003d"Mid Brush Error","32"\u003d"Kit Motor Error","34"\u003d"Kit Fan Error","35"\u003d"Lidar Error","36"\u003d"Sewage Box Full"]”
},
{
“property”: “mode”,
“siid”: 2,
“piid”: 4,
“friendlyName”: “Robot Cleaner - Mode”,
“channel”: “mode”,
“type”: “Number”,
“stateDescription”: {
“options”: [
{
“value”: “1”,
“label”: “Silent”
},
{
“value”: “2”,
“label”: “Basic”
},
{
“value”: “3”,
“label”: “Strong”
},
{
“value”: “4”,
“label”: “Full Speed”
}
]
},
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “NUMBER”
}
],
“readmeComment”: “Value mapping ["1"\u003d"Silent","2"\u003d"Basic","3"\u003d"Strong","4"\u003d"Full Speed"]”
},
{
“property”: “sweep-type”,
“siid”: 2,
“piid”: 10,
“friendlyName”: “Robot Cleaner - Sweep Type”,
“channel”: “sweep_type”,
“type”: “Number”,
“stateDescription”: {
“options”: [
{
“value”: “0”,
“label”: “Sweep”
},
{
“value”: “2”,
“label”: “SweepMop”
}
]
},
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “NUMBER”
}
],
“readmeComment”: “Value mapping ["0"\u003d"Sweep","2"\u003d"SweepMop"]”
},
{
“property”: “battery-level”,
“siid”: 3,
“piid”: 1,
“friendlyName”: “Battery - Battery Level”,
“channel”: “battery_level”,
“type”: “Number:Dimensionless”,
“unit”: “percentage”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 100,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “filter-life-level”,
“siid”: 8,
“piid”: 1,
“friendlyName”: “Filter - Filter Life Level”,
“channel”: “filter_life_level”,
“type”: “Number:Dimensionless”,
“unit”: “percentage”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 100,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “filter-left-time”,
“siid”: 8,
“piid”: 2,
“friendlyName”: “Filter - Filter Left Time”,
“channel”: “filter_left_time”,
“type”: “Number:Time”,
“unit”: “hours”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 9300,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “brush-left-time”,
“siid”: 9,
“piid”: 1,
“friendlyName”: “Brush Cleaner - Brush Left Time”,
“channel”: “brush_left_time”,
“type”: “Number:Time”,
“unit”: “hours”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 19200,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “brush-life-level”,
“siid”: 9,
“piid”: 2,
“friendlyName”: “Brush Cleaner - Brush Life Level”,
“channel”: “brush_life_level”,
“type”: “Number:Dimensionless”,
“unit”: “percentage”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 100,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “brush-left-time1”,
“siid”: 10,
“piid”: 1,
“friendlyName”: “Brush Cleaner - Brush Left Time”,
“channel”: “brush_left_time1”,
“type”: “Number:Time”,
“unit”: “hours”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 9600,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “brush-life-level1”,
“siid”: 10,
“piid”: 2,
“friendlyName”: “Brush Cleaner - Brush Life Level”,
“channel”: “brush_life_level1”,
“type”: “Number:Dimensionless”,
“unit”: “percentage”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 100,
“step”: 1,
“pattern”: “%.0f %unit%”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “volume”,
“siid”: 14,
“piid”: 1,
“friendlyName”: “Speaker - Volume”,
“channel”: “volume”,
“type”: “Number:Dimensionless”,
“unit”: “percentage”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 100,
“step”: 1,
“pattern”: “%.0f %unit%”
},
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “NUMBER”
}
]
},
{
“property”: “mute”,
“siid”: 14,
“piid”: 2,
“friendlyName”: “Speaker - Mute”,
“channel”: “mute”,
“type”: “Switch”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “ONOFFBOOL”
}
]
},
{
“property”: “mop”,
“siid”: 7,
“piid”: 1,
“friendlyName”: “Custom - Mop”,
“channel”: “mop”,
“type”: “Switch”,
“stateDescription”: {
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “timing”,
“siid”: 7,
“piid”: 10,
“friendlyName”: “Custom - Timing”,
“channel”: “timing”,
“type”: “String”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “clean-area”,
“siid”: 7,
“piid”: 11,
“friendlyName”: “Custom - Clean Area”,
“channel”: “clean_area”,
“type”: “Number”,
“stateDescription”: {
“minimum”: 0,
“maximum”: -1,
“step”: 1,
“pattern”: “%.0f”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “uid”,
“siid”: 7,
“piid”: 13,
“friendlyName”: “Custom - Uid”,
“channel”: “uid”,
“type”: “String”,
“stateDescription”: {
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “forbid-mode”,
“siid”: 7,
“piid”: 17,
“friendlyName”: “Custom - Forbid Mode”,
“channel”: “forbid_mode”,
“type”: “String”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “water-level”,
“siid”: 7,
“piid”: 18,
“friendlyName”: “Custom - Water Level”,
“channel”: “water_level”,
“type”: “Number”,
“stateDescription”: {
“options”: [
{
“value”: “1”,
“label”: “Level 1”
},
{
“value”: “2”,
“label”: “Level 2”
},
{
“value”: “3”,
“label”: “Level 3”
},
{
“value”: “4”,
“label”: “Level 4”
}
]
},
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “NUMBER”
}
],
“readmeComment”: “Value mapping ["1"\u003d"Level 1","2"\u003d"Level 2","3"\u003d"Level 3","4"\u003d"Level 4"]”
},
{
“property”: “total-clean-time”,
“siid”: 7,
“piid”: 20,
“friendlyName”: “Custom - Total Clean Time”,
“channel”: “total_clean_time”,
“type”: “Number”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 2147483647,
“step”: 1,
“pattern”: “%.0f”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “total-clean-areas”,
“siid”: 7,
“piid”: 21,
“friendlyName”: “Custom - Total Clean Areas”,
“channel”: “total_clean_areas”,
“type”: “Number”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 2147483647,
“step”: 1,
“pattern”: “%.0f”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “clean-counts”,
“siid”: 7,
“piid”: 26,
“friendlyName”: “Custom - Clean Counts”,
“channel”: “clean_counts”,
“type”: “Number”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 2147483647,
“step”: 1,
“pattern”: “%.0f”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “double-clean”,
“siid”: 7,
“piid”: 27,
“friendlyName”: “Custom - Double Clean”,
“channel”: “double_clean”,
“type”: “Switch”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “ONOFFBOOL”
}
]
},
{
“property”: “edge-sweep”,
“siid”: 7,
“piid”: 28,
“friendlyName”: “Custom - Edge Sweep”,
“channel”: “edge_sweep”,
“type”: “Switch”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “ONOFFBOOL”
}
]
},
{
“property”: “current-audio”,
“siid”: 7,
“piid”: 29,
“friendlyName”: “Custom - Current Audio”,
“channel”: “current_audio”,
“type”: “String”,
“stateDescription”: {
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “update-progress”,
“siid”: 7,
“piid”: 30,
“friendlyName”: “Custom - Update Progress”,
“channel”: “update_progress”,
“type”: “String”,
“stateDescription”: {
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “clean-time”,
“siid”: 7,
“piid”: 33,
“friendlyName”: “Custom - Clean Time”,
“channel”: “clean_time”,
“type”: “Number”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 2147483647,
“step”: 1,
“pattern”: “%.0f”,
“readOnly”: true
},
“refresh”: true,
“actions”:
},
{
“property”: “download-map”,
“siid”: 11,
“piid”: 1,
“friendlyName”: “Map - Download Map”,
“channel”: “download_map”,
“type”: “String”,
“refresh”: false,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “clean-path”,
“siid”: 11,
“piid”: 2,
“friendlyName”: “Map - Clean Path”,
“channel”: “clean_path”,
“type”: “String”,
“refresh”: false,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “restricted-zone”,
“siid”: 11,
“piid”: 3,
“friendlyName”: “Map - Restricted Zone”,
“channel”: “restricted_zone”,
“type”: “String”,
“refresh”: false,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “auto-area”,
“siid”: 11,
“piid”: 4,
“friendlyName”: “Map - Auto Area”,
“channel”: “auto_area”,
“type”: “String”,
“refresh”: false,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “map-memory”,
“siid”: 11,
“piid”: 5,
“friendlyName”: “Map - Map Memory”,
“channel”: “map_memory”,
“type”: “Switch”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “ONOFFBOOL”
}
]
},
{
“property”: “map-name”,
“siid”: 11,
“piid”: 6,
“friendlyName”: “Map - Map Name”,
“channel”: “map_name”,
“type”: “String”,
“refresh”: false,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “STRING”
}
]
},
{
“property”: “new-map-discover”,
“siid”: 11,
“piid”: 7,
“friendlyName”: “Map - New Map Discover”,
“channel”: “new_map_discover”,
“type”: “Number”,
“stateDescription”: {
“minimum”: 0,
“maximum”: 2147483647,
“step”: 1,
“pattern”: “%.0f”
},
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “NUMBER”
}
]
},
{
“property”: “custom-map”,
“siid”: 11,
“piid”: 8,
“friendlyName”: “Map - Custom Map”,
“channel”: “custom_map”,
“type”: “Switch”,
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “ONOFFBOOL”
}
]
},
{
“property”: “path-type”,
“siid”: 11,
“piid”: 9,
“friendlyName”: “Map - Path Type”,
“channel”: “path_type”,
“type”: “Number”,
“stateDescription”: {
“options”: [
{
“value”: “0”,
“label”: “Normal”
},
{
“value”: “1”,
“label”: “Y-Mop”
}
]
},
“refresh”: true,
“actions”: [
{
“command”: “set_properties”,
“parameterType”: “NUMBER”
}
],
“readmeComment”: “Value mapping ["0"\u003d"Normal","1"\u003d"Y-Mop"]”
},
{
“property”: “sweep-mode”,
“siid”: 12,
“piid”: 1,
“friendlyName”: “Sweep - Sweep Mode”,
“channel”: “sweep_mode”,
“type”: “Number”,
“stateDescription”: {
“readOnly”: true,
“options”: [
{
“value”: “1”,
“label”: “Total”
},
{
“value”: “2”,
“label”: “Area”
},
{
“value”: “3”,
“label”: “Current Point”
},
{
“value”: “4”,
“label”: “Point”
},
{
“value”: “9”,
“label”: “Double Clean”
},
{
“value”: “10”,
“label”: “Along Wall”
},
{
“value”: “7”,
“label”: “Smart”
},
{
“value”: “8”,
“label”: “Smart Area”
},
{
“value”: “0”,
“label”: “No Clean Task”
}
]
},
“refresh”: true,
“actions”: ,
“readmeComment”: “Value mapping ["1"\u003d"Total","2"\u003d"Area","3"\u003d"Current Point","4"\u003d"Point","9"\u003d"Double Clean","10"\u003d"Along Wall","7"\u003d"Smart","8"\u003d"Smart Area","0"\u003d"No Clean Task"]”
}
],
“experimental”: true
}
}

Good
Can you feedback if all channels are working as expected. Than ll create a pr for it to include

Most of the Dropdown Actions do not work. Other channels seems to work fine. Some are partly correct (like y sweeping - that seems to be not available)

I am also a searching for a way to use the room sweeping (select area) feature that works with the Xiaomi app.

there is a recent discussion about this in the miio vacuum thread where after bit of experimenting they got it to work.
It required 3 parameters to be send. Also to figure out which room is which id is by experiment

the spec is many times wrong… also can be that additional parameters are required

btw… maybe for your device it only needs roomIds as parameter

Thank You.I will check and report back. But it will be a busy week, so probably not before next weekend.

Hi both, I’ve just bought this too and been trying to understand how to make it do zoned cleans with no success. The MIOT protocol output it gives is really not clear. Did you make any progress setting up your own one?

No sorry, no luck so far

the remaining option is to use a hacked mihome like the vevs version, and see in the log what it is sending. You’ll be able to send the same via the binding.

Note that I’m rather causious when using the hacked versions, so I only use it on an old phone that is for the rest wiped clean and does not have any personal info.