diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md
index 5732fedc84b7a..407302b4b8fe2 100644
--- a/bundles/org.openhab.binding.miio/README.md
+++ b/bundles/org.openhab.binding.miio/README.md
@@ -258,6 +258,7 @@ Currently the miio binding supports more than 330 different models.
| HUIZUO ZIWEI Ceiling Lamp | miio:basic | [huayi.light.zw131](#huayi-light-zw131) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
| MiJia Rice Cooker | miio:unsupported | hunmi.cooker.normal3 | No | |
| Jinxing Smart Air Conditioner | miio:unsupported | idelan.aircondition.v1 | No | |
+| Xiaomi Robot Vacuum-Mop 2S | miio:basic | [ijai.vacuum.v19](#ijai-vacuum-v19) | Yes | |
| IKEA E27 white spectrum opal | miio:lumi | [ikea.light.led1545g12](#ikea-light-led1545g12) | Experimental | Needs to have the Xiaomi gateway configured in the binding as bridge.
Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
| IKEA E27 white spectrum clear | miio:lumi | [ikea.light.led1546g12](#ikea-light-led1546g12) | Experimental | Needs to have the Xiaomi gateway configured in the binding as bridge.
Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
| IKEA E14 white spectrum | miio:lumi | [ikea.light.led1536g5](#ikea-light-led1536g5) | Experimental | Needs to have the Xiaomi gateway configured in the binding as bridge.
Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
@@ -1646,6 +1647,79 @@ Note, not all the values need to be in the json file, e.g. a subset of the param
| brightness | Dimmer | Light - Brightness | |
| color-temperature | Number:Temperature | Light - Color Temperature | |
+### Xiaomi Robot Vacuum-Mop 2S (ijai.vacuum.v19) Channels
+
+| Channel | Type | Description | Comment |
+|----------------------|----------------------|------------------------------------------|------------|
+| actions | String | Robot Cleaner - Actions | |
+| advanced_actions | String | Robot Cleaner - Advanced Actions | |
+| status | Number | Robot Cleaner - Status | Value mapping `["0"="Sleep","1"="Idle","2"="Paused","3"="Go Charging","4"="Charging","5"="Sweeping","6"="Sweeping and Mopping","7"="Mopping","8"="Upgrading"]` |
+| fault | Number | Robot Cleaner - Device Fault | |
+| mode | Number | Robot Cleaner - Mode | Value mapping `["0"="Sweep","1"="Sweep And Mop","2"="Mop"]` |
+| sweep_type | Number | Robot Cleaner - Sweep Type | Value mapping `["0"="Global","1"="Mop","2"="Edge","3"="Area","4"="Point","5"="Remote","6"="Explore","7"="Room","8"="Floor"]` |
+| on | String | Robot Cleaner - Switch Status | |
+| battery_level | Number:Dimensionless | Robot Cleaner - Battery Level | |
+| alarm | Switch | Robot Cleaner - Locate | |
+| volume | Number:Dimensionless | Robot Cleaner - Locate Volume | |
+| repeat_state | Switch | Sweep - Repeat State | |
+| door_state | Number | Sweep - Door State | Value mapping `["0"="None","1"="DustBox","2"="WaterBox","3"="TwoInOne"]` |
+| cloth_state | Contact | Sweep - Cloth State | |
+| suction_state | Number | Robot Cleaner - Power | Value mapping `["0"="Slient","1"="Standard","2"="Medium","3"="Turbo"]` |
+| water_state | Number | Sweep - Water State | Value mapping `["0"="Low","1"="Mid","2"="High"]` |
+| mop_route | Number | Sweep - Mop Route | Value mapping `["0"="S","1"="Y"]` |
+| side_brush_life | Number:Dimensionless | Sweep - Side Brush Life | |
+| side_brush_hours | Number:Time | Sweep - Side Brush Hours | |
+| main_brush_life | Number:Dimensionless | Sweep - Main Brush Life | |
+| main_brush_hours | Number:Time | Sweep - Main Brush Hours | |
+| hypa_life | Number:Dimensionless | Sweep - Hypa Life | |
+| hypa_hours | Number:Time | Sweep - Hypa Hours | |
+| mop_life | Number:Dimensionless | Sweep - Mop Life | |
+| mop_hours | Number:Time | Sweep - Mop Hours | |
+| direction | Number | Sweep - Direction | Value mapping `["1"="Forward","2"="Left","3"="Right","4"="Back","5"="Stop","10"="Exit"]` |
+| time_zone | Number | Sweep - Time Zone | |
+| cur_lang | String | Sweep - Cur Lang | |
+| cleaning_time | Number:Time | Sweep - Cleaning Time | |
+| cleaning_area | Number | Sweep - Cleaning Area | |
+| dirt_recognize | Switch | Sweep - Dirt Recognize | |
+| pet_recognize | Switch | Sweep - Pet Recognize | |
+| ai_recognize | Switch | Sweep - Ai Recognize | |
+| carpet_booster | Switch | Sweep - Carpet Booster | |
+| multi_prop_vacuum | String | Sweep - Multi Prop Vacuum | |
+| carpet_avoid | Switch | Sweep - Carpet Avoid | |
+| tank_shake | Switch | Sweep - Tank Shake | |
+| shake_shift | Number | Sweep - Shake Shift | Value mapping `["1"="Low","2"="Mid","3"="High"]` |
+| map_encrypt | Contact | Sweep - Map Encrypt | |
+| order_id | Number | Order - Order Id | |
+| enable | Switch | Order - Enable | |
+| day | Number:Time | Order - Day | |
+| hour | Number:Time | Order - Hour | |
+| minute | Number:Time | Order - Minute | |
+| repeat | Switch | Order - Repeat | |
+| clean_way | Number | Order - Clean Way | Value mapping `["0"="Sweep","1"="Sweep Mop","2"="Mop"]` |
+| suction | Number | Order - Suction | Value mapping `["0"="Slient","1"="Normal","2"="Medium","3"="Turbo"]` |
+| water | Number | Order - Water | Value mapping `["0"="Low","1"="Mid","2"="High"]` |
+| twice_clean | Switch | Order - Twice Clean | |
+| mapid | Number | Order - Mapid | |
+| room_count | Number | Order - Room Count | |
+| room_data | String | Order - Room Data | |
+| time_zone1 | Number | Order - Time Zone | |
+| all_enable_count | String | Order - All Enable Count | |
+| zone_points | String | Point Zone - Zone Points | |
+| restrict_points | String | Point Zone - Restrict Points | |
+| target_point | String | Point Zone - Target Point | |
+| remember_state | Switch | Map - Remember State | |
+| cur_map_id | Number | Map - Cur Map Id | |
+| map_num | Number | Map - Map Num | |
+| cur_cleaning_path | String | Map - Cur Cleaning Path | |
+| build_map | Number | Map - Build Map | Value mapping `["0"="None","1"="Build","2"="Clean"]` |
+| has_new_map | Contact | Map - Has New Map | |
+| dnd_enable | Contact | Disturb - Dnd Enable | |
+| dnd_start_hour | Number:Time | Disturb - Dnd Start Hour | |
+| dnd_start_minute | Number:Time | Disturb - Dnd Start Minute | |
+| dnd_end_hour | Number:Time | Disturb - Dnd End Hour | |
+| dnd_end_minute | Number:Time | Disturb - Dnd End Minute | |
+| multi_prop_dnd | String | Disturb - Multi Prop Dnd | |
+
### IKEA E27 white spectrum opal (ikea.light.led1545g12) Channels
| Channel | Type | Description | Comment |
@@ -6988,6 +7062,82 @@ Dimmer brightness "Light - Brightness" (G_light) {channel="miio:basic:light:brig
Number:Temperature color_temperature "Light - Color Temperature" (G_light) {channel="miio:basic:light:color-temperature"}
```
+### Xiaomi Robot Vacuum-Mop 2S (ijai.vacuum.v19) item file lines
+
+note: Autogenerated example. Replace the id (vacuum) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```
+Group G_vacuum "Xiaomi Robot Vacuum-Mop 2S"
+String actions "Robot Cleaner - Actions" (G_vacuum) {channel="miio:basic:vacuum:actions"}
+String advanced_actions "Robot Cleaner - Advanced Actions" (G_vacuum) {channel="miio:basic:vacuum:advanced_actions"}
+Number status "Robot Cleaner - Status" (G_vacuum) {channel="miio:basic:vacuum:status"}
+Number fault "Robot Cleaner - Device Fault" (G_vacuum) {channel="miio:basic:vacuum:fault"}
+Number mode "Robot Cleaner - Mode" (G_vacuum) {channel="miio:basic:vacuum:mode"}
+Number sweep_type "Robot Cleaner - Sweep Type" (G_vacuum) {channel="miio:basic:vacuum:sweep_type"}
+String on "Robot Cleaner - Switch Status" (G_vacuum) {channel="miio:basic:vacuum:on"}
+Number:Dimensionless battery_level "Robot Cleaner - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery_level"}
+Switch alarm "Robot Cleaner - Locate" (G_vacuum) {channel="miio:basic:vacuum:alarm"}
+Number:Dimensionless volume "Robot Cleaner - Locate Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
+Switch repeat_state "Sweep - Repeat State" (G_vacuum) {channel="miio:basic:vacuum:repeat_state"}
+Number door_state "Sweep - Door State" (G_vacuum) {channel="miio:basic:vacuum:door_state"}
+Contact cloth_state "Sweep - Cloth State" (G_vacuum) {channel="miio:basic:vacuum:cloth_state"}
+Number suction_state "Robot Cleaner - Power" (G_vacuum) {channel="miio:basic:vacuum:suction_state"}
+Number water_state "Sweep - Water State" (G_vacuum) {channel="miio:basic:vacuum:water_state"}
+Number mop_route "Sweep - Mop Route" (G_vacuum) {channel="miio:basic:vacuum:mop_route"}
+Number:Dimensionless side_brush_life "Sweep - Side Brush Life" (G_vacuum) {channel="miio:basic:vacuum:side_brush_life"}
+Number:Time side_brush_hours "Sweep - Side Brush Hours" (G_vacuum) {channel="miio:basic:vacuum:side_brush_hours"}
+Number:Dimensionless main_brush_life "Sweep - Main Brush Life" (G_vacuum) {channel="miio:basic:vacuum:main_brush_life"}
+Number:Time main_brush_hours "Sweep - Main Brush Hours" (G_vacuum) {channel="miio:basic:vacuum:main_brush_hours"}
+Number:Dimensionless hypa_life "Sweep - Hypa Life" (G_vacuum) {channel="miio:basic:vacuum:hypa_life"}
+Number:Time hypa_hours "Sweep - Hypa Hours" (G_vacuum) {channel="miio:basic:vacuum:hypa_hours"}
+Number:Dimensionless mop_life "Sweep - Mop Life" (G_vacuum) {channel="miio:basic:vacuum:mop_life"}
+Number:Time mop_hours "Sweep - Mop Hours" (G_vacuum) {channel="miio:basic:vacuum:mop_hours"}
+Number direction "Sweep - Direction" (G_vacuum) {channel="miio:basic:vacuum:direction"}
+Number time_zone "Sweep - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time_zone"}
+String cur_lang "Sweep - Cur Lang" (G_vacuum) {channel="miio:basic:vacuum:cur_lang"}
+Number:Time cleaning_time "Sweep - Cleaning Time" (G_vacuum) {channel="miio:basic:vacuum:cleaning_time"}
+Number cleaning_area "Sweep - Cleaning Area" (G_vacuum) {channel="miio:basic:vacuum:cleaning_area"}
+Switch dirt_recognize "Sweep - Dirt Recognize" (G_vacuum) {channel="miio:basic:vacuum:dirt_recognize"}
+Switch pet_recognize "Sweep - Pet Recognize" (G_vacuum) {channel="miio:basic:vacuum:pet_recognize"}
+Switch ai_recognize "Sweep - Ai Recognize" (G_vacuum) {channel="miio:basic:vacuum:ai_recognize"}
+Switch carpet_booster "Sweep - Carpet Booster" (G_vacuum) {channel="miio:basic:vacuum:carpet_booster"}
+String multi_prop_vacuum "Sweep - Multi Prop Vacuum" (G_vacuum) {channel="miio:basic:vacuum:multi_prop_vacuum"}
+Switch carpet_avoid "Sweep - Carpet Avoid" (G_vacuum) {channel="miio:basic:vacuum:carpet_avoid"}
+Switch tank_shake "Sweep - Tank Shake" (G_vacuum) {channel="miio:basic:vacuum:tank_shake"}
+Number shake_shift "Sweep - Shake Shift" (G_vacuum) {channel="miio:basic:vacuum:shake_shift"}
+Contact map_encrypt "Sweep - Map Encrypt" (G_vacuum) {channel="miio:basic:vacuum:map_encrypt"}
+Number order_id "Order - Order Id" (G_vacuum) {channel="miio:basic:vacuum:order_id"}
+Switch enable "Order - Enable" (G_vacuum) {channel="miio:basic:vacuum:enable"}
+Number:Time day "Order - Day" (G_vacuum) {channel="miio:basic:vacuum:day"}
+Number:Time hour "Order - Hour" (G_vacuum) {channel="miio:basic:vacuum:hour"}
+Number:Time minute "Order - Minute" (G_vacuum) {channel="miio:basic:vacuum:minute"}
+Switch repeat "Order - Repeat" (G_vacuum) {channel="miio:basic:vacuum:repeat"}
+Number clean_way "Order - Clean Way" (G_vacuum) {channel="miio:basic:vacuum:clean_way"}
+Number suction "Order - Suction" (G_vacuum) {channel="miio:basic:vacuum:suction"}
+Number water "Order - Water" (G_vacuum) {channel="miio:basic:vacuum:water"}
+Switch twice_clean "Order - Twice Clean" (G_vacuum) {channel="miio:basic:vacuum:twice_clean"}
+Number mapid "Order - Mapid" (G_vacuum) {channel="miio:basic:vacuum:mapid"}
+Number room_count "Order - Room Count" (G_vacuum) {channel="miio:basic:vacuum:room_count"}
+String room_data "Order - Room Data" (G_vacuum) {channel="miio:basic:vacuum:room_data"}
+Number time_zone1 "Order - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time_zone1"}
+String all_enable_count "Order - All Enable Count" (G_vacuum) {channel="miio:basic:vacuum:all_enable_count"}
+String zone_points "Point Zone - Zone Points" (G_vacuum) {channel="miio:basic:vacuum:zone_points"}
+String restrict_points "Point Zone - Restrict Points" (G_vacuum) {channel="miio:basic:vacuum:restrict_points"}
+String target_point "Point Zone - Target Point" (G_vacuum) {channel="miio:basic:vacuum:target_point"}
+Switch remember_state "Map - Remember State" (G_vacuum) {channel="miio:basic:vacuum:remember_state"}
+Number cur_map_id "Map - Cur Map Id" (G_vacuum) {channel="miio:basic:vacuum:cur_map_id"}
+Number map_num "Map - Map Num" (G_vacuum) {channel="miio:basic:vacuum:map_num"}
+String cur_cleaning_path "Map - Cur Cleaning Path" (G_vacuum) {channel="miio:basic:vacuum:cur_cleaning_path"}
+Number build_map "Map - Build Map" (G_vacuum) {channel="miio:basic:vacuum:build_map"}
+Contact has_new_map "Map - Has New Map" (G_vacuum) {channel="miio:basic:vacuum:has_new_map"}
+Contact dnd_enable "Disturb - Dnd Enable" (G_vacuum) {channel="miio:basic:vacuum:dnd_enable"}
+Number:Time dnd_start_hour "Disturb - Dnd Start Hour" (G_vacuum) {channel="miio:basic:vacuum:dnd_start_hour"}
+Number:Time dnd_start_minute "Disturb - Dnd Start Minute" (G_vacuum) {channel="miio:basic:vacuum:dnd_start_minute"}
+Number:Time dnd_end_hour "Disturb - Dnd End Hour" (G_vacuum) {channel="miio:basic:vacuum:dnd_end_hour"}
+Number:Time dnd_end_minute "Disturb - Dnd End Minute" (G_vacuum) {channel="miio:basic:vacuum:dnd_end_minute"}
+String multi_prop_dnd "Disturb - Multi Prop Dnd" (G_vacuum) {channel="miio:basic:vacuum:multi_prop_dnd"}
+```
+
### IKEA E27 white spectrum opal (ikea.light.led1545g12) item file lines
note: Autogenerated example. Replace the id (light) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
index 270fec28a3eb6..d1b06a82d3d37 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
@@ -95,6 +95,7 @@ public enum MiIoDevices {
HUAYI_LIGHT_ZW131("huayi.light.zw131", "HUIZUO ZIWEI Ceiling Lamp", THING_TYPE_BASIC),
HUNMI_COOKER_NORMAL3("hunmi.cooker.normal3", "MiJia Rice Cooker", THING_TYPE_UNSUPPORTED),
IDELAN_AIRCONDITION_V1("idelan.aircondition.v1", "Jinxing Smart Air Conditioner", THING_TYPE_UNSUPPORTED),
+ IJAI_VACUUM_V19("ijai.vacuum.v19", "Xiaomi Robot Vacuum-Mop 2S", THING_TYPE_BASIC),
IKEA_LIGHT_LED1545G12("ikea.light.led1545g12", "IKEA E27 white spectrum opal", THING_TYPE_LUMI),
IKEA_LIGHT_LED1546G12("ikea.light.led1546g12", "IKEA E27 white spectrum clear", THING_TYPE_LUMI),
IKEA_LIGHT_LED1536G5("ikea.light.led1536g5", "IKEA E14 white spectrum", THING_TYPE_LUMI),
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/i18n/basic.properties b/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/i18n/basic.properties
index 533349535cbe1..2fa611200fe38 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/i18n/basic.properties
+++ b/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/i18n/basic.properties
@@ -72,6 +72,7 @@ thing.huayi.light.wyheat = HUIZUO Heating Lamp
thing.huayi.light.zw131 = HUIZUO ZIWEI Ceiling Lamp
thing.hunmi.cooker.normal3 = MiJia Rice Cooker
thing.idelan.aircondition.v1 = Jinxing Smart Air Conditioner
+thing.ijai.vacuum.v19 = Xiaomi Robot Vacuum-Mop 2S
thing.ikea.light.led1545g12 = IKEA E27 white spectrum opal
thing.ikea.light.led1546g12 = IKEA E27 white spectrum clear
thing.ikea.light.led1536g5 = IKEA E14 white spectrum
@@ -887,6 +888,74 @@ ch.huayi.light.wyheat-miot.heat-level = Heater - Heat Level
ch.huayi.light.wyheat-miot.on = Light - Power
ch.huayi.light.wyheat-miot.on1 = Heater - Power
ch.huayi.light.wyheat-miot.screenshow = Other - Screenshow
+ch.ijai.vacuum.v19-miot.actions = Robot Cleaner - Actions
+ch.ijai.vacuum.v19-miot.advanced_actions = Robot Cleaner - Advanced Actions
+ch.ijai.vacuum.v19-miot.ai_recognize = Sweep - Ai Recognize
+ch.ijai.vacuum.v19-miot.alarm = Robot Cleaner - Locate
+ch.ijai.vacuum.v19-miot.all_enable_count = Order - All Enable Count
+ch.ijai.vacuum.v19-miot.battery_level = Robot Cleaner - Battery Level
+ch.ijai.vacuum.v19-miot.build_map = Map - Build Map
+ch.ijai.vacuum.v19-miot.carpet_avoid = Sweep - Carpet Avoid
+ch.ijai.vacuum.v19-miot.carpet_booster = Sweep - Carpet Booster
+ch.ijai.vacuum.v19-miot.clean_way = Order - Clean Way
+ch.ijai.vacuum.v19-miot.cleaning_area = Sweep - Cleaning Area
+ch.ijai.vacuum.v19-miot.cleaning_time = Sweep - Cleaning Time
+ch.ijai.vacuum.v19-miot.cloth_state = Sweep - Cloth State
+ch.ijai.vacuum.v19-miot.cur_cleaning_path = Map - Cur Cleaning Path
+ch.ijai.vacuum.v19-miot.cur_lang = Sweep - Cur Lang
+ch.ijai.vacuum.v19-miot.cur_map_id = Map - Cur Map Id
+ch.ijai.vacuum.v19-miot.day = Order - Day
+ch.ijai.vacuum.v19-miot.direction = Sweep - Direction
+ch.ijai.vacuum.v19-miot.dirt_recognize = Sweep - Dirt Recognize
+ch.ijai.vacuum.v19-miot.dnd_enable = Disturb - Dnd Enable
+ch.ijai.vacuum.v19-miot.dnd_end_hour = Disturb - Dnd End Hour
+ch.ijai.vacuum.v19-miot.dnd_end_minute = Disturb - Dnd End Minute
+ch.ijai.vacuum.v19-miot.dnd_start_hour = Disturb - Dnd Start Hour
+ch.ijai.vacuum.v19-miot.dnd_start_minute = Disturb - Dnd Start Minute
+ch.ijai.vacuum.v19-miot.door_state = Sweep - Door State
+ch.ijai.vacuum.v19-miot.enable = Order - Enable
+ch.ijai.vacuum.v19-miot.fault = Robot Cleaner - Device Fault
+ch.ijai.vacuum.v19-miot.has_new_map = Map - Has New Map
+ch.ijai.vacuum.v19-miot.hour = Order - Hour
+ch.ijai.vacuum.v19-miot.hypa_hours = Sweep - Hypa Hours
+ch.ijai.vacuum.v19-miot.hypa_life = Sweep - Hypa Life
+ch.ijai.vacuum.v19-miot.main_brush_hours = Sweep - Main Brush Hours
+ch.ijai.vacuum.v19-miot.main_brush_life = Sweep - Main Brush Life
+ch.ijai.vacuum.v19-miot.map_encrypt = Sweep - Map Encrypt
+ch.ijai.vacuum.v19-miot.map_num = Map - Map Num
+ch.ijai.vacuum.v19-miot.mapid = Order - Mapid
+ch.ijai.vacuum.v19-miot.minute = Order - Minute
+ch.ijai.vacuum.v19-miot.mode = Robot Cleaner - Mode
+ch.ijai.vacuum.v19-miot.mop_hours = Sweep - Mop Hours
+ch.ijai.vacuum.v19-miot.mop_life = Sweep - Mop Life
+ch.ijai.vacuum.v19-miot.mop_route = Sweep - Mop Route
+ch.ijai.vacuum.v19-miot.multi_prop_dnd = Disturb - Multi Prop Dnd
+ch.ijai.vacuum.v19-miot.multi_prop_vacuum = Sweep - Multi Prop Vacuum
+ch.ijai.vacuum.v19-miot.on = Robot Cleaner - Switch Status
+ch.ijai.vacuum.v19-miot.order_id = Order - Order Id
+ch.ijai.vacuum.v19-miot.pet_recognize = Sweep - Pet Recognize
+ch.ijai.vacuum.v19-miot.remember_state = Map - Remember State
+ch.ijai.vacuum.v19-miot.repeat = Order - Repeat
+ch.ijai.vacuum.v19-miot.repeat_state = Sweep - Repeat State
+ch.ijai.vacuum.v19-miot.restrict_points = Point Zone - Restrict Points
+ch.ijai.vacuum.v19-miot.room_count = Order - Room Count
+ch.ijai.vacuum.v19-miot.room_data = Order - Room Data
+ch.ijai.vacuum.v19-miot.shake_shift = Sweep - Shake Shift
+ch.ijai.vacuum.v19-miot.side_brush_hours = Sweep - Side Brush Hours
+ch.ijai.vacuum.v19-miot.side_brush_life = Sweep - Side Brush Life
+ch.ijai.vacuum.v19-miot.status = Robot Cleaner - Status
+ch.ijai.vacuum.v19-miot.suction = Order - Suction
+ch.ijai.vacuum.v19-miot.suction_state = Robot Cleaner - Power
+ch.ijai.vacuum.v19-miot.sweep_type = Robot Cleaner - Sweep Type
+ch.ijai.vacuum.v19-miot.tank_shake = Sweep - Tank Shake
+ch.ijai.vacuum.v19-miot.target_point = Point Zone - Target Point
+ch.ijai.vacuum.v19-miot.time_zone = Sweep - Time Zone
+ch.ijai.vacuum.v19-miot.time_zone1 = Order - Time Zone
+ch.ijai.vacuum.v19-miot.twice_clean = Order - Twice Clean
+ch.ijai.vacuum.v19-miot.volume = Robot Cleaner - Locate Volume
+ch.ijai.vacuum.v19-miot.water = Order - Water
+ch.ijai.vacuum.v19-miot.water_state = Sweep - Water State
+ch.ijai.vacuum.v19-miot.zone_points = Point Zone - Zone Points
ch.lumi.curtain.hagl05-miot.adjust_value = Motor_controller - Adjust_value
ch.lumi.curtain.hagl05-miot.current-position = Curtain - Current Position
ch.lumi.curtain.hagl05-miot.en_night_tip_light = Curtain_cfg - En_night_tip_light
@@ -2443,6 +2512,114 @@ option.huayi.light.fanwy2-miot.pre-custom-1 = Open
option.huayi.light.fanwy2-miot.reversal-0 = Postitive
option.huayi.light.fanwy2-miot.reversal-1 = Reverse
option.huayi.light.wyheat-miot.fault-0 = No Faults
+option.ijai.vacuum.v19-miot.actions-vacuum-dock = Dock
+option.ijai.vacuum.v19-miot.actions-vacuum-start-only-mop = Start Mop
+option.ijai.vacuum.v19-miot.actions-vacuum-start-only-sweep = Start Sweep
+option.ijai.vacuum.v19-miot.actions-vacuum-start-room-sweep = Start Room Sweep
+option.ijai.vacuum.v19-miot.actions-vacuum-start-sweep = Start
+option.ijai.vacuum.v19-miot.actions-vacuum-start-sweep-mop = Start Sweep+Mop
+option.ijai.vacuum.v19-miot.actions-vacuum-stop-sweeping = Pause
+option.ijai.vacuum.v19-miot.advanced_actions-disturb-set-notdisturb = Disturb Set Notdisturb
+option.ijai.vacuum.v19-miot.advanced_actions-language-download-voice = Language Download Voice
+option.ijai.vacuum.v19-miot.advanced_actions-language-get-download-status = Language Get Download Status
+option.ijai.vacuum.v19-miot.advanced_actions-map-arrange-room = Map Arrange Room
+option.ijai.vacuum.v19-miot.advanced_actions-map-build-map-ii = Map Build Map Ii
+option.ijai.vacuum.v19-miot.advanced_actions-map-build-new-map = Map Build New Map
+option.ijai.vacuum.v19-miot.advanced_actions-map-del-map = Map Del Map
+option.ijai.vacuum.v19-miot.advanced_actions-map-get-cur-path = Map Get Cur Path
+option.ijai.vacuum.v19-miot.advanced_actions-map-get-map-list = Map Get Map List
+option.ijai.vacuum.v19-miot.advanced_actions-map-get-map-room-list = Map Get Map Room List
+option.ijai.vacuum.v19-miot.advanced_actions-map-rename-map = Map Rename Map
+option.ijai.vacuum.v19-miot.advanced_actions-map-rename-room = Map Rename Room
+option.ijai.vacuum.v19-miot.advanced_actions-map-reset-map = Map Reset Map
+option.ijai.vacuum.v19-miot.advanced_actions-map-reset-map-ii = Map Reset Map Ii
+option.ijai.vacuum.v19-miot.advanced_actions-map-set-cur-map = Map Set Cur Map
+option.ijai.vacuum.v19-miot.advanced_actions-map-set-mijia-room-list = Map Set Mijia Room List
+option.ijai.vacuum.v19-miot.advanced_actions-map-split-room = Map Split Room
+option.ijai.vacuum.v19-miot.advanced_actions-map-upload-by-mapid = Map Upload By Mapid
+option.ijai.vacuum.v19-miot.advanced_actions-map-upload-by-mapid-ii = Map Upload By Mapid Ii
+option.ijai.vacuum.v19-miot.advanced_actions-map-upload-by-maptype = Map Upload By Maptype
+option.ijai.vacuum.v19-miot.advanced_actions-map-upload-by-maptype-ii = Map Upload By Maptype Ii
+option.ijai.vacuum.v19-miot.advanced_actions-order-add = Order Add
+option.ijai.vacuum.v19-miot.advanced_actions-order-add-ii = Order Add Ii
+option.ijai.vacuum.v19-miot.advanced_actions-order-add-iii = Order Add Iii
+option.ijai.vacuum.v19-miot.advanced_actions-order-del = Order Del
+option.ijai.vacuum.v19-miot.advanced_actions-order-get = Order Get
+option.ijai.vacuum.v19-miot.advanced_actions-order-get-map-order-count = Order Get Map Order Count
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-pause-point-clean = Point Zone Pause Point Clean
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-pause-zone-clean = Point Zone Pause Zone Clean
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-set-beauty-wall = Point Zone Set Beauty Wall
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-set-virtual-wall = Point Zone Set Virtual Wall
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-set-zone-point = Point Zone Set Zone Point
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-start-point-clean = Point Zone Start Point Clean
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-start-point-clean-ii = Point Zone Start Point Clean Ii
+option.ijai.vacuum.v19-miot.advanced_actions-point-zone-start-zone-clean = Point Zone Start Zone Clean
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-erase-preference = Sweep Erase Preference
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-get-preference-clean = Sweep Get Preference Clean
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-get-preference-ii = Sweep Get Preference Ii
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-reset-consumable = Sweep Reset Consumable
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-set-calibration = Sweep Set Calibration
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-set-go-charging = Sweep Set Go Charging
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-set-preference-clean = Sweep Set Preference Clean
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-set-preference-ii = Sweep Set Preference Ii
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-set-preference-type = Sweep Set Preference Type
+option.ijai.vacuum.v19-miot.advanced_actions-sweep-set-room-clean = Sweep Set Room Clean
+option.ijai.vacuum.v19-miot.build_map-0 = None
+option.ijai.vacuum.v19-miot.build_map-1 = Build
+option.ijai.vacuum.v19-miot.build_map-2 = Clean
+option.ijai.vacuum.v19-miot.clean_way-0 = Sweep
+option.ijai.vacuum.v19-miot.clean_way-1 = Sweep Mop
+option.ijai.vacuum.v19-miot.clean_way-2 = Mop
+option.ijai.vacuum.v19-miot.direction-1 = Forward
+option.ijai.vacuum.v19-miot.direction-10 = Exit
+option.ijai.vacuum.v19-miot.direction-2 = Left
+option.ijai.vacuum.v19-miot.direction-3 = Right
+option.ijai.vacuum.v19-miot.direction-4 = Back
+option.ijai.vacuum.v19-miot.direction-5 = Stop
+option.ijai.vacuum.v19-miot.door_state-0 = None
+option.ijai.vacuum.v19-miot.door_state-1 = DustBox
+option.ijai.vacuum.v19-miot.door_state-2 = WaterBox
+option.ijai.vacuum.v19-miot.door_state-3 = TwoInOne
+option.ijai.vacuum.v19-miot.mode-0 = Sweep
+option.ijai.vacuum.v19-miot.mode-1 = Sweep And Mop
+option.ijai.vacuum.v19-miot.mode-2 = Mop
+option.ijai.vacuum.v19-miot.mop_route-0 = S
+option.ijai.vacuum.v19-miot.mop_route-1 = Y
+option.ijai.vacuum.v19-miot.shake_shift-1 = Low
+option.ijai.vacuum.v19-miot.shake_shift-2 = Mid
+option.ijai.vacuum.v19-miot.shake_shift-3 = High
+option.ijai.vacuum.v19-miot.status-0 = Sleep
+option.ijai.vacuum.v19-miot.status-1 = Idle
+option.ijai.vacuum.v19-miot.status-2 = Paused
+option.ijai.vacuum.v19-miot.status-3 = Go Charging
+option.ijai.vacuum.v19-miot.status-4 = Charging
+option.ijai.vacuum.v19-miot.status-5 = Sweeping
+option.ijai.vacuum.v19-miot.status-6 = Sweeping and Mopping
+option.ijai.vacuum.v19-miot.status-7 = Mopping
+option.ijai.vacuum.v19-miot.status-8 = Upgrading
+option.ijai.vacuum.v19-miot.suction-0 = Slient
+option.ijai.vacuum.v19-miot.suction-1 = Normal
+option.ijai.vacuum.v19-miot.suction-2 = Medium
+option.ijai.vacuum.v19-miot.suction-3 = Turbo
+option.ijai.vacuum.v19-miot.suction_state-0 = Slient
+option.ijai.vacuum.v19-miot.suction_state-1 = Standard
+option.ijai.vacuum.v19-miot.suction_state-2 = Medium
+option.ijai.vacuum.v19-miot.suction_state-3 = Turbo
+option.ijai.vacuum.v19-miot.sweep_type-0 = Global
+option.ijai.vacuum.v19-miot.sweep_type-1 = Mop
+option.ijai.vacuum.v19-miot.sweep_type-2 = Edge
+option.ijai.vacuum.v19-miot.sweep_type-3 = Area
+option.ijai.vacuum.v19-miot.sweep_type-4 = Point
+option.ijai.vacuum.v19-miot.sweep_type-5 = Remote
+option.ijai.vacuum.v19-miot.sweep_type-6 = Explore
+option.ijai.vacuum.v19-miot.sweep_type-7 = Room
+option.ijai.vacuum.v19-miot.sweep_type-8 = Floor
+option.ijai.vacuum.v19-miot.water-0 = Low
+option.ijai.vacuum.v19-miot.water-1 = Mid
+option.ijai.vacuum.v19-miot.water-2 = High
+option.ijai.vacuum.v19-miot.water_state-0 = Low
+option.ijai.vacuum.v19-miot.water_state-1 = Mid
+option.ijai.vacuum.v19-miot.water_state-2 = High
option.lumi.curtain.hagl05-miot.en_night_tip_light-0 = Disable
option.lumi.curtain.hagl05-miot.en_night_tip_light-1 = Enable
option.lumi.curtain.hagl05-miot.fault-0 = No faults
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/ijai.vacuum.v19-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/ijai.vacuum.v19-miot.json
new file mode 100644
index 0000000000000..679dceb8ae5f9
--- /dev/null
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/ijai.vacuum.v19-miot.json
@@ -0,0 +1,2551 @@
+{
+ "deviceMapping":{
+ "id":[
+ "ijai.vacuum.v19"
+ ],
+ "propertyMethod":"get_properties",
+ "maxProperties":4,
+ "channels":[
+ {
+ "property":"",
+ "friendlyName":"Robot Cleaner - Actions",
+ "channel":"actions",
+ "type":"String",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"vacuum-start-sweep",
+ "label":"Start"
+ },
+ {
+ "value":"vacuum-start-sweep-mop",
+ "label":"Start Sweep+Mop"
+ },
+ {
+ "value":"vacuum-start-only-sweep",
+ "label":"Start Sweep"
+ },
+ {
+ "value":"vacuum-start-only-mop",
+ "label":"Start Mop"
+ },
+ {
+ "value":"vacuum-dock",
+ "label":"Dock"
+ },
+ {
+ "value":"vacuum-stop-sweeping",
+ "label":"Pause"
+ },
+ {
+ "value":"vacuum-start-room-sweep",
+ "label":"Start Room 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":"EMPTY",
+ "siid":2,
+ "aiid":3,
+ "condition":{
+ "name":"matchValue",
+ "parameters":[
+ {
+ "matchValue":"vacuum-start-only-sweep"
+ }
+ ]
+ }
+ },
+ {
+ "command":"action",
+ "parameterType":"EMPTY",
+ "siid":2,
+ "aiid":5,
+ "condition":{
+ "name":"matchValue",
+ "parameters":[
+ {
+ "matchValue":"vacuum-start-sweep-mop"
+ }
+ ]
+ }
+ },
+ {
+ "command":"action",
+ "parameterType":"EMPTY",
+ "siid":2,
+ "aiid":6,
+ "condition":{
+ "name":"matchValue",
+ "parameters":[
+ {
+ "matchValue":"vacuum-start-only-mop"
+ }
+ ]
+ }
+ },
+ {
+ "command":"action",
+ "parameterType":"NUMBER",
+ "parameters":[
+ 10.0
+ ],
+ "siid":2,
+ "aiid":7,
+ "condition":{
+ "name":"matchValue",
+ "parameters":[
+ {
+ "matchValue":"vacuum-start-room-sweep"
+ }
+ ]
+ }
+ },
+ {
+ "command":"action",
+ "parameterType":"EMPTY",
+ "siid":3,
+ "aiid":1,
+ "condition":{
+ "name":"matchValue",
+ "parameters":[
+ {
+ "matchValue":"vacuum-dock"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "property":"",
+ "friendlyName":"Robot Cleaner - Advanced Actions",
+ "channel":"advanced_actions",
+ "type":"String",
+ "stateDescription":{
+ "options":[
+ {
+ "value": "sweep-reset-consumable",
+ "label": "Sweep Reset Consumable"
+ },
+ {
+ "value": "sweep-set-calibration",
+ "label": "Sweep Set Calibration"
+ },
+ {
+ "value": "sweep-set-room-clean",
+ "label": "Sweep Set Room Clean"
+ },
+ {
+ "value": "sweep-set-preference-clean",
+ "label": "Sweep Set Preference Clean"
+ },
+ {
+ "value": "sweep-get-preference-clean",
+ "label": "Sweep Get Preference Clean"
+ },
+ {
+ "value": "sweep-set-preference-type",
+ "label": "Sweep Set Preference Type"
+ },
+ {
+ "value": "sweep-set-go-charging",
+ "label": "Sweep Set Go Charging"
+ },
+ {
+ "value": "sweep-erase-preference",
+ "label": "Sweep Erase Preference"
+ },
+ {
+ "value": "sweep-set-preference-ii",
+ "label": "Sweep Set Preference Ii"
+ },
+ {
+ "value": "sweep-get-preference-ii",
+ "label": "Sweep Get Preference Ii"
+ },
+ {
+ "value": "order-add",
+ "label": "Order Add"
+ },
+ {
+ "value": "order-del",
+ "label": "Order Del"
+ },
+ {
+ "value": "order-get",
+ "label": "Order Get"
+ },
+ {
+ "value": "order-add-ii",
+ "label": "Order Add Ii"
+ },
+ {
+ "value": "order-get-map-order-count",
+ "label": "Order Get Map Order Count"
+ },
+ {
+ "value": "order-add-iii",
+ "label": "Order Add Iii"
+ },
+ {
+ "value": "point-zone-start-point-clean",
+ "label": "Point Zone Start Point Clean"
+ },
+ {
+ "value": "point-zone-pause-point-clean",
+ "label": "Point Zone Pause Point Clean"
+ },
+ {
+ "value": "point-zone-start-zone-clean",
+ "label": "Point Zone Start Zone Clean"
+ },
+ {
+ "value": "point-zone-pause-zone-clean",
+ "label": "Point Zone Pause Zone Clean"
+ },
+ {
+ "value": "point-zone-set-beauty-wall",
+ "label": "Point Zone Set Beauty Wall"
+ },
+ {
+ "value": "point-zone-set-virtual-wall",
+ "label": "Point Zone Set Virtual Wall"
+ },
+ {
+ "value": "point-zone-set-zone-point",
+ "label": "Point Zone Set Zone Point"
+ },
+ {
+ "value": "point-zone-start-point-clean-ii",
+ "label": "Point Zone Start Point Clean Ii"
+ },
+ {
+ "value": "map-get-map-list",
+ "label": "Map Get Map List"
+ },
+ {
+ "value": "map-upload-by-mapid",
+ "label": "Map Upload By Mapid"
+ },
+ {
+ "value": "map-set-cur-map",
+ "label": "Map Set Cur Map"
+ },
+ {
+ "value": "map-del-map",
+ "label": "Map Del Map"
+ },
+ {
+ "value": "map-rename-map",
+ "label": "Map Rename Map"
+ },
+ {
+ "value": "map-upload-by-maptype",
+ "label": "Map Upload By Maptype"
+ },
+ {
+ "value": "map-rename-room",
+ "label": "Map Rename Room"
+ },
+ {
+ "value": "map-arrange-room",
+ "label": "Map Arrange Room"
+ },
+ {
+ "value": "map-split-room",
+ "label": "Map Split Room"
+ },
+ {
+ "value": "map-reset-map",
+ "label": "Map Reset Map"
+ },
+ {
+ "value": "map-build-new-map",
+ "label": "Map Build New Map"
+ },
+ {
+ "value": "map-get-cur-path",
+ "label": "Map Get Cur Path"
+ },
+ {
+ "value": "map-get-map-room-list",
+ "label": "Map Get Map Room List"
+ },
+ {
+ "value": "map-upload-by-mapid-ii",
+ "label": "Map Upload By Mapid Ii"
+ },
+ {
+ "value": "map-upload-by-maptype-ii",
+ "label": "Map Upload By Maptype Ii"
+ },
+ {
+ "value": "map-reset-map-ii",
+ "label": "Map Reset Map Ii"
+ },
+ {
+ "value": "map-build-map-ii",
+ "label": "Map Build Map Ii"
+ },
+ {
+ "value": "map-set-mijia-room-list",
+ "label": "Map Set Mijia Room List"
+ },
+ {
+ "value": "disturb-set-notdisturb",
+ "label": "Disturb Set Notdisturb"
+ },
+ {
+ "value": "language-download-voice",
+ "label": "Language Download Voice"
+ },
+ {
+ "value": "language-get-download-status",
+ "label": "Language Get Download Status"
+ }
+ ]
+ },
+ "refresh": false,
+ "actions": [
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 17.0
+ ],
+ "siid": 7,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-reset-consumable"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 7,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-set-calibration"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 24,
+ 25,
+ 26.0
+ ],
+ "siid": 7,
+ "aiid": 3,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-set-room-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 34,
+ 33.0
+ ],
+ "siid": 7,
+ "aiid": 4,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-set-preference-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 33.0
+ ],
+ "siid": 7,
+ "aiid": 5,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-get-preference-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 38.0
+ ],
+ "siid": 7,
+ "aiid": 6,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-set-preference-type"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 43.0
+ ],
+ "siid": 7,
+ "aiid": 7,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-set-go-charging"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 24,
+ 33,
+ 38.0
+ ],
+ "siid": 7,
+ "aiid": 8,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-erase-preference"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 34,
+ 33.0
+ ],
+ "siid": 7,
+ "aiid": 9,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-set-preference-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 33.0
+ ],
+ "siid": 7,
+ "aiid": 10,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep-get-preference-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 11,
+ 14,
+ 12,
+ 16.0
+ ],
+ "siid": 8,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "order-add"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 1.0
+ ],
+ "siid": 8,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "order-del"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 8,
+ "aiid": 3,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "order-get"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 11,
+ 12,
+ 14,
+ 16,
+ 17,
+ 19.0
+ ],
+ "siid": 8,
+ "aiid": 4,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "order-add-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 11.0
+ ],
+ "siid": 8,
+ "aiid": 5,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "order-get-map-order-count"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 11,
+ 12,
+ 14,
+ 16,
+ 17,
+ 19.0
+ ],
+ "siid": 8,
+ "aiid": 6,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "order-add-iii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 9,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-start-point-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 4.0
+ ],
+ "siid": 9,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-pause-point-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 9,
+ "aiid": 3,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-start-zone-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 4.0
+ ],
+ "siid": 9,
+ "aiid": 4,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-pause-zone-clean"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6.0
+ ],
+ "siid": 9,
+ "aiid": 5,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-set-beauty-wall"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 3.0
+ ],
+ "siid": 9,
+ "aiid": 6,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-set-virtual-wall"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 2.0
+ ],
+ "siid": 9,
+ "aiid": 8,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-set-zone-point"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 5.0
+ ],
+ "siid": 9,
+ "aiid": 9,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "point-zone-start-point-clean-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 10,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-get-map-list"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6.0
+ ],
+ "siid": 10,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-upload-by-mapid"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6.0
+ ],
+ "siid": 10,
+ "aiid": 3,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-set-cur-map"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6.0
+ ],
+ "siid": 10,
+ "aiid": 4,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-del-map"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6,
+ 8.0
+ ],
+ "siid": 10,
+ "aiid": 5,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-rename-map"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 7.0
+ ],
+ "siid": 10,
+ "aiid": 6,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-upload-by-maptype"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6,
+ 9,
+ 10.0
+ ],
+ "siid": 10,
+ "aiid": 7,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-rename-room"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6,
+ 11,
+ 13.0
+ ],
+ "siid": 10,
+ "aiid": 8,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-arrange-room"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6,
+ 9,
+ 12,
+ 13.0
+ ],
+ "siid": 10,
+ "aiid": 9,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-split-room"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 10,
+ "aiid": 10,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-reset-map"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 14.0
+ ],
+ "siid": 10,
+ "aiid": 11,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-build-new-map"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 15,
+ 16.0
+ ],
+ "siid": 10,
+ "aiid": 12,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-get-cur-path"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 2.0
+ ],
+ "siid": 10,
+ "aiid": 13,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-get-map-room-list"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6.0
+ ],
+ "siid": 10,
+ "aiid": 14,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-upload-by-mapid-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 7.0
+ ],
+ "siid": 10,
+ "aiid": 15,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-upload-by-maptype-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 10,
+ "aiid": 16,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-reset-map-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 14.0
+ ],
+ "siid": 10,
+ "aiid": 17,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-build-map-ii"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 6,
+ 22.0
+ ],
+ "siid": 10,
+ "aiid": 18,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "map-set-mijia-room-list"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6.0
+ ],
+ "siid": 12,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "disturb-set-notdisturb"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "UNKNOWN",
+ "parameters": [
+ 1,
+ 5,
+ 6.0
+ ],
+ "siid": 14,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "language-download-voice"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 14,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "language-get-download-status"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "property":"status",
+ "siid":2,
+ "piid":1,
+ "friendlyName":"Robot Cleaner - Status",
+ "channel":"status",
+ "type":"Number",
+ "stateDescription":{
+ "readOnly":true,
+ "options":[
+ {
+ "value":"0",
+ "label":"Sleep"
+ },
+ {
+ "value":"1",
+ "label":"Idle"
+ },
+ {
+ "value":"2",
+ "label":"Paused"
+ },
+ {
+ "value":"3",
+ "label":"Go Charging"
+ },
+ {
+ "value":"4",
+ "label":"Charging"
+ },
+ {
+ "value":"5",
+ "label":"Sweeping"
+ },
+ {
+ "value":"6",
+ "label":"Sweeping and Mopping"
+ },
+ {
+ "value":"7",
+ "label":"Mopping"
+ },
+ {
+ "value":"8",
+ "label":"Upgrading"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Sleep\",\"1\"\u003d\"Idle\",\"2\"\u003d\"Paused\",\"3\"\u003d\"Go Charging\",\"4\"\u003d\"Charging\",\"5\"\u003d\"Sweeping\",\"6\"\u003d\"Sweeping and Mopping\",\"7\"\u003d\"Mopping\",\"8\"\u003d\"Upgrading\"]"
+ },
+ {
+ "property":"fault",
+ "siid":2,
+ "piid":2,
+ "friendlyName":"Robot Cleaner - Device Fault",
+ "channel":"fault",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":3000,
+ "step":1,
+ "pattern":"%.0f",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"mode",
+ "siid":2,
+ "piid":4,
+ "friendlyName":"Robot Cleaner - Mode",
+ "channel":"mode",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Sweep"
+ },
+ {
+ "value":"1",
+ "label":"Sweep And Mop"
+ },
+ {
+ "value":"2",
+ "label":"Mop"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Sweep\",\"1\"\u003d\"Sweep And Mop\",\"2\"\u003d\"Mop\"]"
+ },
+ {
+ "property":"sweep-type",
+ "siid":2,
+ "piid":8,
+ "friendlyName":"Robot Cleaner - Sweep Type",
+ "channel":"sweep_type",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Global"
+ },
+ {
+ "value":"1",
+ "label":"Mop"
+ },
+ {
+ "value":"2",
+ "label":"Edge"
+ },
+ {
+ "value":"3",
+ "label":"Area"
+ },
+ {
+ "value":"4",
+ "label":"Point"
+ },
+ {
+ "value":"5",
+ "label":"Remote"
+ },
+ {
+ "value":"6",
+ "label":"Explore"
+ },
+ {
+ "value":"7",
+ "label":"Room"
+ },
+ {
+ "value":"8",
+ "label":"Floor"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Global\",\"1\"\u003d\"Mop\",\"2\"\u003d\"Edge\",\"3\"\u003d\"Area\",\"4\"\u003d\"Point\",\"5\"\u003d\"Remote\",\"6\"\u003d\"Explore\",\"7\"\u003d\"Room\",\"8\"\u003d\"Floor\"]"
+ },
+ {
+ "property":"on",
+ "siid":2,
+ "piid":9,
+ "friendlyName":"Robot Cleaner - Switch Status",
+ "channel":"on",
+ "type":"String",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"battery-level",
+ "siid":3,
+ "piid":1,
+ "friendlyName":"Robot Cleaner - 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":"alarm",
+ "siid":4,
+ "piid":1,
+ "friendlyName":"Robot Cleaner - Locate",
+ "channel":"alarm",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property":"volume",
+ "siid":4,
+ "piid":2,
+ "friendlyName":"Robot Cleaner - Locate Volume",
+ "channel":"volume",
+ "type":"Number:Dimensionless",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":10,
+ "step":1,
+ "pattern":"%.0f"
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"repeat-state",
+ "siid":7,
+ "piid":1,
+ "friendlyName":"Sweep - Repeat State",
+ "channel":"repeat_state",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"door-state",
+ "siid":7,
+ "piid":3,
+ "friendlyName":"Sweep - Door State",
+ "channel":"door_state",
+ "type":"Number",
+ "stateDescription":{
+ "readOnly":true,
+ "options":[
+ {
+ "value":"0",
+ "label":"None"
+ },
+ {
+ "value":"1",
+ "label":"DustBox"
+ },
+ {
+ "value":"2",
+ "label":"WaterBox"
+ },
+ {
+ "value":"3",
+ "label":"TwoInOne"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"None\",\"1\"\u003d\"DustBox\",\"2\"\u003d\"WaterBox\",\"3\"\u003d\"TwoInOne\"]"
+ },
+ {
+ "property":"cloth-state",
+ "siid":7,
+ "piid":4,
+ "friendlyName":"Sweep - Cloth State",
+ "channel":"cloth_state",
+ "type":"Contact",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"suction-state",
+ "siid":7,
+ "piid":5,
+ "friendlyName":"Robot Cleaner - Power",
+ "channel":"suction_state",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Slient"
+ },
+ {
+ "value":"1",
+ "label":"Standard"
+ },
+ {
+ "value":"2",
+ "label":"Medium"
+ },
+ {
+ "value":"3",
+ "label":"Turbo"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Slient\",\"1\"\u003d\"Standard\",\"2\"\u003d\"Medium\",\"3\"\u003d\"Turbo\"]"
+ },
+ {
+ "property":"water-state",
+ "siid":7,
+ "piid":6,
+ "friendlyName":"Sweep - Water State",
+ "channel":"water_state",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Low"
+ },
+ {
+ "value":"1",
+ "label":"Mid"
+ },
+ {
+ "value":"2",
+ "label":"High"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Low\",\"1\"\u003d\"Mid\",\"2\"\u003d\"High\"]"
+ },
+ {
+ "property":"mop-route",
+ "siid":7,
+ "piid":7,
+ "friendlyName":"Sweep - Mop Route",
+ "channel":"mop_route",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"S"
+ },
+ {
+ "value":"1",
+ "label":"Y"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"S\",\"1\"\u003d\"Y\"]"
+ },
+ {
+ "property":"side-brush-life",
+ "siid":7,
+ "piid":8,
+ "friendlyName":"Sweep - Side Brush Life",
+ "channel":"side_brush_life",
+ "type":"Number:Dimensionless",
+ "unit":"percentage",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":100,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"side-brush-hours",
+ "siid":7,
+ "piid":9,
+ "friendlyName":"Sweep - Side Brush Hours",
+ "channel":"side_brush_hours",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":180,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"main-brush-life",
+ "siid":7,
+ "piid":10,
+ "friendlyName":"Sweep - Main Brush Life",
+ "channel":"main_brush_life",
+ "type":"Number:Dimensionless",
+ "unit":"percentage",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":100,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"main-brush-hours",
+ "siid":7,
+ "piid":11,
+ "friendlyName":"Sweep - Main Brush Hours",
+ "channel":"main_brush_hours",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":360,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"hypa-life",
+ "siid":7,
+ "piid":12,
+ "friendlyName":"Sweep - Hypa Life",
+ "channel":"hypa_life",
+ "type":"Number:Dimensionless",
+ "unit":"percentage",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":100,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"hypa-hours",
+ "siid":7,
+ "piid":13,
+ "friendlyName":"Sweep - Hypa Hours",
+ "channel":"hypa_hours",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":180,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"mop-life",
+ "siid":7,
+ "piid":14,
+ "friendlyName":"Sweep - Mop Life",
+ "channel":"mop_life",
+ "type":"Number:Dimensionless",
+ "unit":"percentage",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":100,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"mop-hours",
+ "siid":7,
+ "piid":15,
+ "friendlyName":"Sweep - Mop Hours",
+ "channel":"mop_hours",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":180,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"direction",
+ "siid":7,
+ "piid":16,
+ "friendlyName":"Sweep - Direction",
+ "channel":"direction",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"1",
+ "label":"Forward"
+ },
+ {
+ "value":"2",
+ "label":"Left"
+ },
+ {
+ "value":"3",
+ "label":"Right"
+ },
+ {
+ "value":"4",
+ "label":"Back"
+ },
+ {
+ "value":"5",
+ "label":"Stop"
+ },
+ {
+ "value":"10",
+ "label":"Exit"
+ }
+ ]
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"1\"\u003d\"Forward\",\"2\"\u003d\"Left\",\"3\"\u003d\"Right\",\"4\"\u003d\"Back\",\"5\"\u003d\"Stop\",\"10\"\u003d\"Exit\"]"
+ },
+ {
+ "property":"time-zone",
+ "siid":7,
+ "piid":20,
+ "friendlyName":"Sweep - Time Zone",
+ "channel":"time_zone",
+ "type":"Number",
+ "stateDescription":{
+ "step":1,
+ "pattern":"%.0f"
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"cur-lang",
+ "siid":7,
+ "piid":21,
+ "friendlyName":"Sweep - Cur Lang",
+ "channel":"cur_lang",
+ "type":"String",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"cleaning-time",
+ "siid":7,
+ "piid":22,
+ "friendlyName":"Sweep - Cleaning Time",
+ "channel":"cleaning_time",
+ "type":"Number:Time",
+ "unit":"minutes",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":360,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"cleaning-area",
+ "siid":7,
+ "piid":23,
+ "friendlyName":"Sweep - Cleaning Area",
+ "channel":"cleaning_area",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":1200,
+ "step":1,
+ "pattern":"%.0f",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"dirt-recognize",
+ "siid":7,
+ "piid":35,
+ "friendlyName":"Sweep - Dirt Recognize",
+ "channel":"dirt_recognize",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"pet-recognize",
+ "siid":7,
+ "piid":36,
+ "friendlyName":"Sweep - Pet Recognize",
+ "channel":"pet_recognize",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"ai-recognize",
+ "siid":7,
+ "piid":42,
+ "friendlyName":"Sweep - Ai Recognize",
+ "channel":"ai_recognize",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"carpet-booster",
+ "siid":7,
+ "piid":44,
+ "friendlyName":"Sweep - Carpet Booster",
+ "channel":"carpet_booster",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"multi-prop-vacuum",
+ "siid":7,
+ "piid":45,
+ "friendlyName":"Sweep - Multi Prop Vacuum",
+ "channel":"multi_prop_vacuum",
+ "type":"String",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"carpet-avoid",
+ "siid":7,
+ "piid":47,
+ "friendlyName":"Sweep - Carpet Avoid",
+ "channel":"carpet_avoid",
+ "type":"Switch",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"tank-shake",
+ "siid":7,
+ "piid":48,
+ "friendlyName":"Sweep - Tank Shake",
+ "channel":"tank_shake",
+ "type":"Switch",
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"shake-shift",
+ "siid":7,
+ "piid":50,
+ "friendlyName":"Sweep - Shake Shift",
+ "channel":"shake_shift",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"1",
+ "label":"Low"
+ },
+ {
+ "value":"2",
+ "label":"Mid"
+ },
+ {
+ "value":"3",
+ "label":"High"
+ }
+ ]
+ },
+ "refresh":true,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"1\"\u003d\"Low\",\"2\"\u003d\"Mid\",\"3\"\u003d\"High\"]"
+ },
+ {
+ "property":"map-encrypt",
+ "siid":7,
+ "piid":55,
+ "friendlyName":"Sweep - Map Encrypt",
+ "channel":"map_encrypt",
+ "type":"Contact",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"order-id",
+ "siid":8,
+ "piid":1,
+ "friendlyName":"Order - Order Id",
+ "channel":"order_id",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "step":1,
+ "pattern":"%.0f"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"enable",
+ "siid":8,
+ "piid":2,
+ "friendlyName":"Order - Enable",
+ "channel":"enable",
+ "type":"Switch",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"day",
+ "siid":8,
+ "piid":3,
+ "friendlyName":"Order - Day",
+ "channel":"day",
+ "type":"Number:Time",
+ "unit":"days",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":255,
+ "step":1,
+ "pattern":"%.0f %unit%"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"hour",
+ "siid":8,
+ "piid":4,
+ "friendlyName":"Order - Hour",
+ "channel":"hour",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":23,
+ "step":1,
+ "pattern":"%.0f %unit%"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"minute",
+ "siid":8,
+ "piid":5,
+ "friendlyName":"Order - Minute",
+ "channel":"minute",
+ "type":"Number:Time",
+ "unit":"minutes",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":59,
+ "step":1,
+ "pattern":"%.0f %unit%"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"repeat",
+ "siid":8,
+ "piid":6,
+ "friendlyName":"Order - Repeat",
+ "channel":"repeat",
+ "type":"Switch",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"clean-way",
+ "siid":8,
+ "piid":7,
+ "friendlyName":"Order - Clean Way",
+ "channel":"clean_way",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Sweep"
+ },
+ {
+ "value":"1",
+ "label":"Sweep Mop"
+ },
+ {
+ "value":"2",
+ "label":"Mop"
+ }
+ ]
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Sweep\",\"1\"\u003d\"Sweep Mop\",\"2\"\u003d\"Mop\"]"
+ },
+ {
+ "property":"suction",
+ "siid":8,
+ "piid":8,
+ "friendlyName":"Order - Suction",
+ "channel":"suction",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Slient"
+ },
+ {
+ "value":"1",
+ "label":"Normal"
+ },
+ {
+ "value":"2",
+ "label":"Medium"
+ },
+ {
+ "value":"3",
+ "label":"Turbo"
+ }
+ ]
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Slient\",\"1\"\u003d\"Normal\",\"2\"\u003d\"Medium\",\"3\"\u003d\"Turbo\"]"
+ },
+ {
+ "property":"water",
+ "siid":8,
+ "piid":9,
+ "friendlyName":"Order - Water",
+ "channel":"water",
+ "type":"Number",
+ "stateDescription":{
+ "options":[
+ {
+ "value":"0",
+ "label":"Low"
+ },
+ {
+ "value":"1",
+ "label":"Mid"
+ },
+ {
+ "value":"2",
+ "label":"High"
+ }
+ ]
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"Low\",\"1\"\u003d\"Mid\",\"2\"\u003d\"High\"]"
+ },
+ {
+ "property":"twice-clean",
+ "siid":8,
+ "piid":10,
+ "friendlyName":"Order - Twice Clean",
+ "channel":"twice_clean",
+ "type":"Switch",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"mapid",
+ "siid":8,
+ "piid":11,
+ "friendlyName":"Order - Mapid",
+ "channel":"mapid",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "step":1,
+ "pattern":"%.0f"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"room-count",
+ "siid":8,
+ "piid":12,
+ "friendlyName":"Order - Room Count",
+ "channel":"room_count",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":64,
+ "step":1,
+ "pattern":"%.0f"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"room-data",
+ "siid":8,
+ "piid":13,
+ "friendlyName":"Order - Room Data",
+ "channel":"room_data",
+ "type":"String",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"time-zone1",
+ "siid":8,
+ "piid":14,
+ "friendlyName":"Order - Time Zone",
+ "channel":"time_zone1",
+ "type":"Number",
+ "stateDescription":{
+ "step":1,
+ "pattern":"%.0f"
+ },
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"NUMBER"
+ }
+ ]
+ },
+ {
+ "property":"all-enable-count",
+ "siid":8,
+ "piid":18,
+ "friendlyName":"Order - All Enable Count",
+ "channel":"all_enable_count",
+ "type":"String",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"zone-points",
+ "siid":9,
+ "piid":2,
+ "friendlyName":"Point Zone - Zone Points",
+ "channel":"zone_points",
+ "type":"String",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"restrict-points",
+ "siid":9,
+ "piid":3,
+ "friendlyName":"Point Zone - Restrict Points",
+ "channel":"restrict_points",
+ "type":"String",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"target-point",
+ "siid":9,
+ "piid":5,
+ "friendlyName":"Point Zone - Target Point",
+ "channel":"target_point",
+ "type":"String",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"STRING"
+ }
+ ]
+ },
+ {
+ "property":"remember-state",
+ "siid":10,
+ "piid":1,
+ "friendlyName":"Map - Remember State",
+ "channel":"remember_state",
+ "type":"Switch",
+ "refresh":false,
+ "actions":[
+ {
+ "command":"set_properties",
+ "parameterType":"ONOFFNUMBER"
+ }
+ ]
+ },
+ {
+ "property":"cur-map-id",
+ "siid":10,
+ "piid":2,
+ "friendlyName":"Map - Cur Map Id",
+ "channel":"cur_map_id",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "step":1,
+ "pattern":"%.0f",
+ "readOnly":true
+ },
+ "refresh":false,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"map-num",
+ "siid":10,
+ "piid":3,
+ "friendlyName":"Map - Map Num",
+ "channel":"map_num",
+ "type":"Number",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":5,
+ "step":1,
+ "pattern":"%.0f",
+ "readOnly":true
+ },
+ "refresh":false,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"cur-cleaning-path",
+ "siid":10,
+ "piid":5,
+ "friendlyName":"Map - Cur Cleaning Path",
+ "channel":"cur_cleaning_path",
+ "type":"String",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":false,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"build-map",
+ "siid":10,
+ "piid":14,
+ "friendlyName":"Map - Build Map",
+ "channel":"build_map",
+ "type":"Number",
+ "stateDescription":{
+ "readOnly":true,
+ "options":[
+ {
+ "value":"0",
+ "label":"None"
+ },
+ {
+ "value":"1",
+ "label":"Build"
+ },
+ {
+ "value":"2",
+ "label":"Clean"
+ }
+ ]
+ },
+ "refresh":false,
+ "actions":[
+
+ ],
+ "readmeComment":"Value mapping [\"0\"\u003d\"None\",\"1\"\u003d\"Build\",\"2\"\u003d\"Clean\"]"
+ },
+ {
+ "property":"has-new-map",
+ "siid":10,
+ "piid":19,
+ "friendlyName":"Map - Has New Map",
+ "channel":"has_new_map",
+ "type":"Contact",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":false,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"dnd-enable",
+ "siid":12,
+ "piid":1,
+ "friendlyName":"Disturb - Dnd Enable",
+ "channel":"dnd_enable",
+ "type":"Contact",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"dnd-start-hour",
+ "siid":12,
+ "piid":2,
+ "friendlyName":"Disturb - Dnd Start Hour",
+ "channel":"dnd_start_hour",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":23,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"dnd-start-minute",
+ "siid":12,
+ "piid":3,
+ "friendlyName":"Disturb - Dnd Start Minute",
+ "channel":"dnd_start_minute",
+ "type":"Number:Time",
+ "unit":"minutes",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":59,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"dnd-end-hour",
+ "siid":12,
+ "piid":4,
+ "friendlyName":"Disturb - Dnd End Hour",
+ "channel":"dnd_end_hour",
+ "type":"Number:Time",
+ "unit":"hours",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":23,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"dnd-end-minute",
+ "siid":12,
+ "piid":5,
+ "friendlyName":"Disturb - Dnd End Minute",
+ "channel":"dnd_end_minute",
+ "type":"Number:Time",
+ "unit":"minutes",
+ "stateDescription":{
+ "minimum":0,
+ "maximum":59,
+ "step":1,
+ "pattern":"%.0f %unit%",
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ },
+ {
+ "property":"multi-prop-dnd",
+ "siid":12,
+ "piid":7,
+ "friendlyName":"Disturb - Multi Prop Dnd",
+ "channel":"multi_prop_dnd",
+ "type":"String",
+ "stateDescription":{
+ "readOnly":true
+ },
+ "refresh":true,
+ "actions":[
+
+ ]
+ }
+ ],
+ "experimental":false
+ }
+}
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/misc/device_names.json b/bundles/org.openhab.binding.miio/src/main/resources/misc/device_names.json
index 5b3cc2e91d676..43a0ac9da1deb 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/misc/device_names.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/misc/device_names.json
@@ -1081,6 +1081,7 @@
"ihome.switch.switch": "开关",
"ijai.vacuum.v1": "Mi Robot Vacuum-Mop Pro",
"ijai.vacuum.v2": "Mi Robot Vacuum-Mop 2",
+ "ijai.vacuum.v19": "Mi Robot Vacuum-Mop 2S",
"ijomoo.toilet.i90": "JOMOO Smart Toilet I90",
"ijomoo.toilet.zs320": "Smart Toilet Lid-ZS320T",
"ikea.light.led1536g5": "IKEA E14 white spectrum",