]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] add support for nwt.derh.wdh318efw1 Internet Dehumidifier (#9787)
authorMarcel <marcel@verpaalen.com>
Mon, 18 Jan 2021 20:43:49 +0000 (21:43 +0100)
committerGitHub <noreply@github.com>
Mon, 18 Jan 2021 20:43:49 +0000 (12:43 -0800)
* [miio] add support for nwt.derh.wdh318efw1 Internet Dehumidifier

based on json provided & tested by @feodor85
closing #9737

* [miio] change autohumidity
* [miio] fix switched property

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/nwt.derh.wdh318efw1.json [new file with mode: 0644]

index 1e41997f2f24a854f9579d09b3008ccdb9a9aef9..08ca7e08c20dcc6fb4952ef70303a379169a1723 100644 (file)
@@ -202,7 +202,7 @@ Currently the miio binding supports more than 260 different models.
 | Mi AI Alarm                  | miio:unsupported | zimi.clock.myk01       | No        |            |
 | Yeelight Smart Bath Heater   | miio:unsupported | yeelight.bhf_light.v2  | No        |            |
 | Gosund Smart Plug            | miio:basic       | [cuco.plug.cp1](#cuco-plug-cp1) | Yes       |            |
-| WIDETECH WDH318EFW1 Internet Dehumidifier | miio:unsupported | nwt.derh.wdh318efw1    | No        |            |
+| WIDETECH WDH318EFW1 Internet Dehumidifier | miio:basic       | [nwt.derh.wdh318efw1](#nwt-derh-wdh318efw1) | Yes       |            |
 | 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 /> |
@@ -1009,6 +1009,25 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | SerialNumber     | String  | Device Information-Device Serial Number |            |
 | On               | Switch  | Switch-Switch Status                |            |
 
+### WIDETECH WDH318EFW1 Internet Dehumidifier (<a name="nwt-derh-wdh318efw1">nwt.derh.wdh318efw1</a>) Channels
+
+| Channel          | Type    | Description                         | Comment    |
+|------------------|---------|-------------------------------------|------------|
+| power            | Switch  | Power                               |            |
+| mode             | String  | Mode                                |            |
+| autohumidity     | Number:Dimensionless | Auto humidity                       |            |
+| fanspeed         | Number  | Fan Speed                           |            |
+| buzzer           | Switch  | Buzzer                              |            |
+| led              | Switch  | LED                                 |            |
+| childlock        | Switch  | Child Lock                          |            |
+| humidity         | Number:Dimensionless | Humidity                            |            |
+| temperature      | Number:Temperature | Temperature                         |            |
+| tankfull         | Switch  | Tank Full                           |            |
+| compressorstatus | Switch  | Compressor Status                   |            |
+| defroststatus    | Switch  | Defrost Status                      |            |
+| fanst            | Number  | Fan St                              |            |
+| alarm            | String  | Alarm                               |            |
+
 ### Mi Robot Vacuum Mop 1C STYTJ01ZHM (<a name="dreame-vacuum-mc1808">dreame.vacuum.mc1808</a>) Channels
 
 | Channel          | Type    | Description                         | Comment    |
@@ -4950,6 +4969,28 @@ String SerialNumber "Device Information-Device Serial Number" (G_plug) {channel=
 Switch On "Switch-Switch Status" (G_plug) {channel="miio:basic:plug:On"}
 ```
 
+### WIDETECH WDH318EFW1 Internet Dehumidifier (nwt.derh.wdh318efw1) item file lines
+
+note: Autogenerated example. Replace the id (derh) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```java
+Group G_derh "WIDETECH WDH318EFW1 Internet Dehumidifier" <status>
+Switch power "Power" (G_derh) {channel="miio:basic:derh:power"}
+String mode "Mode" (G_derh) {channel="miio:basic:derh:mode"}
+Number:Dimensionless autohumidity "Auto humidity" (G_derh) {channel="miio:basic:derh:autohumidity"}
+Number fanspeed "Fan Speed" (G_derh) {channel="miio:basic:derh:fanspeed"}
+Switch buzzer "Buzzer" (G_derh) {channel="miio:basic:derh:buzzer"}
+Switch led "LED" (G_derh) {channel="miio:basic:derh:led"}
+Switch childlock "Child Lock" (G_derh) {channel="miio:basic:derh:childlock"}
+Number:Dimensionless humidity "Humidity" (G_derh) {channel="miio:basic:derh:humidity"}
+Number:Temperature temperature "Temperature" (G_derh) {channel="miio:basic:derh:temperature"}
+Switch tankfull "Tank Full" (G_derh) {channel="miio:basic:derh:tankfull"}
+Switch compressorstatus "Compressor Status" (G_derh) {channel="miio:basic:derh:compressorstatus"}
+Switch defroststatus "Defrost Status" (G_derh) {channel="miio:basic:derh:defroststatus"}
+Number fanst "Fan St" (G_derh) {channel="miio:basic:derh:fanst"}
+String alarm "Alarm" (G_derh) {channel="miio:basic:derh:alarm"}
+```
+
 ### Mi Robot Vacuum Mop 1C STYTJ01ZHM (dreame.vacuum.mc1808) 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.
index 621c453f3dee6de1f947c526216f0f55e3864d21..a2ff3e4a1dd377827ef72de38a55e4d3c1de7b92 100644 (file)
@@ -56,7 +56,7 @@ public enum MiIoDevices {
     ZIMI_CLOCK_MYK01("zimi.clock.myk01", "Mi AI Alarm", THING_TYPE_UNSUPPORTED),
     YEELIGHT_BHF_LIGHT_V2("yeelight.bhf_light.v2", "Yeelight Smart Bath Heater", THING_TYPE_UNSUPPORTED),
     CUCO_PLUG_CP1("cuco.plug.cp1", "Gosund Smart Plug", THING_TYPE_BASIC),
-    NWT_DERH_WDH318EFW1("nwt.derh.wdh318efw1", "WIDETECH WDH318EFW1 Internet Dehumidifier", THING_TYPE_UNSUPPORTED),
+    NWT_DERH_WDH318EFW1("nwt.derh.wdh318efw1", "WIDETECH WDH318EFW1 Internet Dehumidifier", THING_TYPE_BASIC),
     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),
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/nwt.derh.wdh318efw1.json b/bundles/org.openhab.binding.miio/src/main/resources/database/nwt.derh.wdh318efw1.json
new file mode 100644 (file)
index 0000000..1e1cfd0
--- /dev/null
@@ -0,0 +1,197 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "nwt.derh.wdh318efw1"
+               ],
+               "channels": [
+                       {
+                               "property": "on_off",
+                               "friendlyName": "Power",
+                               "channel": "power",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "Power",
+                               "actions": [
+                                       {
+                                               "command": "set_power",
+                                               "parameterType": "ONOFF"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "mode",
+                               "friendlyName": "Mode",
+                               "channel": "mode",
+                               "type": "String",
+                               "refresh": true,
+                               "ChannelGroup": "actions",
+                               "actions": [
+                                       {
+                                               "command": "set_mode",
+                                               "parameterType": "STRING"
+                                       }
+                               ],
+                               "tags": [
+                                       "Control"
+                               ]
+                       },
+                       {
+                               "property": "auto",
+                               "friendlyName": "Auto humidity",
+                               "channel": "autohumidity",
+                               "type": "Number:Dimensionless",
+                               "unit": "PERCENT",
+                               "refresh": true,
+                               "ChannelGroup": "actions",
+                               "actions": [
+                                       {
+                                               "command": "set_auto",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "fan_speed",
+                               "friendlyName": "Fan Speed",
+                               "channel": "fanspeed",
+                               "type": "Number",
+                               "refresh": true,
+                               "ChannelGroup": "actions",
+                               "actions": [
+                                       {
+                                               "command": "set_fan_level",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "fan_box",
+                               "tags": [
+                                       "Setpoint"
+                               ]
+                       },
+                       {
+                               "property": "buzzer",
+                               "friendlyName": "Buzzer",
+                               "channel": "buzzer",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "actions",
+                               "actions": [
+                                       {
+                                               "command": "set_buzzer",
+                                               "parameterType": "ONOFF"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "led",
+                               "friendlyName": "LED",
+                               "channel": "led",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "actions",
+                               "actions": [
+                                       {
+                                               "command": "set_led",
+                                               "parameterType": "ONOFF"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "child_lock",
+                               "friendlyName": "Child Lock",
+                               "channel": "childlock",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "actions",
+                               "actions": [
+                                       {
+                                               "command": "set_child_lock",
+                                               "parameterType": "ONOFF"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "humidity",
+                               "friendlyName": "Humidity",
+                               "channel": "humidity",
+                               "type": "Number:Dimensionless",
+                               "unit": "PERCENT",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": [],
+                               "category": "humidity",
+                               "tags": [
+                                       "Measurement",
+                                       "Humidity"
+                               ]
+                       },
+                       {
+                               "property": "temp",
+                               "friendlyName": "Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "CELCIUS",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": [],
+                               "category": "temperature",
+                               "tags": [
+                                       "Measurement",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "tank_full",
+                               "friendlyName": "Tank Full",
+                               "channel": "tankfull",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": []
+                       },
+                       {
+                               "property": "compressor_status",
+                               "friendlyName": "Compressor Status",
+                               "channel": "compressorstatus",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": []
+                       },
+                       {
+                               "property": "defrost_status",
+                               "friendlyName": "Defrost Status",
+                               "channel": "defroststatus",
+                               "type": "Switch",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": []
+                       },
+                       {
+                               "property": "fan_st",
+                               "friendlyName": "Fan St",
+                               "channel": "fanst",
+                               "type": "Number",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": []
+                       },
+                       {
+                               "property": "alarm",
+                               "friendlyName": "Alarm",
+                               "channel": "alarm",
+                               "type": "String",
+                               "refresh": true,
+                               "ChannelGroup": "Status",
+                               "actions": [],
+                               "tags": [
+                                       "Alarm"
+                               ]
+                       }
+               ]
+       }
+}