diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md
index 75b2dd26b..d39f57eb4 100644
--- a/bundles/org.openhab.binding.miio/README.md
+++ b/bundles/org.openhab.binding.miio/README.md
@@ -2863,8 +2863,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Mi Bedside Lamp 2 (yeelink.light.bslamp2) Channels
@@ -2875,8 +2876,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight Bedside Lamp II (yeelink.light.bslamp3) Channels
@@ -2887,8 +2889,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight Ceiling Light (yeelink.light.ceiling1) Channels
@@ -2899,7 +2902,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -2912,7 +2915,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -2925,7 +2928,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -2939,7 +2942,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| ambientBrightness | Dimmer | Ambient Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| ambientPower | Switch | Ambient Power | |
| ambientColor | Color | Ambient Color | |
@@ -2956,7 +2959,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -2969,7 +2972,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -2982,7 +2985,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -2995,7 +2998,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3008,7 +3011,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3021,7 +3024,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3035,7 +3038,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| ambientBrightness | Dimmer | Ambient Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| ambientPower | Switch | Ambient Power | |
| ambientColor | Color | Ambient Color | |
@@ -3052,7 +3055,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3065,7 +3068,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3078,7 +3081,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3091,7 +3094,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3104,7 +3107,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3117,7 +3120,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3130,7 +3133,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3143,7 +3146,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3156,7 +3159,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3169,7 +3172,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3182,7 +3185,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3195,7 +3198,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3208,7 +3211,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3221,7 +3224,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3234,7 +3237,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3247,7 +3250,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3260,8 +3263,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight LED Bulb (Color) (yeelink.light.color2) Channels
@@ -3272,8 +3276,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Mi LED Smart Bulb (White and Color) (yeelink.light.color3) Channels
@@ -3284,8 +3289,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight LED Bulb 1S(Color) (yeelink.light.color4) Channels
@@ -3296,8 +3302,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Mi Smart LED Bulb Essential (White and Color) (yeelink.light.color5) Channels
@@ -3308,8 +3315,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight Smart LED Bulb 1SE (color) (yeelink.light.colora) Channels
@@ -3320,8 +3328,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight LED Bulb (Tunable) (yeelink.light.ct2) Channels
@@ -3332,7 +3341,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Mi LED Desk Lamp (yeelink.light.lamp1) Channels
@@ -3343,7 +3352,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Mi Smart LED Desk Lamp Pro (yeelink.light.lamp2) Channels
@@ -3354,7 +3363,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight LED Lamp (yeelink.light.lamp3) Channels
@@ -3365,7 +3374,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Mi LED Desk Lamp 1S (yeelink.light.lamp4) Channels
@@ -3376,7 +3385,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight Smart Desk Lamp Prime (yeelink.light.lamp5) Channels
@@ -3387,7 +3396,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight (yeelink.light.lamp6) Channels
@@ -3398,7 +3407,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight LED Light Sensor Desk Lamp V1 (yeelink.light.lamp7) Channels
@@ -3409,7 +3418,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight (yeelink.light.lamp8) Channels
@@ -3420,7 +3429,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight Star LED Table Lamp (yeelink.light.lamp9) Channels
@@ -3431,7 +3440,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight Star Floor Lamp (yeelink.light.lamp10) Channels
@@ -3442,7 +3451,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight Screen Light Bar (yeelink.light.lamp15) Channels
@@ -3453,7 +3462,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number:Temperature | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
| ambientBrightness | Number | Ambient Brightness | |
| ambientPower | Switch | Ambient Power | |
@@ -3469,7 +3478,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight White Bulb v2 (yeelink.light.mono2) Channels
@@ -3480,7 +3489,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight LED Bulb 1S(Dimmable) (yeelink.light.mono4) Channels
@@ -3491,7 +3500,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight LED Filament Bulb (yeelink.light.mono5) Channels
@@ -3502,7 +3511,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight Whiteglow Panel Light (yeelink.light.panel1) Channels
@@ -3513,7 +3522,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3526,8 +3535,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight Lightstrip Plus (yeelink.light.strip2) Channels
@@ -3538,8 +3548,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| rgbColor | Color | RGB Color | |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorflow | Switch | Color Flow | |
| name | String | Name | |
### Yeelight Willow LED Lightstrip (yeelink.light.strip4) Channels
@@ -3550,7 +3561,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Light Group (Mi & Yeelight) (yeelink.light.virtual) Channels
@@ -3561,7 +3572,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
### Yeelight Smart Dual Control Module (yeelink.switch.sw1) Channels
@@ -3586,7 +3597,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3599,7 +3610,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -3612,7 +3623,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| brightness | Dimmer | Brightness | |
| delayoff | Number:Time | Shutdown Timer | |
| colorTemperature | Number | Color Temperature | |
-| colorMode | Number | Color Mode | Value mapping `["0"="Default","1"="CT mode","2"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
+| colorMode | Number | Color Mode | Note, currently only supporting switching to RGB or CT mode. Value mapping `["0"="Default","2"="CT mode","1"="RGB mode","3"="HSV mode","4"="Color Flow mode","5"="Night Light mode"]` |
| name | String | Name | |
| customScene | String | Set Scene | |
| nightlightBrightness | Number | Nightlight Brightness | |
@@ -7881,8 +7892,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -7896,8 +7908,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -7911,8 +7924,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8368,8 +8382,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8383,8 +8398,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8398,8 +8414,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8413,8 +8430,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8428,8 +8446,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8443,8 +8462,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8703,8 +8723,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
@@ -8718,8 +8739,9 @@ Switch power "Power" (G_light) {channel="miio:basic:light:power"}
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
-Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
+Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
+Switch colorflow "Color Flow" (G_light) {channel="miio:basic:light:colorflow"}
String name "Name" (G_light) {channel="miio:basic:light:name"}
```
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java
index 60f07bcb7..ba79c31ca 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java
@@ -13,8 +13,10 @@
package org.openhab.binding.miio.internal.basic;
import java.awt.Color;
+import java.util.Map;
import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.PercentType;
import org.slf4j.Logger;
@@ -49,6 +51,31 @@ public class Conversions {
return bRGB;
}
+ /**
+ * Adds the brightness info (from separate channel) to a HSV value.
+ * *
+ *
+ * @param RGB
+ * @param map with device variables containing the brightness info
+ * @return HSV
+ */
+ public static JsonElement addBrightToHSV(JsonElement rgbValue, @Nullable Map deviceVariables)
+ throws ClassCastException, IllegalStateException {
+ int bright = 100;
+ if (deviceVariables != null) {
+ JsonElement lastBright = (JsonElement) deviceVariables.getOrDefault("bright", new JsonPrimitive(100));
+ bright = lastBright.getAsInt();
+ }
+ if (rgbValue.isJsonPrimitive()
+ && (rgbValue.getAsJsonPrimitive().isNumber() || rgbValue.getAsString().matches("^[0-9]+$"))) {
+ Color rgb = new Color(rgbValue.getAsInt());
+ HSBType hsb = HSBType.fromRGB(rgb.getRed(), rgb.getGreen(), rgb.getBlue());
+ hsb = new HSBType(hsb.getHue(), hsb.getSaturation(), new PercentType(bright));
+ return new JsonPrimitive(hsb.toFullString());
+ }
+ return rgbValue;
+ }
+
public static JsonElement secondsToHours(JsonElement seconds) throws ClassCastException {
double value = seconds.getAsDouble() / 3600;
return new JsonPrimitive(value);
@@ -94,9 +121,10 @@ public class Conversions {
}
}
- public static JsonElement execute(String transfortmation, JsonElement value) {
+ public static JsonElement execute(String transformation, JsonElement value,
+ @Nullable Map deviceVariables) {
try {
- switch (transfortmation.toUpperCase()) {
+ switch (transformation.toUpperCase()) {
case "YEELIGHTSCENEID":
return yeelightSceneConversion(value);
case "SECONDSTOHOURS":
@@ -107,14 +135,16 @@ public class Conversions {
return divideHundred(value);
case "TANKLEVEL":
return tankLevel(value);
+ case "ADDBRIGHTTOHSV":
+ return addBrightToHSV(value, deviceVariables);
case "BRGBTOHSV":
return bRGBtoHSV(value);
default:
- LOGGER.debug("Transformation {} not found. Returning '{}'", transfortmation, value.toString());
+ LOGGER.debug("Transformation {} not found. Returning '{}'", transformation, value.toString());
return value;
}
} catch (ClassCastException | IllegalStateException e) {
- LOGGER.debug("Transformation {} failed. Returning '{}'", transfortmation, value.toString());
+ LOGGER.debug("Transformation {} failed. Returning '{}'", transformation, value.toString());
return value;
}
}
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicChannel.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicChannel.java
index a012e4da2..9391acd15 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicChannel.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicChannel.java
@@ -183,7 +183,7 @@ public class MiIoBasicChannel {
public Boolean getRefresh() {
final @Nullable Boolean rf = refresh;
- return rf != null && rf.booleanValue() && !getProperty().isEmpty();
+ return rf != null && rf.booleanValue();
}
public void setRefresh(@Nullable Boolean refresh) {
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java
index 0d37746e1..83832f333 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java
@@ -15,9 +15,12 @@ package org.openhab.binding.miio.internal.handler;
import static org.openhab.binding.miio.internal.MiIoBindingConstants.*;
import java.io.IOException;
+import java.math.BigDecimal;
+import java.time.Instant;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
@@ -59,6 +62,7 @@ import org.slf4j.LoggerFactory;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSyntaxException;
/**
@@ -71,6 +75,7 @@ import com.google.gson.JsonSyntaxException;
public abstract class MiIoAbstractHandler extends BaseThingHandler implements MiIoMessageListener {
protected static final int MAX_QUEUE = 5;
protected static final Gson GSON = new GsonBuilder().create();
+ protected static final String TIMESTAMP = "timestamp";
protected ScheduledExecutorService miIoScheduler = scheduler;
protected @Nullable ScheduledFuture> pollingJob;
@@ -111,12 +116,13 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi
public abstract void handleCommand(ChannelUID channelUID, Command command);
protected boolean handleCommandsChannels(ChannelUID channelUID, Command command) {
+ String cmd = processSubstitutions(command.toString(), deviceVariables);
if (channelUID.getId().equals(CHANNEL_COMMAND)) {
- cmds.put(sendCommand(command.toString()), channelUID.getId());
+ cmds.put(sendCommand(cmd), channelUID.getId());
return true;
}
if (channelUID.getId().equals(CHANNEL_RPC)) {
- cmds.put(sendCommand(command.toString(), cloudServer), channelUID.getId());
+ cmds.put(sendCommand(cmd, cloudServer), channelUID.getId());
return true;
}
return false;
@@ -146,6 +152,8 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi
}
this.cloudServer = configuration.cloudServer;
isIdentified = false;
+ deviceVariables.put(TIMESTAMP, Instant.now().getEpochSecond());
+ deviceVariables.put(PROPERTY_DID, configuration.deviceId);
miIoScheduler.schedule(this::initializeData, 1, TimeUnit.SECONDS);
int pollingPeriod = configuration.refreshInterval;
if (pollingPeriod > 0) {
@@ -216,14 +224,7 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi
}
protected int sendCommand(MiIoCommand command, String params) {
- try {
- final MiIoAsyncCommunication connection = getConnection();
- return (connection != null) ? connection.queueCommand(command, params, getCloudServer()) : 0;
- } catch (MiIoCryptoException | IOException e) {
- logger.debug("Command {} for {} failed (type: {}): {}", command.toString(), getThing().getUID(),
- getThing().getThingTypeUID(), e.getLocalizedMessage());
- }
- return 0;
+ return sendCommand(command.getCommand(), processSubstitutions(params, deviceVariables), getCloudServer(), "");
}
protected int sendCommand(String commandString) {
@@ -241,19 +242,39 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi
* @return vacuum response
*/
protected int sendCommand(String commandString, String cloudServer) {
- final MiIoAsyncCommunication connection = getConnection();
+ String command = commandString.trim();
+ command = processSubstitutions(commandString.trim(), deviceVariables);
+ String param = "[]";
+ int sb = command.indexOf("[");
+ int cb = command.indexOf("{");
+ if (Math.max(sb, cb) > 0) {
+ int loc = (Math.min(sb, cb) > 0 ? Math.min(sb, cb) : Math.max(sb, cb));
+ param = command.substring(loc).trim();
+ command = command.substring(0, loc).trim();
+ }
+ return sendCommand(command, param, cloudServer, "");
+ }
+
+ protected int sendCommand(String command, String params, String cloudServer) {
+ return sendCommand(command, processSubstitutions(params, deviceVariables), cloudServer, "");
+ }
+
+ /**
+ * Sends commands to the {@link MiIoAsyncCommunication} for transmission to the Mi devices or cloud
+ *
+ * @param command (method) to be queued for execution
+ * @param parameters to be send with the command
+ * @param cloud server to be used or empty string for direct sending to the device
+ * @param sending subdevice or empty string for regular device
+ * @return message id
+ */
+ protected int sendCommand(String command, String params, String cloudServer, String sender) {
try {
- String command = commandString.trim();
- String param = "[]";
- int sb = command.indexOf("[");
- int cb = command.indexOf("{");
- if (Math.max(sb, cb) > 0) {
- int loc = (Math.min(sb, cb) > 0 ? Math.min(sb, cb) : Math.max(sb, cb));
- param = command.substring(loc).trim();
- command = command.substring(0, loc).trim();
- }
- return (connection != null) ? connection.queueCommand(command, param, cloudServer) : 0;
+ final MiIoAsyncCommunication connection = getConnection();
+ return (connection != null) ? connection.queueCommand(command, params, cloudServer, sender) : 0;
} catch (MiIoCryptoException | IOException e) {
+ logger.debug("Command {} for {} failed (type: {}): {}", command.toString(), getThing().getUID(),
+ getThing().getThingTypeUID(), e.getLocalizedMessage());
disconnected(e.getMessage());
}
return 0;
@@ -414,6 +435,7 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi
Configuration config = editConfiguration();
config.put(PROPERTY_DID, deviceId);
updateConfiguration(config);
+ deviceVariables.put(PROPERTY_DID, deviceId);
} else {
logger.debug("Could not update config with deviceId: {}", deviceId);
}
@@ -458,6 +480,42 @@ public abstract class MiIoAbstractHandler extends BaseThingHandler implements Mi
updateProperties(properties);
}
+ protected String processSubstitutions(String cmd, Map deviceVariables) {
+ if (!cmd.contains("$")) {
+ return cmd;
+ }
+ String returnCmd = cmd.replace("\"$", "$").replace("$\"", "$");
+ String cmdParts[] = cmd.split("\\$");
+ if (logger.isTraceEnabled()) {
+ logger.debug("processSubstitutions {} ", cmd);
+ for (Entry e : deviceVariables.entrySet()) {
+ logger.debug("key, value: {} -> {}", e.getKey(), e.getValue());
+ }
+ }
+ for (String substitute : cmdParts) {
+ if (deviceVariables.containsKey(substitute)) {
+ String replacementString = "";
+ Object replacement = deviceVariables.get(substitute);
+ if (replacement == null) {
+ logger.debug("Replacement for '{}' is null. skipping replacement", substitute);
+ continue;
+ }
+ if (replacement instanceof Integer || replacement instanceof Long || replacement instanceof Double
+ || replacement instanceof BigDecimal || replacement instanceof Boolean) {
+ replacementString = replacement.toString();
+ } else if (replacement instanceof JsonPrimitive) {
+ replacementString = ((JsonPrimitive) replacement).getAsString();
+ } else if (replacement instanceof String) {
+ replacementString = "\"" + (String) replacement + "\"";
+ } else {
+ replacementString = String.valueOf(replacement);
+ }
+ returnCmd = returnCmd.replace("$" + substitute + "$", replacementString);
+ }
+ }
+ return returnCmd;
+ }
+
protected boolean updateThingType(JsonObject miioInfo) {
MiIoBindingConfiguration configuration = getConfigAs(MiIoBindingConfiguration.class);
String model = miioInfo.get("model").getAsString();
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java
index 3b81c3db3..4c7432b7f 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoBasicHandler.java
@@ -17,6 +17,7 @@ import static org.openhab.binding.miio.internal.MiIoBindingConstants.*;
import java.awt.Color;
import java.io.IOException;
import java.net.URL;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
@@ -122,6 +123,7 @@ public class MiIoBasicHandler extends MiIoAbstractHandler {
@Override
public void handleCommand(ChannelUID channelUID, Command receivedCommand) {
Command command = receivedCommand;
+ deviceVariables.put(TIMESTAMP, Instant.now().getEpochSecond());
if (command == RefreshType.REFRESH) {
if (updateDataCache.isExpired()) {
logger.debug("Refreshing {}", channelUID);
@@ -312,6 +314,7 @@ public class MiIoBasicHandler extends MiIoAbstractHandler {
}
final MiIoBasicDevice midevice = miioDevice;
if (midevice != null) {
+ deviceVariables.put(TIMESTAMP, Instant.now().getEpochSecond());
refreshProperties(midevice);
refreshCustomProperties(midevice);
refreshNetwork();
@@ -581,13 +584,14 @@ public class MiIoBasicHandler extends MiIoAbstractHandler {
private void updateChannel(@Nullable MiIoBasicChannel basicChannel, String param, JsonElement value) {
JsonElement val = value;
+ deviceVariables.put(param, val);
if (basicChannel == null) {
logger.debug("Channel not found for {}", param);
return;
}
final String transformation = basicChannel.getTransformation();
if (transformation != null) {
- JsonElement transformed = Conversions.execute(transformation, val);
+ JsonElement transformed = Conversions.execute(transformation, val, deviceVariables);
logger.debug("Transformed with '{}': {} {} -> {} ", transformation, basicChannel.getFriendlyName(), val,
transformed);
val = transformed;
@@ -614,7 +618,8 @@ public class MiIoBasicHandler extends MiIoAbstractHandler {
} else {
String strVal = val.getAsString().toLowerCase();
updateState(basicChannel.getChannel(),
- "on".equals(strVal) || "true".equals(strVal) ? OnOffType.ON : OnOffType.OFF);
+ "on".equals(strVal) || "true".equals(strVal) || "1".equals(strVal) ? OnOffType.ON
+ : OnOffType.OFF);
}
break;
case "color":
diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/transport/MiIoAsyncCommunication.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/transport/MiIoAsyncCommunication.java
index 7be4bd454..63a75a4d5 100644
--- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/transport/MiIoAsyncCommunication.java
+++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/transport/MiIoAsyncCommunication.java
@@ -129,16 +129,7 @@ public class MiIoAsyncCommunication {
}
}
- public int queueCommand(MiIoCommand command, String cloudServer) throws MiIoCryptoException, IOException {
- return queueCommand(command, "[]", cloudServer);
- }
-
- public int queueCommand(MiIoCommand command, String params, String cloudServer)
- throws MiIoCryptoException, IOException {
- return queueCommand(command.getCommand(), params, cloudServer);
- }
-
- public int queueCommand(String command, String params, String cloudServer)
+ public int queueCommand(String command, String params, String cloudServer, String sender)
throws MiIoCryptoException, IOException, JsonSyntaxException {
try {
JsonObject fullCommand = new JsonObject();
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.bhf1.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.bhf1.json
index d0be58033..badbcecd6 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.bhf1.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.bhf1.json
@@ -68,7 +68,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.0f %unit%"
+ },
"refresh": true,
"actions": [
{
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling.json
index 650c61fd6..e330f542f 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling.json
@@ -80,7 +80,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.1f %unit%"
+ },
"refresh": true,
"actions": [
{
@@ -142,11 +145,11 @@
"label": "Default"
},
{
- "value": "1",
+ "value": "2",
"label": "CT mode"
},
{
- "value": "2",
+ "value": "1",
"label": "RGB mode"
},
{
@@ -164,8 +167,48 @@
]
},
"refresh": true,
- "actions": [],
- "readmeComment": "Value mapping `[\"0\"\u003d\"Default\",\"1\"\u003d\"CT mode\",\"2\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
+ "actions": [
+ {
+ "command": "set_rgb",
+ "parameterType": "NONE",
+ "parameters": [
+ "$rgb$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "1"
+ }
+ ]
+ }
+ },
+ {
+ "command": "set_ct_abx",
+ "parameterType": "NONE",
+ "parameters": [
+ "$ct$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "2"
+ }
+ ]
+ }
+ }
+ ],
+ "category": "settings",
+ "tags": [
+ "Control",
+ "Light"
+ ],
+ "readmeComment": "Note, currently only supporting switching to RGB or CT mode. Value mapping `[\"0\"\u003d\"Default\",\"2\"\u003d\"CT mode\",\"1\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
},
{
"property": "name",
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling2.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling2.json
index 5bcfbaf2f..66ebf9009 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling2.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling2.json
@@ -55,7 +55,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.0f %unit%"
+ },
"refresh": true,
"actions": [
{
@@ -117,11 +120,11 @@
"label": "Default"
},
{
- "value": "1",
+ "value": "2",
"label": "CT mode"
},
{
- "value": "2",
+ "value": "1",
"label": "RGB mode"
},
{
@@ -139,8 +142,48 @@
]
},
"refresh": true,
- "actions": [],
- "readmeComment": "Value mapping `[\"0\"\u003d\"Default\",\"1\"\u003d\"CT mode\",\"2\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
+ "actions": [
+ {
+ "command": "set_rgb",
+ "parameterType": "NONE",
+ "parameters": [
+ "$rgb$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "1"
+ }
+ ]
+ }
+ },
+ {
+ "command": "set_ct_abx",
+ "parameterType": "NONE",
+ "parameters": [
+ "$ct$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "2"
+ }
+ ]
+ }
+ }
+ ],
+ "category": "settings",
+ "tags": [
+ "Control",
+ "Light"
+ ],
+ "readmeComment": "Note, currently only supporting switching to RGB or CT mode. Value mapping `[\"0\"\u003d\"Default\",\"2\"\u003d\"CT mode\",\"1\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
},
{
"property": "name",
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling4.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling4.json
index e36288981..5af25be99 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling4.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.ceiling4.json
@@ -80,7 +80,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.0f %unit%"
+ },
"refresh": true,
"actions": [
{
@@ -142,11 +145,11 @@
"label": "Default"
},
{
- "value": "1",
+ "value": "2",
"label": "CT mode"
},
{
- "value": "2",
+ "value": "1",
"label": "RGB mode"
},
{
@@ -164,8 +167,48 @@
]
},
"refresh": true,
- "actions": [],
- "readmeComment": "Value mapping `[\"0\"\u003d\"Default\",\"1\"\u003d\"CT mode\",\"2\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
+ "actions": [
+ {
+ "command": "set_rgb",
+ "parameterType": "NONE",
+ "parameters": [
+ "$rgb$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "1"
+ }
+ ]
+ }
+ },
+ {
+ "command": "set_ct_abx",
+ "parameterType": "NONE",
+ "parameters": [
+ "$ct$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "2"
+ }
+ ]
+ }
+ }
+ ],
+ "category": "settings",
+ "tags": [
+ "Control",
+ "Light"
+ ],
+ "readmeComment": "Note, currently only supporting switching to RGB or CT mode. Value mapping `[\"0\"\u003d\"Default\",\"2\"\u003d\"CT mode\",\"1\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
},
{
"property": "name",
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.color1.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.color1.json
index 17733a162..7e41b83c9 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.color1.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.color1.json
@@ -65,7 +65,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.0f %unit%"
+ },
"refresh": true,
"actions": [
{
@@ -112,68 +115,13 @@
"Temperature"
]
},
- {
- "property": "color_mode",
- "friendlyName": "Color Mode",
- "channel": "colorMode",
- "type": "Number",
- "stateDescription": {
- "minimum": 0,
- "maximum": 5,
- "step": 1,
- "options": [
- {
- "value": "0",
- "label": "Default"
- },
- {
- "value": "1",
- "label": "CT mode"
- },
- {
- "value": "2",
- "label": "RGB mode"
- },
- {
- "value": "3",
- "label": "HSV mode"
- },
- {
- "value": "4",
- "label": "Color Flow mode"
- },
- {
- "value": "5",
- "label": "Night Light mode"
- }
- ]
- },
- "refresh": true,
- "actions": [
- {
- "command": "set_power",
- "parameterType": "NUMBER",
- "parameters": [
- "on",
- "smooth",
- 500,
- "$value$"
- ]
- }
- ],
- "category": "settings",
- "tags": [
- "Control",
- "Light"
- ],
- "readmeComment": "Value mapping `[\"0\"\u003d\"Default\",\"1\"\u003d\"CT mode\",\"2\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
- },
{
"property": "rgb",
"friendlyName": "RGB Color",
"channel": "rgbColor",
"type": "Color",
"refresh": true,
+ "transformation": "addBrightToHSV",
"ChannelGroup": "actions",
"actions": [
{
@@ -209,6 +157,128 @@
"Light"
]
},
+ {
+ "property": "color_mode",
+ "friendlyName": "Color Mode",
+ "channel": "colorMode",
+ "type": "Number",
+ "stateDescription": {
+ "minimum": 0,
+ "maximum": 5,
+ "step": 1,
+ "options": [
+ {
+ "value": "0",
+ "label": "Default"
+ },
+ {
+ "value": "2",
+ "label": "CT mode"
+ },
+ {
+ "value": "1",
+ "label": "RGB mode"
+ },
+ {
+ "value": "3",
+ "label": "HSV mode"
+ },
+ {
+ "value": "4",
+ "label": "Color Flow mode"
+ },
+ {
+ "value": "5",
+ "label": "Night Light mode"
+ }
+ ]
+ },
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_rgb",
+ "parameterType": "NONE",
+ "parameters": [
+ "$rgb$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "1"
+ }
+ ]
+ }
+ },
+ {
+ "command": "set_ct_abx",
+ "parameterType": "NONE",
+ "parameters": [
+ "$ct$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "2"
+ }
+ ]
+ }
+ }
+ ],
+ "category": "settings",
+ "tags": [
+ "Control",
+ "Light"
+ ],
+ "readmeComment": "Note, currently only supporting switching to RGB or CT mode. Value mapping `[\"0\"\u003d\"Default\",\"2\"\u003d\"CT mode\",\"1\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
+ },
+ {
+ "property": "flowing",
+ "friendlyName": "Color Flow",
+ "channel": "colorflow",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "start_cf",
+ "parameterType": "EMPTY",
+ "parameters": [
+ 0,
+ 0,
+ "500,1,255,100,500,1,5292678,100,500,1,11673869,100,500,1,16776960,100,500,1,7733248,100"
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "ON"
+ }
+ ]
+ }
+ },
+ {
+ "command": "stop_cf",
+ "parameterType": "EMPTY",
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "OFF"
+ }
+ ]
+ }
+ }
+ ],
+ "category": "switch",
+ "tags": [
+ "Switch"
+ ]
+ },
{
"property": "name",
"friendlyName": "Name",
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.lamp1.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.lamp1.json
index 60fd08cfc..00417edaa 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.lamp1.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.lamp1.json
@@ -71,7 +71,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.0f %unit%"
+ },
"refresh": true,
"actions": [
{
@@ -133,11 +136,11 @@
"label": "Default"
},
{
- "value": "1",
+ "value": "2",
"label": "CT mode"
},
{
- "value": "2",
+ "value": "1",
"label": "RGB mode"
},
{
@@ -157,14 +160,38 @@
"refresh": true,
"actions": [
{
- "command": "set_power",
- "parameterType": "NUMBER",
+ "command": "set_rgb",
+ "parameterType": "NONE",
"parameters": [
- "on",
+ "$rgb$",
"smooth",
- 500,
- "$value$"
- ]
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "1"
+ }
+ ]
+ }
+ },
+ {
+ "command": "set_ct_abx",
+ "parameterType": "NONE",
+ "parameters": [
+ "$ct$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "2"
+ }
+ ]
+ }
}
],
"category": "settings",
@@ -172,7 +199,7 @@
"Control",
"Light"
],
- "readmeComment": "Value mapping `[\"0\"\u003d\"Default\",\"1\"\u003d\"CT mode\",\"2\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
+ "readmeComment": "Note, currently only supporting switching to RGB or CT mode. Value mapping `[\"0\"\u003d\"Default\",\"2\"\u003d\"CT mode\",\"1\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
},
{
"property": "name",
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.light15.json b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.light15.json
index a05d75c26..0390aab28 100644
--- a/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.light15.json
+++ b/bundles/org.openhab.binding.miio/src/main/resources/database/yeelink.light.light15.json
@@ -56,7 +56,10 @@
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
"type": "Number:Time",
- "unit": "seconds",
+ "unit": "minutes",
+ "stateDescription": {
+ "pattern": "%.0f %unit%"
+ },
"refresh": true,
"actions": [
{
@@ -119,11 +122,11 @@
"label": "Default"
},
{
- "value": "1",
+ "value": "2",
"label": "CT mode"
},
{
- "value": "2",
+ "value": "1",
"label": "RGB mode"
},
{
@@ -143,14 +146,38 @@
"refresh": true,
"actions": [
{
- "command": "set_power",
- "parameterType": "NUMBER",
+ "command": "set_rgb",
+ "parameterType": "NONE",
"parameters": [
- "on",
+ "$rgb$",
"smooth",
- 500,
- "$value$"
- ]
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "1"
+ }
+ ]
+ }
+ },
+ {
+ "command": "set_ct_abx",
+ "parameterType": "NONE",
+ "parameters": [
+ "$ct$",
+ "smooth",
+ 500
+ ],
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "2"
+ }
+ ]
+ }
}
],
"category": "settings",
@@ -158,7 +185,7 @@
"Control",
"Light"
],
- "readmeComment": "Value mapping `[\"0\"\u003d\"Default\",\"1\"\u003d\"CT mode\",\"2\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
+ "readmeComment": "Note, currently only supporting switching to RGB or CT mode. Value mapping `[\"0\"\u003d\"Default\",\"2\"\u003d\"CT mode\",\"1\"\u003d\"RGB mode\",\"3\"\u003d\"HSV mode\",\"4\"\u003d\"Color Flow mode\",\"5\"\u003d\"Night Light mode\"]`"
},
{
"property": "rgb",