diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md
index 1e41997f2f2..08ca7e08c20 100644
--- a/bundles/org.openhab.binding.miio/README.md
+++ b/bundles/org.openhab.binding.miio/README.md
@@ -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
`action{"did":"battery-start-charge","siid":2,"aiid":1,"in":[]}`
`action{"did":"vacuum-start-sweep","siid":3,"aiid":1,"in":[]}`
`action{"did":"vacuum-stop-sweeping","siid":3,"aiid":2,"in":[]}`
`action{"did":"brush-cleaner-reset-brush-life","siid":26,"aiid":1,"in":[]}`
`action{"did":"filter-reset-filter-life","siid":27,"aiid":1,"in":[]}`
`action{"did":"brush-cleaner-reset-brush-life","siid":28,"aiid":1,"in":[]}`
`action{"did":"clean-start-clean","siid":18,"aiid":1,"in":[]}`
`action{"did":"clean-stop-clean","siid":18,"aiid":2,"in":[]}`
`action{"did":"remote-start-remote","siid":21,"aiid":1,"in":[1.0, 2.0]}`
`action{"did":"remote-stop-remote","siid":21,"aiid":2,"in":[]}`
`action{"did":"remote-exit-remote","siid":21,"aiid":3,"in":[]}`
`action{"did":"map-map-req","siid":23,"aiid":1,"in":[2.0]}`
`action{"did":"audio-position","siid":24,"aiid":1,"in":[]}`
`action{"did":"audio-set-voice","siid":24,"aiid":2,"in":[]}`
`action{"did":"audio-play-sound","siid":24,"aiid":3,"in":[]}`
Please test and feedback if they are working to they can be linked to a channel.
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
`action{"did":"vacuum-start-sweep","siid":2,"aiid":1,"in":[]}`
`action{"did":"vacuum-stop-sweeping","siid":2,"aiid":2,"in":[]}`
`action{"did":"battery-start-charge","siid":3,"aiid":1,"in":[]}`
`action{"did":"brush-cleaner-reset-brush-life","siid":9,"aiid":1,"in":[]}`
`action{"did":"brush-cleaner-reset-brush-life","siid":10,"aiid":1,"in":[]}`
`action{"did":"filter-reset-filter-life","siid":11,"aiid":1,"in":[]}`
`action{"did":"vacuum-extend-start-clean","siid":4,"aiid":1,"in":[10.0]}`
`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`
`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`
`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`
`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`
`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`
`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`
Please test and feedback if they are working to they can be linked to a channel.
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]}`
`action{"did":"vacuum-extend-stop-clean","siid":4,"aiid":2,"in":[]}`
`action{"did":"map-map-req","siid":6,"aiid":1,"in":[2.0]}`
`action{"did":"map-update-map","siid":6,"aiid":2,"in":[4.0]}`
`action{"did":"audio-position","siid":7,"aiid":1,"in":[]}`
`action{"did":"audio-play-sound","siid":7,"aiid":2,"in":[]}`
`action{"did":"time-delete-timer","siid":8,"aiid":1,"in":[3.0]}`
|
@@ -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 (nwt.derh.wdh318efw1) 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 (dreame.vacuum.mc1808) 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"
+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.
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
index 621c453f3de..a2ff3e4a1dd 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
@@ -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
index 00000000000..1e1cfd0c42a
--- /dev/null
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/nwt.derh.wdh318efw1.json
@@ -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"
+ ]
+ }
+ ]
+ }
+}