[miio] Add support 2 yeelights (#19558)

Adding support for the following models:
* Yeelight LED Ceiling Light Pro (modelId: yeelink.light.ceila)
* Yeelight Arwen Ceiling Light (modelId: yeelink.light.ceilb)
+ misc small fixes to dreame vacuum db file

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
This commit is contained in:
Marcel
2025-10-28 22:15:45 +01:00
committed by GitHub
parent e6e7913395
commit 1890c88070
6 changed files with 607 additions and 17 deletions
+67 -4
View File
@@ -206,7 +206,7 @@ This will change the communication method and the Mi IO binding can communicate
# Mi IO Devices
Currently the miio binding supports more than 360 different models.
Currently the miio binding supports more than 370 different models.
| Device | ThingType | Device Model | Supported | Remark |
|------------------------------------|------------------|------------------------|--------------|------------|
@@ -234,7 +234,7 @@ Currently the miio binding supports more than 360 different models.
| Mi IH Pressure Rice Cooker | miio:unsupported | chunmi.cooker.press1 | No | |
| Mi IH Pressure Rice Cooker | miio:unsupported | chunmi.cooker.press2 | No | |
| Gosund Smart Plug | miio:basic | [cuco.plug.cp1](#cuco-plug-cp1) | Yes | |
| Xiaomi Smart Plug 2 (Wi-Fi) | miio:basic | [cuco.plug.v2eur](#cuco-plug-v2eur) | Yes | Device only works with cloud connection (stays offline with direct connection). Select in your thing configuration Communication Method 'Cloud' |
| Xiaomi Smart Plug 2 (Wi-Fi) | miio:basic | [cuco.plug.v2eur](#cuco-plug-v2eur) | Yes | |
| Mi Smart Antibacterial Humidifier | miio:basic | [deerma.humidifier.jsq](#deerma-humidifier-jsq) | Yes | |
| Mi S Smart Humidifer | miio:basic | [deerma.humidifier.jsq1](#deerma-humidifier-jsq1) | Yes | |
| Xiaomi Smart Humidifier 2 | miio:basic | [deerma.humidifier.jsq2w](#deerma-humidifier-jsq2w) | Yes | |
@@ -473,6 +473,8 @@ Currently the miio binding supports more than 360 different models.
| Mi Bedside Lamp | miio:basic | [yeelink.light.bslamp1](#yeelink-light-bslamp1) | Yes | |
| Mi Bedside Lamp 2 | miio:basic | [yeelink.light.bslamp2](#yeelink-light-bslamp2) | Yes | |
| Yeelight Bedside Lamp II | miio:basic | [yeelink.light.bslamp3](#yeelink-light-bslamp3) | Yes | |
| Yeelight LED Ceiling Light Pro | miio:basic | [yeelink.light.ceila](#yeelink-light-ceila) | Yes | |
| Yeelight Arwen Ceiling Light | miio:basic | [yeelink.light.ceilb](#yeelink-light-ceilb) | Yes | |
| Yeelight Ceiling Light | miio:basic | [yeelink.light.ceiling1](#yeelink-light-ceiling1) | Yes | |
| Yeelight Ceiling Light SE | miio:basic | [yeelink.light.ceiling2](#yeelink-light-ceiling2) | Yes | |
| Yeelight LED Ceiling Light | miio:basic | [yeelink.light.ceiling3](#yeelink-light-ceiling3) | Yes | |
@@ -4061,6 +4063,33 @@ Note, not all the values need to be in the json file, e.g. a subset of the param
| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight LED Ceiling Light Pro (<a name="yeelink-light-ceila">yeelink.light.ceila</a>) Channels
| Channel | Type | Description | Comment |
|----------------------------|----------------------|------------------------------------------|------------|
| actions | String | Actions | Value mapping `["light-toggle"="Light Toggle","light-brightness-up"="Light Brightness Up","light-brightness-down"="Light Brightness Down"]` |
| on | Switch | Light - Switch Status | |
| mode | Number | Light - Mode | Value mapping `["0"="Day","1"="Night"]` |
| brightness | Number:Dimensionless | Light - Brightness | |
| color_temperature | Number:Temperature | Light - Color Temperature | |
### Yeelight Arwen Ceiling Light (<a name="yeelink-light-ceilb">yeelink.light.ceilb</a>) Channels
| Channel | Type | Description | Comment |
|----------------------------|----------------------|------------------------------------------|------------|
| actions | String | Actions | Value mapping `["light-toggle"="Light Toggle","light-brightness-up"="Light Brightness Up","light-brightness-down"="Light Brightness Down"]` |
| on | Switch | Light - Switch Status | |
| mode | Number | Light - Mode | Value mapping `["0"="Day","1"="Night"]` |
| brightness | Number:Dimensionless | Light - Brightness | |
| color_temperature | Number:Temperature | Light - Color Temperature | |
| on1 | Switch | Ambient Light - Switch Status | |
| mode1 | Number | Ambient Light - Mode | Value mapping `["1"="RGB","3"="HSV"]` |
| brightness1 | Number:Dimensionless | Ambient Light - Brightness | |
| color_temperature1 | Number:Temperature | Ambient Light - Color Temperature | |
| color | Number | Ambient Light - Color | |
| saturability | Number:Dimensionless | Ambient Light - Saturability | |
| flow | Number | Ambient Light - Flow | Value mapping `["0"="NOFLOW","1"="FLOWING"]` |
### Yeelight Ceiling Light (<a name="yeelink-light-ceiling1">yeelink.light.ceiling1</a>) Channels
| Channel | Type | Description | Comment |
@@ -6309,7 +6338,7 @@ Note, not all the values need to be in the json file, e.g. a subset of the param
| Channel | Type | Description | Comment |
|----------------------------|----------------------|------------------------------------------|------------|
| fault | Number | Heater - Device Fault | Value mapping `["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"]` |
| fault | Number | Heater - Device Fault | Value mapping `["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"]` |
| on | Switch | Heater - Power | |
| target-temperature | Number:Temperature | Heater - Target Temperature | |
| alarm | Switch | Alarm - Alarm | |
@@ -6325,7 +6354,7 @@ Note, not all the values need to be in the json file, e.g. a subset of the param
| Channel | Type | Description | Comment |
|----------------------------|----------------------|------------------------------------------|------------|
| on | Switch | Heater - Power | |
| fault | Number | Heater - Device Fault | Value mapping `["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"]` |
| fault | Number | Heater - Device Fault | Value mapping `["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"]` |
| target-temperature | Number:Temperature | Heater - Target Temperature | |
| alarm | Switch | Alarm - Alarm | |
| countdown-time | Number:Time | Countdown - Countdown Time | |
@@ -10438,6 +10467,39 @@ Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
### Yeelight LED Ceiling Light Pro (yeelink.light.ceila) 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.
```java
Group G_light "Yeelight LED Ceiling Light Pro" <status>
String actions "Actions" (G_light) {channel="miio:basic:light:actions"}
Switch on "Light - Switch Status" (G_light) {channel="miio:basic:light:on"}
Number mode "Light - Mode" (G_light) {channel="miio:basic:light:mode"}
Number:Dimensionless brightness "Light - Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Temperature color_temperature "Light - Color Temperature" (G_light) {channel="miio:basic:light:color_temperature"}
```
### Yeelight Arwen Ceiling Light (yeelink.light.ceilb) 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.
```java
Group G_light "Yeelight Arwen Ceiling Light" <status>
String actions "Actions" (G_light) {channel="miio:basic:light:actions"}
Switch on "Light - Switch Status" (G_light) {channel="miio:basic:light:on"}
Number mode "Light - Mode" (G_light) {channel="miio:basic:light:mode"}
Number:Dimensionless brightness "Light - Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Temperature color_temperature "Light - Color Temperature" (G_light) {channel="miio:basic:light:color_temperature"}
Switch on1 "Ambient Light - Switch Status" (G_light) {channel="miio:basic:light:on1"}
Number mode1 "Ambient Light - Mode" (G_light) {channel="miio:basic:light:mode1"}
Number:Dimensionless brightness1 "Ambient Light - Brightness" (G_light) {channel="miio:basic:light:brightness1"}
Number:Temperature color_temperature1 "Ambient Light - Color Temperature" (G_light) {channel="miio:basic:light:color_temperature1"}
Number color "Ambient Light - Color" (G_light) {channel="miio:basic:light:color"}
Number:Dimensionless saturability "Ambient Light - Saturability" (G_light) {channel="miio:basic:light:saturability"}
Number flow "Ambient Light - Flow" (G_light) {channel="miio:basic:light:flow"}
```
### Yeelight Ceiling Light (yeelink.light.ceiling1) 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.
@@ -13208,6 +13270,7 @@ 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"}
```
### Country Servers
Known country Servers: cn, de, i2, ru, sg, us
@@ -324,6 +324,8 @@ public enum MiIoDevices {
YEELINK_LIGHT_BSLAMP1("yeelink.light.bslamp1", "Mi Bedside Lamp", THING_TYPE_BASIC),
YEELINK_LIGHT_BSLAMP2("yeelink.light.bslamp2", "Mi Bedside Lamp 2", THING_TYPE_BASIC),
YEELINK_LIGHT_BSLAMP3("yeelink.light.bslamp3", "Yeelight Bedside Lamp II", THING_TYPE_BASIC),
YEELINK_LIGHT_CEILA("yeelink.light.ceila", "Yeelight LED Ceiling Light Pro", THING_TYPE_BASIC),
YEELINK_LIGHT_CEILB("yeelink.light.ceilb", "Yeelight Arwen Ceiling Light", THING_TYPE_BASIC),
YEELINK_LIGHT_CEILING1("yeelink.light.ceiling1", "Yeelight Ceiling Light", THING_TYPE_BASIC),
YEELINK_LIGHT_CEILING2("yeelink.light.ceiling2", "Yeelight Ceiling Light SE", THING_TYPE_BASIC),
YEELINK_LIGHT_CEILING3("yeelink.light.ceiling3", "Yeelight LED Ceiling Light", THING_TYPE_BASIC),
@@ -265,6 +265,8 @@ thing.yeelink.bhf_light.v2 = Yeelight Smart Bath Heater
thing.yeelink.light.bslamp1 = Mi Bedside Lamp
thing.yeelink.light.bslamp2 = Mi Bedside Lamp 2
thing.yeelink.light.bslamp3 = Yeelight Bedside Lamp II
thing.yeelink.light.ceila = Yeelight LED Ceiling Light Pro
thing.yeelink.light.ceilb = Yeelight Arwen Ceiling Light
thing.yeelink.light.ceiling1 = Yeelight Ceiling Light
thing.yeelink.light.ceiling2 = Yeelight Ceiling Light SE
thing.yeelink.light.ceiling3 = Yeelight LED Ceiling Light
@@ -1780,6 +1782,23 @@ ch.yeelink.bhf1.delayoff = Shutdown Timer
ch.yeelink.bhf1.nightlightBrightness = Nightlight Brightness
ch.yeelink.bhf1.power = Power
ch.yeelink.bhf1.temperature = Temperature
ch.yeelink.light.ceila-miot.actions = Actions
ch.yeelink.light.ceila-miot.brightness = Light - Brightness
ch.yeelink.light.ceila-miot.color_temperature = Light - Color Temperature
ch.yeelink.light.ceila-miot.mode = Light - Mode
ch.yeelink.light.ceila-miot.on = Light - Switch Status
ch.yeelink.light.ceilb-miot.actions = Actions
ch.yeelink.light.ceilb-miot.brightness = Light - Brightness
ch.yeelink.light.ceilb-miot.brightness1 = Ambient Light - Brightness
ch.yeelink.light.ceilb-miot.color = Ambient Light - Color
ch.yeelink.light.ceilb-miot.color_temperature = Light - Color Temperature
ch.yeelink.light.ceilb-miot.color_temperature1 = Ambient Light - Color Temperature
ch.yeelink.light.ceilb-miot.flow = Ambient Light - Flow
ch.yeelink.light.ceilb-miot.mode = Light - Mode
ch.yeelink.light.ceilb-miot.mode1 = Ambient Light - Mode
ch.yeelink.light.ceilb-miot.on = Light - Switch Status
ch.yeelink.light.ceilb-miot.on1 = Ambient Light - Switch Status
ch.yeelink.light.ceilb-miot.saturability = Ambient Light - Saturability
ch.yeelink.light.ceiling.brightness = Brightness
ch.yeelink.light.ceiling.colorMode = Color Mode
ch.yeelink.light.ceiling.colorTemperature = Color Temperature
@@ -3991,6 +4010,20 @@ option.xiaomi.vacuum.c102gl-miot.status-8 = Drying
option.xiaomi.vacuum.c102gl-miot.status-9 = Washing
option.xiaomi.vacuum.c102gl-miot.waterbox_status-0 = No
option.xiaomi.vacuum.c102gl-miot.waterbox_status-1 = Yes
option.yeelink.light.ceila-miot.actions-light-brightness-down = Light Brightness Down
option.yeelink.light.ceila-miot.actions-light-brightness-up = Light Brightness Up
option.yeelink.light.ceila-miot.actions-light-toggle = Light Toggle
option.yeelink.light.ceila-miot.mode-0 = Day
option.yeelink.light.ceila-miot.mode-1 = Night
option.yeelink.light.ceilb-miot.actions-light-brightness-down = Light Brightness Down
option.yeelink.light.ceilb-miot.actions-light-brightness-up = Light Brightness Up
option.yeelink.light.ceilb-miot.actions-light-toggle = Light Toggle
option.yeelink.light.ceilb-miot.flow-0 = NOFLOW
option.yeelink.light.ceilb-miot.flow-1 = FLOWING
option.yeelink.light.ceilb-miot.mode-0 = Day
option.yeelink.light.ceilb-miot.mode-1 = Night
option.yeelink.light.ceilb-miot.mode1-1 = RGB
option.yeelink.light.ceilb-miot.mode1-3 = HSV
option.yeelink.light.ceiling.colorMode-0 = Default
option.yeelink.light.ceiling.colorMode-1 = RGB mode
option.yeelink.light.ceiling.colorMode-2 = CT mode
@@ -302,7 +302,8 @@
]
}
}
]
],
"readmeComment": "Value mapping `[\"vacuum-start-sweep\"\u003d\"Vacuum Start Sweep\",\"vacuum-stop-sweeping\"\u003d\"Vacuum Stop Sweeping\",\"vacuum-start-room-sweep\"\u003d\"Vacuum Start Room Sweep\",\"battery-start-charge\"\u003d\"Battery Start Charge\",\"brush-cleaner-reset-brush-life\"\u003d\"Brush Cleaner Reset Brush Life\",\"brush-cleaner-reset-brush-life\"\u003d\"Brush Cleaner Reset Brush Life\",\"filter-reset-filter-life\"\u003d\"Filter Reset Filter Life\",\"vacuum-extend-start-clean\"\u003d\"Vacuum Extend Start Clean\",\"vacuum-extend-stop-clean\"\u003d\"Vacuum Extend Stop Clean\",\"map-map-req\"\u003d\"Map Map Req\",\"map-update-map\"\u003d\"Map Update Map\",\"audio-position\"\u003d\"Audio Position\",\"audio-play-sound\"\u003d\"Audio Play Sound\",\"time-delete-timer\"\u003d\"Time Delete Timer\",\"collect-dust-start-collect\"\u003d\"Collect Dust Start Collect\"]`"
},
{
"property": "status",
@@ -354,7 +355,7 @@
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping [\"1\"\u003d\"Sweeping\",\"2\"\u003d\"Idle\",\"3\"\u003d\"Paused\",\"4\"\u003d\"Error\",\"5\"\u003d\"Go Charging\",\"6\"\u003d\"Charging\",\"7\"\u003d\"Mopping\",\"11\"\u003d\"Building\",\"13\"\u003d\"Charging Completed\"]"
"readmeComment": "Value mapping `[\"1\"\u003d\"Sweeping\",\"2\"\u003d\"Idle\",\"3\"\u003d\"Paused\",\"4\"\u003d\"Error\",\"5\"\u003d\"Go Charging\",\"6\"\u003d\"Charging\",\"7\"\u003d\"Mopping\",\"11\"\u003d\"Building\",\"13\"\u003d\"Charging Completed\"]`"
},
{
"property": "fault",
@@ -363,7 +364,6 @@
"friendlyName": "Robot Cleaner - Device Fault",
"channel": "fault",
"type": "Number",
"refresh": true,
"actions": []
},
@@ -401,7 +401,7 @@
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping [\"0\"\u003d\"Silent\",\"1\"\u003d\"Basic\",\"2\"\u003d\"Strong\",\"3\"\u003d\"Full Speed\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"Silent\",\"1\"\u003d\"Basic\",\"2\"\u003d\"Strong\",\"3\"\u003d\"Full Speed\"]`"
},
{
"property": "battery-level",
@@ -447,7 +447,7 @@
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping [\"1\"\u003d\"Charging\",\"2\"\u003d\"Not Charging\",\"5\"\u003d\"Go Charging\"]"
"readmeComment": "Value mapping `[\"1\"\u003d\"Charging\",\"2\"\u003d\"Not Charging\",\"5\"\u003d\"Go Charging\"]`"
},
{
"property": "brush-left-time",
@@ -640,7 +640,7 @@
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping [\"0\"\u003d\"Quiet\",\"1\"\u003d\"Standard\",\"2\"\u003d\"Medium\",\"3\"\u003d\"Strong\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"Quiet\",\"1\"\u003d\"Standard\",\"2\"\u003d\"Medium\",\"3\"\u003d\"Strong\"]`"
},
{
"property": "mop-mode",
@@ -672,7 +672,7 @@
"parameterType": "STRING"
}
],
"readmeComment": "Value mapping [\"1\"\u003d\"Low\",\"2\"\u003d\"Medium\",\"3\"\u003d\"High\"]"
"readmeComment": "Value mapping `[\"1\"\u003d\"Low\",\"2\"\u003d\"Medium\",\"3\"\u003d\"High\"]`"
},
{
"property": "waterbox-status",
@@ -696,7 +696,7 @@
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping [\"0\"\u003d\"No\",\"1\"\u003d\"Yes\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"No\",\"1\"\u003d\"Yes\"]`"
},
{
"property": "task-status",
@@ -705,7 +705,6 @@
"friendlyName": "Vacuum Extend - Task Status",
"channel": "task_status",
"type": "Number",
"refresh": true,
"actions": []
},
@@ -750,7 +749,7 @@
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping [\"0\"\u003d\"Close\",\"1\"\u003d\"Open\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"Off\",\"1\"\u003d\"On\"]`"
},
{
"property": "carpet-press",
@@ -778,7 +777,7 @@
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping [\"0\"\u003d\"Close\",\"1\"\u003d\"Open\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"Off\",\"1\"\u003d\"On\"]`"
},
{
"property": "serial-number",
@@ -1163,7 +1162,7 @@
"parameterType": "STRING"
}
],
"readmeComment": "Value mapping [\"0\"\u003d\"Close-auto-collect\",\"1\"\u003d\"Open-auto-collect\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"Close-auto-collect\",\"1\"\u003d\"Open-auto-collect\"]`"
},
{
"property": "clean-times",
@@ -1208,7 +1207,7 @@
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping [\"0\"\u003d\"Disable\",\"1\"\u003d\"Enable\"]"
"readmeComment": "Value mapping `[\"0\"\u003d\"Disable\",\"1\"\u003d\"Enable\"]`"
}
],
"experimental": false
@@ -0,0 +1,170 @@
{
"deviceMapping": {
"id": [
"yeelink.light.ceila"
],
"propertyMethod": "get_properties",
"maxProperties": 1,
"channels": [
{
"property": "",
"friendlyName": "Actions",
"channel": "actions",
"type": "String",
"stateDescription": {
"options": [
{
"value": "light-toggle",
"label": "Light Toggle"
},
{
"value": "light-brightness-up",
"label": "Light Brightness Up"
},
{
"value": "light-brightness-down",
"label": "Light Brightness Down"
}
]
},
"refresh": false,
"actions": [
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 1,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "light-toggle"
}
]
}
},
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 2,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "light-brightness-up"
}
]
}
},
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 3,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "light-brightness-down"
}
]
}
}
],
"readmeComment": "Value mapping `[\"light-toggle\"\u003d\"Light Toggle\",\"light-brightness-up\"\u003d\"Light Brightness Up\",\"light-brightness-down\"\u003d\"Light Brightness Down\"]`"
},
{
"property": "on",
"siid": 2,
"piid": 1,
"friendlyName": "Light - Switch Status",
"channel": "on",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
],
"category": "switch",
"tags": [
"Switch"
]
},
{
"property": "mode",
"siid": 2,
"piid": 2,
"friendlyName": "Light - Mode",
"channel": "mode",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "Day"
},
{
"value": "1",
"label": "Night"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"0\"\u003d\"Day\",\"1\"\u003d\"Night\"]`"
},
{
"property": "brightness",
"siid": 2,
"piid": 3,
"friendlyName": "Light - Brightness",
"channel": "brightness",
"type": "Number:Dimensionless",
"unit": "percentage",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
]
},
{
"property": "color-temperature",
"siid": 2,
"piid": 5,
"friendlyName": "Light - Color Temperature",
"channel": "color_temperature",
"type": "Number:Temperature",
"unit": "kelvin",
"stateDescription": {
"minimum": 2700,
"maximum": 6500,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
}
]
}
}
@@ -0,0 +1,323 @@
{
"deviceMapping": {
"id": [
"yeelink.light.ceilb"
],
"propertyMethod": "get_properties",
"maxProperties": 1,
"channels": [
{
"property": "",
"friendlyName": "Actions",
"channel": "actions",
"type": "String",
"stateDescription": {
"options": [
{
"value": "light-toggle",
"label": "Light Toggle"
},
{
"value": "light-brightness-up",
"label": "Light Brightness Up"
},
{
"value": "light-brightness-down",
"label": "Light Brightness Down"
}
]
},
"refresh": false,
"actions": [
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 1,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "light-toggle"
}
]
}
},
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 2,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "light-brightness-up"
}
]
}
},
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 3,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "light-brightness-down"
}
]
}
}
],
"readmeComment": "Value mapping `[\"light-toggle\"\u003d\"Light Toggle\",\"light-brightness-up\"\u003d\"Light Brightness Up\",\"light-brightness-down\"\u003d\"Light Brightness Down\"]`"
},
{
"property": "on",
"siid": 2,
"piid": 1,
"friendlyName": "Light - Switch Status",
"channel": "on",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
],
"category": "switch",
"tags": [
"Switch"
]
},
{
"property": "mode",
"siid": 2,
"piid": 2,
"friendlyName": "Light - Mode",
"channel": "mode",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "Day"
},
{
"value": "1",
"label": "Night"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"0\"\u003d\"Day\",\"1\"\u003d\"Night\"]`"
},
{
"property": "brightness",
"siid": 2,
"piid": 3,
"friendlyName": "Light - Brightness",
"channel": "brightness",
"type": "Number:Dimensionless",
"unit": "percentage",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
]
},
{
"property": "color-temperature",
"siid": 2,
"piid": 5,
"friendlyName": "Light - Color Temperature",
"channel": "color_temperature",
"type": "Number:Temperature",
"unit": "kelvin",
"stateDescription": {
"minimum": 2700,
"maximum": 6500,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
},
{
"property": "on1",
"siid": 3,
"piid": 1,
"friendlyName": "Ambient Light - Switch Status",
"channel": "on1",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
]
},
{
"property": "mode1",
"siid": 3,
"piid": 2,
"friendlyName": "Ambient Light - Mode",
"channel": "mode1",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "1",
"label": "RGB"
},
{
"value": "3",
"label": "HSV"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"1\"\u003d\"RGB\",\"3\"\u003d\"HSV\"]`"
},
{
"property": "brightness1",
"siid": 3,
"piid": 3,
"friendlyName": "Ambient Light - Brightness",
"channel": "brightness1",
"type": "Number:Dimensionless",
"unit": "percentage",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
]
},
{
"property": "color-temperature1",
"siid": 3,
"piid": 4,
"friendlyName": "Ambient Light - Color Temperature",
"channel": "color_temperature1",
"type": "Number:Temperature",
"unit": "kelvin",
"stateDescription": {
"minimum": 1700,
"maximum": 6500,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
},
{
"property": "color",
"siid": 3,
"piid": 5,
"friendlyName": "Ambient Light - Color",
"channel": "color",
"type": "Number",
"unit": "rgb",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
},
{
"property": "saturability",
"siid": 3,
"piid": 6,
"friendlyName": "Ambient Light - Saturability",
"channel": "saturability",
"type": "Number:Dimensionless",
"unit": "percentage",
"stateDescription": {
"minimum": 0,
"maximum": 100,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
]
},
{
"property": "flow",
"siid": 3,
"piid": 7,
"friendlyName": "Ambient Light - Flow",
"channel": "flow",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "NOFLOW"
},
{
"value": "1",
"label": "FLOWING"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"0\"\u003d\"NOFLOW\",\"1\"\u003d\"FLOWING\"]`"
}
]
}
}