Shelly: Add support for Plug/PlugS, RGBW2, Dimmer, 2.5, 1PM
parent
8a23a4dc59
commit
3c990964c0
|
|
@ -2,7 +2,13 @@
|
|||
|
||||
The Shelly plugin adds support for Shelly devices (https://shelly.cloud).
|
||||
|
||||
Currently the Shelly1 and Shelly1PM are supported.
|
||||
The currently supported devices are:
|
||||
* Shelly 1
|
||||
* Shelly 1PM
|
||||
* Shelly 2.5
|
||||
* Shelly Plug / PlugS
|
||||
* Shelly RGBW2
|
||||
* Shelly Dimmer
|
||||
|
||||
## Requirements
|
||||
Shelly devices communicate with via MQTT. This means, in order to add Shelly devices to nymea, the nymea instance is required
|
||||
|
|
@ -14,16 +20,17 @@ network where the nymea system is located. No other options need to be set as th
|
|||
|
||||
## Setting up devices
|
||||
Once the Shelly is connected to the WiFi, a device discovery in nymea can be performed and will list the Shelly device.
|
||||
During setup, the connected device can be configured. If the Shelly is connected to e.g. a light bulb, choose "Light" here.
|
||||
Optionally, a username and password can be set. If the Shelly device is already configured to require authentication,
|
||||
the username and password here must match the ones set on the Shelly. NOTE: If the Shelly is not configured to require a
|
||||
login yet, but credentials are entered during setup, the Shelly device will be configured to require authentication from
|
||||
now on.
|
||||
For some Shelly devices, the connected device can be configured during setup. If the Shelly is connected to e.g. a light bulb,
|
||||
choose "Light" here. Optionally, a username and password can be set. If the Shelly device is already configured to require
|
||||
authentication, the username and password here must match the ones set on the Shelly. NOTE: If the Shelly is not configured
|
||||
to require a login yet, but credentials are entered during setup, the Shelly device will be configured to require authentication
|
||||
from now on and this login will be required also for the web interface of the Shelly device.
|
||||
|
||||
## Plugin properties
|
||||
When adding a Shelly device it will add a new Gateway type device representing the Shelly device itself. It will allow
|
||||
basic monitoring (such as the connected state) and interaction (e.g. reboot the Shelly device). In addition to that, a
|
||||
power switch device will appear which will reflect presses on the Shelly's SW input. This power switch device also
|
||||
offers the possiblity to configure the used switch (e.g. toggle, momentary, edge or detached from the Shelly's output).
|
||||
If a connected device has been selected during setup, an additional device, e.g. the light will appear in the system and
|
||||
can be used to control the power output of the Shelly, e.g. turning on or off the connected light.
|
||||
When adding a Shelly device that is meant to be installed in walls and has connectors to switches, a new Gateway type device
|
||||
representing the Shelly device itself will be added. The gateway device allow basic monitoring (such as the connected state)
|
||||
and interaction (e.g. reboot the Shelly device). In addition to that, a power switch device will appear which will reflect
|
||||
presses on the Shelly's SW input. This power switch device also offers the possiblity to configure the used switch (e.g.
|
||||
toggle, momentary, edge or detached from the Shelly's output). If a connected device has been selected during setup, an
|
||||
additional device, e.g. the light will appear in the system and can be used to control the power output of the Shelly,
|
||||
e.g. turning on or off the connected light.
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
#include <QNetworkReply>
|
||||
#include <QHostAddress>
|
||||
#include <QJsonDocument>
|
||||
#include <QColor>
|
||||
|
||||
#include "hardwaremanager.h"
|
||||
#include "network/networkaccessmanager.h"
|
||||
|
|
@ -46,18 +47,134 @@
|
|||
|
||||
DevicePluginShelly::DevicePluginShelly()
|
||||
{
|
||||
// Device param types
|
||||
m_idParamTypeMap[shelly1DeviceClassId] = shelly1DeviceIdParamTypeId;
|
||||
m_idParamTypeMap[shelly1pmDeviceClassId] = shelly1pmDeviceIdParamTypeId;
|
||||
m_idParamTypeMap[shellyPlugDeviceClassId] = shellyPlugDeviceIdParamTypeId;
|
||||
m_idParamTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2DeviceIdParamTypeId;
|
||||
m_idParamTypeMap[shellyDimmerDeviceClassId] = shellyDimmerDeviceIdParamTypeId;
|
||||
m_idParamTypeMap[shelly25DeviceClassId] = shelly25DeviceIdParamTypeId;
|
||||
|
||||
m_usernameParamTypeMap[shelly1DeviceClassId] = shelly1DeviceUsernameParamTypeId;
|
||||
m_usernameParamTypeMap[shelly1pmDeviceClassId] = shelly1pmDeviceUsernameParamTypeId;
|
||||
m_usernameParamTypeMap[shellyPlugDeviceClassId] = shellyPlugDeviceUsernameParamTypeId;
|
||||
m_usernameParamTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2DeviceUsernameParamTypeId;
|
||||
m_usernameParamTypeMap[shellyDimmerDeviceClassId] = shellyDimmerDeviceUsernameParamTypeId;
|
||||
m_usernameParamTypeMap[shelly25DeviceClassId] = shelly25DeviceUsernameParamTypeId;
|
||||
|
||||
m_passwordParamTypeMap[shelly1DeviceClassId] = shelly1DevicePasswordParamTypeId;
|
||||
m_passwordParamTypeMap[shelly1pmDeviceClassId] = shelly1pmDevicePasswordParamTypeId;
|
||||
m_passwordParamTypeMap[shellyPlugDeviceClassId] = shellyPlugDevicePasswordParamTypeId;
|
||||
m_passwordParamTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2DevicePasswordParamTypeId;
|
||||
m_passwordParamTypeMap[shellyDimmerDeviceClassId] = shellyDimmerDevicePasswordParamTypeId;
|
||||
m_passwordParamTypeMap[shelly25DeviceClassId] = shelly25DevicePasswordParamTypeId;
|
||||
|
||||
m_connectedDeviceParamTypeMap[shelly1DeviceClassId] = shelly1DeviceConnectedDeviceParamTypeId;
|
||||
m_connectedDeviceParamTypeMap[shelly1pmDeviceClassId] = shelly1pmDeviceConnectedDeviceParamTypeId;
|
||||
m_connectedDeviceParamTypeMap[shellyPlugDeviceClassId] = shellyPlugDeviceConnectedDeviceParamTypeId;
|
||||
m_connectedDeviceParamTypeMap[shelly25DeviceClassId] = shelly25DeviceConnectedDevice1ParamTypeId;
|
||||
|
||||
m_connectedDevice2ParamTypeMap[shelly25DeviceClassId] = shelly25DeviceConnectedDevice2ParamTypeId;
|
||||
|
||||
m_channelParamTypeMap[shellyGenericDeviceClassId] = shellyGenericDeviceChannelParamTypeId;
|
||||
m_channelParamTypeMap[shellyLightDeviceClassId] = shellyLightDeviceChannelParamTypeId;
|
||||
m_channelParamTypeMap[shellySocketDeviceClassId] = shellySocketDeviceChannelParamTypeId;
|
||||
m_channelParamTypeMap[shellyGenericPMDeviceClassId] = shellyGenericPMDeviceChannelParamTypeId;
|
||||
m_channelParamTypeMap[shellyLightPMDeviceClassId] = shellyLightPMDeviceChannelParamTypeId;
|
||||
m_channelParamTypeMap[shellySocketPMDeviceClassId] = shellySocketPMDeviceChannelParamTypeId;
|
||||
m_channelParamTypeMap[shellyRollerDeviceClassId] = shellyRollerDeviceChannelParamTypeId;
|
||||
|
||||
// States
|
||||
m_connectedStateTypesMap[shelly1DeviceClassId] = shelly1ConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shelly1pmDeviceClassId] = shelly1pmConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shelly25DeviceClassId] = shelly25ConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyPlugDeviceClassId] = shellyPlugConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyRgbw2DeviceClassId] = shellyRgbw2ConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyDimmerDeviceClassId] = shellyDimmerConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellySwitchDeviceClassId] = shellySwitchConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyGenericDeviceClassId] = shellyGenericConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyLightDeviceClassId] = shellyLightConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellySocketDeviceClassId] = shellySocketConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyGenericPMDeviceClassId] = shellyGenericPMConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyLightPMDeviceClassId] = shellyLightPMConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellySocketPMDeviceClassId] = shellySocketPMConnectedStateTypeId;
|
||||
m_connectedStateTypesMap[shellyRollerDeviceClassId] = shellyRollerConnectedStateTypeId;
|
||||
|
||||
m_powerActionTypesMap[shellyGenericPowerActionTypeId] = shellyGenericDeviceClassId;
|
||||
m_powerActionTypesMap[shellyLightPowerActionTypeId] = shellyLightDeviceClassId;
|
||||
|
||||
m_powerActionParamTypesMap[shellyGenericPowerActionTypeId] = shellyGenericPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellyLightPowerActionTypeId] = shellyLightPowerActionPowerParamTypeId;
|
||||
|
||||
m_powerStateTypeMap[shellyPlugDeviceClassId] = shellyPlugPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2PowerStateTypeId;
|
||||
m_powerStateTypeMap[shellyDimmerDeviceClassId] = shellyDimmerPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellyGenericDeviceClassId] = shellyGenericPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellyLightDeviceClassId] = shellyLightPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellySocketDeviceClassId] = shellySocketPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellyGenericPMDeviceClassId] = shellyGenericPMPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellyLightPMDeviceClassId] = shellyLightPMPowerStateTypeId;
|
||||
m_powerStateTypeMap[shellySocketPMDeviceClassId] = shellySocketPMPowerStateTypeId;
|
||||
|
||||
m_currentPowerStateTypeMap[shellyPlugDeviceClassId] = shellyPlugCurrentPowerStateTypeId;
|
||||
m_currentPowerStateTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2CurrentPowerStateTypeId;
|
||||
m_currentPowerStateTypeMap[shellyDimmerDeviceClassId] = shellyDimmerCurrentPowerStateTypeId;
|
||||
m_currentPowerStateTypeMap[shellyGenericPMDeviceClassId] = shellyGenericPMCurrentPowerStateTypeId;
|
||||
m_currentPowerStateTypeMap[shellyLightPMDeviceClassId] = shellyLightPMCurrentPowerStateTypeId;
|
||||
m_currentPowerStateTypeMap[shellySocketPMDeviceClassId] = shellySocketPMCurrentPowerStateTypeId;
|
||||
m_currentPowerStateTypeMap[shellyRollerDeviceClassId] = shellyRollerCurrentPowerStateTypeId;
|
||||
|
||||
m_totalEnergyConsumedStateTypeMap[shellyPlugDeviceClassId] = shellyPlugTotalEnergyConsumedStateTypeId;
|
||||
m_totalEnergyConsumedStateTypeMap[shellyGenericPMDeviceClassId] = shellyGenericPMTotalEnergyConsumedStateTypeId;
|
||||
m_totalEnergyConsumedStateTypeMap[shellyLightPMDeviceClassId] = shellyLightPMTotalEnergyConsumedStateTypeId;
|
||||
m_totalEnergyConsumedStateTypeMap[shellySocketPMDeviceClassId] = shellySocketPMTotalEnergyConsumedStateTypeId;
|
||||
m_totalEnergyConsumedStateTypeMap[shellyRollerDeviceClassId] = shellyRollerTotalEnergyConsumedStateTypeId;
|
||||
|
||||
m_colorStateTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2ColorStateTypeId;
|
||||
m_colorTemperatureStateTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2ColorTemperatureStateTypeId;
|
||||
|
||||
m_brightnessStateTypeMap[shellyRgbw2DeviceClassId] = shellyRgbw2BrightnessStateTypeId;
|
||||
m_brightnessStateTypeMap[shellyDimmerDeviceClassId] = shellyDimmerBrightnessStateTypeId;
|
||||
|
||||
// Actions and their params
|
||||
m_rebootActionTypeMap[shelly1RebootActionTypeId] = shelly1DeviceClassId;
|
||||
m_rebootActionTypeMap[shelly1pmRebootActionTypeId] = shelly1pmDeviceClassId;
|
||||
m_rebootActionTypeMap[shellyPlugRebootActionTypeId] = shellyPlugDeviceClassId;
|
||||
m_rebootActionTypeMap[shellyRgbw2RebootActionTypeId] = shellyRgbw2DeviceClassId;
|
||||
m_rebootActionTypeMap[shellyDimmerRebootActionTypeId] = shellyDimmerDeviceClassId;
|
||||
m_rebootActionTypeMap[shelly25RebootActionTypeId] = shelly25DeviceClassId;
|
||||
|
||||
m_powerActionTypesMap[shellyPlugPowerActionTypeId] = shellyPlugDeviceClassId;
|
||||
m_powerActionTypesMap[shellyGenericPowerActionTypeId] = shellyGenericDeviceClassId;
|
||||
m_powerActionTypesMap[shellyLightPowerActionTypeId] = shellyLightDeviceClassId;
|
||||
m_powerActionTypesMap[shellySocketPowerActionTypeId] = shellySocketDeviceClassId;
|
||||
m_powerActionTypesMap[shellyGenericPMPowerActionTypeId] = shellyGenericPMDeviceClassId;
|
||||
m_powerActionTypesMap[shellyLightPMPowerActionTypeId] = shellyLightPMDeviceClassId;
|
||||
m_powerActionTypesMap[shellySocketPMPowerActionTypeId] = shellySocketPMDeviceClassId;
|
||||
|
||||
m_powerActionParamTypesMap[shellyPlugPowerActionTypeId] = shellyPlugPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellyGenericPowerActionTypeId] = shellyGenericPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellyLightPowerActionTypeId] = shellyLightPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellySocketPowerActionTypeId] = shellySocketPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellyGenericPMPowerActionTypeId] = shellyGenericPMPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellyLightPMPowerActionTypeId] = shellyLightPMPowerActionPowerParamTypeId;
|
||||
m_powerActionParamTypesMap[shellySocketPMPowerActionTypeId] = shellySocketPMPowerActionPowerParamTypeId;
|
||||
|
||||
m_colorPowerActionTypesMap[shellyRgbw2PowerActionTypeId] = shellyRgbw2DeviceClassId;
|
||||
m_colorPowerActionParamTypesMap[shellyRgbw2PowerActionPowerParamTypeId] = shellyRgbw2PowerActionTypeId;
|
||||
|
||||
m_colorActionTypesMap[shellyRgbw2ColorActionTypeId] = shellyRgbw2DeviceClassId;
|
||||
m_colorActionParamTypesMap[shellyRgbw2ColorActionTypeId] = shellyRgbw2ColorActionTypeId;
|
||||
|
||||
m_colorBrightnessActionTypesMap[shellyRgbw2BrightnessActionTypeId] = shellyRgbw2DeviceClassId;
|
||||
m_colorBrightnessActionParamTypesMap[shellyRgbw2BrightnessActionBrightnessParamTypeId] = shellyRgbw2BrightnessActionTypeId;
|
||||
|
||||
m_colorTemperatureActionTypesMap[shellyRgbw2ColorTemperatureActionTypeId] = shellyRgbw2DeviceClassId;
|
||||
m_colorTemperatureActionParamTypesMap[shellyRgbw2ColorTemperatureActionTypeId] = shellyRgbw2ColorTemperatureActionColorTemperatureParamTypeId;
|
||||
|
||||
m_dimmablePowerActionTypesMap[shellyDimmerPowerActionTypeId] = shellyDimmerDeviceClassId;
|
||||
m_dimmablePowerActionParamTypesMap[shellyDimmerPowerActionTypeId] = shellyDimmerPowerActionPowerParamTypeId;
|
||||
|
||||
m_dimmableBrightnessActionTypesMap[shellyDimmerBrightnessActionTypeId] = shellyDimmerDeviceClassId;
|
||||
m_dimmableBrightnessActionParamTypesMap[shellyDimmerBrightnessActionTypeId] = shellyDimmerBrightnessActionBrightnessParamTypeId;
|
||||
|
||||
m_rollerOpenActionTypeMap[shellyRollerOpenActionTypeId] = shellyRollerDeviceClassId;
|
||||
m_rollerCloseActionTypeMap[shellyRollerCloseActionTypeId] = shellyRollerDeviceClassId;
|
||||
m_rollerStopActionTypeMap[shellyRollerStopActionTypeId] = shellyRollerDeviceClassId;
|
||||
}
|
||||
|
||||
DevicePluginShelly::~DevicePluginShelly()
|
||||
|
|
@ -75,15 +192,25 @@ void DevicePluginShelly::discoverDevices(DeviceDiscoveryInfo *info)
|
|||
// qCDebug(dcShelly()) << "Have entry" << entry;
|
||||
QRegExp namePattern;
|
||||
if (info->deviceClassId() == shelly1DeviceClassId) {
|
||||
namePattern = QRegExp("^shelly(1|1pm)-[0-9A-Z]+$");
|
||||
namePattern = QRegExp("^shelly1-[0-9A-Z]+$");
|
||||
} else if (info->deviceClassId() == shelly1pmDeviceClassId) {
|
||||
namePattern = QRegExp("^shelly1pm-[0-9A-Z]+$");
|
||||
} else if (info->deviceClassId() == shellyPlugDeviceClassId) {
|
||||
namePattern = QRegExp("^shellyplug(-s)?-[0-9A-Z]+$");
|
||||
} else if (info->deviceClassId() == shellyRgbw2DeviceClassId) {
|
||||
namePattern = QRegExp("^shellyrgbw2-[0-9A-Z]+$");
|
||||
} else if (info->deviceClassId() == shellyDimmerDeviceClassId) {
|
||||
namePattern = QRegExp("^shellydimmer-[0-9A-Z]+$");
|
||||
} else if (info->deviceClassId() == shelly25DeviceClassId) {
|
||||
namePattern = QRegExp("^shellyswitch25-[0-9A-Z]+$");
|
||||
}
|
||||
if (!entry.name().contains(namePattern)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
DeviceDescriptor descriptor(shelly1DeviceClassId, entry.name(), entry.hostAddress().toString());
|
||||
DeviceDescriptor descriptor(info->deviceClassId(), entry.name(), entry.hostAddress().toString());
|
||||
ParamList params;
|
||||
params << Param(shelly1DeviceIdParamTypeId, entry.name());
|
||||
params << Param(m_idParamTypeMap.value(info->deviceClassId()), entry.name());
|
||||
descriptor.setParams(params);
|
||||
|
||||
Device *existingDevice = myDevices().findByParams(params);
|
||||
|
|
@ -103,7 +230,12 @@ void DevicePluginShelly::setupDevice(DeviceSetupInfo *info)
|
|||
{
|
||||
Device *device = info->device();
|
||||
|
||||
if (device->deviceClassId() == shelly1DeviceClassId) {
|
||||
if (device->deviceClassId() == shelly1DeviceClassId
|
||||
|| device->deviceClassId() == shelly1pmDeviceClassId
|
||||
|| device->deviceClassId() == shellyPlugDeviceClassId
|
||||
|| device->deviceClassId() == shellyRgbw2DeviceClassId
|
||||
|| device->deviceClassId() == shellyDimmerDeviceClassId
|
||||
|| device->deviceClassId() == shelly25DeviceClassId) {
|
||||
setupShellyGateway(info);
|
||||
return;
|
||||
}
|
||||
|
|
@ -124,13 +256,13 @@ void DevicePluginShelly::executeAction(DeviceActionInfo *info)
|
|||
Device *device = info->device();
|
||||
Action action = info->action();
|
||||
|
||||
if (action.actionTypeId() == shelly1RebootActionTypeId) {
|
||||
if (m_rebootActionTypeMap.contains(action.actionTypeId())) {
|
||||
QUrl url;
|
||||
url.setScheme("http");
|
||||
url.setHost(getIP(info->device()));
|
||||
url.setPath("/reboot");
|
||||
url.setUserName(device->paramValue(shelly1DeviceUsernameParamTypeId).toString());
|
||||
url.setPassword(device->paramValue(shelly1DevicePasswordParamTypeId).toString());
|
||||
url.setUserName(device->paramValue(m_usernameParamTypeMap.value(device->deviceClassId())).toString());
|
||||
url.setPassword(device->paramValue(m_passwordParamTypeMap.value(device->deviceClassId())).toString());
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(url));
|
||||
connect(reply, &QNetworkReply::finished, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, info, [info, reply](){
|
||||
|
|
@ -140,12 +272,136 @@ void DevicePluginShelly::executeAction(DeviceActionInfo *info)
|
|||
}
|
||||
|
||||
if (m_powerActionTypesMap.contains(action.actionTypeId())) {
|
||||
Device *parentDevice = myDevices().findById(device->parentId());
|
||||
// If the main shelly has a power action (e.g. Shelly Plug, there is no parentId)
|
||||
Device *parentDevice = device->parentId().isNull() ? device : myDevices().findById(device->parentId());
|
||||
MqttChannel *channel = m_mqttChannels.value(parentDevice);
|
||||
QString shellyId = parentDevice->paramValue(shelly1DeviceIdParamTypeId).toString();
|
||||
QString shellyId = parentDevice->paramValue(m_idParamTypeMap.value(parentDevice->deviceClassId())).toString();
|
||||
int relay = 1;
|
||||
if (m_channelParamTypeMap.contains(device->deviceClassId())) {
|
||||
relay = device->paramValue(m_channelParamTypeMap.value(device->deviceClassId())).toInt();
|
||||
}
|
||||
ParamTypeId powerParamTypeId = m_powerActionParamTypesMap.value(action.actionTypeId());
|
||||
bool on = action.param(powerParamTypeId).value().toBool();
|
||||
channel->publish("shellies/" + shellyId + "/relay/0/command", on ? "on" : "off");
|
||||
channel->publish(QString("shellies/%1/relay/%2/command").arg(shellyId).arg(relay - 1), on ? "on" : "off");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_colorPowerActionTypesMap.contains(action.actionTypeId())) {
|
||||
MqttChannel *channel = m_mqttChannels.value(device);
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ParamTypeId colorPowerParamTypeId = m_colorPowerActionParamTypesMap.value(action.actionTypeId());
|
||||
bool on = action.param(colorPowerParamTypeId).value().toBool();
|
||||
channel->publish("shellies/" + shellyId + "/color/0/command", on ? "on" : "off");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_colorActionTypesMap.contains(action.actionTypeId())) {
|
||||
MqttChannel *channel = m_mqttChannels.value(device);
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ParamTypeId colorParamTypeId = m_colorActionParamTypesMap.value(action.actionTypeId());
|
||||
QColor color = action.param(colorParamTypeId).value().value<QColor>();
|
||||
QVariantMap data;
|
||||
data.insert("turn", "on"); // Should we really?
|
||||
data.insert("red", color.red());
|
||||
data.insert("green", color.green());
|
||||
data.insert("blue", color.blue());
|
||||
data.insert("white", 0);
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromVariant(data);
|
||||
channel->publish("shellies/" + shellyId + "/color/0/set", jsonDoc.toJson());
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_colorTemperatureStateTypeMap.contains(action.actionTypeId())) {
|
||||
MqttChannel *channel = m_mqttChannels.value(device);
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ParamTypeId colorTemperatureParamTypeId = m_colorTemperatureActionParamTypesMap.value(action.actionTypeId());
|
||||
int ct = action.param(colorTemperatureParamTypeId).value().toInt();
|
||||
QVariantMap data;
|
||||
data.insert("turn", "on"); // Should we really?
|
||||
data.insert("red", qMin(255, ct * 255 / 50));
|
||||
data.insert("green", 0);
|
||||
data.insert("blue", qMax(0, ct - 50) * 255 / 50);
|
||||
data.insert("white", 255);
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromVariant(data);
|
||||
channel->publish("shellies/" + shellyId + "/color/0/set", jsonDoc.toJson());
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_colorBrightnessActionTypesMap.contains(action.actionTypeId())) {
|
||||
MqttChannel *channel = m_mqttChannels.value(device);
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ParamTypeId brightnessParamTypeId = m_colorBrightnessActionParamTypesMap.value(action.actionTypeId());
|
||||
int brightness = action.param(brightnessParamTypeId).value().toInt();
|
||||
QVariantMap data;
|
||||
data.insert("turn", "on"); // Should we really?
|
||||
data.insert("gain", brightness);
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromVariant(data);
|
||||
channel->publish("shellies/" + shellyId + "/color/0/set", jsonDoc.toJson());
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
qCDebug(dcShelly()) << "Power action";
|
||||
if (m_dimmablePowerActionTypesMap.contains(action.actionTypeId())) {
|
||||
MqttChannel *channel = m_mqttChannels.value(device);
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ParamTypeId powerParamTypeId = m_dimmablePowerActionParamTypesMap.value(action.actionTypeId());
|
||||
bool on = action.param(powerParamTypeId).value().toBool();
|
||||
channel->publish("shellies/" + shellyId + "/light/0/command", on ? "on" : "off");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_dimmableBrightnessActionTypesMap.contains(action.actionTypeId())) {
|
||||
MqttChannel *channel = m_mqttChannels.value(device);
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ParamTypeId brightnessParamTypeId = m_dimmableBrightnessActionParamTypesMap.value(action.actionTypeId());
|
||||
int brightness = action.param(brightnessParamTypeId).value().toInt();
|
||||
QVariantMap data;
|
||||
data.insert("turn", "on"); // Should we really?
|
||||
data.insert("brightness", brightness);
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromVariant(data);
|
||||
channel->publish("shellies/" + shellyId + "/light/0/set", jsonDoc.toJson());
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_rollerOpenActionTypeMap.contains(action.actionTypeId())) {
|
||||
Device *parentDevice = myDevices().findById(device->parentId());
|
||||
MqttChannel *channel = m_mqttChannels.value(parentDevice);
|
||||
QString shellyId = parentDevice->paramValue(m_idParamTypeMap.value(parentDevice->deviceClassId())).toString();
|
||||
channel->publish("shellies/" + shellyId + "/roller/0/command", "open");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_rollerCloseActionTypeMap.contains(action.actionTypeId())) {
|
||||
Device *parentDevice = myDevices().findById(device->parentId());
|
||||
MqttChannel *channel = m_mqttChannels.value(parentDevice);
|
||||
QString shellyId = parentDevice->paramValue(m_idParamTypeMap.value(parentDevice->deviceClassId())).toString();
|
||||
channel->publish("shellies/" + shellyId + "/roller/0/command", "close");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_rollerStopActionTypeMap.contains(action.actionTypeId())) {
|
||||
Device *parentDevice = myDevices().findById(device->parentId());
|
||||
MqttChannel *channel = m_mqttChannels.value(parentDevice);
|
||||
QString shellyId = parentDevice->paramValue(m_idParamTypeMap.value(parentDevice->deviceClassId())).toString();
|
||||
channel->publish("shellies/" + shellyId + "/roller/0/command", "stop");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (action.actionTypeId() == shellyRollerCalibrateActionTypeId) {
|
||||
Device *parentDevice = myDevices().findById(device->parentId());
|
||||
MqttChannel *channel = m_mqttChannels.value(parentDevice);
|
||||
QString shellyId = parentDevice->paramValue(m_idParamTypeMap.value(parentDevice->deviceClassId())).toString();
|
||||
channel->publish("shellies/" + shellyId + "/roller/0/command", "rc");
|
||||
info->finish(Device::DeviceErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
|
@ -160,7 +416,7 @@ void DevicePluginShelly::onClientConnected(MqttChannel *channel)
|
|||
qCWarning(dcShelly()) << "Received a client connect for a device we don't know!";
|
||||
return;
|
||||
}
|
||||
device->setStateValue(shelly1ConnectedStateTypeId, true);
|
||||
device->setStateValue(m_connectedStateTypesMap.value(device->deviceClassId()), true);
|
||||
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id())) {
|
||||
child->setStateValue(m_connectedStateTypesMap[child->deviceClassId()], true);
|
||||
|
|
@ -174,7 +430,7 @@ void DevicePluginShelly::onClientDisconnected(MqttChannel *channel)
|
|||
qCWarning(dcShelly()) << "Received a client disconnect for a device we don't know!";
|
||||
return;
|
||||
}
|
||||
device->setStateValue(shelly1ConnectedStateTypeId, false);
|
||||
device->setStateValue(m_connectedStateTypesMap.value(device->deviceClassId()), false);
|
||||
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id())) {
|
||||
child->setStateValue(m_connectedStateTypesMap[child->deviceClassId()], false);
|
||||
|
|
@ -189,13 +445,16 @@ void DevicePluginShelly::onPublishReceived(MqttChannel *channel, const QString &
|
|||
return;
|
||||
}
|
||||
|
||||
QString shellyId = device->paramValue(shelly1DeviceIdParamTypeId).toString();
|
||||
if (topic == "shellies/" + shellyId + "/input/0") {
|
||||
qCDebug(dcShelly()) << "Publish received from" << device->name() << topic << payload;
|
||||
|
||||
QString shellyId = device->paramValue(m_idParamTypeMap.value(device->deviceClassId())).toString();
|
||||
if (topic.startsWith("shellies/" + shellyId + "/input/")) {
|
||||
int channel = topic.split("/").last().toInt();
|
||||
// "1" or "0"
|
||||
// Emit event button pressed
|
||||
bool on = payload == "1";
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id())) {
|
||||
if (child->deviceClassId() == shellySwitchDeviceClassId) {
|
||||
if (child->deviceClassId() == shellySwitchDeviceClassId && child->paramValue(shellySwitchDeviceChannelParamTypeId).toInt() == channel + 1) {
|
||||
if (child->stateValue(shellySwitchPowerStateTypeId).toBool() != on) {
|
||||
child->setStateValue(shellySwitchPowerStateTypeId, on);
|
||||
emit emitEvent(Event(shellySwitchPressedEventTypeId, child->id()));
|
||||
|
|
@ -204,21 +463,141 @@ void DevicePluginShelly::onPublishReceived(MqttChannel *channel, const QString &
|
|||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/relay/0") {
|
||||
QRegExp topicMatcher = QRegExp("shellies/" + shellyId + "/relay/[0-1]");
|
||||
if (topicMatcher.exactMatch(topic)) {
|
||||
QStringList parts = topic.split("/");
|
||||
int channel = parts.at(3).toInt();
|
||||
bool on = payload == "on";
|
||||
|
||||
// If the shelly main device has a power state (e.g. Shelly Plug)
|
||||
if (m_powerStateTypeMap.contains(device->deviceClassId())) {
|
||||
device->setStateValue(m_powerStateTypeMap.value(device->deviceClassId()), on);
|
||||
}
|
||||
|
||||
// And switch all childs of this shelly too
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id())) {
|
||||
if (m_powerStateTypeMap.contains(child->deviceClassId())) {
|
||||
child->setStateValue(m_powerStateTypeMap.value(child->deviceClassId()), on);
|
||||
ParamTypeId channelParamTypeId = m_channelParamTypeMap.value(child->deviceClassId());
|
||||
if (child->paramValue(channelParamTypeId).toInt() == channel + 1) {
|
||||
child->setStateValue(m_powerStateTypeMap.value(child->deviceClassId()), on);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
qCDebug(dcShelly()) << "Publish received from" << device->name() << topic << payload;
|
||||
|
||||
topicMatcher = QRegExp("shellies/" + shellyId + "/(relay|roller)/[0-1]/power");
|
||||
if (topicMatcher.exactMatch(topic)) {
|
||||
QStringList parts = topic.split("/");
|
||||
int channel = parts.at(3).toInt();
|
||||
double power = payload.toDouble();
|
||||
// If this gateway device supports power measuring (e.g. Shelly Plug S) set it directly here
|
||||
if (m_currentPowerStateTypeMap.contains(device->deviceClassId())) {
|
||||
device->setStateValue(m_currentPowerStateTypeMap.value(device->deviceClassId()), power);
|
||||
}
|
||||
// For multi-channel devices, power measurements are per-channel, so, find the child device
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id()).filterByInterface("extendedsmartmeterconsumer")) {
|
||||
ParamTypeId channelParamTypeId = m_channelParamTypeMap.value(child->deviceClassId());
|
||||
if (child->paramValue(channelParamTypeId).toInt() == channel + 1) {
|
||||
child->setStateValue(m_currentPowerStateTypeMap.value(child->deviceClassId()), power);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
topicMatcher = QRegExp("shellies/" + shellyId + "/(relay|roller)/[0-1]/energy");
|
||||
if (topicMatcher.exactMatch(topic)) {
|
||||
QStringList parts = topic.split("/");
|
||||
int channel = parts.at(3).toInt();
|
||||
// W/min => kW/h
|
||||
double energy = payload.toDouble() / 1000 / 60;
|
||||
// If this gateway device supports energy measuring (e.g. Shelly Plug S) set it directly here
|
||||
if (m_totalEnergyConsumedStateTypeMap.contains(device->deviceClassId())) {
|
||||
device->setStateValue(m_totalEnergyConsumedStateTypeMap.value(device->deviceClassId()), energy);
|
||||
}
|
||||
// For multi-channel devices, power measurements are per-channel, so, find the child device
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id()).filterByInterface("extendedsmartmeterconsumer")) {
|
||||
ParamTypeId channelParamTypeId = m_channelParamTypeMap.value(child->deviceClassId());
|
||||
if (child->paramValue(channelParamTypeId).toInt() == channel + 1) {
|
||||
child->setStateValue(m_totalEnergyConsumedStateTypeMap.value(child->deviceClassId()), energy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/color/0") {
|
||||
bool on = payload == "on";
|
||||
if (m_powerStateTypeMap.contains(device->deviceClassId())) {
|
||||
device->setStateValue(m_powerStateTypeMap.value(device->deviceClassId()), on);
|
||||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/color/0/status") {
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(payload, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcShelly()) << "Error parsing JSON from Shelly:" << error.error << error.errorString() << payload;
|
||||
return;
|
||||
}
|
||||
QVariantMap statusMap = jsonDoc.toVariant().toMap();
|
||||
if (m_colorStateTypeMap.contains(device->deviceClassId())) {
|
||||
QColor color = QColor(statusMap.value("red").toInt(), statusMap.value("green").toInt(), statusMap.value("blue").toInt());
|
||||
device->setStateValue(m_colorStateTypeMap.value(device->deviceClassId()), color);
|
||||
}
|
||||
if (m_brightnessStateTypeMap.contains(device->deviceClassId())) {
|
||||
int brightness = statusMap.value("gain").toInt();
|
||||
device->setStateValue(m_brightnessStateTypeMap.value(device->deviceClassId()), brightness);
|
||||
}
|
||||
if (m_currentPowerStateTypeMap.contains(device->deviceClassId())) {
|
||||
double power = statusMap.value("power").toDouble();
|
||||
device->setStateValue(m_currentPowerStateTypeMap.value(device->deviceClassId()), power);
|
||||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/light/0") {
|
||||
bool on = payload == "on";
|
||||
if (m_powerStateTypeMap.contains(device->deviceClassId())) {
|
||||
device->setStateValue(m_powerStateTypeMap.value(device->deviceClassId()), on);
|
||||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/light/0/status") {
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(payload, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcShelly()) << "Error parsing JSON from Shelly:" << error.error << error.errorString() << payload;
|
||||
return;
|
||||
}
|
||||
QVariantMap statusMap = jsonDoc.toVariant().toMap();
|
||||
if (m_brightnessStateTypeMap.contains(device->deviceClassId())) {
|
||||
int brightness = statusMap.value("brightness").toInt();
|
||||
device->setStateValue(m_brightnessStateTypeMap.value(device->deviceClassId()), brightness);
|
||||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/light/0/power") {
|
||||
if (m_currentPowerStateTypeMap.contains(device->deviceClassId())) {
|
||||
double power = payload.toDouble();
|
||||
device->setStateValue(m_currentPowerStateTypeMap.value(device->deviceClassId()), power);
|
||||
}
|
||||
}
|
||||
|
||||
if (topic == "shellies/" + shellyId + "/roller/0") {
|
||||
// Roller shutters are always child devices...
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id()).filterByInterface("extendedshutter")) {
|
||||
child->setStateValue(shellyRollerMovingStateTypeId, payload != "stop");
|
||||
}
|
||||
}
|
||||
if (topic == "shellies/" + shellyId + "/roller/0/pos") {
|
||||
// Roller shutters are always child devices...
|
||||
int pos = payload.toInt();
|
||||
foreach (Device *child, myDevices().filterByParentDeviceId(device->id()).filterByInterface("extendedshutter")) {
|
||||
child->setStateValue(shellyRollerPercentageStateTypeId, 100 - pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DevicePluginShelly::setupShellyGateway(DeviceSetupInfo *info)
|
||||
{
|
||||
QString shellyId = info->device()->paramValue(shelly1DeviceIdParamTypeId).toString();
|
||||
Device *device = info->device();
|
||||
QString shellyId = info->device()->paramValue(m_idParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
ZeroConfServiceEntry zeroConfEntry;
|
||||
foreach (const ZeroConfServiceEntry &entry, m_zeroconfBrowser->serviceEntries()) {
|
||||
if (entry.name() == shellyId) {
|
||||
|
|
@ -242,19 +621,47 @@ void DevicePluginShelly::setupShellyGateway(DeviceSetupInfo *info)
|
|||
return;
|
||||
}
|
||||
|
||||
// Validate params
|
||||
bool rollerMode = false;
|
||||
if (info->device()->deviceClassId() == shelly25DeviceClassId) {
|
||||
QString connectedDevice1 = info->device()->paramValue(shelly25DeviceConnectedDevice1ParamTypeId).toString();
|
||||
QString connectedDevice2 = info->device()->paramValue(shelly25DeviceConnectedDevice2ParamTypeId).toString();
|
||||
if (connectedDevice1.startsWith("Roller Shutter") && !connectedDevice2.startsWith("Roller Shutter")) {
|
||||
qCWarning(dcShelly()) << "Cannot mix roller and relay mode. This won't work..";
|
||||
info->finish(Device::DeviceErrorInvalidParameter, QT_TR_NOOP("Roller shutter mode can't be mixed with relay mode. Please configure both connected devices to control a shutter or relays."));
|
||||
return;
|
||||
}
|
||||
if (connectedDevice1 == "Roller Shutter Up" && connectedDevice2 != "Roller Shutter Down") {
|
||||
qCWarning(dcShelly()) << "Connected device 1 is shutter up but connected device 2 is not shutter down. This won't work..";
|
||||
info->finish(Device::DeviceErrorInvalidParameter, QT_TR_NOOP("For using a roller shutter, one channel must be set to up, the other to down."));
|
||||
return;
|
||||
}
|
||||
if (connectedDevice1 == "Roller Shutter Down" && connectedDevice2 != "Roller Shutter Up") {
|
||||
qCWarning(dcShelly()) << "Connected device 1 is shutter down but connected device 2 is not shutter up. This won't work..";
|
||||
info->finish(Device::DeviceErrorInvalidParameter, QT_TR_NOOP("For using a roller shutter, one channel must be set to up, the other to down."));
|
||||
return;
|
||||
}
|
||||
if (connectedDevice1.startsWith("Roller Shutter") && connectedDevice2.startsWith("Roller Shutter")) {
|
||||
rollerMode = true;
|
||||
}
|
||||
}
|
||||
|
||||
MqttChannel *channel = hardwareManager()->mqttProvider()->createChannel(shellyId, QHostAddress(address), {"shellies"});
|
||||
if (!channel) {
|
||||
qCWarning(dcShelly()) << "Failed to create MQTT channel.";
|
||||
return info->finish(Device::DeviceErrorHardwareFailure, QT_TR_NOOP("Error creating MQTT channel. Please check MQTT server settings."));
|
||||
}
|
||||
connect(channel, &MqttChannel::clientConnected, this, &DevicePluginShelly::onClientConnected);
|
||||
connect(channel, &MqttChannel::clientDisconnected, this, &DevicePluginShelly::onClientDisconnected);
|
||||
connect(channel, &MqttChannel::publishReceived, this, &DevicePluginShelly::onPublishReceived);
|
||||
|
||||
QUrl url;
|
||||
url.setScheme("http");
|
||||
url.setHost(address.toString());
|
||||
url.setPort(80);
|
||||
url.setPath("/settings");
|
||||
url.setUserName(info->device()->paramValue(shelly1DeviceUsernameParamTypeId).toString());
|
||||
url.setPassword(info->device()->paramValue(shelly1DevicePasswordParamTypeId).toString());
|
||||
url.setUserName(info->device()->paramValue(m_usernameParamTypeMap.value(info->device()->deviceClassId())).toString());
|
||||
url.setPassword(info->device()->paramValue(m_passwordParamTypeMap.value(info->device()->deviceClassId())).toString());
|
||||
|
||||
QUrlQuery query;
|
||||
query.addQueryItem("mqtt_server", channel->serverAddress().toString() + ":" + QString::number(channel->serverPort()));
|
||||
|
|
@ -262,6 +669,11 @@ void DevicePluginShelly::setupShellyGateway(DeviceSetupInfo *info)
|
|||
query.addQueryItem("mqtt_pass", channel->password());
|
||||
query.addQueryItem("mqtt_enable", "true");
|
||||
|
||||
// Make sure the shelly 2.5 is in the mode we expect it to be (roller or relay)
|
||||
if (info->device()->deviceClassId() == shelly25DeviceClassId) {
|
||||
query.addQueryItem("mode", rollerMode ? "roller" : "relay");
|
||||
}
|
||||
|
||||
url.setQuery(query);
|
||||
QNetworkRequest request(url);
|
||||
|
||||
|
|
@ -294,29 +706,90 @@ void DevicePluginShelly::setupShellyGateway(DeviceSetupInfo *info)
|
|||
qCDebug(dcShelly()) << "Settings data" << qUtf8Printable(jsonDoc.toJson(QJsonDocument::Indented));
|
||||
|
||||
m_mqttChannels.insert(info->device(), channel);
|
||||
connect(channel, &MqttChannel::clientConnected, this, &DevicePluginShelly::onClientConnected);
|
||||
connect(channel, &MqttChannel::clientDisconnected, this, &DevicePluginShelly::onClientDisconnected);
|
||||
connect(channel, &MqttChannel::publishReceived, this, &DevicePluginShelly::onPublishReceived);
|
||||
|
||||
DeviceDescriptors autoChilds;
|
||||
|
||||
// Always create the switch device if we don't have one yet
|
||||
if (myDevices().filterByParentDeviceId(info->device()->id()).filterByDeviceClassId(shellySwitchDeviceClassId).isEmpty()) {
|
||||
DeviceDescriptor switchChild(shellySwitchDeviceClassId, "Shelly switch", QString(), info->device()->id());
|
||||
autoChilds.append(switchChild);
|
||||
}
|
||||
|
||||
// Add connected devices as configured in params
|
||||
if (info->device()->paramValue(shelly1DeviceConnectedDeviceParamTypeId).toString() == "Generic") {
|
||||
if (myDevices().filterByParentDeviceId(info->device()->id()).filterByDeviceClassId(shellyGenericDeviceClassId).isEmpty()) {
|
||||
DeviceDescriptor genericChild(shellyGenericDeviceClassId, "Shelly connected device", QString(), info->device()->id());
|
||||
autoChilds.append(genericChild);
|
||||
// Autogenerate some childs if this device has no childs yet
|
||||
if (myDevices().filterByParentDeviceId(info->device()->id()).isEmpty()) {
|
||||
// Always create the switch device if we don't have one yet for shellies with input (1, 1pm etc)
|
||||
if (info->device()->deviceClassId() == shelly1DeviceClassId
|
||||
|| info->device()->deviceClassId() == shelly1pmDeviceClassId) {
|
||||
DeviceDescriptor switchChild(shellySwitchDeviceClassId, info->device()->name() + " switch", QString(), info->device()->id());
|
||||
autoChilds.append(switchChild);
|
||||
}
|
||||
}
|
||||
if (info->device()->paramValue(shelly1DeviceConnectedDeviceParamTypeId).toString() == "Light") {
|
||||
if (myDevices().filterByParentDeviceId(info->device()->id()).filterByDeviceClassId(shellyLightDeviceClassId).isEmpty()) {
|
||||
DeviceDescriptor genericChild(shellyLightDeviceClassId, "Shelly connected light", QString(), info->device()->id());
|
||||
autoChilds.append(genericChild);
|
||||
|
||||
// Create 2 switches for shelly 2.5
|
||||
if (info->device()->deviceClassId() == shelly25DeviceClassId) {
|
||||
DeviceDescriptor switchChild(shellySwitchDeviceClassId, info->device()->name() + " switch 1", QString(), info->device()->id());
|
||||
switchChild.setParams(ParamList() << Param(shellySwitchDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(switchChild);
|
||||
DeviceDescriptor switch2Child(shellySwitchDeviceClassId, info->device()->name() + " switch 2", QString(), info->device()->id());
|
||||
switch2Child.setParams(ParamList() << Param(shellySwitchDeviceChannelParamTypeId, 2));
|
||||
autoChilds.append(switch2Child);
|
||||
}
|
||||
|
||||
// Add connected devices as configured in params
|
||||
// No PM devices for shelly 1
|
||||
if (info->device()->deviceClassId() == shelly1DeviceClassId) {
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Generic") {
|
||||
DeviceDescriptor genericChild(shellyGenericDeviceClassId, info->device()->name() + " connected device", QString(), info->device()->id());
|
||||
genericChild.setParams(ParamList() << Param(shellyGenericDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(genericChild);
|
||||
}
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Light") {
|
||||
DeviceDescriptor lightChild(shellyLightDeviceClassId, info->device()->name() + " connected light", QString(), info->device()->id());
|
||||
lightChild.setParams(ParamList() << Param(shellyLightDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(lightChild);
|
||||
}
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Socket") {
|
||||
DeviceDescriptor socketChild(shellySocketDeviceClassId, info->device()->name() + " connected socket", QString(), info->device()->id());
|
||||
socketChild.setParams(ParamList() << Param(shellySocketDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(socketChild);
|
||||
}
|
||||
// PM devices for shelly 1 pm and 2.5
|
||||
} else if (info->device()->deviceClassId() == shelly1pmDeviceClassId
|
||||
|| info->device()->deviceClassId() == shelly25DeviceClassId) {
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Generic") {
|
||||
DeviceDescriptor genericChild(shellyGenericPMDeviceClassId, info->device()->name() + " connected device", QString(), info->device()->id());
|
||||
genericChild.setParams(ParamList() << Param(shellyGenericPMDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(genericChild);
|
||||
}
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Light") {
|
||||
DeviceDescriptor lightChild(shellyLightPMDeviceClassId, info->device()->name() + " connected light", QString(), info->device()->id());
|
||||
lightChild.setParams(ParamList() << Param(shellyLightPMDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(lightChild);
|
||||
}
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Socket") {
|
||||
DeviceDescriptor socketChild(shellySocketPMDeviceClassId, info->device()->name() + " connected socket", QString(), info->device()->id());
|
||||
socketChild.setParams(ParamList() << Param(shellySocketPMDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(socketChild);
|
||||
}
|
||||
|
||||
// Add more for 2.5
|
||||
if (info->device()->deviceClassId() == shelly25DeviceClassId) {
|
||||
if (info->device()->paramValue(m_connectedDevice2ParamTypeMap.value(info->device()->deviceClassId())).toString() == "Generic") {
|
||||
DeviceDescriptor genericChild(shellyGenericPMDeviceClassId, info->device()->name() + " connected device 2", QString(), info->device()->id());
|
||||
genericChild.setParams(ParamList() << Param(shellyGenericPMDeviceChannelParamTypeId, 2));
|
||||
autoChilds.append(genericChild);
|
||||
}
|
||||
if (info->device()->paramValue(m_connectedDevice2ParamTypeMap.value(info->device()->deviceClassId())).toString() == "Light") {
|
||||
DeviceDescriptor lightChild(shellyLightPMDeviceClassId, info->device()->name() + " connected light 2", QString(), info->device()->id());
|
||||
lightChild.setParams(ParamList() << Param(shellyLightPMDeviceChannelParamTypeId, 2));
|
||||
autoChilds.append(lightChild);
|
||||
}
|
||||
if (info->device()->paramValue(m_connectedDevice2ParamTypeMap.value(info->device()->deviceClassId())).toString() == "Socket") {
|
||||
DeviceDescriptor socketChild(shellySocketPMDeviceClassId, info->device()->name() + " connected socket 2", QString(), info->device()->id());
|
||||
socketChild.setParams(ParamList() << Param(shellySocketPMDeviceChannelParamTypeId, 2));
|
||||
autoChilds.append(socketChild);
|
||||
}
|
||||
|
||||
if (info->device()->paramValue(m_connectedDeviceParamTypeMap.value(info->device()->deviceClassId())).toString() == "Roller Shutter Up"
|
||||
&& info->device()->paramValue(m_connectedDevice2ParamTypeMap.value(info->device()->deviceClassId())).toString() == "Roller Shutter Down") {
|
||||
DeviceDescriptor rollerShutterChild(shellyRollerDeviceClassId, info->device()->name() + " connected shutter", QString(), info->device()->id());
|
||||
rollerShutterChild.setParams(ParamList() << Param(shellyRollerDeviceChannelParamTypeId, 1));
|
||||
autoChilds.append(rollerShutterChild);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -325,8 +798,8 @@ void DevicePluginShelly::setupShellyGateway(DeviceSetupInfo *info)
|
|||
emit autoDevicesAppeared(autoChilds);
|
||||
|
||||
// Make sure authentication is enalbed if the user wants it
|
||||
QString username = info->device()->paramValue(shelly1DeviceUsernameParamTypeId).toString();
|
||||
QString password = info->device()->paramValue(shelly1DevicePasswordParamTypeId).toString();
|
||||
QString username = info->device()->paramValue(m_usernameParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
QString password = info->device()->paramValue(m_passwordParamTypeMap.value(info->device()->deviceClassId())).toString();
|
||||
if (!username.isEmpty()) {
|
||||
QUrl url;
|
||||
url.setScheme("http");
|
||||
|
|
@ -349,6 +822,34 @@ void DevicePluginShelly::setupShellyGateway(DeviceSetupInfo *info)
|
|||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
}
|
||||
});
|
||||
|
||||
// Handle device settings of gateway devices
|
||||
if (info->device()->deviceClassId() == shellyPlugDeviceClassId) {
|
||||
connect(info->device(), &Device::settingChanged, this, [this, device, shellyId](const ParamTypeId ¶mTypeId, const QVariant &value) {
|
||||
pluginStorage()->beginGroup(device->id().toString());
|
||||
QString address = pluginStorage()->value("cachedAddress").toString();
|
||||
pluginStorage()->endGroup();
|
||||
|
||||
QUrl url;
|
||||
url.setScheme("http");
|
||||
url.setHost(address);
|
||||
url.setPort(80);
|
||||
url.setPath("/settings/relay/0");
|
||||
url.setUserName(device->paramValue(m_usernameParamTypeMap.value(device->deviceClassId())).toString());
|
||||
url.setPassword(device->paramValue(m_passwordParamTypeMap.value(device->deviceClassId())).toString());
|
||||
|
||||
QUrlQuery query;
|
||||
if (paramTypeId == shellyPlugSettingsDefaultStateParamTypeId) {
|
||||
query.addQueryItem("default_state", value.toString());
|
||||
}
|
||||
|
||||
url.setQuery(query);
|
||||
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(url));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void DevicePluginShelly::setupShellyChild(DeviceSetupInfo *info)
|
||||
|
|
@ -367,8 +868,8 @@ void DevicePluginShelly::setupShellyChild(DeviceSetupInfo *info)
|
|||
url.setHost(address);
|
||||
url.setPort(80);
|
||||
url.setPath("/settings/relay/0");
|
||||
url.setUserName(parentDevice->paramValue(shelly1DeviceUsernameParamTypeId).toString());
|
||||
url.setPassword(parentDevice->paramValue(shelly1DevicePasswordParamTypeId).toString());
|
||||
url.setUserName(parentDevice->paramValue(m_usernameParamTypeMap.value(parentDevice->deviceClassId())).toString());
|
||||
url.setPassword(parentDevice->paramValue(m_passwordParamTypeMap.value(parentDevice->deviceClassId())).toString());
|
||||
|
||||
QUrlQuery query;
|
||||
if (paramTypeId == shellySwitchSettingsButtonTypeParamTypeId) {
|
||||
|
|
|
|||
|
|
@ -71,10 +71,50 @@ private:
|
|||
|
||||
QHash<Device*, MqttChannel*> m_mqttChannels;
|
||||
|
||||
QHash<DeviceClassId, ParamTypeId> m_idParamTypeMap;
|
||||
QHash<DeviceClassId, ParamTypeId> m_usernameParamTypeMap;
|
||||
QHash<DeviceClassId, ParamTypeId> m_passwordParamTypeMap;
|
||||
QHash<DeviceClassId, ParamTypeId> m_connectedDeviceParamTypeMap;
|
||||
QHash<DeviceClassId, ParamTypeId> m_connectedDevice2ParamTypeMap;
|
||||
QHash<DeviceClassId, ParamTypeId> m_channelParamTypeMap;
|
||||
|
||||
QHash<DeviceClassId, StateTypeId> m_connectedStateTypesMap;
|
||||
QHash<DeviceClassId, StateTypeId> m_powerStateTypeMap;
|
||||
QHash<DeviceClassId, StateTypeId> m_currentPowerStateTypeMap;
|
||||
QHash<DeviceClassId, StateTypeId> m_totalEnergyConsumedStateTypeMap;
|
||||
QHash<DeviceClassId, StateTypeId> m_colorStateTypeMap;
|
||||
QHash<DeviceClassId, StateTypeId> m_colorTemperatureStateTypeMap;
|
||||
QHash<DeviceClassId, StateTypeId> m_brightnessStateTypeMap;
|
||||
|
||||
QHash<ActionTypeId, DeviceClassId> m_rebootActionTypeMap;
|
||||
// Relay based power actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_powerActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_powerActionParamTypesMap;
|
||||
|
||||
// Color JSON based power actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_colorPowerActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_colorPowerActionParamTypesMap;
|
||||
// Color actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_colorActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_colorActionParamTypesMap;
|
||||
// Color JSON brightness actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_colorBrightnessActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_colorBrightnessActionParamTypesMap;
|
||||
// Color temp
|
||||
QHash<ActionTypeId, DeviceClassId> m_colorTemperatureActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_colorTemperatureActionParamTypesMap;
|
||||
|
||||
// Dimmable based power actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_dimmablePowerActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_dimmablePowerActionParamTypesMap;
|
||||
// Dimmable based brightness actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_dimmableBrightnessActionTypesMap;
|
||||
QHash<ActionTypeId, ParamTypeId> m_dimmableBrightnessActionParamTypesMap;
|
||||
|
||||
// Roller shutter actions
|
||||
QHash<ActionTypeId, DeviceClassId> m_rollerOpenActionTypeMap;
|
||||
QHash<ActionTypeId, DeviceClassId> m_rollerCloseActionTypeMap;
|
||||
QHash<ActionTypeId, DeviceClassId> m_rollerStopActionTypeMap;
|
||||
};
|
||||
|
||||
#endif // DEVICEPLUGINSHELLY_H
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
{
|
||||
"id": "f810b66a-7177-4397-9771-4229abaabbb6",
|
||||
"name": "shelly1",
|
||||
"displayName": "Shelly1 / Shelly1PM",
|
||||
"displayName": "Shelly 1",
|
||||
"createMethods": ["discovery"],
|
||||
"interfaces": [ "gateway" ],
|
||||
"paramTypes": [
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
"name": "connectedDevice",
|
||||
"displayName": "Connected device",
|
||||
"type": "QString",
|
||||
"allowedValues": ["None", "Generic", "Light"],
|
||||
"allowedValues": ["None", "Generic", "Light", "Socket"],
|
||||
"defaultValue": "Generic"
|
||||
},
|
||||
{
|
||||
|
|
@ -62,6 +62,391 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "30e74e9f-57f4-4bbc-b0df-f2c4f28b2f06",
|
||||
"name": "shelly1pm",
|
||||
"displayName": "Shelly 1PM",
|
||||
"createMethods": ["discovery"],
|
||||
"interfaces": [ "gateway" ],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "6df5db8a-4e27-49e5-8cf9-78cb8497d831",
|
||||
"name":"id",
|
||||
"displayName": "Shelly ID",
|
||||
"type": "QString",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"id": "3aacd693-3f1a-4040-be3a-953e600da44f",
|
||||
"name": "connectedDevice",
|
||||
"displayName": "Connected device",
|
||||
"type": "QString",
|
||||
"allowedValues": ["None", "Generic", "Light", "Socket"],
|
||||
"defaultValue": "Generic"
|
||||
},
|
||||
{
|
||||
"id": "99a31711-0029-461e-9117-2834451175c1",
|
||||
"name": "username",
|
||||
"displayName": "Username (optional)",
|
||||
"type": "QString"
|
||||
},
|
||||
{
|
||||
"id": "3a86e7bc-8bde-4b20-833b-7bee41dd9bc6",
|
||||
"name": "password",
|
||||
"displayName": "Password (optional)",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "df23a5ea-5f54-42ac-ab6b-aea8f71224f0",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "3133cf3d-729d-4f36-9a6d-1eeecb07edde",
|
||||
"name": "reboot",
|
||||
"displayName": "Reboot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "465efb0d-da68-4177-a040-940c7f451e29",
|
||||
"name": "shelly25",
|
||||
"displayName": "Shelly 2.5",
|
||||
"createMethods": ["discovery"],
|
||||
"interfaces": [ "gateway" ],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "d79de2fa-81dd-440f-80b8-f1f71149d1f2",
|
||||
"name":"id",
|
||||
"displayName": "Shelly ID",
|
||||
"type": "QString",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"id": "dc8a02fb-baa4-40bf-9e00-684b17794287",
|
||||
"name": "connectedDevice1",
|
||||
"displayName": "Connected device 1",
|
||||
"type": "QString",
|
||||
"allowedValues": ["None", "Generic", "Light", "Socket", "Roller Shutter Up"],
|
||||
"defaultValue": "Generic"
|
||||
},
|
||||
{
|
||||
"id": "1e6925f8-1613-4fe4-8234-e4a4e973ef83",
|
||||
"name": "connectedDevice2",
|
||||
"displayName": "Connected device 2",
|
||||
"type": "QString",
|
||||
"allowedValues": ["None", "Generic", "Light", "Socket", "Roller Shutter Down"],
|
||||
"defaultValue": "Generic"
|
||||
},
|
||||
{
|
||||
"id": "4fb3c690-0183-4fc4-affa-1404788b2dcc",
|
||||
"name": "username",
|
||||
"displayName": "Username (optional)",
|
||||
"type": "QString"
|
||||
},
|
||||
{
|
||||
"id": "738a6ca4-83f8-4a72-ba11-3a195f9177e3",
|
||||
"name": "password",
|
||||
"displayName": "Password (optional)",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "36a50e24-707e-4d5d-8eba-d2a73f626e2b",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "4085a6a0-746f-490d-9e38-897c24f866b6",
|
||||
"name": "reboot",
|
||||
"displayName": "Reboot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "22229a6d-2af8-44e0-bea9-310a0f2769ef",
|
||||
"name": "shellyPlug",
|
||||
"displayName": "Shelly Plug/PlugS",
|
||||
"createMethods": ["discovery"],
|
||||
"interfaces": [ "powersocket", "extendedsmartmeterconsumer", "connectable" ],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "bd5679fc-b761-4a56-a472-97717418c425",
|
||||
"name":"id",
|
||||
"displayName": "Shelly ID",
|
||||
"type": "QString",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"id": "9686b1ca-e71f-4e62-beb0-6a20f21550e9",
|
||||
"name": "connectedDevice",
|
||||
"displayName": "Connected device",
|
||||
"type": "QString",
|
||||
"allowedValues": ["Generic", "Light"],
|
||||
"defaultValue": "Generic"
|
||||
},
|
||||
{
|
||||
"id": "42797a00-1591-4021-8f4c-2a170189911b",
|
||||
"name": "username",
|
||||
"displayName": "Username (optional)",
|
||||
"type": "QString"
|
||||
},
|
||||
{
|
||||
"id": "e0141b39-fa76-49de-94c6-133cfe41257f",
|
||||
"name": "password",
|
||||
"displayName": "Password (optional)",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"settingsTypes": [
|
||||
{
|
||||
"id": "40f251db-919a-410f-939a-a11bbc4f7f95",
|
||||
"name": "defaultState",
|
||||
"displayName": "Default state",
|
||||
"allowedValues": ["on", "off", "last"],
|
||||
"defaultValue": "off",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "584b3558-5fb5-40a9-81ad-dc71ba68fd45",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "d813b35f-e11e-4783-b3b3-dbecb956ffb5",
|
||||
"name": "power",
|
||||
"displayName": "Powered",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "962fec29-6be0-452e-87c5-5ff71435c40f",
|
||||
"name": "totalEnergyConsumed",
|
||||
"displayName": "Total energy consumed",
|
||||
"displayNameEvent": "Consumed energy changed",
|
||||
"type": "double",
|
||||
"unit": "KiloWattHour",
|
||||
"defaultValue": 0
|
||||
},
|
||||
{
|
||||
"id": "202ea409-650e-48b2-9aae-d4ebe9d505fd",
|
||||
"name": "currentPower",
|
||||
"displayName": "Power consumption",
|
||||
"displayNameEvent": "Power consumption changed",
|
||||
"type": "double",
|
||||
"unit": "Watt",
|
||||
"defaultValue": 0
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "7dc03565-d7cb-4add-ba08-b751ce0821d5",
|
||||
"name": "reboot",
|
||||
"displayName": "Reboot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "17f24cec-e6ed-4abd-9d42-60999f391dba",
|
||||
"name": "shellyRgbw2",
|
||||
"displayName": "Shelly RGBW2",
|
||||
"createMethods": ["discovery"],
|
||||
"interfaces": ["colorlight", "connectable"],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "2b0cd1b2-1648-4e0d-85d2-34aa9b9b835e",
|
||||
"name":"id",
|
||||
"displayName": "Shelly ID",
|
||||
"type": "QString",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"id": "0b060c1a-3b9b-42d7-87f8-41b7b64a7eb8",
|
||||
"name": "username",
|
||||
"displayName": "Username (optional)",
|
||||
"type": "QString"
|
||||
},
|
||||
{
|
||||
"id": "1cc21f73-b93a-4044-924b-d290870d5226",
|
||||
"name": "password",
|
||||
"displayName": "Password (optional)",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected/disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "14abcd30-9db2-4065-ae81-501a55fbb145",
|
||||
"name": "power",
|
||||
"displayName": "On",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "3f74eb92-d95b-48c2-8ac6-29bea9f65ce3",
|
||||
"name": "brightness",
|
||||
"displayName": "Brightness",
|
||||
"displayNameEvent": "Brightness changed",
|
||||
"displayNameAction": "Set brightness",
|
||||
"type": "int",
|
||||
"defaultValue": 0,
|
||||
"minValue": 0,
|
||||
"maxValue": 100,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "a32a457f-fdc0-46ce-9106-6f9d4f4a6b16",
|
||||
"name": "colorTemperature",
|
||||
"displayName": "Color temperature",
|
||||
"displayNameEvent": "Color temperature changed",
|
||||
"displayNameAction": "Set color temperature",
|
||||
"type": "int",
|
||||
"minValue": 0,
|
||||
"maxValue": 100,
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "6ef7c686-350d-4069-9c41-9b90b3906748",
|
||||
"name": "color",
|
||||
"displayName": "Color",
|
||||
"displayNameEvent": "Color changed",
|
||||
"displayNameAction": "Set color",
|
||||
"type": "QColor",
|
||||
"defaultValue": "white",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power consumption",
|
||||
"displayNameEvent": "Current power consumption changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "Watt"
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "1390811d-dc71-4d89-a6e1-a808e03225f9",
|
||||
"name": "reboot",
|
||||
"displayName": "Reboot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3a1d6fc1-c623-4b45-9c81-1573fcc15f99",
|
||||
"name": "shellyDimmer",
|
||||
"displayName": "Shelly Dimmer",
|
||||
"createMethods": ["discovery"],
|
||||
"interfaces": ["dimmablelight", "connectable"],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "32e328be-2357-4d94-b438-3fe1ae94d97b",
|
||||
"name":"id",
|
||||
"displayName": "Shelly ID",
|
||||
"type": "QString",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"id": "2df0d509-d4b5-407a-835a-6b6392653e10",
|
||||
"name": "username",
|
||||
"displayName": "Username (optional)",
|
||||
"type": "QString"
|
||||
},
|
||||
{
|
||||
"id": "b181bf78-a19c-4f97-9264-f16fbac64ee2",
|
||||
"name": "password",
|
||||
"displayName": "Password (optional)",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "49ff0891-1798-459f-a97c-f1cc4e643a46",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected/disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "e4a6ac87-31fb-4516-9cf3-f135621e902c",
|
||||
"name": "power",
|
||||
"displayName": "On",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "f41c93ac-6911-45fc-9221-7dd26bf65fd0",
|
||||
"name": "brightness",
|
||||
"displayName": "Brightness",
|
||||
"displayNameEvent": "Brightness changed",
|
||||
"displayNameAction": "Set brightness",
|
||||
"type": "int",
|
||||
"defaultValue": 0,
|
||||
"minValue": 0,
|
||||
"maxValue": 100,
|
||||
"unit": "Percentage",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "b3336ca6-1577-4230-8708-98875148606e",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power consumption",
|
||||
"displayNameEvent": "Current power consumption changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "Watt"
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "dca1d1bb-b377-41b8-ac26-579060448fd7",
|
||||
"name": "reboot",
|
||||
"displayName": "Reboot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6de35a17-0f54-4397-894d-4321b64c53d1",
|
||||
"name": "shellySwitch",
|
||||
|
|
@ -85,6 +470,15 @@
|
|||
"defaultValue": false
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "be6bdd43-cbf0-4d16-b789-ccad16e23788",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "0c233312-7b8f-4ca3-880d-523cab9b3ccb",
|
||||
|
|
@ -127,7 +521,15 @@
|
|||
"defaultValue": "off",
|
||||
"type": "QString"
|
||||
}
|
||||
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "c08b1272-6eb2-4fed-80ad-06566a521b95",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
|
|
@ -152,6 +554,80 @@
|
|||
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3bd614e0-72c4-4fbe-8c70-ce6c48d04bce",
|
||||
"name": "shellyGenericPM",
|
||||
"displayName": "Shelly connected device",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": ["power", "extendedsmartmeterconsumer", "connectable"],
|
||||
"settingsTypes": [
|
||||
{
|
||||
"id": "8c60a23c-5e5b-42ba-abae-aeeb3d379d79",
|
||||
"name": "defaultState",
|
||||
"displayName": "Default state",
|
||||
"allowedValues": ["on", "off", "last", "switch"],
|
||||
"defaultValue": "off",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "ff7f0b1c-e3ad-44ac-9bbd-71cd2715126c",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "5e7c6ed5-fe9c-4e27-ad1e-e96886f3c09b",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "5ec936f8-694d-43f4-b3a2-fdc77d38feab",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected or disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "bd9480af-eec2-42d7-ab17-15715ee2e8e0",
|
||||
"name": "power",
|
||||
"displayName": "Power",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "54b0b02e-1dfe-4172-bdfd-8129709e5d9f",
|
||||
"name": "totalEnergyConsumed",
|
||||
"displayName": "Total energy consumed",
|
||||
"displayNameEvent": "Total energy changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "KiloWattHour"
|
||||
},
|
||||
{
|
||||
"id": "41338dbd-6d58-4093-a56c-0adaec5398d5",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power consumption",
|
||||
"displayNameEvent": "Power consumption changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "Watt"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "62a2d6b8-d70d-45fc-ba8c-1c680282a399",
|
||||
"name": "shellyLight",
|
||||
|
|
@ -168,6 +644,15 @@
|
|||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "9c8b88c0-2825-4235-9b68-2ba378eeb53f",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "61b7d8ac-d229-4268-8143-6edb2eca978d",
|
||||
|
|
@ -189,6 +674,266 @@
|
|||
"writable": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "5ab05c19-71aa-4a85-a02f-a108f039a69a",
|
||||
"name": "shellyLightPM",
|
||||
"displayName": "Shelly connected light",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": ["light", "extendedsmartmeterconsumer", "connectable"],
|
||||
"settingsTypes": [
|
||||
{
|
||||
"id": "01cc242a-268d-4dd9-96ce-5502dd1bd430",
|
||||
"name": "defaultState",
|
||||
"displayName": "Default state",
|
||||
"allowedValues": ["on", "off", "last", "switch"],
|
||||
"defaultValue": "off",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "9066e9e9-56e0-4e6b-8667-503b68613640",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "df6f8a11-1295-4ceb-b277-dbe83b9d039c",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected or disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "e77d1c75-e856-46bc-9f38-36e59ed7849d",
|
||||
"name": "power",
|
||||
"displayName": "Power",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "39e3d2c6-efb8-4c40-8ae9-8684d87e4087",
|
||||
"name": "totalEnergyConsumed",
|
||||
"displayName": "Total energy consumed",
|
||||
"displayNameEvent": "Total energy changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "KiloWattHour"
|
||||
},
|
||||
{
|
||||
"id": "0de42461-1077-4b74-9212-5446914fd25f",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power consumption",
|
||||
"displayNameEvent": "Power consumption changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "Watt"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3e13206c-a6cd-49a0-b653-2ccb5bb4bbc1",
|
||||
"name": "shellySocket",
|
||||
"displayName": "Shelly connected power socket",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": ["powersocket", "connectable"],
|
||||
"settingsTypes": [
|
||||
{
|
||||
"id": "9f365d87-ddb9-4764-9bfb-0e64020646b4",
|
||||
"name": "defaultState",
|
||||
"displayName": "Default state",
|
||||
"allowedValues": ["on", "off", "last", "switch"],
|
||||
"defaultValue": "off",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "d48edbdf-8ed5-4721-a42a-fd2c340c1a6e",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "b71fa926-9fd2-4008-9fe5-83bbf821963c",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected or disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "51e897b3-dd17-4df3-aa42-52b9bb5f0df8",
|
||||
"name": "power",
|
||||
"displayName": "Power",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ae6e55fe-1a0b-43bc-bdfb-605661b96905",
|
||||
"name": "shellySocketPM",
|
||||
"displayName": "Shelly connected power socket",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": ["powersocket", "extendedsmartmeterconsumer", "connectable"],
|
||||
"settingsTypes": [
|
||||
{
|
||||
"id": "9880a51b-57da-4b65-a0ec-23eb0fdcb8ac",
|
||||
"name": "defaultState",
|
||||
"displayName": "Default state",
|
||||
"allowedValues": ["on", "off", "last", "switch"],
|
||||
"defaultValue": "off",
|
||||
"type": "QString"
|
||||
}
|
||||
],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "17c19689-8c88-454e-8b18-15436cad293d",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected or disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "d6adeab6-c91d-44ba-8d01-9b5b9b7368be",
|
||||
"name": "power",
|
||||
"displayName": "Power",
|
||||
"displayNameEvent": "Turned on or off",
|
||||
"displayNameAction": "Turn on or off",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "89a65444-63d4-4add-a479-a48e95dd0458",
|
||||
"name": "totalEnergyConsumed",
|
||||
"displayName": "Total energy consumed",
|
||||
"displayNameEvent": "Total energy changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "KiloWattHour"
|
||||
},
|
||||
{
|
||||
"id": "e95b97d4-b88f-4656-8819-3f681fbe8510",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power consumption",
|
||||
"displayNameEvent": "Power consumption changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "Watt"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "d681a4cb-481a-4469-a49a-e6bbb11eb9c9",
|
||||
"name": "shellyRoller",
|
||||
"displayName": "Shelly connected Roller Shutter",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": ["extendedshutter", "extendedsmartmeterconsumer", "connectable"],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "281385a5-5084-4ded-80a4-66c0dc1096a8",
|
||||
"name": "channel",
|
||||
"displayName": "Channel",
|
||||
"type": "uint",
|
||||
"defaultValue": 1
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "d446719d-628e-477d-882c-a84210c85869",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected or disconnected",
|
||||
"type": "bool",
|
||||
"defaultValue": false,
|
||||
"cached": false
|
||||
},
|
||||
{
|
||||
"id": "a7d88654-7503-474d-9a7c-02150d61a6dc",
|
||||
"name": "totalEnergyConsumed",
|
||||
"displayName": "Total energy consumed",
|
||||
"displayNameEvent": "Total energy changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "KiloWattHour"
|
||||
},
|
||||
{
|
||||
"id": "0d7cb1cf-3fff-4d0b-96c2-c02e9a92af57",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power consumption",
|
||||
"displayNameEvent": "Power consumption changed",
|
||||
"type": "double",
|
||||
"defaultValue": 0,
|
||||
"unit": "Watt"
|
||||
},
|
||||
{
|
||||
"id": "2729d4e0-c38c-47b8-a0e8-26959090fe74",
|
||||
"name": "moving",
|
||||
"displayName": "Moving",
|
||||
"displayNameEvent": "Moving changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "86270b8b-bce4-4d8a-9bc9-d72af36b991c",
|
||||
"name": "percentage",
|
||||
"displayName": "Position",
|
||||
"displayNameEvent": "Position changed",
|
||||
"type": "int",
|
||||
"defaultValue": 0
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "b96a8f85-c39e-499b-abbd-40b18788e907",
|
||||
"name": "open",
|
||||
"displayName": "Open"
|
||||
},
|
||||
{
|
||||
"id": "87eb0290-615e-4c98-9ec8-a21104fcf05d",
|
||||
"name": "close",
|
||||
"displayName": "Close"
|
||||
},
|
||||
{
|
||||
"id": "2266303c-df0c-4eae-b15e-6a86e73c9699",
|
||||
"name": "stop",
|
||||
"displayName": "stop"
|
||||
},
|
||||
{
|
||||
"id": "4e2d8a7b-821e-4ee8-9f9b-f774d631845f",
|
||||
"name": "calibrate",
|
||||
"displayName": "Calibrate"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,10 +33,26 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Connected</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyLight, EventType: connected, ID: {61b7d8ac-d229-4268-8143-6edb2eca978d})
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, EventType: connected, ID: {6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67})
|
||||
----------
|
||||
The name of the StateType ({6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, EventType: connected, ID: {b71fa926-9fd2-4008-9fe5-83bbf821963c})
|
||||
----------
|
||||
The name of the StateType ({b71fa926-9fd2-4008-9fe5-83bbf821963c}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: connected, ID: {df6f8a11-1295-4ceb-b277-dbe83b9d039c})
|
||||
----------
|
||||
The name of the StateType ({df6f8a11-1295-4ceb-b277-dbe83b9d039c}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, EventType: connected, ID: {61b7d8ac-d229-4268-8143-6edb2eca978d})
|
||||
----------
|
||||
The name of the StateType ({61b7d8ac-d229-4268-8143-6edb2eca978d}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: connected, ID: {5ec936f8-694d-43f4-b3a2-fdc77d38feab})
|
||||
----------
|
||||
The name of the StateType ({5ec936f8-694d-43f4-b3a2-fdc77d38feab}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, EventType: connected, ID: {4a141674-faa6-4953-8272-5b4a4da84d31})
|
||||
----------
|
||||
The name of the StateType ({4a141674-faa6-4953-8272-5b4a4da84d31}) of DeviceClass shellyGeneric
|
||||
|
|
@ -45,6 +61,26 @@ The name of the ParamType (DeviceClass: shellySwitch, EventType: connected, ID:
|
|||
----------
|
||||
The name of the StateType ({0c233312-7b8f-4ca3-880d-523cab9b3ccb}) of DeviceClass shellySwitch
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: connected, ID: {49ff0891-1798-459f-a97c-f1cc4e643a46})
|
||||
----------
|
||||
The name of the StateType ({49ff0891-1798-459f-a97c-f1cc4e643a46}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: connected, ID: {98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6})
|
||||
----------
|
||||
The name of the StateType ({98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, EventType: connected, ID: {584b3558-5fb5-40a9-81ad-dc71ba68fd45})
|
||||
----------
|
||||
The name of the StateType ({584b3558-5fb5-40a9-81ad-dc71ba68fd45}) of DeviceClass shellyPlug
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, EventType: connected, ID: {36a50e24-707e-4d5d-8eba-d2a73f626e2b})
|
||||
----------
|
||||
The name of the StateType ({36a50e24-707e-4d5d-8eba-d2a73f626e2b}) of DeviceClass shelly25
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, EventType: connected, ID: {df23a5ea-5f54-42ac-ab6b-aea8f71224f0})
|
||||
----------
|
||||
The name of the StateType ({df23a5ea-5f54-42ac-ab6b-aea8f71224f0}) of DeviceClass shelly1pm
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, EventType: connected, ID: {e5d41e05-2296-457e-97d8-98a5ac0de615})
|
||||
----------
|
||||
The name of the StateType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClass shelly1</extracomment>
|
||||
|
|
@ -52,19 +88,39 @@ The name of the StateType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Connected changed</source>
|
||||
<extracomment>The name of the EventType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClass shelly1</extracomment>
|
||||
<extracomment>The name of the EventType ({584b3558-5fb5-40a9-81ad-dc71ba68fd45}) of DeviceClass shellyPlug
|
||||
----------
|
||||
The name of the EventType ({36a50e24-707e-4d5d-8eba-d2a73f626e2b}) of DeviceClass shelly25
|
||||
----------
|
||||
The name of the EventType ({df23a5ea-5f54-42ac-ab6b-aea8f71224f0}) of DeviceClass shelly1pm
|
||||
----------
|
||||
The name of the EventType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClass shelly1</extracomment>
|
||||
<translation>Verbunden oder getrennt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected device</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d0e0499e-faa0-432a-a760-c295b0aefed0})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {9686b1ca-e71f-4e62-beb0-6a20f21550e9})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {3aacd693-3f1a-4040-be3a-953e600da44f})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d0e0499e-faa0-432a-a760-c295b0aefed0})</extracomment>
|
||||
<translation>Verbundenes Gerät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default state</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyLight, Type: settings, ID: {4fe9ae31-3657-41bf-bd40-a219d58465d3})
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, Type: settings, ID: {9880a51b-57da-4b65-a0ec-23eb0fdcb8ac})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, Type: settings, ID: {7d35aea3-1444-48c8-9732-a41bfc3b9d75})</extracomment>
|
||||
The name of the ParamType (DeviceClass: shellySocket, Type: settings, ID: {9f365d87-ddb9-4764-9bfb-0e64020646b4})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, Type: settings, ID: {01cc242a-268d-4dd9-96ce-5502dd1bd430})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, Type: settings, ID: {4fe9ae31-3657-41bf-bd40-a219d58465d3})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, Type: settings, ID: {8c60a23c-5e5b-42ba-abae-aeeb3d379d79})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, Type: settings, ID: {7d35aea3-1444-48c8-9732-a41bfc3b9d75})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: settings, ID: {40f251db-919a-410f-939a-a11bbc4f7f95})</extracomment>
|
||||
<translation>Anfangszustand</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -86,17 +142,51 @@ The name of the StateType ({20f74d88-0683-4d3a-9513-6b29b5112b7b}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Password (optional)</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d29b8399-bfa6-4146-921d-a1d43ca4e184})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, Type: device, ID: {b181bf78-a19c-4f97-9264-f16fbac64ee2})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, Type: device, ID: {1cc21f73-b93a-4044-924b-d290870d5226})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {e0141b39-fa76-49de-94c6-133cfe41257f})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {738a6ca4-83f8-4a72-ba11-3a195f9177e3})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {3a86e7bc-8bde-4b20-833b-7bee41dd9bc6})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d29b8399-bfa6-4146-921d-a1d43ca4e184})</extracomment>
|
||||
<translation>Passwort (Optional)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Power</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyLight, ActionType: power, ID: {2ee5bfab-271e-4b95-9464-122a5208f1a5})
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, ActionType: power, ID: {d6adeab6-c91d-44ba-8d01-9b5b9b7368be})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocketPM, EventType: power, ID: {d6adeab6-c91d-44ba-8d01-9b5b9b7368be})
|
||||
----------
|
||||
The name of the StateType ({d6adeab6-c91d-44ba-8d01-9b5b9b7368be}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, ActionType: power, ID: {51e897b3-dd17-4df3-aa42-52b9bb5f0df8})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, EventType: power, ID: {51e897b3-dd17-4df3-aa42-52b9bb5f0df8})
|
||||
----------
|
||||
The name of the StateType ({51e897b3-dd17-4df3-aa42-52b9bb5f0df8}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, ActionType: power, ID: {e77d1c75-e856-46bc-9f38-36e59ed7849d})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: power, ID: {e77d1c75-e856-46bc-9f38-36e59ed7849d})
|
||||
----------
|
||||
The name of the StateType ({e77d1c75-e856-46bc-9f38-36e59ed7849d}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, ActionType: power, ID: {2ee5bfab-271e-4b95-9464-122a5208f1a5})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, EventType: power, ID: {2ee5bfab-271e-4b95-9464-122a5208f1a5})
|
||||
----------
|
||||
The name of the StateType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, ActionType: power, ID: {bd9480af-eec2-42d7-ab17-15715ee2e8e0})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: power, ID: {bd9480af-eec2-42d7-ab17-15715ee2e8e0})
|
||||
----------
|
||||
The name of the StateType ({bd9480af-eec2-42d7-ab17-15715ee2e8e0}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, ActionType: power, ID: {72d7dbba-757c-4b03-a092-1d3f374fa961})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, EventType: power, ID: {72d7dbba-757c-4b03-a092-1d3f374fa961})
|
||||
|
|
@ -111,7 +201,17 @@ The name of the StateType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Reboot</source>
|
||||
<extracomment>The name of the ActionType ({b4067d54-36c5-4d30-bbc3-c8c712d6fd32}) of DeviceClass shelly1</extracomment>
|
||||
<extracomment>The name of the ActionType ({dca1d1bb-b377-41b8-ac26-579060448fd7}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ActionType ({1390811d-dc71-4d89-a6e1-a808e03225f9}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the ActionType ({7dc03565-d7cb-4add-ba08-b751ce0821d5}) of DeviceClass shellyPlug
|
||||
----------
|
||||
The name of the ActionType ({4085a6a0-746f-490d-9e38-897c24f866b6}) of DeviceClass shelly25
|
||||
----------
|
||||
The name of the ActionType ({3133cf3d-729d-4f36-9a6d-1eeecb07edde}) of DeviceClass shelly1pm
|
||||
----------
|
||||
The name of the ActionType ({b4067d54-36c5-4d30-bbc3-c8c712d6fd32}) of DeviceClass shelly1</extracomment>
|
||||
<translation>Neustart</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -123,17 +223,31 @@ The name of the plugin shelly ({6162773b-0435-408c-a4f8-7860d38031a9})</extracom
|
|||
</message>
|
||||
<message>
|
||||
<source>Shelly ID</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {1d301dc0-5e48-473f-a611-8e407289e545})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, Type: device, ID: {32e328be-2357-4d94-b438-3fe1ae94d97b})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, Type: device, ID: {2b0cd1b2-1648-4e0d-85d2-34aa9b9b835e})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {bd5679fc-b761-4a56-a472-97717418c425})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {d79de2fa-81dd-440f-80b8-f1f71149d1f2})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {6df5db8a-4e27-49e5-8cf9-78cb8497d831})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {1d301dc0-5e48-473f-a611-8e407289e545})</extracomment>
|
||||
<translation>Shelly ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly connected device</source>
|
||||
<extracomment>The name of the DeviceClass ({512c3c7d-d6a6-4d2a-bccd-83147e5f9a25})</extracomment>
|
||||
<extracomment>The name of the DeviceClass ({3bd614e0-72c4-4fbe-8c70-ce6c48d04bce})
|
||||
----------
|
||||
The name of the DeviceClass ({512c3c7d-d6a6-4d2a-bccd-83147e5f9a25})</extracomment>
|
||||
<translation>Verbundenes Gerät an Schelly</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly connected light</source>
|
||||
<extracomment>The name of the DeviceClass ({62a2d6b8-d70d-45fc-ba8c-1c680282a399})</extracomment>
|
||||
<extracomment>The name of the DeviceClass ({5ab05c19-71aa-4a85-a02f-a108f039a69a})
|
||||
----------
|
||||
The name of the DeviceClass ({62a2d6b8-d70d-45fc-ba8c-1c680282a399})</extracomment>
|
||||
<translation>Verbundene Beleuchtung an Shelly</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -141,19 +255,32 @@ The name of the plugin shelly ({6162773b-0435-408c-a4f8-7860d38031a9})</extracom
|
|||
<extracomment>The name of the DeviceClass ({6de35a17-0f54-4397-894d-4321b64c53d1})</extracomment>
|
||||
<translation>Shelly Taster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly1 / Shelly1PM</source>
|
||||
<extracomment>The name of the DeviceClass ({f810b66a-7177-4397-9771-4229abaabbb6})</extracomment>
|
||||
<translation>Shelly1 /Shelly1PM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username (optional)</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {fa1aa0f6-93b2-410d-a2c5-7b2f45eae679})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, Type: device, ID: {2df0d509-d4b5-407a-835a-6b6392653e10})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, Type: device, ID: {0b060c1a-3b9b-42d7-87f8-41b7b64a7eb8})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {42797a00-1591-4021-8f4c-2a170189911b})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {4fb3c690-0183-4fc4-affa-1404788b2dcc})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {99a31711-0029-461e-9117-2834451175c1})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {fa1aa0f6-93b2-410d-a2c5-7b2f45eae679})</extracomment>
|
||||
<translation>Benutzername (Optional)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected or disconnected</source>
|
||||
<extracomment>The name of the EventType ({61b7d8ac-d229-4268-8143-6edb2eca978d}) of DeviceClass shellyLight
|
||||
<extracomment>The name of the EventType ({6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({b71fa926-9fd2-4008-9fe5-83bbf821963c}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the EventType ({df6f8a11-1295-4ceb-b277-dbe83b9d039c}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({61b7d8ac-d229-4268-8143-6edb2eca978d}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the EventType ({5ec936f8-694d-43f4-b3a2-fdc77d38feab}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the EventType ({4a141674-faa6-4953-8272-5b4a4da84d31}) of DeviceClass shellyGeneric
|
||||
----------
|
||||
|
|
@ -162,17 +289,288 @@ The name of the EventType ({0c233312-7b8f-4ca3-880d-523cab9b3ccb}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Turn on or off</source>
|
||||
<extracomment>The name of the ActionType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
<extracomment>The name of the ActionType ({d6adeab6-c91d-44ba-8d01-9b5b9b7368be}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ActionType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric</extracomment>
|
||||
The name of the ActionType ({51e897b3-dd17-4df3-aa42-52b9bb5f0df8}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the ActionType ({e77d1c75-e856-46bc-9f38-36e59ed7849d}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ActionType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the ActionType ({bd9480af-eec2-42d7-ab17-15715ee2e8e0}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ActionType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric
|
||||
----------
|
||||
The name of the ActionType ({e4a6ac87-31fb-4516-9cf3-f135621e902c}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ActionType ({14abcd30-9db2-4065-ae81-501a55fbb145}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the ActionType ({d813b35f-e11e-4783-b3b3-dbecb956ffb5}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Ein- oder ausschalten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Turned on or off</source>
|
||||
<extracomment>The name of the EventType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
<extracomment>The name of the EventType ({d6adeab6-c91d-44ba-8d01-9b5b9b7368be}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric</extracomment>
|
||||
The name of the EventType ({51e897b3-dd17-4df3-aa42-52b9bb5f0df8}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the EventType ({e77d1c75-e856-46bc-9f38-36e59ed7849d}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the EventType ({bd9480af-eec2-42d7-ab17-15715ee2e8e0}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the EventType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric
|
||||
----------
|
||||
The name of the EventType ({e4a6ac87-31fb-4516-9cf3-f135621e902c}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({14abcd30-9db2-4065-ae81-501a55fbb145}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the EventType ({d813b35f-e11e-4783-b3b3-dbecb956ffb5}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Ein. oder ausgeschaltet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Brightness</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, ActionType: brightness, ID: {f41c93ac-6911-45fc-9221-7dd26bf65fd0})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: brightness, ID: {f41c93ac-6911-45fc-9221-7dd26bf65fd0})
|
||||
----------
|
||||
The name of the StateType ({f41c93ac-6911-45fc-9221-7dd26bf65fd0}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: brightness, ID: {3f74eb92-d95b-48c2-8ac6-29bea9f65ce3})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: brightness, ID: {3f74eb92-d95b-48c2-8ac6-29bea9f65ce3})
|
||||
----------
|
||||
The name of the StateType ({3f74eb92-d95b-48c2-8ac6-29bea9f65ce3}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Helligkeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Brightness changed</source>
|
||||
<extracomment>The name of the EventType ({f41c93ac-6911-45fc-9221-7dd26bf65fd0}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({3f74eb92-d95b-48c2-8ac6-29bea9f65ce3}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Helligkeit geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: color, ID: {6ef7c686-350d-4069-9c41-9b90b3906748})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: color, ID: {6ef7c686-350d-4069-9c41-9b90b3906748})
|
||||
----------
|
||||
The name of the StateType ({6ef7c686-350d-4069-9c41-9b90b3906748}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Farbe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color changed</source>
|
||||
<extracomment>The name of the EventType ({6ef7c686-350d-4069-9c41-9b90b3906748}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Farbe geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color temperature</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: colorTemperature, ID: {a32a457f-fdc0-46ce-9106-6f9d4f4a6b16})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: colorTemperature, ID: {a32a457f-fdc0-46ce-9106-6f9d4f4a6b16})
|
||||
----------
|
||||
The name of the StateType ({a32a457f-fdc0-46ce-9106-6f9d4f4a6b16}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Farbtemperatur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color temperature changed</source>
|
||||
<extracomment>The name of the EventType ({a32a457f-fdc0-46ce-9106-6f9d4f4a6b16}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Farbtemeratur geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected/disconnected</source>
|
||||
<extracomment>The name of the EventType ({49ff0891-1798-459f-a97c-f1cc4e643a46}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Verbunden/getrennt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Consumed energy changed</source>
|
||||
<extracomment>The name of the EventType ({962fec29-6be0-452e-87c5-5ff71435c40f}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Verbrauchte Energie geänert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current power consumption</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, EventType: currentPower, ID: {e95b97d4-b88f-4656-8819-3f681fbe8510})
|
||||
----------
|
||||
The name of the StateType ({e95b97d4-b88f-4656-8819-3f681fbe8510}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: currentPower, ID: {0de42461-1077-4b74-9212-5446914fd25f})
|
||||
----------
|
||||
The name of the StateType ({0de42461-1077-4b74-9212-5446914fd25f}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: currentPower, ID: {41338dbd-6d58-4093-a56c-0adaec5398d5})
|
||||
----------
|
||||
The name of the StateType ({41338dbd-6d58-4093-a56c-0adaec5398d5}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: currentPower, ID: {b3336ca6-1577-4230-8708-98875148606e})
|
||||
----------
|
||||
The name of the StateType ({b3336ca6-1577-4230-8708-98875148606e}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: currentPower, ID: {82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8})
|
||||
----------
|
||||
The name of the StateType ({82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Aktueller Stromverbraucht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current power consumption changed</source>
|
||||
<extracomment>The name of the EventType ({b3336ca6-1577-4230-8708-98875148606e}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Aktueller Stromverbraucht geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>On</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, ActionType: power, ID: {e4a6ac87-31fb-4516-9cf3-f135621e902c})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: power, ID: {e4a6ac87-31fb-4516-9cf3-f135621e902c})
|
||||
----------
|
||||
The name of the StateType ({e4a6ac87-31fb-4516-9cf3-f135621e902c}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: power, ID: {14abcd30-9db2-4065-ae81-501a55fbb145})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: power, ID: {14abcd30-9db2-4065-ae81-501a55fbb145})
|
||||
----------
|
||||
The name of the StateType ({14abcd30-9db2-4065-ae81-501a55fbb145}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Ein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Power consumption</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyPlug, EventType: currentPower, ID: {202ea409-650e-48b2-9aae-d4ebe9d505fd})
|
||||
----------
|
||||
The name of the StateType ({202ea409-650e-48b2-9aae-d4ebe9d505fd}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Stromverbraucht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Power consumption changed</source>
|
||||
<extracomment>The name of the EventType ({e95b97d4-b88f-4656-8819-3f681fbe8510}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({0de42461-1077-4b74-9212-5446914fd25f}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({41338dbd-6d58-4093-a56c-0adaec5398d5}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the EventType ({202ea409-650e-48b2-9aae-d4ebe9d505fd}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Stromverbraucht geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Powered</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyPlug, ActionType: power, ID: {d813b35f-e11e-4783-b3b3-dbecb956ffb5})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, EventType: power, ID: {d813b35f-e11e-4783-b3b3-dbecb956ffb5})
|
||||
----------
|
||||
The name of the StateType ({d813b35f-e11e-4783-b3b3-dbecb956ffb5}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Eingeschaltet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set brightness</source>
|
||||
<extracomment>The name of the ActionType ({f41c93ac-6911-45fc-9221-7dd26bf65fd0}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ActionType ({3f74eb92-d95b-48c2-8ac6-29bea9f65ce3}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Setze Helligkeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set color</source>
|
||||
<extracomment>The name of the ActionType ({6ef7c686-350d-4069-9c41-9b90b3906748}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Setze Farbe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set color temperature</source>
|
||||
<extracomment>The name of the ActionType ({a32a457f-fdc0-46ce-9106-6f9d4f4a6b16}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation>Setze Farbtemeratur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly Dimmer</source>
|
||||
<extracomment>The name of the DeviceClass ({3a1d6fc1-c623-4b45-9c81-1573fcc15f99})</extracomment>
|
||||
<translation>Shelly Dimmer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly Plug/PlugS</source>
|
||||
<extracomment>The name of the DeviceClass ({22229a6d-2af8-44e0-bea9-310a0f2769ef})</extracomment>
|
||||
<translation>Shelly Plug/PlugS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly RGBW2</source>
|
||||
<extracomment>The name of the DeviceClass ({17f24cec-e6ed-4abd-9d42-60999f391dba})</extracomment>
|
||||
<translation>Shelly RGBW2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total energy consumed</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, EventType: totalEnergyConsumed, ID: {89a65444-63d4-4add-a479-a48e95dd0458})
|
||||
----------
|
||||
The name of the StateType ({89a65444-63d4-4add-a479-a48e95dd0458}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: totalEnergyConsumed, ID: {39e3d2c6-efb8-4c40-8ae9-8684d87e4087})
|
||||
----------
|
||||
The name of the StateType ({39e3d2c6-efb8-4c40-8ae9-8684d87e4087}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: totalEnergyConsumed, ID: {54b0b02e-1dfe-4172-bdfd-8129709e5d9f})
|
||||
----------
|
||||
The name of the StateType ({54b0b02e-1dfe-4172-bdfd-8129709e5d9f}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, EventType: totalEnergyConsumed, ID: {962fec29-6be0-452e-87c5-5ff71435c40f})
|
||||
----------
|
||||
The name of the StateType ({962fec29-6be0-452e-87c5-5ff71435c40f}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation>Gesamtenergieverbrauch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, Type: device, ID: {17c19689-8c88-454e-8b18-15436cad293d})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, Type: device, ID: {d48edbdf-8ed5-4721-a42a-fd2c340c1a6e})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, Type: device, ID: {9066e9e9-56e0-4e6b-8667-503b68613640})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, Type: device, ID: {9c8b88c0-2825-4235-9b68-2ba378eeb53f})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, Type: device, ID: {5e7c6ed5-fe9c-4e27-ad1e-e96886f3c09b})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, Type: device, ID: {c08b1272-6eb2-4fed-80ad-06566a521b95})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySwitch, Type: device, ID: {be6bdd43-cbf0-4d16-b789-ccad16e23788})</extracomment>
|
||||
<translation>Kanal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected device 1</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {dc8a02fb-baa4-40bf-9e00-684b17794287})</extracomment>
|
||||
<translation>Verbundenes Gerät 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected device 2</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {1e6925f8-1613-4fe4-8234-e4a4e973ef83})</extracomment>
|
||||
<translation>Verbundenes Gerät 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly 1</source>
|
||||
<extracomment>The name of the DeviceClass ({f810b66a-7177-4397-9771-4229abaabbb6})</extracomment>
|
||||
<translation>Shelly 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly 1PM</source>
|
||||
<extracomment>The name of the DeviceClass ({30e74e9f-57f4-4bbc-b0df-f2c4f28b2f06})</extracomment>
|
||||
<translation>Shelly 1PM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly 2.5</source>
|
||||
<extracomment>The name of the DeviceClass ({465efb0d-da68-4177-a040-940c7f451e29})</extracomment>
|
||||
<translation>Shelly 2.5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly connected power socket</source>
|
||||
<extracomment>The name of the DeviceClass ({ae6e55fe-1a0b-43bc-bdfb-605661b96905})
|
||||
----------
|
||||
The name of the DeviceClass ({3e13206c-a6cd-49a0-b653-2ccb5bb4bbc1})</extracomment>
|
||||
<translation>Verbundende Steckdose</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total energy changed</source>
|
||||
<extracomment>The name of the EventType ({89a65444-63d4-4add-a479-a48e95dd0458}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({39e3d2c6-efb8-4c40-8ae9-8684d87e4087}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({54b0b02e-1dfe-4172-bdfd-8129709e5d9f}) of DeviceClass shellyGenericPM</extracomment>
|
||||
<translation>Gesamtenergieverbrauch</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
|||
|
|
@ -33,10 +33,26 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Connected</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyLight, EventType: connected, ID: {61b7d8ac-d229-4268-8143-6edb2eca978d})
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, EventType: connected, ID: {6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67})
|
||||
----------
|
||||
The name of the StateType ({6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, EventType: connected, ID: {b71fa926-9fd2-4008-9fe5-83bbf821963c})
|
||||
----------
|
||||
The name of the StateType ({b71fa926-9fd2-4008-9fe5-83bbf821963c}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: connected, ID: {df6f8a11-1295-4ceb-b277-dbe83b9d039c})
|
||||
----------
|
||||
The name of the StateType ({df6f8a11-1295-4ceb-b277-dbe83b9d039c}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, EventType: connected, ID: {61b7d8ac-d229-4268-8143-6edb2eca978d})
|
||||
----------
|
||||
The name of the StateType ({61b7d8ac-d229-4268-8143-6edb2eca978d}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: connected, ID: {5ec936f8-694d-43f4-b3a2-fdc77d38feab})
|
||||
----------
|
||||
The name of the StateType ({5ec936f8-694d-43f4-b3a2-fdc77d38feab}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, EventType: connected, ID: {4a141674-faa6-4953-8272-5b4a4da84d31})
|
||||
----------
|
||||
The name of the StateType ({4a141674-faa6-4953-8272-5b4a4da84d31}) of DeviceClass shellyGeneric
|
||||
|
|
@ -45,6 +61,26 @@ The name of the ParamType (DeviceClass: shellySwitch, EventType: connected, ID:
|
|||
----------
|
||||
The name of the StateType ({0c233312-7b8f-4ca3-880d-523cab9b3ccb}) of DeviceClass shellySwitch
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: connected, ID: {49ff0891-1798-459f-a97c-f1cc4e643a46})
|
||||
----------
|
||||
The name of the StateType ({49ff0891-1798-459f-a97c-f1cc4e643a46}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: connected, ID: {98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6})
|
||||
----------
|
||||
The name of the StateType ({98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, EventType: connected, ID: {584b3558-5fb5-40a9-81ad-dc71ba68fd45})
|
||||
----------
|
||||
The name of the StateType ({584b3558-5fb5-40a9-81ad-dc71ba68fd45}) of DeviceClass shellyPlug
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, EventType: connected, ID: {36a50e24-707e-4d5d-8eba-d2a73f626e2b})
|
||||
----------
|
||||
The name of the StateType ({36a50e24-707e-4d5d-8eba-d2a73f626e2b}) of DeviceClass shelly25
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, EventType: connected, ID: {df23a5ea-5f54-42ac-ab6b-aea8f71224f0})
|
||||
----------
|
||||
The name of the StateType ({df23a5ea-5f54-42ac-ab6b-aea8f71224f0}) of DeviceClass shelly1pm
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, EventType: connected, ID: {e5d41e05-2296-457e-97d8-98a5ac0de615})
|
||||
----------
|
||||
The name of the StateType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClass shelly1</extracomment>
|
||||
|
|
@ -52,19 +88,39 @@ The name of the StateType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Connected changed</source>
|
||||
<extracomment>The name of the EventType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClass shelly1</extracomment>
|
||||
<extracomment>The name of the EventType ({584b3558-5fb5-40a9-81ad-dc71ba68fd45}) of DeviceClass shellyPlug
|
||||
----------
|
||||
The name of the EventType ({36a50e24-707e-4d5d-8eba-d2a73f626e2b}) of DeviceClass shelly25
|
||||
----------
|
||||
The name of the EventType ({df23a5ea-5f54-42ac-ab6b-aea8f71224f0}) of DeviceClass shelly1pm
|
||||
----------
|
||||
The name of the EventType ({e5d41e05-2296-457e-97d8-98a5ac0de615}) of DeviceClass shelly1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected device</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d0e0499e-faa0-432a-a760-c295b0aefed0})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {9686b1ca-e71f-4e62-beb0-6a20f21550e9})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {3aacd693-3f1a-4040-be3a-953e600da44f})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d0e0499e-faa0-432a-a760-c295b0aefed0})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default state</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyLight, Type: settings, ID: {4fe9ae31-3657-41bf-bd40-a219d58465d3})
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, Type: settings, ID: {9880a51b-57da-4b65-a0ec-23eb0fdcb8ac})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, Type: settings, ID: {7d35aea3-1444-48c8-9732-a41bfc3b9d75})</extracomment>
|
||||
The name of the ParamType (DeviceClass: shellySocket, Type: settings, ID: {9f365d87-ddb9-4764-9bfb-0e64020646b4})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, Type: settings, ID: {01cc242a-268d-4dd9-96ce-5502dd1bd430})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, Type: settings, ID: {4fe9ae31-3657-41bf-bd40-a219d58465d3})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, Type: settings, ID: {8c60a23c-5e5b-42ba-abae-aeeb3d379d79})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, Type: settings, ID: {7d35aea3-1444-48c8-9732-a41bfc3b9d75})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: settings, ID: {40f251db-919a-410f-939a-a11bbc4f7f95})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -86,17 +142,51 @@ The name of the StateType ({20f74d88-0683-4d3a-9513-6b29b5112b7b}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Password (optional)</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d29b8399-bfa6-4146-921d-a1d43ca4e184})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, Type: device, ID: {b181bf78-a19c-4f97-9264-f16fbac64ee2})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, Type: device, ID: {1cc21f73-b93a-4044-924b-d290870d5226})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {e0141b39-fa76-49de-94c6-133cfe41257f})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {738a6ca4-83f8-4a72-ba11-3a195f9177e3})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {3a86e7bc-8bde-4b20-833b-7bee41dd9bc6})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {d29b8399-bfa6-4146-921d-a1d43ca4e184})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Power</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyLight, ActionType: power, ID: {2ee5bfab-271e-4b95-9464-122a5208f1a5})
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, ActionType: power, ID: {d6adeab6-c91d-44ba-8d01-9b5b9b7368be})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocketPM, EventType: power, ID: {d6adeab6-c91d-44ba-8d01-9b5b9b7368be})
|
||||
----------
|
||||
The name of the StateType ({d6adeab6-c91d-44ba-8d01-9b5b9b7368be}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, ActionType: power, ID: {51e897b3-dd17-4df3-aa42-52b9bb5f0df8})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, EventType: power, ID: {51e897b3-dd17-4df3-aa42-52b9bb5f0df8})
|
||||
----------
|
||||
The name of the StateType ({51e897b3-dd17-4df3-aa42-52b9bb5f0df8}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, ActionType: power, ID: {e77d1c75-e856-46bc-9f38-36e59ed7849d})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: power, ID: {e77d1c75-e856-46bc-9f38-36e59ed7849d})
|
||||
----------
|
||||
The name of the StateType ({e77d1c75-e856-46bc-9f38-36e59ed7849d}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, ActionType: power, ID: {2ee5bfab-271e-4b95-9464-122a5208f1a5})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, EventType: power, ID: {2ee5bfab-271e-4b95-9464-122a5208f1a5})
|
||||
----------
|
||||
The name of the StateType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, ActionType: power, ID: {bd9480af-eec2-42d7-ab17-15715ee2e8e0})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: power, ID: {bd9480af-eec2-42d7-ab17-15715ee2e8e0})
|
||||
----------
|
||||
The name of the StateType ({bd9480af-eec2-42d7-ab17-15715ee2e8e0}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, ActionType: power, ID: {72d7dbba-757c-4b03-a092-1d3f374fa961})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, EventType: power, ID: {72d7dbba-757c-4b03-a092-1d3f374fa961})
|
||||
|
|
@ -111,7 +201,17 @@ The name of the StateType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Reboot</source>
|
||||
<extracomment>The name of the ActionType ({b4067d54-36c5-4d30-bbc3-c8c712d6fd32}) of DeviceClass shelly1</extracomment>
|
||||
<extracomment>The name of the ActionType ({dca1d1bb-b377-41b8-ac26-579060448fd7}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ActionType ({1390811d-dc71-4d89-a6e1-a808e03225f9}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the ActionType ({7dc03565-d7cb-4add-ba08-b751ce0821d5}) of DeviceClass shellyPlug
|
||||
----------
|
||||
The name of the ActionType ({4085a6a0-746f-490d-9e38-897c24f866b6}) of DeviceClass shelly25
|
||||
----------
|
||||
The name of the ActionType ({3133cf3d-729d-4f36-9a6d-1eeecb07edde}) of DeviceClass shelly1pm
|
||||
----------
|
||||
The name of the ActionType ({b4067d54-36c5-4d30-bbc3-c8c712d6fd32}) of DeviceClass shelly1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -123,17 +223,31 @@ The name of the plugin shelly ({6162773b-0435-408c-a4f8-7860d38031a9})</extracom
|
|||
</message>
|
||||
<message>
|
||||
<source>Shelly ID</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {1d301dc0-5e48-473f-a611-8e407289e545})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, Type: device, ID: {32e328be-2357-4d94-b438-3fe1ae94d97b})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, Type: device, ID: {2b0cd1b2-1648-4e0d-85d2-34aa9b9b835e})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {bd5679fc-b761-4a56-a472-97717418c425})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {d79de2fa-81dd-440f-80b8-f1f71149d1f2})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {6df5db8a-4e27-49e5-8cf9-78cb8497d831})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {1d301dc0-5e48-473f-a611-8e407289e545})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly connected device</source>
|
||||
<extracomment>The name of the DeviceClass ({512c3c7d-d6a6-4d2a-bccd-83147e5f9a25})</extracomment>
|
||||
<extracomment>The name of the DeviceClass ({3bd614e0-72c4-4fbe-8c70-ce6c48d04bce})
|
||||
----------
|
||||
The name of the DeviceClass ({512c3c7d-d6a6-4d2a-bccd-83147e5f9a25})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly connected light</source>
|
||||
<extracomment>The name of the DeviceClass ({62a2d6b8-d70d-45fc-ba8c-1c680282a399})</extracomment>
|
||||
<extracomment>The name of the DeviceClass ({5ab05c19-71aa-4a85-a02f-a108f039a69a})
|
||||
----------
|
||||
The name of the DeviceClass ({62a2d6b8-d70d-45fc-ba8c-1c680282a399})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -141,19 +255,32 @@ The name of the plugin shelly ({6162773b-0435-408c-a4f8-7860d38031a9})</extracom
|
|||
<extracomment>The name of the DeviceClass ({6de35a17-0f54-4397-894d-4321b64c53d1})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly1 / Shelly1PM</source>
|
||||
<extracomment>The name of the DeviceClass ({f810b66a-7177-4397-9771-4229abaabbb6})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username (optional)</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {fa1aa0f6-93b2-410d-a2c5-7b2f45eae679})</extracomment>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, Type: device, ID: {2df0d509-d4b5-407a-835a-6b6392653e10})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, Type: device, ID: {0b060c1a-3b9b-42d7-87f8-41b7b64a7eb8})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, Type: device, ID: {42797a00-1591-4021-8f4c-2a170189911b})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {4fb3c690-0183-4fc4-affa-1404788b2dcc})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1pm, Type: device, ID: {99a31711-0029-461e-9117-2834451175c1})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shelly1, Type: device, ID: {fa1aa0f6-93b2-410d-a2c5-7b2f45eae679})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected or disconnected</source>
|
||||
<extracomment>The name of the EventType ({61b7d8ac-d229-4268-8143-6edb2eca978d}) of DeviceClass shellyLight
|
||||
<extracomment>The name of the EventType ({6e5dbb06-ef4b-42eb-bf6d-e3c83d78de67}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({b71fa926-9fd2-4008-9fe5-83bbf821963c}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the EventType ({df6f8a11-1295-4ceb-b277-dbe83b9d039c}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({61b7d8ac-d229-4268-8143-6edb2eca978d}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the EventType ({5ec936f8-694d-43f4-b3a2-fdc77d38feab}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the EventType ({4a141674-faa6-4953-8272-5b4a4da84d31}) of DeviceClass shellyGeneric
|
||||
----------
|
||||
|
|
@ -162,16 +289,287 @@ The name of the EventType ({0c233312-7b8f-4ca3-880d-523cab9b3ccb}) of DeviceClas
|
|||
</message>
|
||||
<message>
|
||||
<source>Turn on or off</source>
|
||||
<extracomment>The name of the ActionType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
<extracomment>The name of the ActionType ({d6adeab6-c91d-44ba-8d01-9b5b9b7368be}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ActionType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric</extracomment>
|
||||
The name of the ActionType ({51e897b3-dd17-4df3-aa42-52b9bb5f0df8}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the ActionType ({e77d1c75-e856-46bc-9f38-36e59ed7849d}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ActionType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the ActionType ({bd9480af-eec2-42d7-ab17-15715ee2e8e0}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ActionType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric
|
||||
----------
|
||||
The name of the ActionType ({e4a6ac87-31fb-4516-9cf3-f135621e902c}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ActionType ({14abcd30-9db2-4065-ae81-501a55fbb145}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the ActionType ({d813b35f-e11e-4783-b3b3-dbecb956ffb5}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Turned on or off</source>
|
||||
<extracomment>The name of the EventType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
<extracomment>The name of the EventType ({d6adeab6-c91d-44ba-8d01-9b5b9b7368be}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric</extracomment>
|
||||
The name of the EventType ({51e897b3-dd17-4df3-aa42-52b9bb5f0df8}) of DeviceClass shellySocket
|
||||
----------
|
||||
The name of the EventType ({e77d1c75-e856-46bc-9f38-36e59ed7849d}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({2ee5bfab-271e-4b95-9464-122a5208f1a5}) of DeviceClass shellyLight
|
||||
----------
|
||||
The name of the EventType ({bd9480af-eec2-42d7-ab17-15715ee2e8e0}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the EventType ({72d7dbba-757c-4b03-a092-1d3f374fa961}) of DeviceClass shellyGeneric
|
||||
----------
|
||||
The name of the EventType ({e4a6ac87-31fb-4516-9cf3-f135621e902c}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({14abcd30-9db2-4065-ae81-501a55fbb145}) of DeviceClass shellyRgbw2
|
||||
----------
|
||||
The name of the EventType ({d813b35f-e11e-4783-b3b3-dbecb956ffb5}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Brightness</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, ActionType: brightness, ID: {f41c93ac-6911-45fc-9221-7dd26bf65fd0})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: brightness, ID: {f41c93ac-6911-45fc-9221-7dd26bf65fd0})
|
||||
----------
|
||||
The name of the StateType ({f41c93ac-6911-45fc-9221-7dd26bf65fd0}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: brightness, ID: {3f74eb92-d95b-48c2-8ac6-29bea9f65ce3})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: brightness, ID: {3f74eb92-d95b-48c2-8ac6-29bea9f65ce3})
|
||||
----------
|
||||
The name of the StateType ({3f74eb92-d95b-48c2-8ac6-29bea9f65ce3}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Brightness changed</source>
|
||||
<extracomment>The name of the EventType ({f41c93ac-6911-45fc-9221-7dd26bf65fd0}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({3f74eb92-d95b-48c2-8ac6-29bea9f65ce3}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: color, ID: {6ef7c686-350d-4069-9c41-9b90b3906748})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: color, ID: {6ef7c686-350d-4069-9c41-9b90b3906748})
|
||||
----------
|
||||
The name of the StateType ({6ef7c686-350d-4069-9c41-9b90b3906748}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color changed</source>
|
||||
<extracomment>The name of the EventType ({6ef7c686-350d-4069-9c41-9b90b3906748}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color temperature</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: colorTemperature, ID: {a32a457f-fdc0-46ce-9106-6f9d4f4a6b16})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: colorTemperature, ID: {a32a457f-fdc0-46ce-9106-6f9d4f4a6b16})
|
||||
----------
|
||||
The name of the StateType ({a32a457f-fdc0-46ce-9106-6f9d4f4a6b16}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color temperature changed</source>
|
||||
<extracomment>The name of the EventType ({a32a457f-fdc0-46ce-9106-6f9d4f4a6b16}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected/disconnected</source>
|
||||
<extracomment>The name of the EventType ({49ff0891-1798-459f-a97c-f1cc4e643a46}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({98b6e1ba-8d5c-4cb1-82a0-2d06c71cdba6}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Consumed energy changed</source>
|
||||
<extracomment>The name of the EventType ({962fec29-6be0-452e-87c5-5ff71435c40f}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current power consumption</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, EventType: currentPower, ID: {e95b97d4-b88f-4656-8819-3f681fbe8510})
|
||||
----------
|
||||
The name of the StateType ({e95b97d4-b88f-4656-8819-3f681fbe8510}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: currentPower, ID: {0de42461-1077-4b74-9212-5446914fd25f})
|
||||
----------
|
||||
The name of the StateType ({0de42461-1077-4b74-9212-5446914fd25f}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: currentPower, ID: {41338dbd-6d58-4093-a56c-0adaec5398d5})
|
||||
----------
|
||||
The name of the StateType ({41338dbd-6d58-4093-a56c-0adaec5398d5}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: currentPower, ID: {b3336ca6-1577-4230-8708-98875148606e})
|
||||
----------
|
||||
The name of the StateType ({b3336ca6-1577-4230-8708-98875148606e}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: currentPower, ID: {82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8})
|
||||
----------
|
||||
The name of the StateType ({82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current power consumption changed</source>
|
||||
<extracomment>The name of the EventType ({b3336ca6-1577-4230-8708-98875148606e}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the EventType ({82ce0c4f-cb81-43c7-bc07-003f8a3cfbc8}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>On</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyDimmer, ActionType: power, ID: {e4a6ac87-31fb-4516-9cf3-f135621e902c})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyDimmer, EventType: power, ID: {e4a6ac87-31fb-4516-9cf3-f135621e902c})
|
||||
----------
|
||||
The name of the StateType ({e4a6ac87-31fb-4516-9cf3-f135621e902c}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, ActionType: power, ID: {14abcd30-9db2-4065-ae81-501a55fbb145})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyRgbw2, EventType: power, ID: {14abcd30-9db2-4065-ae81-501a55fbb145})
|
||||
----------
|
||||
The name of the StateType ({14abcd30-9db2-4065-ae81-501a55fbb145}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Power consumption</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyPlug, EventType: currentPower, ID: {202ea409-650e-48b2-9aae-d4ebe9d505fd})
|
||||
----------
|
||||
The name of the StateType ({202ea409-650e-48b2-9aae-d4ebe9d505fd}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Power consumption changed</source>
|
||||
<extracomment>The name of the EventType ({e95b97d4-b88f-4656-8819-3f681fbe8510}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({0de42461-1077-4b74-9212-5446914fd25f}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({41338dbd-6d58-4093-a56c-0adaec5398d5}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the EventType ({202ea409-650e-48b2-9aae-d4ebe9d505fd}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Powered</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellyPlug, ActionType: power, ID: {d813b35f-e11e-4783-b3b3-dbecb956ffb5})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, EventType: power, ID: {d813b35f-e11e-4783-b3b3-dbecb956ffb5})
|
||||
----------
|
||||
The name of the StateType ({d813b35f-e11e-4783-b3b3-dbecb956ffb5}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set brightness</source>
|
||||
<extracomment>The name of the ActionType ({f41c93ac-6911-45fc-9221-7dd26bf65fd0}) of DeviceClass shellyDimmer
|
||||
----------
|
||||
The name of the ActionType ({3f74eb92-d95b-48c2-8ac6-29bea9f65ce3}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set color</source>
|
||||
<extracomment>The name of the ActionType ({6ef7c686-350d-4069-9c41-9b90b3906748}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set color temperature</source>
|
||||
<extracomment>The name of the ActionType ({a32a457f-fdc0-46ce-9106-6f9d4f4a6b16}) of DeviceClass shellyRgbw2</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly Dimmer</source>
|
||||
<extracomment>The name of the DeviceClass ({3a1d6fc1-c623-4b45-9c81-1573fcc15f99})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly Plug/PlugS</source>
|
||||
<extracomment>The name of the DeviceClass ({22229a6d-2af8-44e0-bea9-310a0f2769ef})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly RGBW2</source>
|
||||
<extracomment>The name of the DeviceClass ({17f24cec-e6ed-4abd-9d42-60999f391dba})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total energy consumed</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, EventType: totalEnergyConsumed, ID: {89a65444-63d4-4add-a479-a48e95dd0458})
|
||||
----------
|
||||
The name of the StateType ({89a65444-63d4-4add-a479-a48e95dd0458}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, EventType: totalEnergyConsumed, ID: {39e3d2c6-efb8-4c40-8ae9-8684d87e4087})
|
||||
----------
|
||||
The name of the StateType ({39e3d2c6-efb8-4c40-8ae9-8684d87e4087}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, EventType: totalEnergyConsumed, ID: {54b0b02e-1dfe-4172-bdfd-8129709e5d9f})
|
||||
----------
|
||||
The name of the StateType ({54b0b02e-1dfe-4172-bdfd-8129709e5d9f}) of DeviceClass shellyGenericPM
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyPlug, EventType: totalEnergyConsumed, ID: {962fec29-6be0-452e-87c5-5ff71435c40f})
|
||||
----------
|
||||
The name of the StateType ({962fec29-6be0-452e-87c5-5ff71435c40f}) of DeviceClass shellyPlug</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channel</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shellySocketPM, Type: device, ID: {17c19689-8c88-454e-8b18-15436cad293d})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySocket, Type: device, ID: {d48edbdf-8ed5-4721-a42a-fd2c340c1a6e})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLightPM, Type: device, ID: {9066e9e9-56e0-4e6b-8667-503b68613640})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyLight, Type: device, ID: {9c8b88c0-2825-4235-9b68-2ba378eeb53f})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGenericPM, Type: device, ID: {5e7c6ed5-fe9c-4e27-ad1e-e96886f3c09b})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellyGeneric, Type: device, ID: {c08b1272-6eb2-4fed-80ad-06566a521b95})
|
||||
----------
|
||||
The name of the ParamType (DeviceClass: shellySwitch, Type: device, ID: {be6bdd43-cbf0-4d16-b789-ccad16e23788})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected device 1</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {dc8a02fb-baa4-40bf-9e00-684b17794287})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected device 2</source>
|
||||
<extracomment>The name of the ParamType (DeviceClass: shelly25, Type: device, ID: {1e6925f8-1613-4fe4-8234-e4a4e973ef83})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly 1</source>
|
||||
<extracomment>The name of the DeviceClass ({f810b66a-7177-4397-9771-4229abaabbb6})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly 1PM</source>
|
||||
<extracomment>The name of the DeviceClass ({30e74e9f-57f4-4bbc-b0df-f2c4f28b2f06})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly 2.5</source>
|
||||
<extracomment>The name of the DeviceClass ({465efb0d-da68-4177-a040-940c7f451e29})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shelly connected power socket</source>
|
||||
<extracomment>The name of the DeviceClass ({ae6e55fe-1a0b-43bc-bdfb-605661b96905})
|
||||
----------
|
||||
The name of the DeviceClass ({3e13206c-a6cd-49a0-b653-2ccb5bb4bbc1})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total energy changed</source>
|
||||
<extracomment>The name of the EventType ({89a65444-63d4-4add-a479-a48e95dd0458}) of DeviceClass shellySocketPM
|
||||
----------
|
||||
The name of the EventType ({39e3d2c6-efb8-4c40-8ae9-8684d87e4087}) of DeviceClass shellyLightPM
|
||||
----------
|
||||
The name of the EventType ({54b0b02e-1dfe-4172-bdfd-8129709e5d9f}) of DeviceClass shellyGenericPM</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
|
|||
Loading…
Reference in New Issue