diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md index dc58dce9742..798d1be8914 100644 --- a/bundles/org.openhab.binding.miio/README.md +++ b/bundles/org.openhab.binding.miio/README.md @@ -340,6 +340,7 @@ Currently the miio binding supports more than 250 different models. | Roborock Vacuum S6 | miio:vacuum | [rockrobo.vacuum.s6](#rockrobo-vacuum-s6) | Yes | | | Roborock S6 | miio:vacuum | [roborock.vacuum.s6](#roborock-vacuum-s6) | Yes | | | Roborock Xiaowa E Series Vacuum v2 | miio:unsupported | roborock.vacuum.e2 | No | | +| VIOMI Internet electric water heater 1A (60L) | miio:basic | [viomi.waterheater.e1](#viomi-waterheater-e1) | Yes | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses | | Viomi Cleaning Robot V-RVCLM21B | miio:basic | [viomi.vacuum.v6](#viomi-vacuum-v6) | Yes | | | Mi Robot Vacuum-Mop P | miio:basic | [viomi.vacuum.v7](#viomi-vacuum-v7) | Yes | | | Mi Robot Vacuum-Mop P | miio:basic | [viomi.vacuum.v8](#viomi-vacuum-v8) | Yes | | @@ -2305,6 +2306,21 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl | lp_autooff_delay | Number | Low Power Limit Time | | | lp_threshold | Number | Low Power Threshold | | +### VIOMI Internet electric water heater 1A (60L) (viomi.waterheater.e1) Channels + +| Channel | Type | Description | Comment | +|------------------|---------|-------------------------------------|------------| +| washStatus | Number | Wash Status | | +| velocity | Number | Velocity | | +| waterTemp | Number:Temperature | Water Temperature | | +| targetTemp | Number:Temperature | Target Temperature | | +| errStatus | Number | Error Status | | +| hotWater | Number | Hot Water | | +| needClean | Switch | Need Clean | | +| modeType | Number | Mode | | +| appointStart | Number | Appoint Start | | +| appointEnd | Number | Appoint End | | + ### Viomi Cleaning Robot V-RVCLM21B (viomi.vacuum.v6) Channels | Channel | Type | Description | Comment | @@ -6367,6 +6383,24 @@ Number lp_autooff_delay "Low Power Limit Time" (G_powerstrip) {channel="miio:bas Number lp_threshold "Low Power Threshold" (G_powerstrip) {channel="miio:basic:powerstrip:lp_threshold"} ``` +### VIOMI Internet electric water heater 1A (60L) (viomi.waterheater.e1) item file lines + +note: Autogenerated example. Replace the id (waterheater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. + +```java +Group G_waterheater "VIOMI Internet electric water heater 1A (60L)" +Number washStatus "Wash Status" (G_waterheater) {channel="miio:basic:waterheater:washStatus"} +Number velocity "Velocity" (G_waterheater) {channel="miio:basic:waterheater:velocity"} +Number:Temperature waterTemp "Water Temperature" (G_waterheater) {channel="miio:basic:waterheater:waterTemp"} +Number:Temperature targetTemp "Target Temperature" (G_waterheater) {channel="miio:basic:waterheater:targetTemp"} +Number errStatus "Error Status" (G_waterheater) {channel="miio:basic:waterheater:errStatus"} +Number hotWater "Hot Water" (G_waterheater) {channel="miio:basic:waterheater:hotWater"} +Switch needClean "Need Clean" (G_waterheater) {channel="miio:basic:waterheater:needClean"} +Number modeType "Mode" (G_waterheater) {channel="miio:basic:waterheater:modeType"} +Number appointStart "Appoint Start" (G_waterheater) {channel="miio:basic:waterheater:appointStart"} +Number appointEnd "Appoint End" (G_waterheater) {channel="miio:basic:waterheater:appointEnd"} +``` + ### Viomi Cleaning Robot V-RVCLM21B (viomi.vacuum.v6) 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 92238a9c66a..aa0e6da67c4 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 @@ -197,6 +197,7 @@ public enum MiIoDevices { ROCKROBO_VACUUM_S6("rockrobo.vacuum.s6", "Roborock Vacuum S6", THING_TYPE_VACUUM), ROBOROCK_VACUUM_S6("roborock.vacuum.s6", "Roborock S6", THING_TYPE_VACUUM), ROBOROCK_VACUUM_E2("roborock.vacuum.e2", "Roborock Xiaowa E Series Vacuum v2", THING_TYPE_UNSUPPORTED), + VIOMI_WATERHEATER_E1("viomi.waterheater.e1", "VIOMI Internet electric water heater 1A (60L)", THING_TYPE_BASIC), VIOMI_VACUUM_V6("viomi.vacuum.v6", "Viomi Cleaning Robot V-RVCLM21B", THING_TYPE_BASIC), VIOMI_VACUUM_V7("viomi.vacuum.v7", "Mi Robot Vacuum-Mop P", THING_TYPE_BASIC), VIOMI_VACUUM_V8("viomi.vacuum.v8", "Mi Robot Vacuum-Mop P", THING_TYPE_BASIC), diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/viomi.waterheater.e1.json b/bundles/org.openhab.binding.miio/src/main/resources/database/viomi.waterheater.e1.json new file mode 100644 index 00000000000..ba863494eb4 --- /dev/null +++ b/bundles/org.openhab.binding.miio/src/main/resources/database/viomi.waterheater.e1.json @@ -0,0 +1,144 @@ +{ + "deviceMapping": { + "id": [ + "viomi.waterheater.e1" + ], + "propertyMethod": "get_prop", + "maxProperties": 1, + "channels": [ + { + "property": "washStatus", + "friendlyName": "Wash Status", + "channel": "washStatus", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_washStatus", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "velocity", + "friendlyName": "Velocity", + "channel": "velocity", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_velocity", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "waterTemp", + "friendlyName": "Water Temperature", + "channel": "waterTemp", + "type": "Number:Temperature", + "unit": "CELCIUS", + "refresh": true, + "actions": [ + { + "command": "set_temp", + "parameterType": "NUMBER" + } + ], + "category": "temperature", + "tags": [ + "Measurement", + "Temperature" + ] + }, + { + "property": "targetTemp", + "friendlyName": "Target Temperature", + "channel": "targetTemp", + "type": "Number:Temperature", + "unit": "CELCIUS", + "refresh": true, + "actions": [ + { + "command": "set_temp", + "parameterType": "NUMBER" + } + ], + "category": "temperature", + "tags": [ + "Setpoint", + "Temperature" + ] + }, + { + "property": "errStatus", + "friendlyName": "Error Status", + "channel": "errStatus", + "type": "Number", + "refresh": true, + "actions": [] + }, + { + "property": "hotWater", + "friendlyName": "Hot Water", + "channel": "hotWater", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_hotWater", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "needClean", + "friendlyName": "Need Clean", + "channel": "needClean", + "type": "Switch", + "refresh": true, + "actions": [] + }, + { + "property": "modeType", + "friendlyName": "Mode", + "channel": "modeType", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_mode", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "appointStart", + "friendlyName": "Appoint Start", + "channel": "appointStart", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_appointStart", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "appointEnd", + "friendlyName": "Appoint End", + "channel": "appointEnd", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_appointEnd", + "parameterType": "NUMBER" + } + ] + } + ], + "experimental": true + } +}