]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] add support for Mijia Smart Pet Water Dispensers (#9861)
authorMarcel <marcel@verpaalen.com>
Mon, 18 Jan 2021 20:58:50 +0000 (21:58 +0100)
committerGitHub <noreply@github.com>
Mon, 18 Jan 2021 20:58:50 +0000 (12:58 -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/mmgg.pet_waterer.s1-miot.json [new file with mode: 0644]
bundles/org.openhab.binding.miio/src/main/resources/database/mmgg.pet_waterer.s2-miot.json [new file with mode: 0644]

index 08ca7e08c20dcc6fb4952ef70303a379169a1723..223217cf071779c9dba0d6b838cd11c0d2dd097f 100644 (file)
@@ -236,6 +236,10 @@ Currently the miio binding supports more than 260 different models.
 | Mi smart Home GatewayHub v2  | miio:basic       | [lumi.gateway.v2](#lumi-gateway-v2) | Yes       | Used to control the gateway itself. Use the mihome binding to control devices connected to the Xiaomi gateway.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Mi mart Home Gateway Hub v3  | miio:basic       | [lumi.gateway.v3](#lumi-gateway-v3) | Yes       | Used to control the gateway itself. Use the mihome binding to control devices connected to the Xiaomi gateway.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Mi Air Purifier virtual      | miio:basic       | [lumi.gateway.mgl03](#lumi-gateway-mgl03) | Yes       | Used to control the gateway itself. Use the mihome binding to control devices connected to the Xiaomi gateway.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| Mijia Smart Pet Water Dispenser | miio:basic       | [mmgg.pet_waterer.s1](#mmgg-pet_waterer-s1) | Yes       | Identified manual actions for execution<br />`action{"did":"filter-reset-filter-life","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"filter-cotton-reset-cotton-life","siid":5,"aiid":1,"in":[]}`<br />`action{"did":"remain-clean-time-reset-clean-time","siid":6,"aiid":1,"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 |
+| Mijia Smart Pet Water Dispenser | miio:basic       | [mmgg.pet_waterer.s2](#mmgg-pet_waterer-s2) | Yes       | Identified manual actions for execution<br />`action{"did":"filter-reset-filter-life","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"filter-cotton-reset-cotton-life","siid":5,"aiid":1,"in":[]}`<br />`action{"did":"remain-clean-time-reset-clean-time","siid":6,"aiid":1,"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 |
+| Mijia Smart Pet Water Dispenser | miio:basic       | [mmgg.pet_waterer.s3](#mmgg-pet_waterer-s3) | Yes       | Identified manual actions for execution<br />`action{"did":"filter-reset-filter-life","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"filter-cotton-reset-cotton-life","siid":5,"aiid":1,"in":[]}`<br />`action{"did":"remain-clean-time-reset-clean-time","siid":6,"aiid":1,"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 |
+| XIAOWAN Smart Pet Water Dispenser | miio:basic       | [mmgg.pet_waterer.s4](#mmgg-pet_waterer-s4) | Yes       | Identified manual actions for execution<br />`action{"did":"filter-reset-filter-life","siid":3,"aiid":1,"in":[]}`<br />`action{"did":"filter-cotton-reset-cotton-life","siid":5,"aiid":1,"in":[]}`<br />`action{"did":"remain-clean-time-reset-clean-time","siid":6,"aiid":1,"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 |
 | 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 |
@@ -1470,6 +1474,69 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | alarmingVol      | Number  | Alarming Volume                     |            |
 | doorbellPush     | String  | Doorbell Push                       |            |
 
+### Mijia Smart Pet Water Dispenser (<a name="mmgg-pet_waterer-s1">mmgg.pet_waterer.s1</a>) Channels
+
+| Channel          | Type    | Description                         | Comment    |
+|------------------|---------|-------------------------------------|------------|
+| fault            | Number  | Pet Drinking Fountain - Device Fault | Value mapping ["0"="No faults"] |
+| on               | Switch  | Power                               |            |
+| mode             | Number  | Mode                                | Value mapping ["1"="Common","2"="Smart "] |
+| filter-left-time | Number:Time | Filter - Filter Left Time           |            |
+| on1              | Switch  | Indicator Light - Switch            |            |
+| cotton-left-time | Number:Time | Filter Cotton - Cotton Left Time    |            |
+| remain-clean-time | Number:Time | Remain Clean Time - Remain Clean Time |            |
+| no-water-flag    | Switch  | No Water Flag - No Water Flag       |            |
+| resetConsumable  | String  | Consumables Reset                   | Value mapping ["remain-clean-time-reset-clean-time"="Reset Clean Time","filter-cotton-reset-cotton-life"="Reset Cotton Time","filter-reset-filter-life"="Reset Filter Life"] |
+| no-water-time    | Number:Time | No Water Flag - No Water Time       |            |
+
+### Mijia Smart Pet Water Dispenser (<a name="mmgg-pet_waterer-s2">mmgg.pet_waterer.s2</a>) Channels
+
+| Channel          | Type    | Description                         | Comment    |
+|------------------|---------|-------------------------------------|------------|
+| fault            | Number  | Pet Drinking Fountain - Device Fault | Value mapping ["0"="No faults"] |
+| on               | Switch  | Power                               |            |
+| mode             | Number  | Mode                                | Value mapping ["1"="Common","2"="Smart "] |
+| filter-left-time | Number:Time | Filter - Filter Left Time           |            |
+| on1              | Switch  | Indicator Light - Switch            |            |
+| cotton-left-time | Number:Time | Filter Cotton - Cotton Left Time    |            |
+| remain-clean-time | Number:Time | Remain Clean Time - Remain Clean Time |            |
+| no-water-flag    | Switch  | No Water Flag - No Water Flag       |            |
+| resetConsumable  | String  | Consumables Reset                   | Value mapping ["remain-clean-time-reset-clean-time"="Reset Clean Time","filter-cotton-reset-cotton-life"="Reset Cotton Time","filter-reset-filter-life"="Reset Filter Life"] |
+| no-water-time    | Number:Time | No Water Flag - No Water Time       |            |
+| pump-block-flag  | Switch  | No Water Flag - Pump Block Flag     |            |
+
+### Mijia Smart Pet Water Dispenser (<a name="mmgg-pet_waterer-s3">mmgg.pet_waterer.s3</a>) Channels
+
+| Channel          | Type    | Description                         | Comment    |
+|------------------|---------|-------------------------------------|------------|
+| fault            | Number  | Pet Drinking Fountain - Device Fault | Value mapping ["0"="No faults"] |
+| on               | Switch  | Power                               |            |
+| mode             | Number  | Mode                                | Value mapping ["1"="Common","2"="Smart "] |
+| filter-left-time | Number:Time | Filter - Filter Left Time           |            |
+| on1              | Switch  | Indicator Light - Switch            |            |
+| cotton-left-time | Number:Time | Filter Cotton - Cotton Left Time    |            |
+| remain-clean-time | Number:Time | Remain Clean Time - Remain Clean Time |            |
+| no-water-flag    | Switch  | No Water Flag - No Water Flag       |            |
+| resetConsumable  | String  | Consumables Reset                   | Value mapping ["remain-clean-time-reset-clean-time"="Reset Clean Time","filter-cotton-reset-cotton-life"="Reset Cotton Time","filter-reset-filter-life"="Reset Filter Life"] |
+| no-water-time    | Number:Time | No Water Flag - No Water Time       |            |
+| pump-block-flag  | Switch  | No Water Flag - Pump Block Flag     |            |
+
+### XIAOWAN Smart Pet Water Dispenser (<a name="mmgg-pet_waterer-s4">mmgg.pet_waterer.s4</a>) Channels
+
+| Channel          | Type    | Description                         | Comment    |
+|------------------|---------|-------------------------------------|------------|
+| fault            | Number  | Pet Drinking Fountain - Device Fault | Value mapping ["0"="No faults"] |
+| on               | Switch  | Power                               |            |
+| mode             | Number  | Mode                                | Value mapping ["1"="Common","2"="Smart "] |
+| filter-left-time | Number:Time | Filter - Filter Left Time           |            |
+| on1              | Switch  | Indicator Light - Switch            |            |
+| cotton-left-time | Number:Time | Filter Cotton - Cotton Left Time    |            |
+| remain-clean-time | Number:Time | Remain Clean Time - Remain Clean Time |            |
+| no-water-flag    | Switch  | No Water Flag - No Water Flag       |            |
+| resetConsumable  | String  | Consumables Reset                   | Value mapping ["remain-clean-time-reset-clean-time"="Reset Clean Time","filter-cotton-reset-cotton-life"="Reset Cotton Time","filter-reset-filter-life"="Reset Filter Life"] |
+| no-water-time    | Number:Time | No Water Flag - No Water Time       |            |
+| pump-block-flag  | Switch  | No Water Flag - Pump Block Flag     |            |
+
 ### HUIZUO ARIES For Bedroom (<a name="huayi-light-ari013">huayi.light.ari013</a>) Channels
 
 | Channel          | Type    | Description                         | Comment    |
@@ -5499,6 +5566,81 @@ Number alarmingVol "Alarming Volume" (G_gateway) {channel="miio:basic:gateway:al
 String doorbellPush "Doorbell Push" (G_gateway) {channel="miio:basic:gateway:doorbellPush"}
 ```
 
+### Mijia Smart Pet Water Dispenser (mmgg.pet_waterer.s1) item file lines
+
+note: Autogenerated example. Replace the id (pet_waterer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```java
+Group G_pet_waterer "Mijia Smart Pet Water Dispenser" <status>
+Number fault "Pet Drinking Fountain - Device Fault" (G_pet_waterer) {channel="miio:basic:pet_waterer:fault"}
+Switch on "Power" (G_pet_waterer) {channel="miio:basic:pet_waterer:on"}
+Number mode "Mode" (G_pet_waterer) {channel="miio:basic:pet_waterer:mode"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:filter-left-time"}
+Switch on1 "Indicator Light - Switch" (G_pet_waterer) {channel="miio:basic:pet_waterer:on1"}
+Number:Time cotton_left_time "Filter Cotton - Cotton Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:cotton-left-time"}
+Number:Time remain_clean_time "Remain Clean Time - Remain Clean Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:remain-clean-time"}
+Switch no_water_flag "No Water Flag - No Water Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-flag"}
+String resetConsumable "Consumables Reset" (G_pet_waterer) {channel="miio:basic:pet_waterer:resetConsumable"}
+Number:Time no_water_time "No Water Flag - No Water Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-time"}
+```
+
+### Mijia Smart Pet Water Dispenser (mmgg.pet_waterer.s2) item file lines
+
+note: Autogenerated example. Replace the id (pet_waterer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```java
+Group G_pet_waterer "Mijia Smart Pet Water Dispenser" <status>
+Number fault "Pet Drinking Fountain - Device Fault" (G_pet_waterer) {channel="miio:basic:pet_waterer:fault"}
+Switch on "Power" (G_pet_waterer) {channel="miio:basic:pet_waterer:on"}
+Number mode "Mode" (G_pet_waterer) {channel="miio:basic:pet_waterer:mode"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:filter-left-time"}
+Switch on1 "Indicator Light - Switch" (G_pet_waterer) {channel="miio:basic:pet_waterer:on1"}
+Number:Time cotton_left_time "Filter Cotton - Cotton Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:cotton-left-time"}
+Number:Time remain_clean_time "Remain Clean Time - Remain Clean Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:remain-clean-time"}
+Switch no_water_flag "No Water Flag - No Water Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-flag"}
+String resetConsumable "Consumables Reset" (G_pet_waterer) {channel="miio:basic:pet_waterer:resetConsumable"}
+Number:Time no_water_time "No Water Flag - No Water Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-time"}
+Switch pump_block_flag "No Water Flag - Pump Block Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:pump-block-flag"}
+```
+
+### Mijia Smart Pet Water Dispenser (mmgg.pet_waterer.s3) item file lines
+
+note: Autogenerated example. Replace the id (pet_waterer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```java
+Group G_pet_waterer "Mijia Smart Pet Water Dispenser" <status>
+Number fault "Pet Drinking Fountain - Device Fault" (G_pet_waterer) {channel="miio:basic:pet_waterer:fault"}
+Switch on "Power" (G_pet_waterer) {channel="miio:basic:pet_waterer:on"}
+Number mode "Mode" (G_pet_waterer) {channel="miio:basic:pet_waterer:mode"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:filter-left-time"}
+Switch on1 "Indicator Light - Switch" (G_pet_waterer) {channel="miio:basic:pet_waterer:on1"}
+Number:Time cotton_left_time "Filter Cotton - Cotton Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:cotton-left-time"}
+Number:Time remain_clean_time "Remain Clean Time - Remain Clean Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:remain-clean-time"}
+Switch no_water_flag "No Water Flag - No Water Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-flag"}
+String resetConsumable "Consumables Reset" (G_pet_waterer) {channel="miio:basic:pet_waterer:resetConsumable"}
+Number:Time no_water_time "No Water Flag - No Water Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-time"}
+Switch pump_block_flag "No Water Flag - Pump Block Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:pump-block-flag"}
+```
+
+### XIAOWAN Smart Pet Water Dispenser (mmgg.pet_waterer.s4) item file lines
+
+note: Autogenerated example. Replace the id (pet_waterer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```java
+Group G_pet_waterer "XIAOWAN Smart Pet Water Dispenser" <status>
+Number fault "Pet Drinking Fountain - Device Fault" (G_pet_waterer) {channel="miio:basic:pet_waterer:fault"}
+Switch on "Power" (G_pet_waterer) {channel="miio:basic:pet_waterer:on"}
+Number mode "Mode" (G_pet_waterer) {channel="miio:basic:pet_waterer:mode"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:filter-left-time"}
+Switch on1 "Indicator Light - Switch" (G_pet_waterer) {channel="miio:basic:pet_waterer:on1"}
+Number:Time cotton_left_time "Filter Cotton - Cotton Left Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:cotton-left-time"}
+Number:Time remain_clean_time "Remain Clean Time - Remain Clean Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:remain-clean-time"}
+Switch no_water_flag "No Water Flag - No Water Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-flag"}
+String resetConsumable "Consumables Reset" (G_pet_waterer) {channel="miio:basic:pet_waterer:resetConsumable"}
+Number:Time no_water_time "No Water Flag - No Water Time" (G_pet_waterer) {channel="miio:basic:pet_waterer:no-water-time"}
+Switch pump_block_flag "No Water Flag - Pump Block Flag" (G_pet_waterer) {channel="miio:basic:pet_waterer:pump-block-flag"}
+```
+
 ### 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 a2ff3e4a1dd377827ef72de38a55e4d3c1de7b92..93b20c64ed7c9b20d350fcae26c9990248dd96f7 100644 (file)
@@ -90,6 +90,10 @@ public enum MiIoDevices {
     LUMI_GATEWAY_V2("lumi.gateway.v2", "Mi smart Home GatewayHub v2", THING_TYPE_BASIC),
     LUMI_GATEWAY_V3("lumi.gateway.v3", "Mi mart Home Gateway Hub v3", THING_TYPE_BASIC),
     LUMI_GATEWAY_MGL03("lumi.gateway.mgl03", "Mi Air Purifier virtual", THING_TYPE_BASIC),
+    MMGG_PET_WATERER_S1("mmgg.pet_waterer.s1", "Mijia Smart Pet Water Dispenser", THING_TYPE_BASIC),
+    MMGG_PET_WATERER_S2("mmgg.pet_waterer.s2", "Mijia Smart Pet Water Dispenser", THING_TYPE_BASIC),
+    MMGG_PET_WATERER_S3("mmgg.pet_waterer.s3", "Mijia Smart Pet Water Dispenser", THING_TYPE_BASIC),
+    MMGG_PET_WATERER_S4("mmgg.pet_waterer.s4", "XIAOWAN Smart Pet Water Dispenser", 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),
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/mmgg.pet_waterer.s1-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/mmgg.pet_waterer.s1-miot.json
new file mode 100644 (file)
index 0000000..6b365f4
--- /dev/null
@@ -0,0 +1,245 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "mmgg.pet_waterer.s1"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Pet Drinking Fountain - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No faults"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No faults\"]"
+                       },
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Power",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "mode",
+                               "siid": 2,
+                               "piid": 3,
+                               "friendlyName": "Mode",
+                               "channel": "mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "Common"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Smart "
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"Common\",\"2\"\u003d\"Smart \"]"
+                       },
+                       {
+                               "property": "filter-left-time",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Filter - Filter Left Time",
+                               "channel": "filter-left-time",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 30,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "on1",
+                               "siid": 4,
+                               "piid": 1,
+                               "friendlyName": "Indicator Light - Switch",
+                               "channel": "on1",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "cotton-left-time",
+                               "siid": 5,
+                               "piid": 1,
+                               "friendlyName": "Filter Cotton - Cotton Left Time",
+                               "channel": "cotton-left-time",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 30,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "remain-clean-time",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Remain Clean Time - Remain Clean Time",
+                               "channel": "remain-clean-time",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 7,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "no-water-flag",
+                               "siid": 7,
+                               "piid": 1,
+                               "friendlyName": "No Water Flag - No Water Flag",
+                               "channel": "no-water-flag",
+                               "type": "Switch",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "",
+                               "friendlyName": "Consumables Reset",
+                               "channel": "resetConsumable",
+                               "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "remain-clean-time-reset-clean-time",
+                                                       "label": "Reset Clean Time"
+                                               },
+                                               {
+                                                       "value": "filter-cotton-reset-cotton-life",
+                                                       "label": "Reset Cotton Time"
+                                               },
+                                               {
+                                                       "value": "filter-reset-filter-life",
+                                                       "label": "Reset Filter Life"
+                                               }
+                                       ]
+                               },
+                               "refresh": false,
+                               "actions": [
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 6,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "remain-clean-time-reset-clean-time"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 5,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "filter-cotton-reset-cotton-life"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 3,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "filter-reset-filter-life"
+                                                               }
+                                                       ]
+                                               }
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"remain-clean-time-reset-clean-time\"\u003d\"Reset Clean Time\",\"filter-cotton-reset-cotton-life\"\u003d\"Reset Cotton Time\",\"filter-reset-filter-life\"\u003d\"Reset Filter Life\"]"
+                       },
+                       {
+                               "property": "no-water-time",
+                               "siid": 7,
+                               "piid": 2,
+                               "friendlyName": "No Water Flag - No Water Time",
+                               "channel": "no-water-time",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 10080,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       }
+               ],
+               "readmeComment": "Identified manual actions for execution\u003cbr /\u003e`action{\"did\":\"filter-reset-filter-life\",\"siid\":3,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"filter-cotton-reset-cotton-life\",\"siid\":5,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"remain-clean-time-reset-clean-time\",\"siid\":6,\"aiid\":1,\"in\":[]}`\u003cbr /\u003ePlease test and feedback if they are working to they can be linked to a channel.",
+               "experimental": true
+       }
+}
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/mmgg.pet_waterer.s2-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/mmgg.pet_waterer.s2-miot.json
new file mode 100644 (file)
index 0000000..25d930d
--- /dev/null
@@ -0,0 +1,260 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "mmgg.pet_waterer.s2",
+                       "mmgg.pet_waterer.s3",
+                       "mmgg.pet_waterer.s4"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Pet Drinking Fountain - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No faults"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No faults\"]"
+                       },
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Power",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "mode",
+                               "siid": 2,
+                               "piid": 3,
+                               "friendlyName": "Mode",
+                               "channel": "mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "Common"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Smart "
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"Common\",\"2\"\u003d\"Smart \"]"
+                       },
+                       {
+                               "property": "filter-left-time",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Filter - Filter Left Time",
+                               "channel": "filter-left-time",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 30,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "on1",
+                               "siid": 4,
+                               "piid": 1,
+                               "friendlyName": "Indicator Light - Switch",
+                               "channel": "on1",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "cotton-left-time",
+                               "siid": 5,
+                               "piid": 1,
+                               "friendlyName": "Filter Cotton - Cotton Left Time",
+                               "channel": "cotton-left-time",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 30,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "remain-clean-time",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Remain Clean Time - Remain Clean Time",
+                               "channel": "remain-clean-time",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 7,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "no-water-flag",
+                               "siid": 7,
+                               "piid": 1,
+                               "friendlyName": "No Water Flag - No Water Flag",
+                               "channel": "no-water-flag",
+                               "type": "Switch",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "",
+                               "friendlyName": "Consumables Reset",
+                               "channel": "resetConsumable",
+                               "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "remain-clean-time-reset-clean-time",
+                                                       "label": "Reset Clean Time"
+                                               },
+                                               {
+                                                       "value": "filter-cotton-reset-cotton-life",
+                                                       "label": "Reset Cotton Time"
+                                               },
+                                               {
+                                                       "value": "filter-reset-filter-life",
+                                                       "label": "Reset Filter Life"
+                                               }
+                                       ]
+                               },
+                               "refresh": false,
+                               "actions": [
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 6,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "remain-clean-time-reset-clean-time"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 5,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "filter-cotton-reset-cotton-life"
+                                                               }
+                                                       ]
+                                               }
+                                       },
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 3,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "filter-reset-filter-life"
+                                                               }
+                                                       ]
+                                               }
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"remain-clean-time-reset-clean-time\"\u003d\"Reset Clean Time\",\"filter-cotton-reset-cotton-life\"\u003d\"Reset Cotton Time\",\"filter-reset-filter-life\"\u003d\"Reset Filter Life\"]"
+                       },
+                       {
+                               "property": "no-water-time",
+                               "siid": 7,
+                               "piid": 2,
+                               "friendlyName": "No Water Flag - No Water Time",
+                               "channel": "no-water-time",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 10080,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "pump-block-flag",
+                               "siid": 7,
+                               "piid": 3,
+                               "friendlyName": "No Water Flag - Pump Block Flag",
+                               "channel": "pump-block-flag",
+                               "type": "Switch",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       }
+               ],
+               "readmeComment": "Identified manual actions for execution\u003cbr /\u003e`action{\"did\":\"filter-reset-filter-life\",\"siid\":3,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"filter-cotton-reset-cotton-life\",\"siid\":5,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"remain-clean-time-reset-clean-time\",\"siid\":6,\"aiid\":1,\"in\":[]}`\u003cbr /\u003ePlease test and feedback if they are working to they can be linked to a channel.",
+               "experimental": true
+       }
+}