]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] add channel for is_locating (#10036)
authorMarcel <marcel@verpaalen.com>
Wed, 3 Feb 2021 10:18:50 +0000 (11:18 +0100)
committerGitHub <noreply@github.com>
Wed, 3 Feb 2021 10:18:50 +0000 (11:18 +0100)
close: #10033

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
bundles/org.openhab.binding.miio/README.base.md
bundles/org.openhab.binding.miio/README.md
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoVacuumHandler.java
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/robot/RobotCababilities.java
bundles/org.openhab.binding.miio/src/main/resources/OH-INF/thing/vacuumThing.xml

index 12bfc36b52bfdae91c3033ef0861fcbdc4fbea97..88306fd08807c11cae61dd3a04d1506538d8dbdf 100644 (file)
@@ -218,6 +218,7 @@ Number statusFanPow    "Fan Power [%1.0f%%]"  <signal>   (gVacStat) {channel="mi
 Number statusClean    "In Cleaning Status [%1.0f]"   <switch>  (gVacStat) {channel="miio:vacuum:034F0E45:status#in_cleaning" }
 Switch statusDND    "DND Activated"    (gVacStat) {channel="miio:vacuum:034F0E45:status#dnd_enabled" }
 Number statusStatus    "Status [%1.0f]"  <status>  (gVacStat) {channel="miio:vacuum:034F0E45:status#state"} 
+Switch isLocating    "Locating"    (gVacStat) {channel="miio:vacuum:034F0E45:status#is_locating" }
 
 Number consumableMain    "Main Brush [%1.0f]"    (gVacCons) {channel="miio:vacuum:034F0E45:consumables#main_brush_time"}
 Number consumableSide    "Side Brush [%1.0f]"    (gVacCons) {channel="miio:vacuum:034F0E45:consumables#side_brush_time"}
@@ -254,6 +255,7 @@ Additionally depending on the capabilities of your robot vacuum other channels m
 | Number  | status#water_box_mode             | Water Box Mode             |
 | Switch  | status#water_box_carriage_status  | Water Box Carriage Status  |
 | Switch  | status#mop_forbidden_enable       | Mop Forbidden              |
+| Switch  | status#is_locating                | Robot is locating          |
 | Number  | actions#segment                   | Room Clean  (enter room #) |
 
 
index 7bf5b5f7772d0c60ebe19fd3c00d6a0f5d795e77..8f702fad0e20c401a4b5c10ccf3c1908af497674 100644 (file)
@@ -4437,6 +4437,7 @@ Number statusFanPow    "Fan Power [%1.0f%%]"  <signal>   (gVacStat) {channel="mi
 Number statusClean    "In Cleaning Status [%1.0f]"   <switch>  (gVacStat) {channel="miio:vacuum:034F0E45:status#in_cleaning" }
 Switch statusDND    "DND Activated"    (gVacStat) {channel="miio:vacuum:034F0E45:status#dnd_enabled" }
 Number statusStatus    "Status [%1.0f]"  <status>  (gVacStat) {channel="miio:vacuum:034F0E45:status#state"} 
+Switch isLocating    "Locating"    (gVacStat) {channel="miio:vacuum:034F0E45:status#is_locating" }
 
 Number consumableMain    "Main Brush [%1.0f]"    (gVacCons) {channel="miio:vacuum:034F0E45:consumables#main_brush_time"}
 Number consumableSide    "Side Brush [%1.0f]"    (gVacCons) {channel="miio:vacuum:034F0E45:consumables#side_brush_time"}
@@ -4473,6 +4474,7 @@ Additionally depending on the capabilities of your robot vacuum other channels m
 | Number  | status#water_box_mode             | Water Box Mode             |
 | Switch  | status#water_box_carriage_status  | Water Box Carriage Status  |
 | Switch  | status#mop_forbidden_enable       | Mop Forbidden              |
+| Switch  | status#is_locating                | Robot is locating          |
 | Number  | actions#segment                   | Room Clean  (enter room #) |
 
 
index e4f1ca572261765e6e1b2bcb8ab6c4b852c67975..3b3eba803aa5d0256de2dcfcf89fb12592bde80f 100644 (file)
@@ -344,6 +344,9 @@ public class MiIoVacuumHandler extends MiIoAbstractHandler {
         if (deviceCapabilities.containsKey(RobotCababilities.MOP_FORBIDDEN)) {
             safeUpdateState(RobotCababilities.MOP_FORBIDDEN.getChannel(), statusInfo.getMopForbiddenEnable());
         }
+        if (deviceCapabilities.containsKey(RobotCababilities.LOCATING)) {
+            safeUpdateState(RobotCababilities.LOCATING.getChannel(), statusInfo.getIsLocating());
+        }
         return true;
     }
 
index 80a01b28ad57788e53b3d7839f8118926ad8edf1..2d8d5dc339a6266edd03b3cd296e67249d3f2faf 100644 (file)
@@ -29,6 +29,7 @@ public enum RobotCababilities {
     WATERBOX_CARRIAGE("water_box_carriage_status", "status#water_box_carriage_status",
             "miio:water_box_carriage_status"),
     MOP_FORBIDDEN("mop_forbidden_enable", "status#mop_forbidden_enable", "miio:mop_forbidden_enable"),
+    LOCATING("is_locating", "status#is_locating", "miio:is_locating"),
     SEGMENT_CLEAN("", "actions#segment", "miio:segment");
 
     private final String statusFieldName;
index 7e813654f04bfdbc4a92f29be7dc64cd3e0b0af7..caee93a44ecf44e10a20f0aead43568034a3ef5c 100644 (file)
                <label>Mop Forbidden</label>
                <state readOnly="true"/>
        </channel-type>
+       <channel-type id="is_locating">
+               <item-type>Switch</item-type>
+               <label>Robot Locating</label>
+               <state readOnly="true"/>
+       </channel-type>
 
        <!-- Consumables channels -->
        <channel-type id="main_brush_percent">