return new MiIoGenericHandler(thing, miIoDatabaseWatchService);
}
if (thingTypeUID.equals(THING_TYPE_BASIC)) {
- return new MiIoBasicHandler(thing, miIoDatabaseWatchService);
+ return new MiIoBasicHandler(thing, miIoDatabaseWatchService, channelTypeRegistry);
}
if (thingTypeUID.equals(THING_TYPE_VACUUM)) {
return new MiIoVacuumHandler(thing, miIoDatabaseWatchService, cloudConnector, channelTypeRegistry);
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
+import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
private final int id;
private final MiIoCommand command;
- private final String commandString;
+ private final JsonObject commandJson;
private @Nullable JsonObject response;
public void setResponse(JsonObject response) {
this.response = response;
}
- public MiIoSendCommand(int id, MiIoCommand command, String commandString) {
+ public MiIoSendCommand(int id, MiIoCommand command, JsonObject fullCommand) {
this.id = id;
this.command = command;
- this.commandString = commandString;
+ this.commandJson = fullCommand;
}
public int getId() {
return command;
}
+ public JsonObject getCommandJson() {
+ return commandJson;
+ }
+
public String getCommandString() {
- return commandString;
+ return commandJson.toString();
+ }
+
+ public String getMethod() {
+ return commandJson.has("method") ? commandJson.get("method").getAsString() : "";
+ }
+
+ public JsonElement getParams() {
+ return commandJson.has("params") ? commandJson.get("params").getAsJsonArray() : new JsonArray();
}
public JsonObject getResponse() {
@SerializedName("refresh")
@Expose
private @Nullable Boolean refresh;
+ @SerializedName("customRefreshCommand")
+ @Expose
+ private @Nullable String channelCustomRefreshCommand;
@SerializedName("transformation")
@Expose
private @Nullable String transfortmation;
public String getChannelType() {
final @Nullable String ct = channelType;
if (ct == null || ct.isEmpty()) {
- return BINDING_ID + ":" + getChannel();
+ return "";
} else {
return (ct.startsWith("system") ? ct : BINDING_ID + ":" + ct);
}
this.refresh = refresh;
}
+ public String getChannelCustomRefreshCommand() {
+ final @Nullable String channelCustomRefreshCommand = this.channelCustomRefreshCommand;
+ return channelCustomRefreshCommand != null ? channelCustomRefreshCommand : "";
+ }
+
+ public void setChannelCustomRefreshCommand(String channelCustomRefreshCommand) {
+ this.channelCustomRefreshCommand = channelCustomRefreshCommand;
+ }
+
public String getChannelGroup() {
final @Nullable String channelGroup = this.channelGroup;
return channelGroup != null ? channelGroup : "";
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.binding.builder.ChannelBuilder;
import org.openhab.core.thing.binding.builder.ThingBuilder;
+import org.openhab.core.thing.type.ChannelTypeRegistry;
import org.openhab.core.thing.type.ChannelTypeUID;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
*/
@NonNullByDefault
public class MiIoBasicHandler extends MiIoAbstractHandler {
-
private final Logger logger = LoggerFactory.getLogger(MiIoBasicHandler.class);
private boolean hasChannelStructure;
});
List<MiIoBasicChannel> refreshList = new ArrayList<>();
+ private Map<String, MiIoBasicChannel> refreshListCustomCommands = new HashMap<>();
private @Nullable MiIoBasicDevice miioDevice;
private Map<ChannelUID, MiIoBasicChannel> actions = new HashMap<>();
+ private ChannelTypeRegistry channelTypeRegistry;
- public MiIoBasicHandler(Thing thing, MiIoDatabaseWatchService miIoDatabaseWatchService) {
+ public MiIoBasicHandler(Thing thing, MiIoDatabaseWatchService miIoDatabaseWatchService,
+ ChannelTypeRegistry channelTypeRegistry) {
super(thing, miIoDatabaseWatchService);
+ this.channelTypeRegistry = channelTypeRegistry;
}
@Override
hasChannelStructure = false;
isIdentified = false;
refreshList = new ArrayList<>();
+ refreshListCustomCommands = new HashMap<>();
}
@Override
final MiIoBasicDevice midevice = miioDevice;
if (midevice != null) {
refreshProperties(midevice);
+ refreshCustomProperties(midevice);
refreshNetwork();
}
} catch (Exception e) {
}
}
+ private void refreshCustomProperties(MiIoBasicDevice midevice) {
+ for (MiIoBasicChannel miChannel : refreshListCustomCommands.values()) {
+ sendCommand(miChannel.getChannelCustomRefreshCommand());
+ }
+ }
+
private boolean refreshProperties(MiIoBasicDevice device) {
MiIoCommand command = MiIoCommand.getCommand(device.getDevice().getPropertyMethod());
int maxProperties = device.getDevice().getMaxProperties();
if (miioDevice != null) {
for (MiIoBasicChannel miChannel : miioDevice.getDevice().getChannels()) {
if (miChannel.getRefresh()) {
- refreshList.add(miChannel);
+ if (miChannel.getChannelCustomRefreshCommand().isBlank()) {
+ refreshList.add(miChannel);
+ } else {
+ String i = miChannel.getChannelCustomRefreshCommand().split("\\[")[0];
+ refreshListCustomCommands.put(i.trim(), miChannel);
+ }
}
}
}
return null;
}
ChannelUID channelUID = new ChannelUID(getThing().getUID(), channel);
- ChannelTypeUID channelTypeUID = new ChannelTypeUID(channelType);
// TODO: Need to understand if this harms anything. If yes, channel only to be added when not there already.
// current way allows to have no issues when channels are changing.
logger.info("Channel '{}' for thing {} already exist... removing", channel, getThing().getUID());
thingBuilder.withoutChannel(new ChannelUID(getThing().getUID(), channel));
}
- Channel newChannel = ChannelBuilder.create(channelUID, datatype).withType(channelTypeUID)
- .withLabel(friendlyName).build();
- thingBuilder.withChannel(newChannel);
+ ChannelBuilder newChannel = ChannelBuilder.create(channelUID, datatype).withLabel(friendlyName);
+ if (!channelType.isBlank()) {
+ ChannelTypeUID channelTypeUID = new ChannelTypeUID(channelType);
+ if (channelTypeRegistry.getChannelType(channelTypeUID) != null) {
+ newChannel = newChannel.withType(channelTypeUID);
+ } else {
+ logger.debug("ChannelType '{}' is not available. Check the Json file for {}", channelTypeUID,
+ getThing().getUID());
+ }
+ }
+ thingBuilder.withChannel(newChannel.build());
return channelUID;
}
}
break;
default:
+ if (refreshListCustomCommands.containsKey(response.getMethod())) {
+ logger.debug("Processing custom refresh command response for !{}", response.getMethod());
+ MiIoBasicChannel ch = refreshListCustomCommands.get(response.getMethod());
+ if (response.getResult().isJsonArray()) {
+ JsonArray cmdResponse = response.getResult().getAsJsonArray();
+ final String transformation = ch.getTransfortmation();
+ if (transformation == null || transformation.isBlank()) {
+ updateChannel(ch, ch.getChannel(),
+ cmdResponse.get(0).isJsonPrimitive() ? cmdResponse.get(0)
+ : new JsonPrimitive(cmdResponse.get(0).toString()));
+ } else {
+ updateChannel(ch, ch.getChannel(), cmdResponse);
+ }
+ } else {
+ updateChannel(ch, ch.getChannel(), new JsonPrimitive(response.getResult().toString()));
+ }
+ }
break;
}
} catch (Exception e) {
import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.miio.internal.MiIoBindingConfiguration;
import org.openhab.binding.miio.internal.MiIoCommand;
import org.openhab.binding.miio.internal.MiIoDevices;
sb.append("Properties: ");
int lastCommand = -1;
for (String c : channelList.keySet()) {
- String cmd = "get_prop[" + c + "]";
+ MiIoBasicChannel ch = channelList.get(c);
+ String cmd = ch.getChannelCustomRefreshCommand().isBlank() ? ("get_prop[" + c + "]")
+ : ch.getChannelCustomRefreshCommand();
sb.append(c);
sb.append(" -> ");
lastCommand = sendCommand(cmd);
logger.info("{}", sb.toString());
}
- private LinkedHashMap<String, MiIoBasicChannel> collectProperties(String model) {
+ private LinkedHashMap<String, MiIoBasicChannel> collectProperties(@Nullable String model) {
LinkedHashMap<String, MiIoBasicChannel> testChannelsList = new LinkedHashMap<>();
LinkedHashSet<MiIoDevices> testDeviceList = new LinkedHashSet<>();
-
+ if (model == null || model.length() < 2) {
+ logger.info("Wait until the model is determined, than try again");
+ return testChannelsList;
+ }
// first add similar devices to test those channels first, then test all others
int[] subset = { model.length() - 1, model.lastIndexOf("."), model.indexOf("."), 0 };
for (int i : subset) {
}
for (MiIoDevices dev : testDeviceList) {
for (MiIoBasicChannel ch : getBasicChannels(dev.getModel())) {
- if (!ch.isMiOt() && !ch.getProperty().isBlank() && !testChannelsList.containsKey(ch.getProperty())) {
+ // Add all (unique) properties
+ if (!ch.isMiOt() && !ch.getProperty().isBlank() && ch.getChannelCustomRefreshCommand().isBlank()
+ && !testChannelsList.containsKey(ch.getProperty())) {
testChannelsList.put(ch.getProperty(), ch);
}
+ // Add all (unique) custom refresh commands
+ if (!ch.isMiOt() && !ch.getChannelCustomRefreshCommand().isBlank()
+ && !testChannelsList.containsKey(ch.getChannelCustomRefreshCommand())) {
+ testChannelsList.put(ch.getChannelCustomRefreshCommand(), ch);
+ }
}
}
return testChannelsList;
fullCommand.addProperty("id", cmdId);
fullCommand.addProperty("method", command);
fullCommand.add("params", parser.parse(params));
- MiIoSendCommand sendCmd = new MiIoSendCommand(cmdId, MiIoCommand.getCommand(command),
- fullCommand.toString());
+ MiIoSendCommand sendCmd = new MiIoSendCommand(cmdId, MiIoCommand.getCommand(command), fullCommand);
concurrentLinkedQueue.add(sendCmd);
if (logger.isDebugEnabled()) {
// Obfuscate part of the token to allow sharing of the logfiles
"property": "pm25",
"friendlyName": "PM2.5",
"channel": "pm25",
+ "channelType": "pm25",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "co2e",
"friendlyName": "CO2e",
"channel": "co2",
+ "channelType": "co2",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "tvoc",
"friendlyName": "tVOC",
"channel": "tvoc",
+ "channelType": "tvoc",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "pm25",
"friendlyName": "PM2.5",
"channel": "pm25",
+ "channelType": "pm25",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "co2",
"friendlyName": "CO2",
"channel": "co2",
+ "channelType": "co2",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "tvoc",
"friendlyName": "tVOC",
"channel": "tvoc",
+ "channelType": "tvoc",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "wifi_led",
"friendlyName": "Indicator light",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "on",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "usb_on",
"friendlyName": "USB",
"channel": "usb",
+ "channelType": "usb",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "usb_on",
"friendlyName": "USB",
"channel": "usb",
+ "channelType": "usb",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "usb_on",
"friendlyName": "USB",
"channel": "usb",
+ "channelType": "usb",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "wifi_led",
"friendlyName": "Wifi LED",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
- "readmeComment": "If this channel does not respond to on/off replace the model with chuangmi.plug.v3old in the config or upgrade firmware",
"actions": [
{
"command": "set_power",
"parameterType": "ONOFF"
}
- ]
+ ],
+ "readmeComment": "If this channel does not respond to on/off replace the model with chuangmi.plug.v3old in the config or upgrade firmware"
},
{
"property": "usb_on",
"friendlyName": "USB",
"channel": "usb",
+ "channelType": "usb",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "wifi_led",
"friendlyName": "Wifi LED",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "airFreshMode",
+ "channelType": "airFreshMode",
"type": "String",
"refresh": true,
"actions": [
"property": "ptc_on",
"friendlyName": "PTC",
"channel": "airFreshPTCPower",
+ "channelType": "airFreshPTCPower",
"type": "Switch",
"refresh": true,
"actions": [
"property": "ptc_status",
"friendlyName": "PTC Status",
"channel": "airFreshPTCStatus",
+ "channelType": "airFreshPTCStatus",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "display",
"friendlyName": "Display",
"channel": "airFreshDisplay",
+ "channelType": "airFreshDisplay",
"type": "Switch",
"refresh": true,
"actions": [
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "airFreshChildLock",
+ "channelType": "airFreshChildLock",
"type": "Switch",
"refresh": true,
"actions": [
"property": "sound",
"friendlyName": "Sound",
"channel": "airFreshSound",
+ "channelType": "airFreshSound",
"type": "Switch",
"refresh": true,
"actions": [
"property": "pm25",
"friendlyName": "PM2.5",
"channel": "airFreshPM25",
+ "channelType": "airFreshPM25",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "co2",
"friendlyName": "CO2",
"channel": "airFreshCO2",
+ "channelType": "airFreshCO2",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "control_speed",
"friendlyName": "Current Speed",
"channel": "airFreshCurrentSpeed",
+ "channelType": "airFreshCurrentSpeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "favourite_speed",
"friendlyName": "Favorite Speed",
"channel": "airFreshFavoriteSpeed",
+ "channelType": "airFreshFavoriteSpeed",
"type": "Number",
"refresh": true,
"actions": [
"property": "temperature_outside",
"friendlyName": "Temperature Outside",
"channel": "airFreshTemperature",
+ "channelType": "airFreshTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "filter_rate",
"friendlyName": "Filter Percents Remaining",
"channel": "airFreshFilterPercents",
+ "channelType": "airFreshFilterPercents",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "filter_day",
"friendlyName": "Filter Days Remaining",
"channel": "airFreshFilterDays",
+ "channelType": "airFreshFilterDays",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "",
"friendlyName": "Reset Filter",
"channel": "airFreshResetFilterA1",
+ "channelType": "airFreshResetFilterA1",
"type": "String",
"refresh": false,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "airFreshMode",
+ "channelType": "airFreshMode",
"type": "String",
"refresh": true,
"actions": [
"property": "ptc_on",
"friendlyName": "PTC",
"channel": "airFreshPTCPower",
+ "channelType": "airFreshPTCPower",
"type": "Switch",
"refresh": true,
"actions": [
"property": "ptc_level",
"friendlyName": "PTC Level",
"channel": "airFreshPtcLevel",
+ "channelType": "airFreshPtcLevel",
"type": "String",
"refresh": true,
"actions": [
"property": "ptc_status",
"friendlyName": "PTC Status",
"channel": "airFreshPTCStatus",
+ "channelType": "airFreshPTCStatus",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "screen_direction",
"friendlyName": "Screen direction",
"channel": "airFreshDisplayDirection",
+ "channelType": "airFreshDisplayDirection",
"type": "String",
"refresh": true,
"actions": [
"property": "display",
"friendlyName": "Display",
"channel": "airFreshDisplay",
+ "channelType": "airFreshDisplay",
"type": "Switch",
"refresh": true,
"actions": [
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "airFreshChildLock",
+ "channelType": "airFreshChildLock",
"type": "Switch",
"refresh": true,
"actions": [
"property": "sound",
"friendlyName": "Sound",
"channel": "airFreshSound",
+ "channelType": "airFreshSound",
"type": "Switch",
"refresh": true,
"actions": [
"property": "pm25",
"friendlyName": "PM2.5",
"channel": "airFreshPM25",
+ "channelType": "airFreshPM25",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "co2",
"friendlyName": "CO2",
"channel": "airFreshCO2",
+ "channelType": "airFreshCO2",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "control_speed",
"friendlyName": "Current Speed",
"channel": "airFreshCurrentSpeed",
+ "channelType": "airFreshCurrentSpeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "favourite_speed",
"friendlyName": "Favorite Speed",
"channel": "airFreshFavoriteSpeed",
+ "channelType": "airFreshFavoriteSpeed",
"type": "Number",
"refresh": true,
"actions": [
"property": "temperature_outside",
"friendlyName": "Temperature Outside",
"channel": "airFreshTemperature",
+ "channelType": "airFreshTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "filter_intermediate",
"friendlyName": "Filter Percents Remaining",
"channel": "airFreshFilterPercents",
+ "channelType": "airFreshFilterPercents",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "filter_inter_day",
"friendlyName": "Filter Days Remaining",
"channel": "airFreshFilterDays",
+ "channelType": "airFreshFilterDays",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "filter_efficient",
"friendlyName": "Filter Pro Percents Remaining",
"channel": "airFreshFilterProPercents",
+ "channelType": "airFreshFilterProPercents",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "filter_effi_day",
"friendlyName": "Filter Pro Days Remaining",
"channel": "airFreshFilterProDays",
+ "channelType": "airFreshFilterProDays",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "",
"friendlyName": "Reset Filter",
"channel": "airFreshResetFilter",
+ "channelType": "airFreshResetFilter",
"type": "String",
"refresh": false,
"ChannelGroup": "actions",
{
- "deviceMapping": {
- "id": [
- "dmaker.fan.p5"
- ],
- "channels": [
- {
- "property": "power",
- "friendlyName": "Power",
- "channel": "power",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "s_power",
- "parameterType": "ONOFF"
- }
- ]
- },
- {
- "property": "roll",
- "friendlyName": "Rotation",
- "channel": "roll",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "s_roll",
- "parameterType": "ONOFF"
- }
- ]
- },
- {
- "property": "mode",
- "friendlyName": "Mode",
- "channel": "mode",
- "type": "Number",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_mode",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "roll_angle",
- "friendlyName": "Angle",
- "channel": "angle",
- "type": "Number",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_angle",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "timer_off",
- "friendlyName": "Timer",
- "channel": "timer",
- "type": "Number",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_t_off",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "beep_sound",
- "friendlyName": "Beep Sound",
- "channel": "beep",
- "type": "Switch",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_beep_sound",
- "parameterType": "ONOFF"
- }
- ]
- },
- {
- "property": "light",
- "friendlyName": "Light",
- "channel": "light",
- "type": "Number",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_light",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "child_lock",
- "friendlyName": "Child Lock",
- "channel": "child_lock",
- "type": "Switch",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_lock",
- "parameterType": "ONOFF"
- }
- ]
- },
- {
- "property": "speed",
- "friendlyName": "Speed",
- "channel": "speed",
- "type": "Number",
- "refresh": true,
- "ChannelGroup": "actions",
- "actions": [
- {
- "command": "s_speed",
- "parameterType": "NUMBER"
- }
- ]
- }
- ]
- }
+ "deviceMapping": {
+ "id": [
+ "dmaker.fan.p5"
+ ],
+ "channels": [
+ {
+ "property": "power",
+ "friendlyName": "Power",
+ "channel": "power",
+ "channelType": "power",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "s_power",
+ "parameterType": "ONOFF"
+ }
+ ]
+ },
+ {
+ "property": "roll",
+ "friendlyName": "Rotation",
+ "channel": "roll",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "s_roll",
+ "parameterType": "ONOFF"
+ }
+ ]
+ },
+ {
+ "property": "mode",
+ "friendlyName": "Mode",
+ "channel": "mode",
+ "channelType": "mode",
+ "type": "Number",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_mode",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "roll_angle",
+ "friendlyName": "Angle",
+ "channel": "angle",
+ "channelType": "angle",
+ "type": "Number",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_angle",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "timer_off",
+ "friendlyName": "Timer",
+ "channel": "timer",
+ "type": "Number",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_t_off",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "beep_sound",
+ "friendlyName": "Beep Sound",
+ "channel": "beep",
+ "type": "Switch",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_beep_sound",
+ "parameterType": "ONOFF"
+ }
+ ]
+ },
+ {
+ "property": "light",
+ "friendlyName": "Light",
+ "channel": "light",
+ "type": "Number",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_light",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "child_lock",
+ "friendlyName": "Child Lock",
+ "channel": "child_lock",
+ "type": "Switch",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_lock",
+ "parameterType": "ONOFF"
+ }
+ ]
+ },
+ {
+ "property": "speed",
+ "friendlyName": "Speed",
+ "channel": "speed",
+ "channelType": "speed",
+ "type": "Number",
+ "refresh": true,
+ "ChannelGroup": "actions",
+ "actions": [
+ {
+ "command": "s_speed",
+ "parameterType": "NUMBER"
+ }
+ ]
+ }
+ ]
+ }
}
{
- "deviceMapping": {
- "id": [
- "dmaker.fan.p8",
- "dmaker.fan.1c"
- ],
- "propertyMethod": "get_properties",
- "maxProperties": 2,
- "channels": [
- {
- "property": "manufacturer",
- "siid": 1,
- "piid": 1,
- "friendlyName": "Device Information-Device Manufacturer",
- "channel": "Manufacturer",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "model",
- "siid": 1,
- "piid": 2,
- "friendlyName": "Device Information-Device Model",
- "channel": "Model",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "serial-number",
- "siid": 1,
- "piid": 3,
- "friendlyName": "Device Information-Device Serial Number",
- "channel": "SerialNumber",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "firmware-revision",
- "siid": 1,
- "piid": 4,
- "friendlyName": "Device Information-Current Firmware Version",
- "channel": "FirmwareRevision",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "on",
- "siid": 2,
- "piid": 1,
- "friendlyName": "Fan-Switch Status",
- "channel": "On",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "fan-level",
- "siid": 2,
- "piid": 2,
- "friendlyName": "Fan-Fan Level",
- "channel": "FanLevel",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "horizontal-swing",
- "siid": 2,
- "piid": 3,
- "friendlyName": "Fan-Horizontal Swing",
- "channel": "HorizontalSwing",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "mode",
- "siid": 2,
- "piid": 7,
- "friendlyName": "Fan-Mode",
- "channel": "Mode",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "off-delay-time",
- "siid": 2,
- "piid": 10,
- "friendlyName": "Fan-Power Off Delay Time",
- "channel": "OffDelayTime",
- "channelType": "miot_uint16",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "alarm",
- "siid": 2,
- "piid": 11,
- "friendlyName": "Fan-Alarm",
- "channel": "Alarm",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "brightness",
- "siid": 2,
- "piid": 12,
- "friendlyName": "Fan-Brightness",
- "channel": "Brightness",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "physical-controls-locked",
- "siid": 3,
- "piid": 1,
- "friendlyName": "Physical Control Locked-Physical Control Locked",
- "channel": "PhysicalControlsLocked",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- }
- ]
- }
+ "deviceMapping": {
+ "id": [
+ "dmaker.fan.p8",
+ "dmaker.fan.1c"
+ ],
+ "propertyMethod": "get_properties",
+ "maxProperties": 2,
+ "channels": [
+ {
+ "property": "manufacturer",
+ "siid": 1,
+ "piid": 1,
+ "friendlyName": "Device Information-Device Manufacturer",
+ "channel": "Manufacturer",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "model",
+ "siid": 1,
+ "piid": 2,
+ "friendlyName": "Device Information-Device Model",
+ "channel": "Model",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "serial-number",
+ "siid": 1,
+ "piid": 3,
+ "friendlyName": "Device Information-Device Serial Number",
+ "channel": "SerialNumber",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "firmware-revision",
+ "siid": 1,
+ "piid": 4,
+ "friendlyName": "Device Information-Current Firmware Version",
+ "channel": "FirmwareRevision",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "on",
+ "siid": 2,
+ "piid": 1,
+ "friendlyName": "Fan-Switch Status",
+ "channel": "On",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "fan-level",
+ "siid": 2,
+ "piid": 2,
+ "friendlyName": "Fan-Fan Level",
+ "channel": "FanLevel",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "horizontal-swing",
+ "siid": 2,
+ "piid": 3,
+ "friendlyName": "Fan-Horizontal Swing",
+ "channel": "HorizontalSwing",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "mode",
+ "siid": 2,
+ "piid": 7,
+ "friendlyName": "Fan-Mode",
+ "channel": "Mode",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "off-delay-time",
+ "siid": 2,
+ "piid": 10,
+ "friendlyName": "Fan-Power Off Delay Time",
+ "channel": "OffDelayTime",
+ "channelType": "miot_uint16",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "alarm",
+ "siid": 2,
+ "piid": 11,
+ "friendlyName": "Fan-Alarm",
+ "channel": "Alarm",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "brightness",
+ "siid": 2,
+ "piid": 12,
+ "friendlyName": "Fan-Brightness",
+ "channel": "Brightness",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "physical-controls-locked",
+ "siid": 3,
+ "piid": 1,
+ "friendlyName": "Physical Control Locked-Physical Control Locked",
+ "channel": "PhysicalControlsLocked",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ }
+ ]
+ }
}
{
- "deviceMapping": {
- "id": [
- "dmaker.fan.p9",
- "dmaker.fan.p10"
- ],
- "propertyMethod": "get_properties",
- "maxProperties": 2,
- "channels": [
- {
- "property": "manufacturer",
- "siid": 1,
- "piid": 1,
- "friendlyName": "Device Information-Device Manufacturer",
- "channel": "Manufacturer",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "model",
- "siid": 1,
- "piid": 2,
- "friendlyName": "Device Information-Device Model",
- "channel": "Model",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "serial-number",
- "siid": 1,
- "piid": 3,
- "friendlyName": "Device Information-Device Serial Number",
- "channel": "SerialNumber",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "firmware-revision",
- "siid": 1,
- "piid": 4,
- "friendlyName": "Device Information-Current Firmware Version",
- "channel": "FirmwareRevision",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "on",
- "siid": 2,
- "piid": 1,
- "friendlyName": "Fan-Switch Status",
- "channel": "On",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "fan-level",
- "siid": 2,
- "piid": 2,
- "friendlyName": "Fan-Fan Level",
- "channel": "FanLevel",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "mode",
- "siid": 2,
- "piid": 4,
- "friendlyName": "Fan-Mode",
- "channel": "Mode",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "horizontal-swing",
- "siid": 2,
- "piid": 5,
- "friendlyName": "Fan-Horizontal Swing",
- "channel": "HorizontalSwing",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "horizontal-angle",
- "siid": 2,
- "piid": 6,
- "friendlyName": "Fan-Horizontal Angle",
- "channel": "HorizontalAngle",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "alarm",
- "siid": 2,
- "piid": 7,
- "friendlyName": "Fan-Alarm",
- "channel": "Alarm",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "off-delay-time",
- "siid": 2,
- "piid": 8,
- "friendlyName": "Fan-Power Off Delay Time",
- "channel": "OffDelayTime",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "brightness",
- "siid": 2,
- "piid": 9,
- "friendlyName": "Fan-Brightness",
- "channel": "Brightness",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "motor-control",
- "siid": 2,
- "piid": 10,
- "friendlyName": "Fan-Motor Control",
- "channel": "MotorControl",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "speed-level",
- "siid": 2,
- "piid": 11,
- "friendlyName": "Fan-Speed Level",
- "channel": "SpeedLevel",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "physical-controls-locked",
- "siid": 3,
- "piid": 1,
- "friendlyName": "Physical Control Locked-Physical Control Locked",
- "channel": "PhysicalControlsLocked",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- }
- ]
- }
+ "deviceMapping": {
+ "id": [
+ "dmaker.fan.p9",
+ "dmaker.fan.p10"
+ ],
+ "propertyMethod": "get_properties",
+ "maxProperties": 2,
+ "channels": [
+ {
+ "property": "manufacturer",
+ "siid": 1,
+ "piid": 1,
+ "friendlyName": "Device Information-Device Manufacturer",
+ "channel": "Manufacturer",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "model",
+ "siid": 1,
+ "piid": 2,
+ "friendlyName": "Device Information-Device Model",
+ "channel": "Model",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "serial-number",
+ "siid": 1,
+ "piid": 3,
+ "friendlyName": "Device Information-Device Serial Number",
+ "channel": "SerialNumber",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "firmware-revision",
+ "siid": 1,
+ "piid": 4,
+ "friendlyName": "Device Information-Current Firmware Version",
+ "channel": "FirmwareRevision",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "on",
+ "siid": 2,
+ "piid": 1,
+ "friendlyName": "Fan-Switch Status",
+ "channel": "On",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "fan-level",
+ "siid": 2,
+ "piid": 2,
+ "friendlyName": "Fan-Fan Level",
+ "channel": "FanLevel",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "mode",
+ "siid": 2,
+ "piid": 4,
+ "friendlyName": "Fan-Mode",
+ "channel": "Mode",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "horizontal-swing",
+ "siid": 2,
+ "piid": 5,
+ "friendlyName": "Fan-Horizontal Swing",
+ "channel": "HorizontalSwing",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "horizontal-angle",
+ "siid": 2,
+ "piid": 6,
+ "friendlyName": "Fan-Horizontal Angle",
+ "channel": "HorizontalAngle",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "alarm",
+ "siid": 2,
+ "piid": 7,
+ "friendlyName": "Fan-Alarm",
+ "channel": "Alarm",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "off-delay-time",
+ "siid": 2,
+ "piid": 8,
+ "friendlyName": "Fan-Power Off Delay Time",
+ "channel": "OffDelayTime",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "brightness",
+ "siid": 2,
+ "piid": 9,
+ "friendlyName": "Fan-Brightness",
+ "channel": "Brightness",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "motor-control",
+ "siid": 2,
+ "piid": 10,
+ "friendlyName": "Fan-Motor Control",
+ "channel": "MotorControl",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "speed-level",
+ "siid": 2,
+ "piid": 11,
+ "friendlyName": "Fan-Speed Level",
+ "channel": "SpeedLevel",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "physical-controls-locked",
+ "siid": 3,
+ "piid": 1,
+ "friendlyName": "Physical Control Locked-Physical Control Locked",
+ "channel": "PhysicalControlsLocked",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ }
+ ]
+ }
}
{
- "deviceMapping": {
- "id": [
- "dreame.vacuum.mc1808"
- ],
- "propertyMethod": "get_properties",
- "maxProperties": 2,
- "channels": [
- {
- "property": "",
- "friendlyName": "Vacuum Action",
- "channel": "vacuumaction",
- "channelType": "dreameControl",
- "type": "String",
- "refresh": false,
- "actions": [
- {
- "command": "action",
- "parameterType": "EMPTY",
- "siid": 18,
- "aiid": 1,
- "condition": {
- "name": "matchValue",
- "parameters": [
- {
- "matchValue": "vacuum",
- "returnValue": [
- {
- "piid": 1,
- "value": 2
- }
- ]
- },
- {
- "matchValue": "start",
- "returnValue": [
- {
- "piid": 1,
- "value": 2
- }
- ]
- }
- ]
- }
- },
- {
- "command": "action",
- "parameterType": "EMPTY",
- "siid": 18,
- "aiid": 2,
- "condition": {
- "name": "matchValue",
- "parameters": [
- {
- "matchValue": "stop"
- }
- ]
- }
- },
- {
- "command": "action",
- "parameterType": "EMPTY",
- "siid": 3,
- "aiid": 1,
- "condition": {
- "name": "matchValue",
- "parameters": [
- {
- "matchValue": "sweep"
- }
- ]
- }
- },
- {
- "command": "action",
- "parameterType": "EMPTY",
- "siid": 3,
- "aiid": 2,
- "condition": {
- "name": "matchValue",
- "parameters": [
- {
- "matchValue": "stopsweep"
- }
- ]
- }
- },
- {
- "command": "action",
- "parameterType": "EMPTY",
- "siid": 2,
- "aiid": 1,
- "condition": {
- "name": "matchValue",
- "parameters": [
- {
- "matchValue": "dock"
- }
- ]
- }
- }
- ]
- },
- {
- "property": "battery-level",
- "siid": 2,
- "piid": 1,
- "friendlyName": "Battery-Battery Level",
- "channel": "BatteryLevel",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "charging-state",
- "siid": 2,
- "piid": 2,
- "friendlyName": "Battery-Charging State",
- "channel": "ChargingState",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "fault",
- "siid": 3,
- "piid": 1,
- "friendlyName": "Robot Cleaner-Device Fault",
- "channel": "Fault",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "status",
- "siid": 3,
- "piid": 2,
- "friendlyName": "Robot Cleaner-Status",
- "channel": "Status",
- "channelType": "miot_int8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "brush-left-time",
- "siid": 26,
- "piid": 1,
- "friendlyName": "Main Cleaning Brush-Brush Left Time",
- "channel": "BrushLeftTime",
- "channelType": "miot_uint16",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "brush-life-level",
- "siid": 26,
- "piid": 2,
- "friendlyName": "Main Cleaning Brush-Brush Life Level",
- "channel": "BrushLifeLevel",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "filter-life-level",
- "siid": 27,
- "piid": 1,
- "friendlyName": "Filter-Filter Life Level",
- "channel": "FilterLifeLevel",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "filter-left-time",
- "siid": 27,
- "piid": 2,
- "friendlyName": "Filter-Filter Left Time",
- "channel": "FilterLeftTime",
- "channelType": "miot_uint16",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "brush-left-time1",
- "siid": 28,
- "piid": 1,
- "friendlyName": "Side Cleaning Brush-Brush Left Time",
- "channel": "BrushLeftTime1",
- "channelType": "miot_uint16",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "brush-life-level1",
- "siid": 28,
- "piid": 2,
- "friendlyName": "Side Cleaning Brush-Brush Life Level",
- "channel": "BrushLifeLevel1",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "work-mode",
- "siid": 18,
- "piid": 1,
- "friendlyName": "clean-workmode",
- "channel": "WorkMode",
- "channelType": "miot_int32",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "area",
- "siid": 18,
- "piid": 4,
- "friendlyName": "clean-area",
- "channel": "Area",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "timer",
- "siid": 18,
- "piid": 5,
- "friendlyName": "clean-timer",
- "channel": "Timer",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "mode",
- "siid": 18,
- "piid": 6,
- "friendlyName": "clean-mode",
- "channel": "Mode",
- "channelType": "miot_int32",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "total-clean-time",
- "siid": 18,
- "piid": 13,
- "friendlyName": "clean-total time",
- "channel": "TotalCleanTime",
- "channelType": "miot_uint32",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "total-clean-times",
- "siid": 18,
- "piid": 14,
- "friendlyName": "clean-total times",
- "channel": "TotalCleanTimes",
- "channelType": "miot_uint32",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "total-clean-area",
- "siid": 18,
- "piid": 15,
- "friendlyName": "clean-Total area",
- "channel": "TotalCleanArea",
- "channelType": "miot_uint32",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "clean-log-start-time",
- "siid": 18,
- "piid": 16,
- "friendlyName": "clean-Start Time",
- "channel": "CleanLogStartTime",
- "channelType": "miot_uint32",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "button-led",
- "siid": 18,
- "piid": 17,
- "friendlyName": "clean-led",
- "channel": "ButtonLed",
- "channelType": "miot_uint16",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "task-done",
- "siid": 18,
- "piid": 18,
- "friendlyName": "clean-task done",
- "channel": "TaskDone",
- "channelType": "miot_uint8",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "life-sieve",
- "siid": 19,
- "piid": 1,
- "friendlyName": "consumable-life-sieve",
- "channel": "LifeSieve",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "life-brush-side",
- "siid": 19,
- "piid": 2,
- "friendlyName": "consumable-life-brush-side",
- "channel": "LifeBrushSide",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "life-brush-main",
- "siid": 19,
- "piid": 3,
- "friendlyName": "consumable-life-brush-main",
- "channel": "LifeBrushMain",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "enable",
- "siid": 20,
- "piid": 1,
- "friendlyName": "annoy-enable",
- "channel": "Enable",
- "channelType": "miot_bool",
- "type": "Switch",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "ONOFFBOOL"
- }
- ]
- },
- {
- "property": "start-time",
- "siid": 20,
- "piid": 2,
- "friendlyName": "annoy-start-time",
- "channel": "StartTime",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "stop-time",
- "siid": 20,
- "piid": 3,
- "friendlyName": "annoy-stop-time",
- "channel": "StopTime",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "map-view",
- "siid": 23,
- "piid": 1,
- "friendlyName": "map-map-view",
- "channel": "MapView",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "volume",
- "siid": 24,
- "piid": 1,
- "friendlyName": "audio-volume",
- "channel": "Volume",
- "channelType": "miot_int32",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "voice-packets",
- "siid": 24,
- "piid": 3,
- "friendlyName": "audio-voiceId",
- "channel": "VoicePackets",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- {
- "command": "set_properties",
- "parameterType": "STRING"
- }
- ]
- },
- {
- "property": "time-zone",
- "siid": 25,
- "piid": 1,
- "friendlyName": "timezone",
- "channel": "TimeZone",
- "channelType": "miot_string",
- "type": "String",
- "refresh": true,
- "actions": [
- ]
- }
- ]
- }
+ "deviceMapping": {
+ "id": [
+ "dreame.vacuum.mc1808"
+ ],
+ "propertyMethod": "get_properties",
+ "maxProperties": 2,
+ "channels": [
+ {
+ "property": "",
+ "friendlyName": "Vacuum Action",
+ "channel": "vacuumaction",
+ "channelType": "dreameControl",
+ "type": "String",
+ "refresh": false,
+ "actions": [
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 18,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "vacuum",
+ "returnValue": [
+ {
+ "piid": 1,
+ "value": 2
+ }
+ ]
+ },
+ {
+ "matchValue": "start",
+ "returnValue": [
+ {
+ "piid": 1,
+ "value": 2
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 18,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "stop"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 3,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "sweep"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 3,
+ "aiid": 2,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "stopsweep"
+ }
+ ]
+ }
+ },
+ {
+ "command": "action",
+ "parameterType": "EMPTY",
+ "siid": 2,
+ "aiid": 1,
+ "condition": {
+ "name": "matchValue",
+ "parameters": [
+ {
+ "matchValue": "dock"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "property": "battery-level",
+ "siid": 2,
+ "piid": 1,
+ "friendlyName": "Battery-Battery Level",
+ "channel": "BatteryLevel",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "charging-state",
+ "siid": 2,
+ "piid": 2,
+ "friendlyName": "Battery-Charging State",
+ "channel": "ChargingState",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "fault",
+ "siid": 3,
+ "piid": 1,
+ "friendlyName": "Robot Cleaner-Device Fault",
+ "channel": "Fault",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "status",
+ "siid": 3,
+ "piid": 2,
+ "friendlyName": "Robot Cleaner-Status",
+ "channel": "Status",
+ "channelType": "miot_int8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "brush-left-time",
+ "siid": 26,
+ "piid": 1,
+ "friendlyName": "Main Cleaning Brush-Brush Left Time",
+ "channel": "BrushLeftTime",
+ "channelType": "miot_uint16",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "brush-life-level",
+ "siid": 26,
+ "piid": 2,
+ "friendlyName": "Main Cleaning Brush-Brush Life Level",
+ "channel": "BrushLifeLevel",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "filter-life-level",
+ "siid": 27,
+ "piid": 1,
+ "friendlyName": "Filter-Filter Life Level",
+ "channel": "FilterLifeLevel",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "filter-left-time",
+ "siid": 27,
+ "piid": 2,
+ "friendlyName": "Filter-Filter Left Time",
+ "channel": "FilterLeftTime",
+ "channelType": "miot_uint16",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "brush-left-time1",
+ "siid": 28,
+ "piid": 1,
+ "friendlyName": "Side Cleaning Brush-Brush Left Time",
+ "channel": "BrushLeftTime1",
+ "channelType": "miot_uint16",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "brush-life-level1",
+ "siid": 28,
+ "piid": 2,
+ "friendlyName": "Side Cleaning Brush-Brush Life Level",
+ "channel": "BrushLifeLevel1",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "work-mode",
+ "siid": 18,
+ "piid": 1,
+ "friendlyName": "clean-workmode",
+ "channel": "WorkMode",
+ "channelType": "miot_int32",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "area",
+ "siid": 18,
+ "piid": 4,
+ "friendlyName": "clean-area",
+ "channel": "Area",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "timer",
+ "siid": 18,
+ "piid": 5,
+ "friendlyName": "clean-timer",
+ "channel": "Timer",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "mode",
+ "siid": 18,
+ "piid": 6,
+ "friendlyName": "clean-mode",
+ "channel": "Mode",
+ "channelType": "miot_int32",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "total-clean-time",
+ "siid": 18,
+ "piid": 13,
+ "friendlyName": "clean-total time",
+ "channel": "TotalCleanTime",
+ "channelType": "miot_uint32",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "total-clean-times",
+ "siid": 18,
+ "piid": 14,
+ "friendlyName": "clean-total times",
+ "channel": "TotalCleanTimes",
+ "channelType": "miot_uint32",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "total-clean-area",
+ "siid": 18,
+ "piid": 15,
+ "friendlyName": "clean-Total area",
+ "channel": "TotalCleanArea",
+ "channelType": "miot_uint32",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "clean-log-start-time",
+ "siid": 18,
+ "piid": 16,
+ "friendlyName": "clean-Start Time",
+ "channel": "CleanLogStartTime",
+ "channelType": "miot_uint32",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "button-led",
+ "siid": 18,
+ "piid": 17,
+ "friendlyName": "clean-led",
+ "channel": "ButtonLed",
+ "channelType": "miot_uint16",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "task-done",
+ "siid": 18,
+ "piid": 18,
+ "friendlyName": "clean-task done",
+ "channel": "TaskDone",
+ "channelType": "miot_uint8",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "life-sieve",
+ "siid": 19,
+ "piid": 1,
+ "friendlyName": "consumable-life-sieve",
+ "channel": "LifeSieve",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "life-brush-side",
+ "siid": 19,
+ "piid": 2,
+ "friendlyName": "consumable-life-brush-side",
+ "channel": "LifeBrushSide",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "life-brush-main",
+ "siid": 19,
+ "piid": 3,
+ "friendlyName": "consumable-life-brush-main",
+ "channel": "LifeBrushMain",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "enable",
+ "siid": 20,
+ "piid": 1,
+ "friendlyName": "annoy-enable",
+ "channel": "Enable",
+ "channelType": "miot_bool",
+ "type": "Switch",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "ONOFFBOOL"
+ }
+ ]
+ },
+ {
+ "property": "start-time",
+ "siid": 20,
+ "piid": 2,
+ "friendlyName": "annoy-start-time",
+ "channel": "StartTime",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "stop-time",
+ "siid": 20,
+ "piid": 3,
+ "friendlyName": "annoy-stop-time",
+ "channel": "StopTime",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "map-view",
+ "siid": 23,
+ "piid": 1,
+ "friendlyName": "map-map-view",
+ "channel": "MapView",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "volume",
+ "siid": 24,
+ "piid": 1,
+ "friendlyName": "audio-volume",
+ "channel": "Volume",
+ "channelType": "miot_int32",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "voice-packets",
+ "siid": 24,
+ "piid": 3,
+ "friendlyName": "audio-voiceId",
+ "channel": "VoicePackets",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_properties",
+ "parameterType": "STRING"
+ }
+ ]
+ },
+ {
+ "property": "time-zone",
+ "siid": 25,
+ "piid": 1,
+ "friendlyName": "timezone",
+ "channel": "TimeZone",
+ "channelType": "miot_string",
+ "type": "String",
+ "refresh": true,
+ "actions": []
+ }
+ ]
+ }
}
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"actions": [
"property": "cct",
"friendlyName": "Correlated Color Temperature",
"channel": "cct",
+ "channelType": "cct",
"type": "Dimmer",
"refresh": true,
"actions": [
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"actions": [
"property": "dv",
"friendlyName": "DV",
"channel": "dv",
+ "channelType": "dv",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Delay Off",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Switch",
"refresh": false,
"ChannelGroup": "actions",
]
}
],
- "experimental":true
+ "experimental": true
}
}
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "cct",
"friendlyName": "Correlated Color Temperature",
"channel": "cct",
+ "channelType": "cct",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "dv",
"friendlyName": "DV",
"channel": "dv",
+ "channelType": "dv",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Delay Off",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Switch",
"refresh": false,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "cct",
"friendlyName": "Correlated Color Temperature",
"channel": "cct",
+ "channelType": "cct",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Delay Off",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Switch",
"refresh": false,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "cct",
"friendlyName": "Correlated Color Temperature",
"channel": "cct",
+ "channelType": "cct",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Delay Off",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Switch",
"refresh": false,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "cct",
"friendlyName": "Correlated Color Temperature",
"channel": "cct",
+ "channelType": "cct",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "scene_num",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "pow",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "cct",
"friendlyName": "Correlated Color Temperature",
"channel": "cct",
+ "channelType": "cct",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "dv",
"friendlyName": "DV",
"channel": "dv",
+ "channelType": "dv",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Go Night",
"channel": "gonight",
+ "channelType": "gonight",
"type": "Switch",
"refresh": false,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Delay Off",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Switch",
"refresh": false,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "snm",
"friendlyName": "Scene",
"channel": "scene",
+ "channelType": "scene",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "dv",
"friendlyName": "DV",
"channel": "dv",
+ "channelType": "dv",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "ambstatus",
"friendlyName": "Ambient Power",
"channel": "ambientPower",
+ "channelType": "ambientPower",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "ambvalue",
"friendlyName": "Ambient Brightness",
"channel": "ambientBrightness",
+ "channelType": "ambientBrightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "dvalue",
"friendlyName": "Ambient Illumination",
"channel": "illumination",
+ "channelType": "illumination",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "eyecare",
"friendlyName": "Eyecare",
"channel": "eyecare",
+ "channelType": "eyecare",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
{
- "deviceMapping": {
- "id": [
- "viomi.vacuum.v6",
- "viomi.vacuum.v7",
- "viomi.vacuum.v8"
- ],
- "channels": [
- {
- "property": "",
- "friendlyName": "Vacuum Action",
- "channel": "vacuumaction",
- "channelType": "vacuumaction",
- "type": "Number",
- "refresh": false,
- "actions": [
- {
- "command": "set_mode_withroom",
- "parameterType": "NUMBER",
- "parameters": [
- 0,
- "$value$",
- 0
- ]
- }
- ]
- },
- {
- "property": "run_state",
- "friendlyName": "State",
- "channel": "state",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "mode",
- "friendlyName": "Mode",
- "channel": "mode",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_mode",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "err_state",
- "friendlyName": "Error",
- "channel": "err_state",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "battery_life",
- "friendlyName": "Battery",
- "channel": "battery_life",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "box_type",
- "friendlyName": "Box type",
- "channel": "box_type",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- }
- ]
- },
- {
- "property": "mop_type",
- "friendlyName": "mop_type",
- "channel": "mop_type",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_mode",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "s_time",
- "friendlyName": "Clean time",
- "channel": "s_time",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_mode",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "s_area",
- "friendlyName": "Clean Area",
- "channel": "s_area",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_mode",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "suction_grade",
- "friendlyName": "suction_grade",
- "channel": "suction_grade",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_suction",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "water_grade",
- "friendlyName": "water_grade",
- "channel": "water_grade",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "set_suction",
- "parameterType": "NUMBER"
- }
- ]
- },
- {
- "property": "remember_map",
- "friendlyName": "remember_map",
- "channel": "remember_map",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "has_map",
- "friendlyName": "has_map",
- "channel": "has_map",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "is_mop",
- "friendlyName": "is_mop",
- "channel": "is_mop",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- },
- {
- "property": "has_newmap",
- "friendlyName": "has_newmap",
- "channel": "has_newmap",
- "type": "Number",
- "refresh": true,
- "actions": [
- ]
- }
- ]
- }
-}
+ "deviceMapping": {
+ "id": [
+ "viomi.vacuum.v6",
+ "viomi.vacuum.v7",
+ "viomi.vacuum.v8"
+ ],
+ "channels": [
+ {
+ "property": "",
+ "friendlyName": "Vacuum Action",
+ "channel": "vacuumaction",
+ "channelType": "vacuumaction",
+ "type": "Number",
+ "refresh": false,
+ "actions": [
+ {
+ "command": "set_mode_withroom",
+ "parameterType": "NUMBER",
+ "parameters": [
+ 0,
+ "$value$",
+ 0
+ ]
+ }
+ ]
+ },
+ {
+ "property": "run_state",
+ "friendlyName": "State",
+ "channel": "state",
+ "channelType": "state",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "mode",
+ "friendlyName": "Mode",
+ "channel": "mode",
+ "channelType": "mode",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_mode",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "err_state",
+ "friendlyName": "Error",
+ "channel": "err_state",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "battery_life",
+ "friendlyName": "Battery",
+ "channel": "battery_life",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "box_type",
+ "friendlyName": "Box type",
+ "channel": "box_type",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "parameterType": "EMPTY"
+ }
+ ]
+ },
+ {
+ "property": "mop_type",
+ "friendlyName": "mop_type",
+ "channel": "mop_type",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_mode",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "s_time",
+ "friendlyName": "Clean time",
+ "channel": "s_time",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_mode",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "s_area",
+ "friendlyName": "Clean Area",
+ "channel": "s_area",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_mode",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "suction_grade",
+ "friendlyName": "suction_grade",
+ "channel": "suction_grade",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_suction",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "water_grade",
+ "friendlyName": "water_grade",
+ "channel": "water_grade",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "set_suction",
+ "parameterType": "NUMBER"
+ }
+ ]
+ },
+ {
+ "property": "remember_map",
+ "friendlyName": "remember_map",
+ "channel": "remember_map",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "has_map",
+ "friendlyName": "has_map",
+ "channel": "has_map",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "is_mop",
+ "friendlyName": "is_mop",
+ "channel": "is_mop",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
+ {
+ "property": "has_newmap",
+ "friendlyName": "has_newmap",
+ "channel": "has_newmap",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ }
+ ]
+ }
+}
\ No newline at end of file
}
]
},
- {
- "property": "status_led",
- "friendlyName": "Night Light",
- "channel": "status_led",
- "type": "Number",
- "refresh": true,
- "actions": [
- {
- "command": "work_night_led",
- "parameterType": "NUMBER"
- }
- ]
- }
+ {
+ "property": "status_led",
+ "friendlyName": "Night Light",
+ "channel": "status_led",
+ "type": "Number",
+ "refresh": true,
+ "actions": [
+ {
+ "command": "work_night_led",
+ "parameterType": "NUMBER"
+ }
+ ]
+ }
],
"experimental": true
}
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "delayoff",
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "nl_br",
"friendlyName": "Nightlight Brightness",
"channel": "nightlightBrightness",
+ "channelType": "nightlightBrightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "delayoff",
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "ct",
"friendlyName": "Color Temperature",
"channel": "colorTemperature",
+ "channelType": "colorTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "color_mode",
"friendlyName": "Color Mode",
"channel": "colorMode",
+ "channelType": "colorMode",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "",
"friendlyName": "Set Scene",
"channel": "customScene",
+ "channelType": "customScene",
"type": "String",
"refresh": false,
"ChannelGroup": "actions",
"property": "nl_br",
"friendlyName": "Nightlight Brightness",
"channel": "nightlightBrightness",
+ "channelType": "nightlightBrightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "delayoff",
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "ct",
"friendlyName": "Color Temperature",
"channel": "colorTemperature",
+ "channelType": "colorTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "color_mode",
"friendlyName": "Color Mode",
"channel": "colorMode",
+ "channelType": "colorMode",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "",
"friendlyName": "Set Scene",
"channel": "customScene",
+ "channelType": "customScene",
"type": "String",
"refresh": false,
"ChannelGroup": "actions",
"property": "nl_br",
"friendlyName": "Nightlight Brightness",
"channel": "nightlightBrightness",
+ "channelType": "nightlightBrightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "bg_bright",
"friendlyName": "Ambient Brightness",
"channel": "ambientBrightness",
+ "channelType": "ambientBrightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "delayoff",
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "ct",
"friendlyName": "Color Temperature",
"channel": "colorTemperature",
+ "channelType": "colorTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "color_mode",
"friendlyName": "Color Mode",
"channel": "colorMode",
+ "channelType": "colorMode",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "bg_power",
"friendlyName": "Ambient Power",
"channel": "ambientPower",
+ "channelType": "ambientPower",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "bg_rgb",
"friendlyName": "Ambient Color",
"channel": "ambientColor",
+ "channelType": "ambientColor",
"type": "Color",
"refresh": true,
"ChannelGroup": "actions",
"property": "bg_ct",
"friendlyName": "Ambient Color Temperature",
"channel": "ambientColorTemperature",
+ "channelType": "ambientColorTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
{
"command": "bg_set_ct_abx",
"parameterType": "NUMBER",
- "parameter1": "\"smooth\"",
- "parameter2": "500",
"parameters": [
"$value$",
"smooth",
"property": "",
"friendlyName": "Set Scene",
"channel": "customScene",
+ "channelType": "customScene",
"type": "String",
"refresh": false,
"ChannelGroup": "actions",
"property": "bg_lmode",
"friendlyName": "Ambient Color Mode",
"channel": "ambientColorMode",
+ "channelType": "ambientColorMode",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "nl_br",
"friendlyName": "Nightlight Brightness",
"channel": "nightlightBrightness",
+ "channelType": "nightlightBrightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "delayoff",
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "ct",
"friendlyName": "Color Temperature",
"channel": "colorTemperature",
+ "channelType": "colorTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "color_mode",
"friendlyName": "Color Mode",
"channel": "colorMode",
+ "channelType": "colorMode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
{
"command": "set_rgb",
"parameterType": "COLOR",
- "condition": {
- "name": "HSBOnly"
- },
"parameters": [
"$value$",
"smooth",
500
- ]
+ ],
+ "condition": {
+ "name": "HSBOnly"
+ }
},
{
"command": "set_bright",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Dimmer",
"refresh": true,
"ChannelGroup": "actions",
"property": "delayoff",
"friendlyName": "Shutdown Timer",
"channel": "delayoff",
+ "channelType": "delayoff",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "ct",
"friendlyName": "Color Temperature",
"channel": "colorTemperature",
+ "channelType": "colorTemperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "color_mode",
"friendlyName": "Color Mode",
"channel": "colorMode",
+ "channelType": "colorMode",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"actions": []
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "aqi",
"friendlyName": "Air Quality Index",
"channel": "aqi",
+ "channelType": "aqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "mode",
+ "channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "aqi",
"friendlyName": "Air Quality Index",
"channel": "aqi",
+ "channelType": "aqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "average_aqi",
"friendlyName": "Average Air Quality Index",
"channel": "averageaqi",
+ "channelType": "averageaqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "led",
"friendlyName": "LED Status",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "buzzer",
"friendlyName": "Buzzer Status",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "f1_hour",
"friendlyName": "Filter Max Life",
"channel": "filtermaxlife",
+ "channelType": "filtermaxlife",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "f1_hour_used",
"friendlyName": "Filter Hours used",
"channel": "filterhours",
+ "channelType": "filterhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "motor1_speed",
"friendlyName": "Motor Speed",
"channel": "motorspeed",
+ "channelType": "motorspeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "favorite_level",
"friendlyName": "Favorite Level",
"channel": "favoritelevel",
+ "channelType": "favoritelevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temp_dec",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"transformation": "/10",
"property": "purify_volume",
"friendlyName": "Purivied Volume",
"channel": "purifyvolume",
+ "channelType": "purifyvolume",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "childlock",
+ "channelType": "childlock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "mode",
+ "channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "aqi",
"friendlyName": "Air Quality Index",
"channel": "aqi",
+ "channelType": "aqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "bright",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "led",
"friendlyName": "LED Status",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "act_det",
"friendlyName": "Air AutoDetect",
"channel": "act_det",
+ "channelType": "act_det",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "buzzer",
"friendlyName": "Buzzer Status",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "f1_hour",
"friendlyName": "Filter Max Life",
"channel": "filtermaxlife",
+ "channelType": "filtermaxlife",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "filter1_life",
"friendlyName": "Filter Life",
"channel": "filterlive",
+ "channelType": "filterlive",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "mode",
+ "channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "aqi",
"friendlyName": "Air Quality Index",
"channel": "aqi",
+ "channelType": "aqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "average_aqi",
"friendlyName": "Average Air Quality Index",
"channel": "averageaqi",
+ "channelType": "averageaqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "led",
"friendlyName": "LED Status",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "f1_hour",
"friendlyName": "Filter Max Life",
"channel": "filtermaxlife",
+ "channelType": "filtermaxlife",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "f1_hour_used",
"friendlyName": "Filter Hours used",
"channel": "filterhours",
+ "channelType": "filterhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "motor1_speed",
"friendlyName": "Motor Speed",
"channel": "motorspeed",
+ "channelType": "motorspeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "favorite_level",
"friendlyName": "Favorite Level",
"channel": "favoritelevel",
+ "channelType": "favoritelevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temp_dec",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"transformation": "/10",
"property": "purify_volume",
"friendlyName": "Purivied Volume",
"channel": "purifyvolume",
+ "channelType": "purifyvolume",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "childlock",
+ "channelType": "childlock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "mode",
+ "channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "aqi",
"friendlyName": "Air Quality Index",
"channel": "aqi",
+ "channelType": "aqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "average_aqi",
"friendlyName": "Average Air Quality Index",
"channel": "averageaqi",
+ "channelType": "averageaqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "led",
"friendlyName": "LED Status",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "f1_hour",
"friendlyName": "Filter Max Life",
"channel": "filtermaxlife",
+ "channelType": "filtermaxlife",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "f1_hour_used",
"friendlyName": "Filter Hours used",
"channel": "filterhours",
+ "channelType": "filterhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "motor1_speed",
"friendlyName": "Motor Speed",
"channel": "motorspeed",
+ "channelType": "motorspeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "favorite_level",
"friendlyName": "Favorite Level",
"channel": "favoritelevel",
+ "channelType": "favoritelevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temp_dec",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"transformation": "/10",
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "childlock",
+ "channelType": "childlock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "angle_enable",
"friendlyName": "Rotation",
"channel": "angleEnable",
+ "channelType": "angleEnable",
"type": "Switch",
"refresh": true,
"actions": [
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "angle",
"friendlyName": "Angle",
"channel": "angle",
+ "channelType": "angle",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "poweroff_time",
"friendlyName": "Timer",
"channel": "poweroffTime",
+ "channelType": "poweroffTime",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "buzzer",
"friendlyName": "Buzzer",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "speed_level",
"friendlyName": "Speed Level",
"channel": "speedLevel",
+ "channelType": "speedLevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "speed",
"friendlyName": "Speed",
"channel": "speed",
+ "channelType": "speed",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "natural_level",
"friendlyName": "Natural Level",
"channel": "naturalLevel",
+ "channelType": "naturalLevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "ac_power",
"friendlyName": "AC Power",
"channel": "acPower",
+ "channelType": "acPower",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "",
"friendlyName": "Move Direction",
"channel": "move",
+ "channelType": "move",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "angle_enable",
"friendlyName": "Rotation",
"channel": "angleEnable",
+ "channelType": "angleEnable",
"type": "Switch",
"refresh": true,
"actions": [
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "angle",
"friendlyName": "Angle",
"channel": "angle",
+ "channelType": "angle",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "poweroff_time",
"friendlyName": "Timer",
"channel": "poweroffTime",
+ "channelType": "poweroffTime",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "buzzer",
"friendlyName": "Buzzer",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "speed_level",
"friendlyName": "Speed Level",
"channel": "speedLevel",
+ "channelType": "speedLevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "speed",
"friendlyName": "Speed",
"channel": "speed",
+ "channelType": "speed",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "natural_level",
"friendlyName": "Natural Level",
"channel": "naturalLevel",
+ "channelType": "naturalLevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "ac_power",
"friendlyName": "AC Power",
"channel": "acPower",
+ "channelType": "acPower",
"type": "String",
"refresh": true,
"ChannelGroup": "Status",
"property": "bat_charge",
"friendlyName": "Battery Charge",
"channel": "mode",
+ "channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Move Direction",
"channel": "move",
+ "channelType": "move",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "angle_enable",
"friendlyName": "Rotation",
"channel": "angleEnable",
+ "channelType": "angleEnable",
"type": "Switch",
"refresh": true,
"actions": [
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "angle",
"friendlyName": "Angle",
"channel": "angle",
+ "channelType": "angle",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "poweroff_time",
"friendlyName": "Timer",
"channel": "poweroffTime",
+ "channelType": "poweroffTime",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "buzzer",
"friendlyName": "Buzzer",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "speed_level",
"friendlyName": "Speed Level",
"channel": "speedLevel",
+ "channelType": "speedLevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "speed",
"friendlyName": "Speed",
"channel": "speed",
+ "channelType": "speed",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "natural_level",
"friendlyName": "Natural Level",
"channel": "naturalLevel",
+ "channelType": "naturalLevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "actions",
"property": "",
"friendlyName": "Move Direction",
"channel": "move",
+ "channelType": "move",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "target_temperature",
"friendlyName": "Target Temperature",
"channel": "target_temperature",
- "type": "Number",
+ "type": "Number",
"refresh": true,
"actions": [
{
"property": "brightness",
"friendlyName": "Brightness",
"channel": "brightness",
+ "channelType": "brightness",
"type": "Number",
"refresh": true,
"actions": [
"property": "buzzer",
"friendlyName": "Buzzer Status",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"actions": [
]
},
{
- "property": "relative_humidity",
- "friendlyName": "Relative Humidity",
- "channel": "relative_humidity",
- "type": "Number",
- "refresh": true,
- "actions": []
- },
+ "property": "relative_humidity",
+ "friendlyName": "Relative Humidity",
+ "channel": "relative_humidity",
+ "type": "Number",
+ "refresh": true,
+ "actions": []
+ },
{
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "childlock",
+ "channelType": "childlock",
"type": "Switch",
"refresh": true,
"actions": [
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"actions": []
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Humidifier Mode",
"channel": "humidifierMode",
+ "channelType": "humidifierMode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "limit_hum",
"friendlyName": "Humidity Set",
"channel": "setHumidity",
+ "channelType": "setHumidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "buzzer",
"friendlyName": "Buzzer Status",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "depth",
"friendlyName": "Depth",
"channel": "depth",
+ "channelType": "depth",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "dry",
"friendlyName": "Dry",
"channel": "dry",
+ "channelType": "dry",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "speed",
"friendlyName": "Motor Speed",
"channel": "motorspeed",
+ "channelType": "motorspeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "childlock",
+ "channelType": "childlock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"actions": [
"property": "mode",
"friendlyName": "Mode",
"channel": "mode",
+ "channelType": "mode",
"type": "String",
"refresh": true,
"ChannelGroup": "actions",
"property": "humidity",
"friendlyName": "Humidity",
"channel": "humidity",
+ "channelType": "humidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "limit_hum",
"friendlyName": "Humidity Set",
"channel": "setHumidity",
+ "channelType": "setHumidity",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "aqi",
"friendlyName": "Air Quality Index",
"channel": "aqi",
+ "channelType": "aqi",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "trans_level",
"friendlyName": "Trans_level",
"channel": "translevel",
+ "channelType": "translevel",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "buzzer",
"friendlyName": "Buzzer Status",
"channel": "buzzer",
+ "channelType": "buzzer",
"type": "Switch",
"refresh": true,
"ChannelGroup": "actions",
"property": "depth",
"friendlyName": "Depth",
"channel": "depth",
+ "channelType": "depth",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "dry",
"friendlyName": "Dry",
"channel": "dry",
+ "channelType": "dry",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "use_time",
"friendlyName": "Run Time",
"channel": "usedhours",
+ "channelType": "usedhours",
"type": "Number",
"refresh": true,
"transformation": "SecondsToHours",
"property": "speed",
"friendlyName": "Motor Speed",
"channel": "motorspeed",
+ "channelType": "motorspeed",
"type": "Number",
"refresh": true,
"ChannelGroup": "Status",
"property": "temp_dec",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"transformation": "/10",
"property": "child_lock",
"friendlyName": "Child Lock",
"channel": "childlock",
+ "channelType": "childlock",
"type": "Switch",
"refresh": true,
"ChannelGroup": "Status",
"property": "power",
"friendlyName": "Power",
"channel": "power",
+ "channelType": "power",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "power_consume_rate",
"friendlyName": "Power Consumption",
"channel": "powerUsage",
+ "channelType": "powerUsage",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "wifi_led",
"friendlyName": "wifi LED",
"channel": "led",
+ "channelType": "led",
"type": "Switch",
"refresh": true,
"ChannelGroup": "",
"property": "current",
"friendlyName": "Current",
"channel": "current",
+ "channelType": "current",
"type": "Number",
"refresh": true,
"ChannelGroup": "",
"property": "temperature",
"friendlyName": "Temperature",
"channel": "temperature",
+ "channelType": "temperature",
"type": "Number",
"refresh": true,
"ChannelGroup": "",