]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] improve/add properties for qmi powerstrip (#11118)
authorMarcel <marcel@verpaalen.com>
Mon, 16 Aug 2021 12:02:09 +0000 (14:02 +0200)
committerGitHub <noreply@github.com>
Mon, 16 Aug 2021 12:02:09 +0000 (14:02 +0200)
improve mija vacuum channels

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
bundles/org.openhab.binding.miio/README.md
bundles/org.openhab.binding.miio/src/main/resources/database/dmaker.fan.p18-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/mijia.vacuum.v2-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/qmi.powerstrip.v1.json [new file with mode: 0644]

index 97a4486f14d62aa3e8b65c14994d3bf45ad7eb84..f4fd5108bb8c53e432f53fc3379d90bd39429159 100644 (file)
@@ -836,7 +836,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 
 | Channel              | Type                 | Description                              | Comment    |
 |----------------------|----------------------|------------------------------------------|------------|
-| actions              | String               | Actions                                  |            |
+| actions              | String               | Actions                                  | Value mapping `["fan-toggle"="Fan Toggle"]` |
 | on                   | Switch               | Fan - Switch Status                      |            |
 | fan_level            | Number               | Fan - Fan Level                          | Value mapping `["1"="Level1","2"="Level2","3"="Level3","4"="Level4"]` |
 | mode                 | Number               | Fan - Mode                               | Value mapping `["0"="Straight Wind","1"="Natural Wind"]` |
@@ -1392,19 +1392,20 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | mode                 | Number               | Robot Cleaner - Mode                     | Value mapping `["1"="Auto-clean","2"="Spot-clean","3"="Wallflow-clean"]` |
 | target-water-level   | Number               | Robot Cleaner - Target Water Level       | Value mapping `["1"="Level1","2"="Level2","3"="Level3"]` |
 | fan-level            | Number               | Robot Cleaner - Fan Level                | Value mapping `["0"="Silence","1"="Stanrd","2"="Middle","3"="Enchance"]` |
-| battery-level        | Number               | Battery - Battery Level                  |            |
+| battery-level        | Number:Dimensionless | Battery - Battery Level                  |            |
 | charging-state       | Number               | Battery - Charging State                 | Value mapping `["0"="Not-charging","1"="Charging","2"="Charging-competely"]` |
 | alarm                | Switch               | Alarm - Alarm                            |            |
-| volume               | Number               | Alarm - Volume                           |            |
-| filter-life-level    | Number               | Filter - Filter Life Level               |            |
-| filter-left-time     | Number               | Filter - Filter Left Time                |            |
-| brush-life-level     | Number               | Brush Cleaner - Brush Life Level         |            |
-| brush-left-time      | Number               | Brush Cleaner - Brush Left Time          |            |
-| brush-life-level1    | Number               | Brush Cleaner - Brush Life Level         |            |
-| brush-left-time1     | Number               | Brush Cleaner - Brush Left Time          |            |
+| volume               | Number:Dimensionless | Alarm - Volume                           |            |
+| filter_life_level    | Number:Dimensionless | Filter - Filter Life Level               |            |
+| filter-left-time     | Number:Time          | Filter - Filter Left Time                |            |
+| brush-life-level     | Number:Dimensionless | Brush Cleaner - Brush Life Level         |            |
+| brush-left-time      | Number:Time          | Brush Cleaner - Brush Left Time          |            |
+| brush-life-level1    | Number:Dimensionless | Brush Cleaner - Brush Life Level         |            |
+| brush-left-time1     | Number:Time          | Brush Cleaner - Brush Left Time          |            |
+| direction_key        | Number               | Remote Control - Direction Key           | Value mapping `["0"="direction 0","1"="direction 1","2"="direction 2","3"="direction 3","4"="direction 4"]` |
 | clean-area           | Number:Area          | Clean Record - Clean Area                |            |
-| clean-time           | Number:Time          | Clean Record - Clean Time                |            |
-| total-clean-area     | Number               | Clean Record - Total Clean Area          |            |
+| clean_time           | Number               | Clean Record - Clean Time                |            |
+| total-clean-area     | Number:Area          | Clean Record - Total Clean Area          |            |
 | total-clean-time     | Number               | Clean Record - Total Clean Time          |            |
 | total-clean-count    | Number               | Clean Record - Total Clean Count         |            |
 | language             | Number               | Language - Language                      | Value mapping `["0"="English","1"="简体中文","2"="Español","3"="Русский","4"="Italiano","5"="Français","6"="Deutsch","7"="한국어","8"="Polski"]` |
@@ -2035,14 +2036,15 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel              | Type                 | Description                              | Comment    |
 |----------------------|----------------------|------------------------------------------|------------|
 | power                | Switch               | Power                                    |            |
-| powerUsage           | Number               | Power Consumption                        |            |
+| mode                 | String               | Mode                                     | Value mapping `["normal"="Normal","green"="Green"]` |
+| powerUsage           | Number:Power         | Power Consumption                        |            |
+| voltage              | Number:ElectricPotential | Voltage                                  |            |
 | led                  | Switch               | wifi LED                                 |            |
-| power_price          | Number               | power_price                              |            |
-| current              | Number               | Current                                  |            |
+| power_price          | Number               | Power Price                              |            |
+| power_factor         | Number               | Power Factor                             |            |
+| current              | Number:ElectricCurrent | Current                                  |            |
+| elec_leakage         | Number:ElectricCurrent | Electic Leakage                          |            |
 | temperature          | Number:Temperature   | Temperature                              |            |
-| lp_autooff           | Number               | Low Power Auto Off                       |            |
-| lp_autooff_delay     | Number               | Low Power Limit Time                     |            |
-| lp_threshold         | Number               | Low Power Threshold                      |            |
 
 ### PTX OneKey Switch (WIFI) (<a name="090615-switch-xswitch01">090615.switch.xswitch01</a>) Channels
 
@@ -6174,19 +6176,20 @@ Number fault "Robot Cleaner - Device Fault" (G_vacuum) {channel="miio:basic:vacu
 Number mode "Robot Cleaner - Mode" (G_vacuum) {channel="miio:basic:vacuum:mode"}
 Number target_water_level "Robot Cleaner - Target Water Level" (G_vacuum) {channel="miio:basic:vacuum:target-water-level"}
 Number fan_level "Robot Cleaner - Fan Level" (G_vacuum) {channel="miio:basic:vacuum:fan-level"}
-Number battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery-level"}
+Number:Dimensionless battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery-level"}
 Number charging_state "Battery - Charging State" (G_vacuum) {channel="miio:basic:vacuum:charging-state"}
 Switch alarm "Alarm - Alarm" (G_vacuum) {channel="miio:basic:vacuum:alarm"}
-Number volume "Alarm - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
-Number filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter-life-level"}
-Number filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter-left-time"}
-Number brush_life_level "Brush Cleaner - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level"}
-Number brush_left_time "Brush Cleaner - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time"}
-Number brush_life_level1 "Brush Cleaner - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level1"}
-Number brush_left_time1 "Brush Cleaner - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time1"}
+Number:Dimensionless volume "Alarm - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
+Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter_life_level"}
+Number:Time filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter-left-time"}
+Number:Dimensionless brush_life_level "Brush Cleaner - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level"}
+Number:Time brush_left_time "Brush Cleaner - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time"}
+Number:Dimensionless brush_life_level1 "Brush Cleaner - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush-life-level1"}
+Number:Time brush_left_time1 "Brush Cleaner - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush-left-time1"}
+Number direction_key "Remote Control - Direction Key" (G_vacuum) {channel="miio:basic:vacuum:direction_key"}
 Number:Area clean_area "Clean Record - Clean Area" (G_vacuum) {channel="miio:basic:vacuum:clean-area"}
-Number:Time clean_time "Clean Record - Clean Time" (G_vacuum) {channel="miio:basic:vacuum:clean-time"}
-Number total_clean_area "Clean Record - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total-clean-area"}
+Number clean_time "Clean Record - Clean Time" (G_vacuum) {channel="miio:basic:vacuum:clean_time"}
+Number:Area total_clean_area "Clean Record - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total-clean-area"}
 Number total_clean_time "Clean Record - Total Clean Time" (G_vacuum) {channel="miio:basic:vacuum:total-clean-time"}
 Number total_clean_count "Clean Record - Total Clean Count" (G_vacuum) {channel="miio:basic:vacuum:total-clean-count"}
 Number language "Language - Language" (G_vacuum) {channel="miio:basic:vacuum:language"}
@@ -6955,14 +6958,15 @@ note: Autogenerated example. Replace the id (powerstrip) in the channel with you
 ```
 Group G_powerstrip "CHINGMI Smart Power Strip v1" <status>
 Switch power "Power" (G_powerstrip) {channel="miio:basic:powerstrip:power"}
-Number powerUsage "Power Consumption" (G_powerstrip) {channel="miio:basic:powerstrip:powerUsage"}
+String mode "Mode" (G_powerstrip) {channel="miio:basic:powerstrip:mode"}
+Number:Power powerUsage "Power Consumption" (G_powerstrip) {channel="miio:basic:powerstrip:powerUsage"}
+Number:ElectricPotential voltage "Voltage" (G_powerstrip) {channel="miio:basic:powerstrip:voltage"}
 Switch led "wifi LED" (G_powerstrip) {channel="miio:basic:powerstrip:led"}
-Number power_price "power_price" (G_powerstrip) {channel="miio:basic:powerstrip:power_price"}
-Number current "Current" (G_powerstrip) {channel="miio:basic:powerstrip:current"}
+Number power_price "Power Price" (G_powerstrip) {channel="miio:basic:powerstrip:power_price"}
+Number power_factor "Power Factor" (G_powerstrip) {channel="miio:basic:powerstrip:power_factor"}
+Number:ElectricCurrent current "Current" (G_powerstrip) {channel="miio:basic:powerstrip:current"}
+Number:ElectricCurrent elec_leakage "Electic Leakage" (G_powerstrip) {channel="miio:basic:powerstrip:elec_leakage"}
 Number:Temperature temperature "Temperature" (G_powerstrip) {channel="miio:basic:powerstrip:temperature"}
-Number lp_autooff "Low Power Auto Off" (G_powerstrip) {channel="miio:basic:powerstrip:lp_autooff"}
-Number lp_autooff_delay "Low Power Limit Time" (G_powerstrip) {channel="miio:basic:powerstrip:lp_autooff_delay"}
-Number lp_threshold "Low Power Threshold" (G_powerstrip) {channel="miio:basic:powerstrip:lp_threshold"}
 ```
 
 ### PTX OneKey Switch (WIFI) (090615.switch.xswitch01) item file lines
index f792d95677bb0a9729172b1a89b16d95658bbdc5..e4bd689bffd01d8119a3de01b870f7df76b1a52d 100644 (file)
@@ -34,7 +34,8 @@
                                                        ]
                                                }
                                        }
-                               ]
+                               ],
+                               "readmeComment": "Value mapping `[\"fan-toggle\"\u003d\"Fan Toggle\"]`"
                        },
                        {
                                "property": "on",
                                                "parameterType": "NUMBER"
                                        }
                                ],
-                               "readmeComment": "Value mapping [\"0\"\u003d\"NO\",\"1\"\u003d\"LEFT\",\"2\"\u003d\"RIGHT\"]"
+                               "readmeComment": "Value mapping `[\"0\"\u003d\"NO\",\"1\"\u003d\"LEFT\",\"2\"\u003d\"RIGHT\"]`"
                        },
                        {
                                "property": "speed-level",
index ee6fa618dbafcce4599e17d5f995a989e3a2eff6..12655bf5cf46af99338e1eea84cd21546b979ca6 100644 (file)
@@ -10,7 +10,6 @@
                                "property": "",
                                "friendlyName": "Vacuum Action",
                                "channel": "vacuumaction",
-                               "channelType": "MijiaVacuumV2_action",
                                "type": "String",
                                "refresh": false,
                                "actions": [
@@ -82,7 +81,6 @@
                                "piid": 1,
                                "friendlyName": "Robot Cleaner - Status",
                                "channel": "status",
-                               "channelType": "MijiaVacuumV2_status",
                                "type": "Number",
                                "stateDescription": {
                                        "readOnly": true,
                                "piid": 2,
                                "friendlyName": "Robot Cleaner - Device Fault",
                                "channel": "fault",
-                               "channelType": "MijiaVacuumV2_fault",
                                "type": "Number",
                                "stateDescription": {
                                        "readOnly": true,
                                "piid": 4,
                                "friendlyName": "Robot Cleaner - Mode",
                                "channel": "mode",
-                               "channelType": "MijiaVacuumV2_mode",
                                "type": "Number",
                                "stateDescription": {
                                        "options": [
                                "piid": 5,
                                "friendlyName": "Robot Cleaner - Target Water Level",
                                "channel": "target-water-level",
-                               "channelType": "MijiaVacuumV2_target-water-level",
                                "type": "Number",
                                "stateDescription": {
                                        "readOnly": true,
                                "piid": 6,
                                "friendlyName": "Robot Cleaner - Fan Level",
                                "channel": "fan-level",
-                               "channelType": "MijiaVacuumV2_fan-level",
                                "type": "Number",
                                "stateDescription": {
                                        "options": [
                                "piid": 1,
                                "friendlyName": "Battery - Battery Level",
                                "channel": "battery-level",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "piid": 2,
                                "friendlyName": "Battery - Charging State",
                                "channel": "charging-state",
-                               "channelType": "MijiaVacuumV2_charging-state",
                                "type": "Number",
                                "stateDescription": {
                                        "readOnly": true,
                                "piid": 1,
                                "friendlyName": "Alarm - Alarm",
                                "channel": "alarm",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 2,
                                "friendlyName": "Alarm - Volume",
                                "channel": "volume",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "siid": 11,
                                "piid": 1,
                                "friendlyName": "Filter - Filter Life Level",
-                               "channel": "filter-life-level",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "channel": "filter_life_level",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "piid": 2,
                                "friendlyName": "Filter - Filter Left Time",
                                "channel": "filter-left-time",
-                               "channelType": "miot_uint16",
-                               "type": "Number",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 18000,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "piid": 1,
                                "friendlyName": "Brush Cleaner - Brush Life Level",
                                "channel": "brush-life-level",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "piid": 2,
                                "friendlyName": "Brush Cleaner - Brush Left Time",
                                "channel": "brush-left-time",
-                               "channelType": "miot_uint16",
-                               "type": "Number",
+                               "type": "Number:Time",
+                               "unit": "days",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 18000,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "piid": 1,
                                "friendlyName": "Brush Cleaner - Brush Life Level",
                                "channel": "brush-life-level1",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "piid": 2,
                                "friendlyName": "Brush Cleaner - Brush Left Time",
                                "channel": "brush-left-time1",
-                               "channelType": "miot_uint16",
-                               "type": "Number",
+                               "type": "Number:Time",
+                               "unit": "minutes",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 9000,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                        "Status"
                                ]
                        },
+                       {
+                               "property": "direction-key",
+                               "siid": 8,
+                               "piid": 1,
+                               "friendlyName": "Remote Control - Direction Key",
+                               "channel": "direction_key",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "direction 0"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "direction 1"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "direction 2"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "direction 3"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "direction 4"
+                                               }
+                                       ]
+                               },
+                               "refresh": false,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping `[\"0\"\u003d\"direction 0\",\"1\"\u003d\"direction 1\",\"2\"\u003d\"direction 2\",\"3\"\u003d\"direction 3\",\"4\"\u003d\"direction 4\"]`"
+                       },
                        {
                                "property": "clean-area",
                                "siid": 9,
                                "piid": 1,
                                "friendlyName": "Clean Record - Clean Area",
                                "channel": "clean-area",
-                               "channelType": "miot_uint16",
                                "type": "Number:Area",
+                               "unit": "square_metre",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 65535,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "siid": 9,
                                "piid": 2,
                                "friendlyName": "Clean Record - Clean Time",
-                               "channel": "clean-time",
-                               "channelType": "miot_uint16",
-                               "type": "Number:Time",
-                               "unit": "hours",
+                               "channel": "clean_time",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 65535,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "piid": 3,
                                "friendlyName": "Clean Record - Total Clean Area",
                                "channel": "total-clean-area",
-                               "channelType": "miot_uint32",
-                               "type": "Number",
+                               "type": "Number:Area",
+                               "unit": "square_metre",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": -1,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "piid": 4,
                                "friendlyName": "Clean Record - Total Clean Time",
                                "channel": "total-clean-time",
-                               "channelType": "miot_uint32",
                                "type": "Number",
                                "refresh": true,
                                "actions": []
                                "piid": 5,
                                "friendlyName": "Clean Record - Total Clean Count",
                                "channel": "total-clean-count",
-                               "channelType": "miot_uint16",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 65535,
+                                       "step": 1,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "piid": 1,
                                "friendlyName": "Language - Language",
                                "channel": "language",
-                               "channelType": "MijiaVacuumV2_language",
                                "type": "Number",
                                "stateDescription": {
                                        "options": [
                                "piid": 2,
                                "friendlyName": "Language - Not Disturb Switch",
                                "channel": "not-disturb-switch",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 1,
                                "friendlyName": "Other Status - Mop Status",
                                "channel": "mop-status",
-                               "channelType": "MijiaVacuumV2_mop-status",
                                "type": "Number",
                                "stateDescription": {
                                        "readOnly": true,
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/qmi.powerstrip.v1.json b/bundles/org.openhab.binding.miio/src/main/resources/database/qmi.powerstrip.v1.json
new file mode 100644 (file)
index 0000000..369b220
--- /dev/null
@@ -0,0 +1,173 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "qmi.powerstrip.v1"
+               ],
+               "channels": [
+                       {
+                               "property": "power",
+                               "friendlyName": "Power",
+                               "channel": "power",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_power",
+                                               "parameterType": "ONOFF"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "mode",
+                               "friendlyName": "Mode",
+                               "channel": "mode",
+                               "type": "String",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "normal",
+                                                       "label": "Normal"
+                                               },
+                                               {
+                                                       "value": "green",
+                                                       "label": "Green"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_mode",
+                                               "parameterType": "STRING"
+                                       }
+                               ],
+                               "tags": [
+                                       "Control"
+                               ],
+                               "readmeComment": "Value mapping `[\"normal\"\u003d\"Normal\",\"green\"\u003d\"Green\"]`"
+                       },
+                       {
+                               "property": "power_consume_rate",
+                               "friendlyName": "Power Consumption",
+                               "channel": "powerUsage",
+                               "type": "Number:Power",
+                               "unit": "W",
+                               "stateDescription": {
+                                       "pattern": "%.2f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "parameterType": "EMPTY"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "voltage",
+                               "friendlyName": "Voltage",
+                               "channel": "voltage",
+                               "type": "Number:ElectricPotential",
+                               "unit": "V",
+                               "stateDescription": {
+                                       "pattern": "%.2f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "transformation": "/100",
+                               "actions": [],
+                               "category": "energy",
+                               "tags": [
+                                       "Measurement",
+                                       "Voltage"
+                               ]
+                       },
+                       {
+                               "property": "wifi_led",
+                               "friendlyName": "wifi LED",
+                               "channel": "led",
+                               "channelType": "led",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_wifi_led",
+                                               "parameterType": "ONOFF"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "power_price",
+                               "friendlyName": "Power Price",
+                               "channel": "power_price",
+                               "type": "Number",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_power_price",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "power_factor",
+                               "friendlyName": "Power Factor",
+                               "channel": "power_factor",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "current",
+                               "friendlyName": "Current",
+                               "channel": "current",
+                               "type": "Number:ElectricCurrent",
+                               "unit": "mA",
+                               "stateDescription": {
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "elec_leakage",
+                               "friendlyName": "Electic Leakage",
+                               "channel": "elec_leakage",
+                               "type": "Number:ElectricCurrent",
+                               "unit": "mA",
+                               "stateDescription": {
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "temperature",
+                               "friendlyName": "Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "CELSIUS",
+                               "stateDescription": {
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "category": "temperature",
+                               "tags": [
+                                       "Measurement",
+                                       "Temperature"
+                               ]
+                       }
+               ]
+       }
+}