[miio] improve zhimi fan channels (#10882)

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
This commit is contained in:
Marcel 2021-06-20 20:58:05 +02:00 committed by GitHub
parent f73553347e
commit 6a7e240060
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 360 additions and 158 deletions

View File

@ -4618,16 +4618,16 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| power | Switch | Power | |
| angleEnable | Switch | Rotation | |
| usedhours | Number:Time | Run Time | |
| angle | Number | Angle | |
| poweroffTime | Number | Timer | |
| angle | Number:Angle | Angle | Value mapping `["30"="30","60"="60","90"="90","120"="120"]` |
| poweroffTime | Number:Time | Power-Off Timer | |
| buzzer | Switch | Buzzer | |
| led_b | Number | LED | |
| led_b | Number | LED | Value mapping `["0"="Bright","1"="Dimmed","2"="Off"]` |
| child_lock | Switch | Child Lock | |
| speedLevel | Number | Speed Level | |
| speedLevel | Dimmer | Speed Level | |
| speed | Number | Speed | |
| naturalLevel | Number | Natural Level | |
| naturalLevel | Dimmer | Natural Level | |
| acPower | Switch | AC Power | |
| move | String | Move Direction | |
| move | String | Move Direction | Value mapping `[""="None","left"="Left","right"="Right"]` |
### Mi Smart Fan (<a name="zhimi-fan-v1">zhimi.fan.v1</a>) Channels
@ -4636,20 +4636,20 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| power | Switch | Power | |
| angleEnable | Switch | Rotation | |
| usedhours | Number:Time | Run Time | |
| angle | Number | Angle | |
| poweroffTime | Number | Timer | |
| angle | Number:Angle | Angle | Value mapping `["30"="30","60"="60","90"="90","120"="120"]` |
| poweroffTime | Number:Time | Power-Off Timer | |
| buzzer | Switch | Buzzer | |
| led_b | Number | LED | |
| led_b | Number | LED | Value mapping `["0"="Bright","1"="Dimmed","2"="Off"]` |
| child_lock | Switch | Child Lock | |
| speedLevel | Number | Speed Level | |
| speedLevel | Dimmer | Speed Level | |
| speed | Number | Speed | |
| naturalLevel | Number | Natural Level | |
| naturalLevel | Dimmer | Natural Level | |
| temp_dec | Number | Temperature | |
| humidity | Number:Dimensionless | Humidity | |
| acPower | String | AC Power | |
| acPower | Switch | AC Power | |
| mode | String | Battery Charge | |
| battery | Number | Battery | |
| move | String | Move Direction | |
| move | String | Move Direction | Value mapping `[""="None","left"="Left","right"="Right"]` |
### Smartmi DC Pedestal Fan (<a name="zhimi-fan-v2">zhimi.fan.v2</a>) Channels
@ -4658,20 +4658,20 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| power | Switch | Power | |
| angleEnable | Switch | Rotation | |
| usedhours | Number:Time | Run Time | |
| angle | Number | Angle | |
| poweroffTime | Number | Timer | |
| angle | Number:Angle | Angle | Value mapping `["30"="30","60"="60","90"="90","120"="120"]` |
| poweroffTime | Number:Time | Power-Off Timer | |
| buzzer | Switch | Buzzer | |
| led_b | Number | LED | |
| led_b | Number | LED | Value mapping `["0"="Bright","1"="Dimmed","2"="Off"]` |
| child_lock | Switch | Child Lock | |
| speedLevel | Number | Speed Level | |
| speedLevel | Dimmer | Speed Level | |
| speed | Number | Speed | |
| naturalLevel | Number | Natural Level | |
| naturalLevel | Dimmer | Natural Level | |
| temp_dec | Number | Temperature | |
| humidity | Number:Dimensionless | Humidity | |
| acPower | String | AC Power | |
| acPower | Switch | AC Power | |
| mode | String | Battery Charge | |
| battery | Number | Battery | |
| move | String | Move Direction | |
| move | String | Move Direction | Value mapping `[""="None","left"="Left","right"="Right"]` |
### Smartmi DC Pedestal Fan (<a name="zhimi-fan-v3">zhimi.fan.v3</a>) Channels
@ -4680,20 +4680,20 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| power | Switch | Power | |
| angleEnable | Switch | Rotation | |
| usedhours | Number:Time | Run Time | |
| angle | Number | Angle | |
| poweroffTime | Number | Timer | |
| angle | Number:Angle | Angle | Value mapping `["30"="30","60"="60","90"="90","120"="120"]` |
| poweroffTime | Number:Time | Power-Off Timer | |
| buzzer | Switch | Buzzer | |
| led_b | Number | LED | |
| led_b | Number | LED | Value mapping `["0"="Bright","1"="Dimmed","2"="Off"]` |
| child_lock | Switch | Child Lock | |
| speedLevel | Number | Speed Level | |
| speedLevel | Dimmer | Speed Level | |
| speed | Number | Speed | |
| naturalLevel | Number | Natural Level | |
| naturalLevel | Dimmer | Natural Level | |
| temp_dec | Number | Temperature | |
| humidity | Number:Dimensionless | Humidity | |
| acPower | String | AC Power | |
| acPower | Switch | AC Power | |
| mode | String | Battery Charge | |
| battery | Number | Battery | |
| move | String | Move Direction | |
| move | String | Move Direction | Value mapping `[""="None","left"="Left","right"="Right"]` |
### Smartmi Inverter Pedestal Fan (<a name="zhimi-fan-za1">zhimi.fan.za1</a>) Channels
@ -4702,16 +4702,16 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
| power | Switch | Power | |
| angleEnable | Switch | Rotation | |
| usedhours | Number:Time | Run Time | |
| angle | Number | Angle | |
| poweroffTime | Number | Timer | |
| angle | Number:Angle | Angle | Value mapping `["30"="30","60"="60","90"="90","120"="120"]` |
| poweroffTime | Number:Time | Power-Off Timer | |
| buzzer | Switch | Buzzer | |
| led_b | Number | LED | |
| led_b | Number | LED | Value mapping `["0"="Bright","1"="Dimmed","2"="Off"]` |
| child_lock | Switch | Child Lock | |
| speedLevel | Number | Speed Level | |
| speedLevel | Dimmer | Speed Level | |
| speed | Number | Speed | |
| naturalLevel | Number | Natural Level | |
| naturalLevel | Dimmer | Natural Level | |
| acPower | Switch | AC Power | |
| move | String | Move Direction | |
| move | String | Move Direction | Value mapping `[""="None","left"="Left","right"="Right"]` |
### Smartmi Standing Fan 2 (<a name="zhimi-fan-za3">zhimi.fan.za3</a>) Channels
@ -9906,14 +9906,14 @@ Group G_fan "Mi Standing Fan" <status>
Switch power "Power" (G_fan) {channel="miio:basic:fan:power"}
Switch angleEnable "Rotation" (G_fan) {channel="miio:basic:fan:angleEnable"}
Number:Time usedhours "Run Time" (G_fan) {channel="miio:basic:fan:usedhours"}
Number angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number poweroffTime "Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Number:Angle angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number:Time poweroffTime "Power-Off Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Switch buzzer "Buzzer" (G_fan) {channel="miio:basic:fan:buzzer"}
Number led_b "LED" (G_fan) {channel="miio:basic:fan:led_b"}
Switch child_lock "Child Lock" (G_fan) {channel="miio:basic:fan:child_lock"}
Number speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Dimmer speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Number speed "Speed" (G_fan) {channel="miio:basic:fan:speed"}
Number naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Dimmer naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Switch acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
String move "Move Direction" (G_fan) {channel="miio:basic:fan:move"}
```
@ -9927,17 +9927,17 @@ Group G_fan "Mi Smart Fan" <status>
Switch power "Power" (G_fan) {channel="miio:basic:fan:power"}
Switch angleEnable "Rotation" (G_fan) {channel="miio:basic:fan:angleEnable"}
Number:Time usedhours "Run Time" (G_fan) {channel="miio:basic:fan:usedhours"}
Number angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number poweroffTime "Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Number:Angle angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number:Time poweroffTime "Power-Off Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Switch buzzer "Buzzer" (G_fan) {channel="miio:basic:fan:buzzer"}
Number led_b "LED" (G_fan) {channel="miio:basic:fan:led_b"}
Switch child_lock "Child Lock" (G_fan) {channel="miio:basic:fan:child_lock"}
Number speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Dimmer speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Number speed "Speed" (G_fan) {channel="miio:basic:fan:speed"}
Number naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Dimmer naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Number temp_dec "Temperature" (G_fan) {channel="miio:basic:fan:temp_dec"}
Number:Dimensionless humidity "Humidity" (G_fan) {channel="miio:basic:fan:humidity"}
String acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
Switch acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
String mode "Battery Charge" (G_fan) {channel="miio:basic:fan:mode"}
Number battery "Battery" (G_fan) {channel="miio:basic:fan:battery"}
String move "Move Direction" (G_fan) {channel="miio:basic:fan:move"}
@ -9952,17 +9952,17 @@ Group G_fan "Smartmi DC Pedestal Fan" <status>
Switch power "Power" (G_fan) {channel="miio:basic:fan:power"}
Switch angleEnable "Rotation" (G_fan) {channel="miio:basic:fan:angleEnable"}
Number:Time usedhours "Run Time" (G_fan) {channel="miio:basic:fan:usedhours"}
Number angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number poweroffTime "Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Number:Angle angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number:Time poweroffTime "Power-Off Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Switch buzzer "Buzzer" (G_fan) {channel="miio:basic:fan:buzzer"}
Number led_b "LED" (G_fan) {channel="miio:basic:fan:led_b"}
Switch child_lock "Child Lock" (G_fan) {channel="miio:basic:fan:child_lock"}
Number speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Dimmer speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Number speed "Speed" (G_fan) {channel="miio:basic:fan:speed"}
Number naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Dimmer naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Number temp_dec "Temperature" (G_fan) {channel="miio:basic:fan:temp_dec"}
Number:Dimensionless humidity "Humidity" (G_fan) {channel="miio:basic:fan:humidity"}
String acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
Switch acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
String mode "Battery Charge" (G_fan) {channel="miio:basic:fan:mode"}
Number battery "Battery" (G_fan) {channel="miio:basic:fan:battery"}
String move "Move Direction" (G_fan) {channel="miio:basic:fan:move"}
@ -9977,17 +9977,17 @@ Group G_fan "Smartmi DC Pedestal Fan" <status>
Switch power "Power" (G_fan) {channel="miio:basic:fan:power"}
Switch angleEnable "Rotation" (G_fan) {channel="miio:basic:fan:angleEnable"}
Number:Time usedhours "Run Time" (G_fan) {channel="miio:basic:fan:usedhours"}
Number angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number poweroffTime "Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Number:Angle angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number:Time poweroffTime "Power-Off Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Switch buzzer "Buzzer" (G_fan) {channel="miio:basic:fan:buzzer"}
Number led_b "LED" (G_fan) {channel="miio:basic:fan:led_b"}
Switch child_lock "Child Lock" (G_fan) {channel="miio:basic:fan:child_lock"}
Number speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Dimmer speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Number speed "Speed" (G_fan) {channel="miio:basic:fan:speed"}
Number naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Dimmer naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Number temp_dec "Temperature" (G_fan) {channel="miio:basic:fan:temp_dec"}
Number:Dimensionless humidity "Humidity" (G_fan) {channel="miio:basic:fan:humidity"}
String acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
Switch acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
String mode "Battery Charge" (G_fan) {channel="miio:basic:fan:mode"}
Number battery "Battery" (G_fan) {channel="miio:basic:fan:battery"}
String move "Move Direction" (G_fan) {channel="miio:basic:fan:move"}
@ -10002,14 +10002,14 @@ Group G_fan "Smartmi Inverter Pedestal Fan" <status>
Switch power "Power" (G_fan) {channel="miio:basic:fan:power"}
Switch angleEnable "Rotation" (G_fan) {channel="miio:basic:fan:angleEnable"}
Number:Time usedhours "Run Time" (G_fan) {channel="miio:basic:fan:usedhours"}
Number angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number poweroffTime "Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Number:Angle angle "Angle" (G_fan) {channel="miio:basic:fan:angle"}
Number:Time poweroffTime "Power-Off Timer" (G_fan) {channel="miio:basic:fan:poweroffTime"}
Switch buzzer "Buzzer" (G_fan) {channel="miio:basic:fan:buzzer"}
Number led_b "LED" (G_fan) {channel="miio:basic:fan:led_b"}
Switch child_lock "Child Lock" (G_fan) {channel="miio:basic:fan:child_lock"}
Number speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Dimmer speedLevel "Speed Level" (G_fan) {channel="miio:basic:fan:speedLevel"}
Number speed "Speed" (G_fan) {channel="miio:basic:fan:speed"}
Number naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Dimmer naturalLevel "Natural Level" (G_fan) {channel="miio:basic:fan:naturalLevel"}
Switch acPower "AC Power" (G_fan) {channel="miio:basic:fan:acPower"}
String move "Move Direction" (G_fan) {channel="miio:basic:fan:move"}
```

View File

@ -52,6 +52,7 @@ public enum MiIoQuantiyTypes {
LITRE(Units.LITRE, "liter"),
LUX(Units.LUX),
RADIANS(Units.RADIAN, "radians"),
DEGREE(Units.DEGREE_ANGLE, "degree"),
KILOWATT_HOUR(Units.KILOWATT_HOUR, "kwh", "kWH"),
SQUARE_METRE(SIUnits.SQUARE_METRE, "square_meter", "squaremeter"),
PERCENT(Units.PERCENT, "percentage"),

View File

@ -12,8 +12,6 @@
*/
package org.openhab.binding.miio.internal.basic;
import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -30,12 +28,13 @@ import com.google.gson.JsonPrimitive;
public class Conversions {
private static final Logger LOGGER = LoggerFactory.getLogger(Conversions.class);
public static JsonElement secondsToHours(JsonElement seconds) {
long hours = TimeUnit.SECONDS.toHours(seconds.getAsInt());
return new JsonPrimitive(hours);
public static JsonElement secondsToHours(JsonElement seconds) throws ClassCastException {
double value = seconds.getAsDouble() / 3600;
return new JsonPrimitive(value);
}
public static JsonElement yeelightSceneConversion(JsonElement intValue) {
public static JsonElement yeelightSceneConversion(JsonElement intValue)
throws ClassCastException, IllegalStateException {
switch (intValue.getAsInt()) {
case 1:
return new JsonPrimitive("color");
@ -54,17 +53,17 @@ public class Conversions {
}
}
public static JsonElement divideTen(JsonElement value10) {
public static JsonElement divideTen(JsonElement value10) throws ClassCastException, IllegalStateException {
double value = value10.getAsDouble() / 10.0;
return new JsonPrimitive(value);
}
public static JsonElement divideHundred(JsonElement value10) {
public static JsonElement divideHundred(JsonElement value10) throws ClassCastException, IllegalStateException {
double value = value10.getAsDouble() / 100.0;
return new JsonPrimitive(value);
}
public static JsonElement tankLevel(JsonElement value12) {
public static JsonElement tankLevel(JsonElement value12) throws ClassCastException, IllegalStateException {
// 127 without water tank. 120 = 100% water
if (value12.getAsInt() == 127) {
return new JsonPrimitive(-1);
@ -75,20 +74,25 @@ public class Conversions {
}
public static JsonElement execute(String transfortmation, JsonElement value) {
switch (transfortmation.toUpperCase()) {
case "YEELIGHTSCENEID":
return yeelightSceneConversion(value);
case "SECONDSTOHOURS":
return secondsToHours(value);
case "/10":
return divideTen(value);
case "/100":
return divideHundred(value);
case "TANKLEVEL":
return tankLevel(value);
default:
LOGGER.debug("Transformation {} not found. Returning '{}'", transfortmation, value.toString());
return value;
try {
switch (transfortmation.toUpperCase()) {
case "YEELIGHTSCENEID":
return yeelightSceneConversion(value);
case "SECONDSTOHOURS":
return secondsToHours(value);
case "/10":
return divideTen(value);
case "/100":
return divideHundred(value);
case "TANKLEVEL":
return tankLevel(value);
default:
LOGGER.debug("Transformation {} not found. Returning '{}'", transfortmation, value.toString());
return value;
}
} catch (ClassCastException | IllegalStateException e) {
LOGGER.debug("Transformation {} failed. Returning '{}'", transfortmation, value.toString());
return value;
}
}
}

View File

@ -9,7 +9,6 @@
"property": "power",
"friendlyName": "Power",
"channel": "power",
"channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
@ -27,7 +26,6 @@
"property": "angle_enable",
"friendlyName": "Rotation",
"channel": "angleEnable",
"channelType": "angleEnable",
"type": "Switch",
"refresh": true,
"actions": [
@ -35,64 +33,101 @@
"command": "set_angle_enable",
"parameterType": "ONOFF"
}
],
"category": "switch",
"tags": [
"Switch"
]
},
{
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
"channelType": "usedhours",
"type": "Number:Time",
"unit": "hours",
"refresh": true,
"transformation": "SecondsToHours",
"ChannelGroup": "Status",
"actions": [],
"category": "time"
"category": "time",
"tags": [
"Measurement",
"Duration"
]
},
{
"property": "angle",
"friendlyName": "Angle",
"channel": "angle",
"channelType": "angle",
"type": "Number",
"type": "Number:Angle",
"unit": "degree",
"stateDescription": {
"options": [
{
"value": "30",
"label": "30"
},
{
"value": "60",
"label": "60"
},
{
"value": "90",
"label": "90"
},
{
"value": "120",
"label": "120"
}
]
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_angle",
"parameterType": "NUMBER"
}
]
],
"category": "incline",
"tags": [
"Setpoint"
],
"readmeComment": "Value mapping `[\"30\"\u003d\"30\",\"60\"\u003d\"60\",\"90\"\u003d\"90\",\"120\"\u003d\"120\"]`"
},
{
"property": "poweroff_time",
"friendlyName": "Timer",
"friendlyName": "Power-Off Timer",
"channel": "poweroffTime",
"channelType": "poweroffTime",
"type": "Number",
"type": "Number:Time",
"unit": "hours",
"refresh": true,
"ChannelGroup": "actions",
"transformation": "SecondsToHours",
"actions": [
{
"command": "set_poweroff_time",
"parameterType": "NUMBER"
}
],
"category": "time",
"tags": [
"Setpoint",
"Duration"
]
},
{
"property": "buzzer",
"friendlyName": "Buzzer",
"channel": "buzzer",
"channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_buzzer",
"parameterType": "ONOFF"
}
],
"category": "soundvolume",
"tags": [
"Switch"
]
},
{
@ -100,14 +135,34 @@
"friendlyName": "LED",
"channel": "led_b",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "Bright"
},
{
"value": "1",
"label": "Dimmed"
},
{
"value": "2",
"label": "Off"
}
]
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_led_b",
"parameterType": "NUMBER"
}
]
],
"category": "light",
"tags": [
"Control"
],
"readmeComment": "Value mapping `[\"0\"\u003d\"Bright\",\"1\"\u003d\"Dimmed\",\"2\"\u003d\"Off\"]`"
},
{
"property": "child_lock",
@ -115,83 +170,130 @@
"channel": "child_lock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_child_lock",
"parameterType": "ONOFF"
}
],
"category": "lock",
"tags": [
"Control"
]
},
{
"property": "speed_level",
"friendlyName": "Speed Level",
"channel": "speedLevel",
"channelType": "speedLevel",
"type": "Number",
"type": "Dimmer",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %%"
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_speed_level",
"parameterType": "NUMBER"
}
],
"category": "fan",
"tags": [
"Setpoint",
"Level"
]
},
{
"property": "speed",
"friendlyName": "Speed",
"channel": "speed",
"channelType": "speed",
"type": "Number",
"stateDescription": {
"pattern": "%.0f RPM",
"readOnly": true
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_speed",
"parameterType": "NUMBER"
}
"actions": [],
"category": "fan",
"tags": [
"Measurement",
"Level"
]
},
{
"property": "natural_level",
"friendlyName": "Natural Level",
"channel": "naturalLevel",
"channelType": "naturalLevel",
"type": "Number",
"type": "Dimmer",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %%"
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_natural_level",
"parameterType": "NUMBER"
}
],
"category": "flow",
"tags": [
"Setpoint",
"Level"
]
},
{
"property": "ac_power",
"friendlyName": "AC Power",
"channel": "acPower",
"channelType": "acPower",
"type": "Switch",
"stateDescription": {
"readOnly": true
},
"refresh": true,
"ChannelGroup": "Status",
"actions": []
"actions": [],
"category": "poweroutlet_eu",
"tags": [
"Switch"
]
},
{
"property": "",
"friendlyName": "Move Direction",
"channel": "move",
"channelType": "move",
"type": "String",
"stateDescription": {
"options": [
{
"value": "",
"label": "None"
},
{
"value": "left",
"label": "Left"
},
{
"value": "right",
"label": "Right"
}
]
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_move",
"parameterType": "STRING"
}
]
],
"category": "movecontrol",
"tags": [
"Control"
],
"readmeComment": "Value mapping `[\"\"\u003d\"None\",\"left\"\u003d\"Left\",\"right\"\u003d\"Right\"]`"
}
]
}

View File

@ -10,7 +10,6 @@
"property": "power",
"friendlyName": "Power",
"channel": "power",
"channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
@ -28,7 +27,6 @@
"property": "angle_enable",
"friendlyName": "Rotation",
"channel": "angleEnable",
"channelType": "angleEnable",
"type": "Switch",
"refresh": true,
"actions": [
@ -36,64 +34,101 @@
"command": "set_angle_enable",
"parameterType": "ONOFF"
}
],
"category": "switch",
"tags": [
"Switch"
]
},
{
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
"channelType": "usedhours",
"type": "Number:Time",
"unit": "hours",
"refresh": true,
"transformation": "SecondsToHours",
"ChannelGroup": "Status",
"actions": [],
"category": "time"
"category": "time",
"tags": [
"Measurement",
"Duration"
]
},
{
"property": "angle",
"friendlyName": "Angle",
"channel": "angle",
"channelType": "angle",
"type": "Number",
"type": "Number:Angle",
"unit": "degree",
"stateDescription": {
"options": [
{
"value": "30",
"label": "30"
},
{
"value": "60",
"label": "60"
},
{
"value": "90",
"label": "90"
},
{
"value": "120",
"label": "120"
}
]
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_angle",
"parameterType": "NUMBER"
}
]
],
"category": "incline",
"tags": [
"Setpoint"
],
"readmeComment": "Value mapping `[\"30\"\u003d\"30\",\"60\"\u003d\"60\",\"90\"\u003d\"90\",\"120\"\u003d\"120\"]`"
},
{
"property": "poweroff_time",
"friendlyName": "Timer",
"friendlyName": "Power-Off Timer",
"channel": "poweroffTime",
"channelType": "poweroffTime",
"type": "Number",
"type": "Number:Time",
"unit": "hours",
"refresh": true,
"ChannelGroup": "actions",
"transformation": "SecondsToHours",
"actions": [
{
"command": "set_poweroff_time",
"parameterType": "NUMBER"
}
],
"category": "time",
"tags": [
"Setpoint",
"Duration"
]
},
{
"property": "buzzer",
"friendlyName": "Buzzer",
"channel": "buzzer",
"channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_buzzer",
"parameterType": "ONOFF"
}
],
"category": "soundvolume",
"tags": [
"Switch"
]
},
{
@ -101,14 +136,34 @@
"friendlyName": "LED",
"channel": "led_b",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "Bright"
},
{
"value": "1",
"label": "Dimmed"
},
{
"value": "2",
"label": "Off"
}
]
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_led_b",
"parameterType": "NUMBER"
}
]
],
"category": "light",
"tags": [
"Control"
],
"readmeComment": "Value mapping `[\"0\"\u003d\"Bright\",\"1\"\u003d\"Dimmed\",\"2\"\u003d\"Off\"]`"
},
{
"property": "child_lock",
@ -116,52 +171,70 @@
"channel": "child_lock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_child_lock",
"parameterType": "ONOFF"
}
],
"category": "lock",
"tags": [
"Control"
]
},
{
"property": "speed_level",
"friendlyName": "Speed Level",
"channel": "speedLevel",
"channelType": "speedLevel",
"type": "Number",
"type": "Dimmer",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %%"
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_speed_level",
"parameterType": "NUMBER"
}
],
"category": "fan",
"tags": [
"Setpoint",
"Level"
]
},
{
"property": "speed",
"friendlyName": "Speed",
"channel": "speed",
"channelType": "speed",
"type": "Number",
"stateDescription": {
"pattern": "%.0f RPM",
"readOnly": true
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_speed",
"parameterType": "NUMBER"
}
"actions": [],
"category": "fan",
"tags": [
"Measurement",
"Level"
]
},
{
"property": "natural_level",
"friendlyName": "Natural Level",
"channel": "naturalLevel",
"channelType": "naturalLevel",
"type": "Number",
"type": "Dimmer",
"stateDescription": {
"minimum": 1,
"maximum": 100,
"step": 1,
"pattern": "%.0f %%"
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_natural_level",
@ -204,21 +277,25 @@
"property": "ac_power",
"friendlyName": "AC Power",
"channel": "acPower",
"channelType": "acPower",
"type": "String",
"type": "Switch",
"stateDescription": {
"readOnly": true
},
"refresh": true,
"ChannelGroup": "Status",
"actions": []
"actions": [],
"category": "poweroutlet_eu",
"tags": [
"Switch"
]
},
{
"property": "bat_charge",
"friendlyName": "Battery Charge",
"channel": "mode",
"channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"actions": []
"actions": [],
"category": "batterylevel"
},
{
"property": "battery",
@ -227,23 +304,41 @@
"channelType": "system:battery-level",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"actions": []
},
{
"property": "",
"friendlyName": "Move Direction",
"channel": "move",
"channelType": "move",
"type": "String",
"stateDescription": {
"options": [
{
"value": "",
"label": "None"
},
{
"value": "left",
"label": "Left"
},
{
"value": "right",
"label": "Right"
}
]
},
"refresh": true,
"ChannelGroup": "actions",
"actions": [
{
"command": "set_move",
"parameterType": "STRING"
}
]
],
"category": "movecontrol",
"tags": [
"Control"
],
"readmeComment": "Value mapping `[\"\"\u003d\"None\",\"left\"\u003d\"Left\",\"right\"\u003d\"Right\"]`"
}
]
}