]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] add & improve dreame vacuums p2036.p2041o,p2056o,p2057 (#10254)
authorMarcel <marcel@verpaalen.com>
Tue, 2 Mar 2021 03:07:11 +0000 (04:07 +0100)
committerGitHub <noreply@github.com>
Tue, 2 Mar 2021 03:07:11 +0000 (19:07 -0800)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
bundles/org.openhab.binding.miio/README.md
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
bundles/org.openhab.binding.miio/src/main/resources/database/dreame.vacuum.p2009-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/dreame.vacuum.p2156o-miot.json [new file with mode: 0644]

index 1000b5b4c6cc153736e2e61684edf7a9c09a0c3f..f2677ea1d5e3213d8e1bd18bdfd3b165522770be 100644 (file)
@@ -173,7 +173,7 @@ This will change the communication method and the Mi IO binding can communicate
 
 # Mi IO Devices
 
-Currently the miio binding supports more than 270 different models.
+Currently the miio binding supports more than 280 different models.
 
 | Device                       | ThingType        | Device Model           | Supported | Remark     |
 |------------------------------|------------------|------------------------|-----------|------------|
@@ -210,6 +210,10 @@ Currently the miio binding supports more than 270 different models.
 | Mi Robot Vacuum Mop 1C STYTJ01ZHM | miio:basic       | [dreame.vacuum.mc1808](#dreame-vacuum-mc1808) | Yes       | Identified manual actions for execution<br />`action{"did":"battery-start-charge","siid":2,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-start-sweep","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-stop-sweeping","siid":3,"aiid":2,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":26,"aiid":1,"in":[]}`<br />`action{"did":"filter-reset-filter-life","siid":27,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":28,"aiid":1,"in":[]}`<br />`action{"did":"clean-start-clean","siid":18,"aiid":1,"in":[]}`<br />`action{"did":"clean-stop-clean","siid":18,"aiid":2,"in":[]}`<br />`action{"did":"remote-start-remote","siid":21,"aiid":1,"in":[1.0, 2.0]}`<br />`action{"did":"remote-stop-remote","siid":21,"aiid":2,"in":[]}`<br />`action{"did":"remote-exit-remote","siid":21,"aiid":3,"in":[]}`<br />`action{"did":"map-map-req","siid":23,"aiid":1,"in":[2.0]}`<br />`action{"did":"audio-position","siid":24,"aiid":1,"in":[]}`<br />`action{"did":"audio-set-voice","siid":24,"aiid":2,"in":[]}`<br />`action{"did":"audio-play-sound","siid":24,"aiid":3,"in":[]}`<br />Please test and feedback if they are working to they can be linked to a channel.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Dreame Robot Vacuum-Mop F9   | miio:basic       | [dreame.vacuum.p2008](#dreame-vacuum-p2008) | Yes       | Identified manual actions for execution<br />`action{"did":"vacuum-start-sweep","siid":2,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-stop-sweeping","siid":2,"aiid":2,"in":[]}`<br />`action{"did":"battery-start-charge","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":9,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":10,"aiid":1,"in":[]}`<br />`action{"did":"filter-reset-filter-life","siid":11,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`<br />`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`<br />`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`<br />`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`<br />`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`<br />`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`<br />`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`<br />Please test and feedback if they are working to they can be linked to a channel.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Dreame Robot Vacuum D9       | miio:basic       | [dreame.vacuum.p2009](#dreame-vacuum-p2009) | Yes       | Identified manual actions for execution not linked in the database >`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`<br />`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`<br />`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`<br />`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`<br />`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`<br />`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`<br />`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`<br /> |
+| Trouver Robot LDS Vacuum-Mop Finder | miio:basic       | [dreame.vacuum.p2036](#dreame-vacuum-p2036) | Yes       | Identified manual actions for execution not linked in the database >`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`<br />`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`<br />`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`<br />`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`<br />`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`<br />`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`<br />`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`<br /> |
+| Mi Robot Vacuum-Mop 2 Pro+   | miio:basic       | [dreame.vacuum.p2041o](#dreame-vacuum-p2041o) | Yes       | Identified manual actions for execution<br />`action{"did":"vacuum-start-sweep","siid":2,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-stop-sweeping","siid":2,"aiid":2,"in":[]}`<br />`action{"did":"battery-start-charge","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":9,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":10,"aiid":1,"in":[]}`<br />`action{"did":"filter-reset-filter-life","siid":11,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`<br />`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`<br />`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`<br />`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`<br />`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`<br />`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`<br />`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`<br />Please test and feedback if they are working to they can be linked to a channel.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| MOVA Z500 Robot Vacuum and Mop Cleaner | miio:basic       | [dreame.vacuum.p2156o](#dreame-vacuum-p2156o) | Yes       | Identified manual actions for execution<br />`action{"did":"vacuum-start-sweep","siid":2,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-stop-sweeping","siid":2,"aiid":2,"in":[]}`<br />`action{"did":"battery-start-charge","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":9,"aiid":1,"in":[]}`<br />`action{"did":"brush-cleaner-reset-brush-life","siid":10,"aiid":1,"in":[]}`<br />`action{"did":"filter-reset-filter-life","siid":11,"aiid":1,"in":[]}`<br />`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`<br />`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`<br />`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`<br />`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`<br />`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`<br />`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`<br />`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`<br />Please test and feedback if they are working to they can be linked to a channel.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| MOVA L600 Robot Vacuum and Mop Cleaner | miio:basic       | [dreame.vacuum.p2157](#dreame-vacuum-p2157) | Yes       | Identified manual actions for execution not linked in the database >`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`<br />`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`<br />`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`<br />`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`<br />`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`<br />`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`<br />`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`<br /> |
 | HUIZUO ARIES For Bedroom     | miio:basic       | [huayi.light.ari013](#huayi-light-ari013) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | HUIZUO ARIES For Living Room | miio:basic       | [huayi.light.aries](#huayi-light-aries) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | HUIZUO Fan Light             | miio:basic       | [huayi.light.fanwy](#huayi-light-fanwy) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
@@ -883,7 +887,175 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | cleaning-mode        | Number               | Vacuum Extend - Cleaning Mode            | Value mapping ["0"="mode 0","1"="mode 1","2"="mode 2","3"="mode 3"] |
 | mop-mode             | Number               | Vacuum Extend - Mop Mode                 | Value mapping ["1"="low water","2"="medium water","3"="high water"] |
 | waterbox-status      | Number               | Vacuum Extend - Waterbox Status          | Value mapping ["0"="Status 0","1"="Status 1"] |
-| task-status          | Number               | Vacuum Extend - Task Status              |            |
+| task-status          | Number               | Vacuum Extend - Task Status              | Value mapping ["0"="Notask","1"="AutoClean","2"="CustomClean","3"="SelectAreanClean","4"="SpotArea"] |
+| break-point-restart  | Number               | Vacuum Extend - Break Point Restart      | Value mapping ["0"="Off","1"="On"] |
+| carpet-press         | Number               | Vacuum Extend - Carpet Press             | Value mapping ["0"="Off","1"="On"] |
+| serial-number1       | String               | Vacuum Extend - Serial Number            |            |
+| clean-rags-tip       | Number:Time          | Vacuum Extend - Clean Rags Tip           |            |
+| keep-sweeper-time    | Number:Time          | Vacuum Extend - Keep Sweeper Time        |            |
+| faults               | String               | Vacuum Extend - Faults                   |            |
+| enable               | Switch               | Do Not Disturb - Enable                  |            |
+| start-time           | String               | Do Not Disturb - Start Time              |            |
+| end-time             | String               | Do Not Disturb - End Time                |            |
+| volume               | Number:Dimensionless | Audio - Volume                           |            |
+| voice-packet-id      | String               | Audio - Voice Packet Id                  |            |
+| voice-change-state   | String               | Audio - Voice Change State               |            |
+| time-zone            | String               | Time - Time Zone                         |            |
+| timer-clean          | String               | Time - Timer Clean                       |            |
+| first-clean-time     | Number               | Clean Logs - First Clean Time            |            |
+| total-clean-time     | Number:Time          | Clean Logs - Total Clean Time            |            |
+| total-clean-times    | Number               | Clean Logs - Total Clean Times           |            |
+| total-clean-area     | Number               | Clean Logs - Total Clean Area            |            |
+
+### Trouver Robot LDS Vacuum-Mop Finder (<a name="dreame-vacuum-p2036">dreame.vacuum.p2036</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| vacuumaction         | String               | Vacuum Action                            | Value mapping ["sweep"="Sweep","stopsweep"="Stop Sweep","dock"="Goto Dock"] |
+| status               | Number               | Robot Cleaner - Status                   | Value mapping ["1"="Sweeping","2"="Idle","3"="Paused","4"="Error","5"="Go Charging","6"="Charging","7"="Mopping"] |
+| fault                | Number               | Robot Cleaner - Device Fault             |            |
+| battery-level        | Number:Dimensionless | Battery - Battery Level                  |            |
+| charging-state       | Number               | Battery - Charging State                 | Value mapping ["1"="Charging","2"="Not Charging","5"="Go Charging"] |
+| resetConsumable      | String               | Consumables Reset                        | Value mapping ["mainbrush-cleaner-reset-brush-life"="Reset Main Brush","sidebrush-cleaner-reset-brush-life"="Reset Side Brush","filter-reset-filter-life"="Reset Filter"] |
+| brush-left-time      | Number:Time          | Main Cleaning Brush - Brush Left Time    |            |
+| brush-life-level     | Number:Dimensionless | Main Cleaning Brush - Brush Life Level   |            |
+| brush-left-time1     | Number:Time          | Side Cleaning Brush - Brush Left Time    |            |
+| brush-life-level1    | Number:Dimensionless | Side Cleaning Brush - Brush Life Level   |            |
+| filter-life-level    | Number:Dimensionless | Filter - Filter Life Level               |            |
+| filter-left-time     | Number:Time          | Filter - Filter Left Time                |            |
+| work-mode            | Number               | Vacuum Extend - Work Mode                |            |
+| cleaning-time        | Number:Time          | Vacuum Extend - Cleaning Time            |            |
+| cleaning-area        | Number:Area          | Vacuum Extend - Cleaning Area            |            |
+| cleaning-mode        | Number               | Vacuum Extend - Cleaning Mode            | Value mapping ["0"="mode 0","1"="mode 1","2"="mode 2","3"="mode 3"] |
+| mop-mode             | Number               | Vacuum Extend - Mop Mode                 | Value mapping ["1"="low water","2"="medium water","3"="high water"] |
+| waterbox-status      | Number               | Vacuum Extend - Waterbox Status          | Value mapping ["0"="Status 0","1"="Status 1"] |
+| task-status          | Number               | Vacuum Extend - Task Status              | Value mapping ["0"="Notask","1"="AutoClean","2"="CustomClean","3"="SelectAreanClean","4"="SpotArea"] |
+| break-point-restart  | Number               | Vacuum Extend - Break Point Restart      | Value mapping ["0"="Off","1"="On"] |
+| carpet-press         | Number               | Vacuum Extend - Carpet Press             | Value mapping ["0"="Off","1"="On"] |
+| serial-number1       | String               | Vacuum Extend - Serial Number            |            |
+| clean-rags-tip       | Number:Time          | Vacuum Extend - Clean Rags Tip           |            |
+| keep-sweeper-time    | Number:Time          | Vacuum Extend - Keep Sweeper Time        |            |
+| faults               | String               | Vacuum Extend - Faults                   |            |
+| enable               | Switch               | Do Not Disturb - Enable                  |            |
+| start-time           | String               | Do Not Disturb - Start Time              |            |
+| end-time             | String               | Do Not Disturb - End Time                |            |
+| volume               | Number:Dimensionless | Audio - Volume                           |            |
+| voice-packet-id      | String               | Audio - Voice Packet Id                  |            |
+| voice-change-state   | String               | Audio - Voice Change State               |            |
+| time-zone            | String               | Time - Time Zone                         |            |
+| timer-clean          | String               | Time - Timer Clean                       |            |
+| first-clean-time     | Number               | Clean Logs - First Clean Time            |            |
+| total-clean-time     | Number:Time          | Clean Logs - Total Clean Time            |            |
+| total-clean-times    | Number               | Clean Logs - Total Clean Times           |            |
+| total-clean-area     | Number               | Clean Logs - Total Clean Area            |            |
+
+### Mi Robot Vacuum-Mop 2 Pro+ (<a name="dreame-vacuum-p2041o">dreame.vacuum.p2041o</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| actions              | String               | Actions                                  | Value mapping ["vacuum-start-sweep"="Start Sweep","vacuum-stop-sweeping"="Stop Sweeping","battery-start-charge"="Start Charge","brush-cleaner-reset-brush-life"="Brush Cleaner Reset Brush Life","brush-cleaner-reset-brush-life"="Brush Cleaner Reset Brush Life","filter-reset-filter-life"="Filter Reset Filter Life","vacuum-extend-start-clean"="Vacuum Extend Start Clean","vacuum-extend-stop-clean"="Vacuum Extend Stop Clean","map-map-req"="Map Map Req","map-update-map"="Map Update Map","audio-position"="Audio Position","audio-play-sound"="Audio Play Sound","time-delete-timer"="Time Delete Timer"] |
+| status               | Number               | Robot Cleaner - Status                   | Value mapping ["1"="Sweeping","2"="Idle","3"="Paused","4"="Error","5"="Go Charging","6"="Charging","7"="Mopping"] |
+| fault                | Number               | Robot Cleaner - Device Fault             |            |
+| mode                 | Number               | Robot Cleaner - Mode                     | Value mapping ["0"="Silent","1"="Basic","2"="Strong","3"="Full Speed"] |
+| battery_level        | Number:Dimensionless | Battery - Battery Level                  |            |
+| charging_state       | Number               | Battery - Charging State                 | Value mapping ["1"="Charging","2"="Not Charging","5"="Go Charging"] |
+| brush_left_time      | Number:Time          | Main Cleaning Brush - Brush Left Time    |            |
+| brush_life_level     | Number:Dimensionless | Main Cleaning Brush - Brush Life Level   |            |
+| brush_left_time1     | Number:Time          | Side Cleaning Brush - Brush Left Time    |            |
+| brush_life_level1    | Number:Dimensionless | Side Cleaning Brush - Brush Life Level   |            |
+| filter_life_level    | Number:Dimensionless | Filter - Filter Life Level               |            |
+| filter_left_time     | Number:Time          | Filter - Filter Left Time                |            |
+| work_mode            | Number               | Vacuum Extend - Work Mode                |            |
+| cleaning_time        | Number:Time          | Vacuum Extend - Cleaning Time            |            |
+| cleaning-area        | Number:Area          | Vacuum Extend - Cleaning Area            |            |
+| cleaning_mode        | Number               | Vacuum Extend - Cleaning Mode            | Value mapping ["0"="mode 0","1"="mode 1","2"="mode 2","3"="mode 3"] |
+| mop_mode             | Number               | Vacuum Extend - Mop Mode                 | Value mapping ["1"="low water","2"="medium water","3"="high water"] |
+| waterbox_status      | Number               | Vacuum Extend - Waterbox Status          | Value mapping ["0"="Status 0","1"="Status 1"] |
+| task_status          | Number               | Vacuum Extend - Task Status              | Value mapping ["0"="Notask","1"="AutoClean","2"="CustomClean","3"="SelectAreanClean","4"="SpotArea"] |
+| break_point_restart  | Number               | Vacuum Extend - Break Point Restart      | Value mapping ["0"="Off","1"="On"] |
+| carpet_press         | Number               | Vacuum Extend - Carpet Press             | Value mapping ["0"="Off","1"="On"] |
+| serial_number        | String               | Vacuum Extend - Serial Number            |            |
+| keep_sweeper_time    | Number:Time          | Vacuum Extend - Keep Sweeper Time        |            |
+| faults               | String               | Vacuum Extend - Faults                   |            |
+| enable               | Switch               | Do Not Disturb - Enable                  |            |
+| start_time           | String               | Do Not Disturb - Start Time              |            |
+| end_time             | String               | Do Not Disturb - End Time                |            |
+| volume               | Number:Dimensionless | Audio - Volume                           |            |
+| voice_packet_id      | String               | Audio - Voice Packet Id                  |            |
+| voice_change_state   | String               | Audio - Voice Change State               |            |
+| time_zone            | String               | Time - Time Zone                         |            |
+| timer_clean          | String               | Time - Timer Clean                       |            |
+| first_clean_time     | Number               | Clean Logs - First Clean Time            |            |
+| total_clean_time     | Number:Time          | Clean Logs - Total Clean Time            |            |
+| total_clean_times    | Number               | Clean Logs - Total Clean Times           |            |
+| total_clean_area     | Number               | Clean Logs - Total Clean Area            |            |
+| save_map_status      | Number               | Vslam Extend - Save Map Status           | Value mapping ["0"="Off","1"="On"] |
+
+### MOVA Z500 Robot Vacuum and Mop Cleaner (<a name="dreame-vacuum-p2156o">dreame.vacuum.p2156o</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| actions              | String               | Actions                                  | Value mapping ["vacuum-start-sweep"="Start Sweep","vacuum-stop-sweeping"="Stop Sweeping","battery-start-charge"="Start Charge","brush-cleaner-reset-brush-life"="Brush Cleaner Reset Brush Life","brush-cleaner-reset-brush-life"="Brush Cleaner Reset Brush Life","filter-reset-filter-life"="Filter Reset Filter Life","vacuum-extend-start-clean"="Vacuum Extend Start Clean","vacuum-extend-stop-clean"="Vacuum Extend Stop Clean","map-map-req"="Map Map Req","map-update-map"="Map Update Map","audio-position"="Audio Position","audio-play-sound"="Audio Play Sound","time-delete-timer"="Time Delete Timer"] |
+| status               | Number               | Robot Cleaner - Status                   | Value mapping ["1"="Sweeping","2"="Idle","3"="Paused","4"="Error","5"="Go Charging","6"="Charging","7"="Mopping"] |
+| fault                | Number               | Robot Cleaner - Device Fault             |            |
+| mode                 | Number               | Robot Cleaner - Mode                     | Value mapping ["0"="Silent","1"="Basic","2"="Strong","3"="Full Speed"] |
+| battery_level        | Number:Dimensionless | Battery - Battery Level                  |            |
+| charging_state       | Number               | Battery - Charging State                 | Value mapping ["1"="Charging","2"="Not Charging","5"="Go Charging"] |
+| brush_left_time      | Number:Time          | Main Cleaning Brush - Brush Left Time    |            |
+| brush_life_level     | Number:Dimensionless | Main Cleaning Brush - Brush Life Level   |            |
+| brush_left_time1     | Number:Time          | Side Cleaning Brush - Brush Left Time    |            |
+| brush_life_level1    | Number:Dimensionless | Side Cleaning Brush - Brush Life Level   |            |
+| filter_life_level    | Number:Dimensionless | Filter - Filter Life Level               |            |
+| filter_left_time     | Number:Time          | Filter - Filter Left Time                |            |
+| work_mode            | Number               | Vacuum Extend - Work Mode                |            |
+| cleaning_time        | Number:Time          | Vacuum Extend - Cleaning Time            |            |
+| cleaning-area        | Number:Area          | Vacuum Extend - Cleaning Area            |            |
+| cleaning_mode        | Number               | Vacuum Extend - Cleaning Mode            | Value mapping ["0"="mode 0","1"="mode 1","2"="mode 2","3"="mode 3"] |
+| mop_mode             | Number               | Vacuum Extend - Mop Mode                 | Value mapping ["1"="low water","2"="medium water","3"="high water"] |
+| waterbox_status      | Number               | Vacuum Extend - Waterbox Status          | Value mapping ["0"="Status 0","1"="Status 1"] |
+| task_status          | Number               | Vacuum Extend - Task Status              | Value mapping ["0"="Notask","1"="AutoClean","2"="CustomClean","3"="SelectAreanClean","4"="SpotArea"] |
+| break_point_restart  | Number               | Vacuum Extend - Break Point Restart      | Value mapping ["0"="Off","1"="On"] |
+| carpet_press         | Number               | Vacuum Extend - Carpet Press             | Value mapping ["0"="Off","1"="On"] |
+| serial_number        | String               | Vacuum Extend - Serial Number            |            |
+| keep_sweeper_time    | Number:Time          | Vacuum Extend - Keep Sweeper Time        |            |
+| faults               | String               | Vacuum Extend - Faults                   |            |
+| enable               | Switch               | Do Not Disturb - Enable                  |            |
+| start_time           | String               | Do Not Disturb - Start Time              |            |
+| end_time             | String               | Do Not Disturb - End Time                |            |
+| volume               | Number:Dimensionless | Audio - Volume                           |            |
+| voice_packet_id      | String               | Audio - Voice Packet Id                  |            |
+| voice_change_state   | String               | Audio - Voice Change State               |            |
+| time_zone            | String               | Time - Time Zone                         |            |
+| timer_clean          | String               | Time - Timer Clean                       |            |
+| first_clean_time     | Number               | Clean Logs - First Clean Time            |            |
+| total_clean_time     | Number:Time          | Clean Logs - Total Clean Time            |            |
+| total_clean_times    | Number               | Clean Logs - Total Clean Times           |            |
+| total_clean_area     | Number               | Clean Logs - Total Clean Area            |            |
+| save_map_status      | Number               | Vslam Extend - Save Map Status           | Value mapping ["0"="Off","1"="On"] |
+
+### MOVA L600 Robot Vacuum and Mop Cleaner (<a name="dreame-vacuum-p2157">dreame.vacuum.p2157</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| vacuumaction         | String               | Vacuum Action                            | Value mapping ["sweep"="Sweep","stopsweep"="Stop Sweep","dock"="Goto Dock"] |
+| status               | Number               | Robot Cleaner - Status                   | Value mapping ["1"="Sweeping","2"="Idle","3"="Paused","4"="Error","5"="Go Charging","6"="Charging","7"="Mopping"] |
+| fault                | Number               | Robot Cleaner - Device Fault             |            |
+| battery-level        | Number:Dimensionless | Battery - Battery Level                  |            |
+| charging-state       | Number               | Battery - Charging State                 | Value mapping ["1"="Charging","2"="Not Charging","5"="Go Charging"] |
+| resetConsumable      | String               | Consumables Reset                        | Value mapping ["mainbrush-cleaner-reset-brush-life"="Reset Main Brush","sidebrush-cleaner-reset-brush-life"="Reset Side Brush","filter-reset-filter-life"="Reset Filter"] |
+| brush-left-time      | Number:Time          | Main Cleaning Brush - Brush Left Time    |            |
+| brush-life-level     | Number:Dimensionless | Main Cleaning Brush - Brush Life Level   |            |
+| brush-left-time1     | Number:Time          | Side Cleaning Brush - Brush Left Time    |            |
+| brush-life-level1    | Number:Dimensionless | Side Cleaning Brush - Brush Life Level   |            |
+| filter-life-level    | Number:Dimensionless | Filter - Filter Life Level               |            |
+| filter-left-time     | Number:Time          | Filter - Filter Left Time                |            |
+| work-mode            | Number               | Vacuum Extend - Work Mode                |            |
+| cleaning-time        | Number:Time          | Vacuum Extend - Cleaning Time            |            |
+| cleaning-area        | Number:Area          | Vacuum Extend - Cleaning Area            |            |
+| cleaning-mode        | Number               | Vacuum Extend - Cleaning Mode            | Value mapping ["0"="mode 0","1"="mode 1","2"="mode 2","3"="mode 3"] |
+| mop-mode             | Number               | Vacuum Extend - Mop Mode                 | Value mapping ["1"="low water","2"="medium water","3"="high water"] |
+| waterbox-status      | Number               | Vacuum Extend - Waterbox Status          | Value mapping ["0"="Status 0","1"="Status 1"] |
+| task-status          | Number               | Vacuum Extend - Task Status              | Value mapping ["0"="Notask","1"="AutoClean","2"="CustomClean","3"="SelectAreanClean","4"="SpotArea"] |
 | break-point-restart  | Number               | Vacuum Extend - Break Point Restart      | Value mapping ["0"="Off","1"="On"] |
 | carpet-press         | Number               | Vacuum Extend - Carpet Press             | Value mapping ["0"="Off","1"="On"] |
 | serial-number1       | String               | Vacuum Extend - Serial Number            |            |
@@ -5248,6 +5420,186 @@ Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="m
 Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total-clean-area"}
 ```
 
+### Trouver Robot LDS Vacuum-Mop Finder (dreame.vacuum.p2036) 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 "Trouver Robot LDS Vacuum-Mop Finder" <status>
+String vacuumaction "Vacuum Action" (G_vacuum) {channel="miio:basic:vacuum:vacuumaction"}
+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:Dimensionless battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery-level"}
+Number charging_state "Battery - Charging State" (G_vacuum) {channel="miio:basic:vacuum:charging-state"}
+String resetConsumable "Consumables Reset" (G_vacuum) {channel="miio:basic:vacuum:resetConsumable"}
+Number:Time brush_left_time "Main Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time"}
+Number:Dimensionless brush_life_level "Main Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level"}
+Number:Time brush_left_time1 "Side Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time1"}
+Number:Dimensionless brush_life_level1 "Side Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level1"}
+Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter-life-level"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter-left-time"}
+Number work_mode "Vacuum Extend - Work Mode" (G_vacuum) {channel="miio:basic:vacuum:work-mode"}
+Number:Time cleaning_time "Vacuum Extend - Cleaning Time" (G_vacuum) {channel="miio:basic:vacuum:cleaning-time"}
+Number:Area cleaning_area "Vacuum Extend - Cleaning Area" (G_vacuum) {channel="miio:basic:vacuum:cleaning-area"}
+Number cleaning_mode "Vacuum Extend - Cleaning Mode" (G_vacuum) {channel="miio:basic:vacuum:cleaning-mode"}
+Number mop_mode "Vacuum Extend - Mop Mode" (G_vacuum) {channel="miio:basic:vacuum:mop-mode"}
+Number waterbox_status "Vacuum Extend - Waterbox Status" (G_vacuum) {channel="miio:basic:vacuum:waterbox-status"}
+Number task_status "Vacuum Extend - Task Status" (G_vacuum) {channel="miio:basic:vacuum:task-status"}
+Number break_point_restart "Vacuum Extend - Break Point Restart" (G_vacuum) {channel="miio:basic:vacuum:break-point-restart"}
+Number carpet_press "Vacuum Extend - Carpet Press" (G_vacuum) {channel="miio:basic:vacuum:carpet-press"}
+String serial_number1 "Vacuum Extend - Serial Number" (G_vacuum) {channel="miio:basic:vacuum:serial-number1"}
+Number:Time clean_rags_tip "Vacuum Extend - Clean Rags Tip" (G_vacuum) {channel="miio:basic:vacuum:clean-rags-tip"}
+Number:Time keep_sweeper_time "Vacuum Extend - Keep Sweeper Time" (G_vacuum) {channel="miio:basic:vacuum:keep-sweeper-time"}
+String faults "Vacuum Extend - Faults" (G_vacuum) {channel="miio:basic:vacuum:faults"}
+Switch enable "Do Not Disturb - Enable" (G_vacuum) {channel="miio:basic:vacuum:enable"}
+String start_time "Do Not Disturb - Start Time" (G_vacuum) {channel="miio:basic:vacuum:start-time"}
+String end_time "Do Not Disturb - End Time" (G_vacuum) {channel="miio:basic:vacuum:end-time"}
+Number:Dimensionless volume "Audio - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
+String voice_packet_id "Audio - Voice Packet Id" (G_vacuum) {channel="miio:basic:vacuum:voice-packet-id"}
+String voice_change_state "Audio - Voice Change State" (G_vacuum) {channel="miio:basic:vacuum:voice-change-state"}
+String time_zone "Time - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time-zone"}
+String timer_clean "Time - Timer Clean" (G_vacuum) {channel="miio:basic:vacuum:timer-clean"}
+Number first_clean_time "Clean Logs - First Clean Time" (G_vacuum) {channel="miio:basic:vacuum:first-clean-time"}
+Number:Time total_clean_time "Clean Logs - Total Clean Time" (G_vacuum) {channel="miio:basic:vacuum:total-clean-time"}
+Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="miio:basic:vacuum:total-clean-times"}
+Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total-clean-area"}
+```
+
+### Mi Robot Vacuum-Mop 2 Pro+ (dreame.vacuum.p2041o) 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 "Mi Robot Vacuum-Mop 2 Pro+" <status>
+String actions "Actions" (G_vacuum) {channel="miio:basic:vacuum: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:Dimensionless battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery_level"}
+Number charging_state "Battery - Charging State" (G_vacuum) {channel="miio:basic:vacuum:charging_state"}
+Number:Time brush_left_time "Main Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush_left_time"}
+Number:Dimensionless brush_life_level "Main Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush_life_level"}
+Number:Time brush_left_time1 "Side Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush_left_time1"}
+Number:Dimensionless brush_life_level1 "Side Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush_life_level1"}
+Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter_life_level"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter_left_time"}
+Number work_mode "Vacuum Extend - Work Mode" (G_vacuum) {channel="miio:basic:vacuum:work_mode"}
+Number:Time cleaning_time "Vacuum Extend - Cleaning Time" (G_vacuum) {channel="miio:basic:vacuum:cleaning_time"}
+Number:Area cleaning_area "Vacuum Extend - Cleaning Area" (G_vacuum) {channel="miio:basic:vacuum:cleaning-area"}
+Number cleaning_mode "Vacuum Extend - Cleaning Mode" (G_vacuum) {channel="miio:basic:vacuum:cleaning_mode"}
+Number mop_mode "Vacuum Extend - Mop Mode" (G_vacuum) {channel="miio:basic:vacuum:mop_mode"}
+Number waterbox_status "Vacuum Extend - Waterbox Status" (G_vacuum) {channel="miio:basic:vacuum:waterbox_status"}
+Number task_status "Vacuum Extend - Task Status" (G_vacuum) {channel="miio:basic:vacuum:task_status"}
+Number break_point_restart "Vacuum Extend - Break Point Restart" (G_vacuum) {channel="miio:basic:vacuum:break_point_restart"}
+Number carpet_press "Vacuum Extend - Carpet Press" (G_vacuum) {channel="miio:basic:vacuum:carpet_press"}
+String serial_number "Vacuum Extend - Serial Number" (G_vacuum) {channel="miio:basic:vacuum:serial_number"}
+Number:Time keep_sweeper_time "Vacuum Extend - Keep Sweeper Time" (G_vacuum) {channel="miio:basic:vacuum:keep_sweeper_time"}
+String faults "Vacuum Extend - Faults" (G_vacuum) {channel="miio:basic:vacuum:faults"}
+Switch enable "Do Not Disturb - Enable" (G_vacuum) {channel="miio:basic:vacuum:enable"}
+String start_time "Do Not Disturb - Start Time" (G_vacuum) {channel="miio:basic:vacuum:start_time"}
+String end_time "Do Not Disturb - End Time" (G_vacuum) {channel="miio:basic:vacuum:end_time"}
+Number:Dimensionless volume "Audio - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
+String voice_packet_id "Audio - Voice Packet Id" (G_vacuum) {channel="miio:basic:vacuum:voice_packet_id"}
+String voice_change_state "Audio - Voice Change State" (G_vacuum) {channel="miio:basic:vacuum:voice_change_state"}
+String time_zone "Time - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time_zone"}
+String timer_clean "Time - Timer Clean" (G_vacuum) {channel="miio:basic:vacuum:timer_clean"}
+Number first_clean_time "Clean Logs - First Clean Time" (G_vacuum) {channel="miio:basic:vacuum:first_clean_time"}
+Number:Time total_clean_time "Clean Logs - Total Clean Time" (G_vacuum) {channel="miio:basic:vacuum:total_clean_time"}
+Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="miio:basic:vacuum:total_clean_times"}
+Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total_clean_area"}
+Number save_map_status "Vslam Extend - Save Map Status" (G_vacuum) {channel="miio:basic:vacuum:save_map_status"}
+```
+
+### MOVA Z500 Robot Vacuum and Mop Cleaner (dreame.vacuum.p2156o) 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 "MOVA Z500 Robot Vacuum and Mop Cleaner" <status>
+String actions "Actions" (G_vacuum) {channel="miio:basic:vacuum: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:Dimensionless battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery_level"}
+Number charging_state "Battery - Charging State" (G_vacuum) {channel="miio:basic:vacuum:charging_state"}
+Number:Time brush_left_time "Main Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush_left_time"}
+Number:Dimensionless brush_life_level "Main Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush_life_level"}
+Number:Time brush_left_time1 "Side Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush_left_time1"}
+Number:Dimensionless brush_life_level1 "Side Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush_life_level1"}
+Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter_life_level"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter_left_time"}
+Number work_mode "Vacuum Extend - Work Mode" (G_vacuum) {channel="miio:basic:vacuum:work_mode"}
+Number:Time cleaning_time "Vacuum Extend - Cleaning Time" (G_vacuum) {channel="miio:basic:vacuum:cleaning_time"}
+Number:Area cleaning_area "Vacuum Extend - Cleaning Area" (G_vacuum) {channel="miio:basic:vacuum:cleaning-area"}
+Number cleaning_mode "Vacuum Extend - Cleaning Mode" (G_vacuum) {channel="miio:basic:vacuum:cleaning_mode"}
+Number mop_mode "Vacuum Extend - Mop Mode" (G_vacuum) {channel="miio:basic:vacuum:mop_mode"}
+Number waterbox_status "Vacuum Extend - Waterbox Status" (G_vacuum) {channel="miio:basic:vacuum:waterbox_status"}
+Number task_status "Vacuum Extend - Task Status" (G_vacuum) {channel="miio:basic:vacuum:task_status"}
+Number break_point_restart "Vacuum Extend - Break Point Restart" (G_vacuum) {channel="miio:basic:vacuum:break_point_restart"}
+Number carpet_press "Vacuum Extend - Carpet Press" (G_vacuum) {channel="miio:basic:vacuum:carpet_press"}
+String serial_number "Vacuum Extend - Serial Number" (G_vacuum) {channel="miio:basic:vacuum:serial_number"}
+Number:Time keep_sweeper_time "Vacuum Extend - Keep Sweeper Time" (G_vacuum) {channel="miio:basic:vacuum:keep_sweeper_time"}
+String faults "Vacuum Extend - Faults" (G_vacuum) {channel="miio:basic:vacuum:faults"}
+Switch enable "Do Not Disturb - Enable" (G_vacuum) {channel="miio:basic:vacuum:enable"}
+String start_time "Do Not Disturb - Start Time" (G_vacuum) {channel="miio:basic:vacuum:start_time"}
+String end_time "Do Not Disturb - End Time" (G_vacuum) {channel="miio:basic:vacuum:end_time"}
+Number:Dimensionless volume "Audio - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
+String voice_packet_id "Audio - Voice Packet Id" (G_vacuum) {channel="miio:basic:vacuum:voice_packet_id"}
+String voice_change_state "Audio - Voice Change State" (G_vacuum) {channel="miio:basic:vacuum:voice_change_state"}
+String time_zone "Time - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time_zone"}
+String timer_clean "Time - Timer Clean" (G_vacuum) {channel="miio:basic:vacuum:timer_clean"}
+Number first_clean_time "Clean Logs - First Clean Time" (G_vacuum) {channel="miio:basic:vacuum:first_clean_time"}
+Number:Time total_clean_time "Clean Logs - Total Clean Time" (G_vacuum) {channel="miio:basic:vacuum:total_clean_time"}
+Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="miio:basic:vacuum:total_clean_times"}
+Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total_clean_area"}
+Number save_map_status "Vslam Extend - Save Map Status" (G_vacuum) {channel="miio:basic:vacuum:save_map_status"}
+```
+
+### MOVA L600 Robot Vacuum and Mop Cleaner (dreame.vacuum.p2157) 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 "MOVA L600 Robot Vacuum and Mop Cleaner" <status>
+String vacuumaction "Vacuum Action" (G_vacuum) {channel="miio:basic:vacuum:vacuumaction"}
+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:Dimensionless battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery-level"}
+Number charging_state "Battery - Charging State" (G_vacuum) {channel="miio:basic:vacuum:charging-state"}
+String resetConsumable "Consumables Reset" (G_vacuum) {channel="miio:basic:vacuum:resetConsumable"}
+Number:Time brush_left_time "Main Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time"}
+Number:Dimensionless brush_life_level "Main Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level"}
+Number:Time brush_left_time1 "Side Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time1"}
+Number:Dimensionless brush_life_level1 "Side Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level1"}
+Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter-life-level"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter-left-time"}
+Number work_mode "Vacuum Extend - Work Mode" (G_vacuum) {channel="miio:basic:vacuum:work-mode"}
+Number:Time cleaning_time "Vacuum Extend - Cleaning Time" (G_vacuum) {channel="miio:basic:vacuum:cleaning-time"}
+Number:Area cleaning_area "Vacuum Extend - Cleaning Area" (G_vacuum) {channel="miio:basic:vacuum:cleaning-area"}
+Number cleaning_mode "Vacuum Extend - Cleaning Mode" (G_vacuum) {channel="miio:basic:vacuum:cleaning-mode"}
+Number mop_mode "Vacuum Extend - Mop Mode" (G_vacuum) {channel="miio:basic:vacuum:mop-mode"}
+Number waterbox_status "Vacuum Extend - Waterbox Status" (G_vacuum) {channel="miio:basic:vacuum:waterbox-status"}
+Number task_status "Vacuum Extend - Task Status" (G_vacuum) {channel="miio:basic:vacuum:task-status"}
+Number break_point_restart "Vacuum Extend - Break Point Restart" (G_vacuum) {channel="miio:basic:vacuum:break-point-restart"}
+Number carpet_press "Vacuum Extend - Carpet Press" (G_vacuum) {channel="miio:basic:vacuum:carpet-press"}
+String serial_number1 "Vacuum Extend - Serial Number" (G_vacuum) {channel="miio:basic:vacuum:serial-number1"}
+Number:Time clean_rags_tip "Vacuum Extend - Clean Rags Tip" (G_vacuum) {channel="miio:basic:vacuum:clean-rags-tip"}
+Number:Time keep_sweeper_time "Vacuum Extend - Keep Sweeper Time" (G_vacuum) {channel="miio:basic:vacuum:keep-sweeper-time"}
+String faults "Vacuum Extend - Faults" (G_vacuum) {channel="miio:basic:vacuum:faults"}
+Switch enable "Do Not Disturb - Enable" (G_vacuum) {channel="miio:basic:vacuum:enable"}
+String start_time "Do Not Disturb - Start Time" (G_vacuum) {channel="miio:basic:vacuum:start-time"}
+String end_time "Do Not Disturb - End Time" (G_vacuum) {channel="miio:basic:vacuum:end-time"}
+Number:Dimensionless volume "Audio - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
+String voice_packet_id "Audio - Voice Packet Id" (G_vacuum) {channel="miio:basic:vacuum:voice-packet-id"}
+String voice_change_state "Audio - Voice Change State" (G_vacuum) {channel="miio:basic:vacuum:voice-change-state"}
+String time_zone "Time - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time-zone"}
+String timer_clean "Time - Timer Clean" (G_vacuum) {channel="miio:basic:vacuum:timer-clean"}
+Number first_clean_time "Clean Logs - First Clean Time" (G_vacuum) {channel="miio:basic:vacuum:first-clean-time"}
+Number:Time total_clean_time "Clean Logs - Total Clean Time" (G_vacuum) {channel="miio:basic:vacuum:total-clean-time"}
+Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="miio:basic:vacuum:total-clean-times"}
+Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total-clean-area"}
+```
+
 ### HUIZUO ARIES For Bedroom (huayi.light.ari013) 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.
index 64c03164870b9f407670263845d0960cfb8261fb..e998e004f4a1fd2f9ce8f14650fceaa28b00d507 100644 (file)
@@ -58,6 +58,10 @@ public enum MiIoDevices {
     DREAME_VACUUM_MC1808("dreame.vacuum.mc1808", "Mi Robot Vacuum Mop 1C STYTJ01ZHM", THING_TYPE_BASIC),
     DREAME_VACUUM_P2008("dreame.vacuum.p2008", "Dreame Robot Vacuum-Mop F9", THING_TYPE_BASIC),
     DREAME_VACUUM_P2009("dreame.vacuum.p2009", "Dreame Robot Vacuum D9 ", THING_TYPE_BASIC),
+    DREAME_VACUUM_P2036("dreame.vacuum.p2036", "Trouver Robot LDS Vacuum-Mop Finder", THING_TYPE_BASIC),
+    DREAME_VACUUM_P2041O("dreame.vacuum.p2041o", "Mi Robot Vacuum-Mop 2 Pro+", THING_TYPE_BASIC),
+    DREAME_VACUUM_P2156O("dreame.vacuum.p2156o", "MOVA Z500 Robot Vacuum and Mop Cleaner", THING_TYPE_BASIC),
+    DREAME_VACUUM_P2157("dreame.vacuum.p2157", "MOVA L600 Robot Vacuum and Mop Cleaner", THING_TYPE_BASIC),
     HUAYI_LIGHT_ARI013("huayi.light.ari013", "HUIZUO ARIES For Bedroom", THING_TYPE_BASIC),
     HUAYI_LIGHT_ARIES("huayi.light.aries", "HUIZUO ARIES For Living Room", THING_TYPE_BASIC),
     HUAYI_LIGHT_FANWY("huayi.light.fanwy", "HUIZUO Fan Light", THING_TYPE_BASIC),
index c0c5d71dcc86e38830e6192491d0e531df347785..3a62d30f8944480dab79350750374d8c0ad66bc9 100644 (file)
@@ -1,7 +1,9 @@
 {
        "deviceMapping": {
                "id": [
-                       "dreame.vacuum.p2009"
+                       "dreame.vacuum.p2009",
+                       "dreame.vacuum.p2036",
+                       "dreame.vacuum.p2157"
                ],
                "propertyMethod": "get_properties",
                "maxProperties": 1,
@@ -12,7 +14,6 @@
                                "channel": "vacuumaction",
                                "type": "String",
                                "stateDescription": {
-                                       "readOnly": true,
                                        "options": [
                                                {
                                                        "value": "sweep",
                                        "minimum": 0,
                                        "maximum": 50,
                                        "step": 1,
-                                       "pattern": "%.1f",
+                                       "pattern": "%.0f",
                                        "readOnly": true
                                },
                                "refresh": true,
                                "channel": "task-status",
                                "type": "Number",
                                "stateDescription": {
-                                       "minimum": 0,
-                                       "maximum": 20,
-                                       "step": 1,
-                                       "pattern": "%.1f",
-                                       "readOnly": true
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Notask"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "AutoClean"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "CustomClean"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "SelectAreanClean"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "SpotArea"
+                                               }
+                                       ]
                                },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Notask\",\"1\"\u003d\"AutoClean\",\"2\"\u003d\"CustomClean\",\"3\"\u003d\"SelectAreanClean\",\"4\"\u003d\"SpotArea\"]"
                        },
                        {
                                "property": "break-point-restart",
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/dreame.vacuum.p2156o-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/dreame.vacuum.p2156o-miot.json
new file mode 100644 (file)
index 0000000..c23afd4
--- /dev/null
@@ -0,0 +1,1025 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "dreame.vacuum.p2156o",
+                       "dreame.vacuum.p2041o"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "",
+                               "friendlyName": "Actions",
+                               "channel": "actions",
+                               "type": "String",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "vacuum-start-sweep",
+                                                       "label": "Start Sweep"
+                                               },
+                                               {
+                                                       "value": "vacuum-stop-sweeping",
+                                                       "label": "Stop Sweeping"
+                                               },
+                                               {
+                                                       "value": "battery-start-charge",
+                                                       "label": "Start Charge"
+                                               },
+                                               {
+                                                       "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": "filter-reset-filter-life",
+                                                       "label": "Filter Reset Filter Life"
+                                               },
+                                               {
+                                                       "value": "vacuum-extend-start-clean",
+                                                       "label": "Vacuum Extend Start Clean"
+                                               },
+                                               {
+                                                       "value": "vacuum-extend-stop-clean",
+                                                       "label": "Vacuum Extend Stop Clean"
+                                               },
+                                               {
+                                                       "value": "map-map-req",
+                                                       "label": "Map Map Req"
+                                               },
+                                               {
+                                                       "value": "map-update-map",
+                                                       "label": "Map Update Map"
+                                               },
+                                               {
+                                                       "value": "audio-position",
+                                                       "label": "Audio Position"
+                                               },
+                                               {
+                                                       "value": "audio-play-sound",
+                                                       "label": "Audio Play Sound"
+                                               },
+                                               {
+                                                       "value": "time-delete-timer",
+                                                       "label": "Time Delete Timer"
+                                               }
+                                       ]
+                               },
+                               "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": 3,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "battery-start-charge"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "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": 11,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "filter-reset-filter-life"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "NUMBER",
+                                               "parameters": [
+                                                       10.0
+                                               ],
+                                               "siid": 4,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "vacuum-extend-start-clean"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 4,
+                                               "aiid": 2,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "vacuum-extend-stop-clean"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "NUMBER",
+                                               "parameters": [
+                                                       2.0
+                                               ],
+                                               "siid": 6,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "map-map-req"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "NUMBER",
+                                               "parameters": [
+                                                       4.0
+                                               ],
+                                               "siid": 6,
+                                               "aiid": 2,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "map-update-map"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 7,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "audio-position"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 7,
+                                               "aiid": 2,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "audio-play-sound"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "NUMBER",
+                                               "parameters": [
+                                                       3.0
+                                               ],
+                                               "siid": 8,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "time-delete-timer"
+                                                               }
+                                                       ]
+                                               }
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"vacuum-start-sweep\"\u003d\"Start Sweep\",\"vacuum-stop-sweeping\"\u003d\"Stop Sweeping\",\"battery-start-charge\"\u003d\"Start Charge\",\"brush-cleaner-reset-brush-life\"\u003d\"Brush Cleaner Reset Brush Life\",\"brush-cleaner-reset-brush-life\"\u003d\"Brush Cleaner Reset Brush Life\",\"filter-reset-filter-life\"\u003d\"Filter Reset Filter Life\",\"vacuum-extend-start-clean\"\u003d\"Vacuum Extend Start Clean\",\"vacuum-extend-stop-clean\"\u003d\"Vacuum Extend Stop Clean\",\"map-map-req\"\u003d\"Map Map Req\",\"map-update-map\"\u003d\"Map Update Map\",\"audio-position\"\u003d\"Audio Position\",\"audio-play-sound\"\u003d\"Audio Play Sound\",\"time-delete-timer\"\u003d\"Time Delete Timer\"]"
+                       },
+                       {
+                               "property": "status",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Robot Cleaner - Status",
+                               "channel": "status",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "Sweeping"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Idle"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "Paused"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Error"
+                                               },
+                                               {
+                                                       "value": "5",
+                                                       "label": "Go Charging"
+                                               },
+                                               {
+                                                       "value": "6",
+                                                       "label": "Charging"
+                                               },
+                                               {
+                                                       "value": "7",
+                                                       "label": "Mopping"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "category": "status",
+                               "tags": [
+                                       "Status"
+                               ],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"Sweeping\",\"2\"\u003d\"Idle\",\"3\"\u003d\"Paused\",\"4\"\u003d\"Error\",\"5\"\u003d\"Go Charging\",\"6\"\u003d\"Charging\",\"7\"\u003d\"Mopping\"]"
+                       },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Robot Cleaner - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "mode",
+                               "siid": 2,
+                               "piid": 3,
+                               "friendlyName": "Robot Cleaner - Mode",
+                               "channel": "mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Silent"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Basic"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Strong"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "Full Speed"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Silent\",\"1\"\u003d\"Basic\",\"2\"\u003d\"Strong\",\"3\"\u003d\"Full Speed\"]"
+                       },
+                       {
+                               "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": "charging-state",
+                               "siid": 3,
+                               "piid": 2,
+                               "friendlyName": "Battery - Charging State",
+                               "channel": "charging_state",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "Charging"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Not Charging"
+                                               },
+                                               {
+                                                       "value": "5",
+                                                       "label": "Go Charging"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"Charging\",\"2\"\u003d\"Not Charging\",\"5\"\u003d\"Go Charging\"]"
+                       },
+                       {
+                               "property": "brush-left-time",
+                               "siid": 9,
+                               "piid": 1,
+                               "friendlyName": "Main Cleaning Brush - Brush Left Time",
+                               "channel": "brush_left_time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 300,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "brush-life-level",
+                               "siid": 9,
+                               "piid": 2,
+                               "friendlyName": "Main Cleaning Brush - 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": "Side Cleaning Brush - Brush Left Time",
+                               "channel": "brush_left_time1",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 200,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "brush-life-level1",
+                               "siid": 10,
+                               "piid": 2,
+                               "friendlyName": "Side Cleaning Brush - 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": "filter-life-level",
+                               "siid": 11,
+                               "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": 11,
+                               "piid": 2,
+                               "friendlyName": "Filter - Filter Left Time",
+                               "channel": "filter_left_time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 150,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "work-mode",
+                               "siid": 4,
+                               "piid": 1,
+                               "friendlyName": "Vacuum Extend - Work Mode",
+                               "channel": "work_mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 50,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "cleaning-time",
+                               "siid": 4,
+                               "piid": 2,
+                               "friendlyName": "Vacuum Extend - Cleaning Time",
+                               "channel": "cleaning_time",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 32767,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "cleaning-area",
+                               "siid": 4,
+                               "piid": 3,
+                               "friendlyName": "Vacuum Extend - Cleaning Area",
+                               "channel": "cleaning-area",
+                               "type": "Number:Area",
+                               "unit": "square_meter",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 32767,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "cleaning-mode",
+                               "siid": 4,
+                               "piid": 4,
+                               "friendlyName": "Vacuum Extend - Cleaning Mode",
+                               "channel": "cleaning_mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "mode 0"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "mode 1"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "mode 2"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "mode 3"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"mode 0\",\"1\"\u003d\"mode 1\",\"2\"\u003d\"mode 2\",\"3\"\u003d\"mode 3\"]"
+                       },
+                       {
+                               "property": "mop-mode",
+                               "siid": 4,
+                               "piid": 5,
+                               "friendlyName": "Vacuum Extend - Mop Mode",
+                               "channel": "mop_mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "low water"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "medium water"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "high water"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"low water\",\"2\"\u003d\"medium water\",\"3\"\u003d\"high water\"]"
+                       },
+                       {
+                               "property": "waterbox-status",
+                               "siid": 4,
+                               "piid": 6,
+                               "friendlyName": "Vacuum Extend - Waterbox Status",
+                               "channel": "waterbox_status",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Status 0"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Status 1"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Status 0\",\"1\"\u003d\"Status 1\"]"
+                       },
+                       {
+                               "property": "task-status",
+                               "siid": 4,
+                               "piid": 7,
+                               "friendlyName": "Vacuum Extend - Task Status",
+                               "channel": "task_status",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Notask"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "AutoClean"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "CustomClean"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "SelectAreanClean"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "SpotArea"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Notask\",\"1\"\u003d\"AutoClean\",\"2\"\u003d\"CustomClean\",\"3\"\u003d\"SelectAreanClean\",\"4\"\u003d\"SpotArea\"]"
+                       },
+                       {
+                               "property": "break-point-restart",
+                               "siid": 4,
+                               "piid": 11,
+                               "friendlyName": "Vacuum Extend - Break Point Restart",
+                               "channel": "break_point_restart",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Off"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "On"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Off\",\"1\"\u003d\"On\"]"
+                       },
+                       {
+                               "property": "carpet-press",
+                               "siid": 4,
+                               "piid": 12,
+                               "friendlyName": "Vacuum Extend - Carpet Press",
+                               "channel": "carpet_press",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Off"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "On"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Off\",\"1\"\u003d\"On\"]"
+                       },
+                       {
+                               "property": "serial-number",
+                               "siid": 4,
+                               "piid": 14,
+                               "friendlyName": "Vacuum Extend - Serial Number",
+                               "channel": "serial_number",
+                               "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "keep-sweeper-time",
+                               "siid": 4,
+                               "piid": 17,
+                               "friendlyName": "Vacuum Extend - Keep Sweeper Time",
+                               "channel": "keep_sweeper_time",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": -1,
+                                       "maximum": 1000000,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "faults",
+                               "siid": 4,
+                               "piid": 18,
+                               "friendlyName": "Vacuum Extend - Faults",
+                               "channel": "faults",
+                               "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "enable",
+                               "siid": 5,
+                               "piid": 1,
+                               "friendlyName": "Do Not Disturb - Enable",
+                               "channel": "enable",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "start-time",
+                               "siid": 5,
+                               "piid": 2,
+                               "friendlyName": "Do Not Disturb - Start Time",
+                               "channel": "start_time",
+                               "type": "String",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "end-time",
+                               "siid": 5,
+                               "piid": 3,
+                               "friendlyName": "Do Not Disturb - End Time",
+                               "channel": "end_time",
+                               "type": "String",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "volume",
+                               "siid": 7,
+                               "piid": 1,
+                               "friendlyName": "Audio - Volume",
+                               "channel": "volume",
+                               "type": "Number:Dimensionless",
+                               "unit": "PERCENT",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "voice-packet-id",
+                               "siid": 7,
+                               "piid": 2,
+                               "friendlyName": "Audio - Voice Packet Id",
+                               "channel": "voice_packet_id",
+                               "type": "String",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "voice-change-state",
+                               "siid": 7,
+                               "piid": 3,
+                               "friendlyName": "Audio - Voice Change State",
+                               "channel": "voice_change_state",
+                               "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "time-zone",
+                               "siid": 8,
+                               "piid": 1,
+                               "friendlyName": "Time - Time Zone",
+                               "channel": "time_zone",
+                               "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "timer-clean",
+                               "siid": 8,
+                               "piid": 2,
+                               "friendlyName": "Time - Timer Clean",
+                               "channel": "timer_clean",
+                               "type": "String",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "first-clean-time",
+                               "siid": 12,
+                               "piid": 1,
+                               "friendlyName": "Clean Logs - First Clean Time",
+                               "channel": "first_clean_time",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "total-clean-time",
+                               "siid": 12,
+                               "piid": 2,
+                               "friendlyName": "Clean Logs - Total Clean Time",
+                               "channel": "total_clean_time",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "total-clean-times",
+                               "siid": 12,
+                               "piid": 3,
+                               "friendlyName": "Clean Logs - Total Clean Times",
+                               "channel": "total_clean_times",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "total-clean-area",
+                               "siid": 12,
+                               "piid": 4,
+                               "friendlyName": "Clean Logs - Total Clean Area",
+                               "channel": "total_clean_area",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "save-map-status",
+                               "siid": 13,
+                               "piid": 1,
+                               "friendlyName": "Vslam Extend - Save Map Status",
+                               "channel": "save_map_status",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Off"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "On"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Off\",\"1\"\u003d\"On\"]"
+                       }
+               ],
+               "readmeComment": "Identified manual actions for execution\u003cbr /\u003e`action{\"did\":\"vacuum-start-sweep\",\"siid\":2,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"vacuum-stop-sweeping\",\"siid\":2,\"aiid\":2,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"battery-start-charge\",\"siid\":3,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"brush-cleaner-reset-brush-life\",\"siid\":9,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"brush-cleaner-reset-brush-life\",\"siid\":10,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"filter-reset-filter-life\",\"siid\":11,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"vacuum-extend-start-clean\",\"siid\":4,\"aiid\":1,\"in\":[10.0]}`\u003cbr /\u003e`action{\"did\":\"vacuum-extend-stop-clean\",\"siid\":4,\"aiid\":2,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"map-map-req\",\"siid\":6,\"aiid\":1,\"in\":[2.0]}`\u003cbr /\u003e`action{\"did\":\"map-update-map\",\"siid\":6,\"aiid\":2,\"in\":[4.0]}`\u003cbr /\u003e`action{\"did\":\"audio-position\",\"siid\":7,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"audio-play-sound\",\"siid\":7,\"aiid\":2,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"time-delete-timer\",\"siid\":8,\"aiid\":1,\"in\":[3.0]}`\u003cbr /\u003ePlease test and feedback if they are working to they can be linked to a channel.",
+               "experimental": true
+       }
+}