somfytahoma: Add support for garage doors

master
Christian Fetzer 2020-09-27 13:38:02 +02:00
parent a59b14dc95
commit 0d6cc95313
4 changed files with 294 additions and 79 deletions

View File

@ -17,6 +17,6 @@ entering your personal username + password for the Somfy TaHoma API.
## Supported devices ## Supported devices
Currently this plugin supports all roller shutters and blinds that are Currently this plugin supports all roller shutters, blinds and garage
connectable to the TaHoma gateway. These are Somfy iO devices as well as RTS door drives that are connectable to the TaHoma gateway. These are Somfy iO
devices. devices as well as RTS devices.

View File

@ -109,6 +109,16 @@ void IntegrationPluginSomfyTahoma::setupThing(ThingSetupInfo *info)
descriptor.setParams(ParamList() << Param(venetianblindThingDeviceUrlParamTypeId, deviceUrl)); descriptor.setParams(ParamList() << Param(venetianblindThingDeviceUrlParamTypeId, deviceUrl));
unknownDevices.append(descriptor); unknownDevices.append(descriptor);
} }
} else if (type == QStringLiteral("GarageDoor")) {
Thing *thing = myThings().findByParams(ParamList() << Param(garagedoorThingDeviceUrlParamTypeId, deviceUrl));
if (thing) {
qCDebug(dcSomfyTahoma()) << "Found existing garage door:" << label << deviceUrl;
} else {
qCInfo(dcSomfyTahoma()) << "Found new garage door:" << label << deviceUrl;
ThingDescriptor descriptor(garagedoorThingClassId, label, QString(), accountId);
descriptor.setParams(ParamList() << Param(garagedoorThingDeviceUrlParamTypeId, deviceUrl));
unknownDevices.append(descriptor);
}
} else { } else {
qCInfo(dcSomfyTahoma()) << "Found unsupperted Somfy device:" << label << type << deviceUrl; qCInfo(dcSomfyTahoma()) << "Found unsupperted Somfy device:" << label << type << deviceUrl;
} }
@ -123,7 +133,8 @@ void IntegrationPluginSomfyTahoma::setupThing(ThingSetupInfo *info)
else if (info->thing()->thingClassId() == gatewayThingClassId || else if (info->thing()->thingClassId() == gatewayThingClassId ||
info->thing()->thingClassId() == rollershutterThingClassId || info->thing()->thingClassId() == rollershutterThingClassId ||
info->thing()->thingClassId() == venetianblindThingClassId) { info->thing()->thingClassId() == venetianblindThingClassId ||
info->thing()->thingClassId() == garagedoorThingClassId) {
info->finish(Thing::ThingErrorNoError); info->finish(Thing::ThingErrorNoError);
} }
} }
@ -146,6 +157,9 @@ void IntegrationPluginSomfyTahoma::postSetupThing(Thing *thing)
} else if (thing->thingClassId() == venetianblindThingClassId) { } else if (thing->thingClassId() == venetianblindThingClassId) {
deviceUrl = QUrl(thing->paramValue(venetianblindThingDeviceUrlParamTypeId).toString()); deviceUrl = QUrl(thing->paramValue(venetianblindThingDeviceUrlParamTypeId).toString());
} }
else if (thing->thingClassId() == garagedoorThingClassId) {
deviceUrl = QUrl(thing->paramValue(garagedoorThingDeviceUrlParamTypeId).toString());
}
if (!deviceUrl.isEmpty()) { if (!deviceUrl.isEmpty()) {
Thing *gateway = myThings().findByParams(ParamList() << Param(gatewayThingGatewayIdParamTypeId, deviceUrl.host())); Thing *gateway = myThings().findByParams(ParamList() << Param(gatewayThingGatewayIdParamTypeId, deviceUrl.host()));
if (gateway) { if (gateway) {
@ -255,6 +269,11 @@ void IntegrationPluginSomfyTahoma::handleEvents(const QVariantList &eventList)
thing->setStateValue(venetianblindMovingStateTypeId, true); thing->setStateValue(venetianblindMovingStateTypeId, true);
things.append(thing); things.append(thing);
} }
thing = myThings().findByParams(ParamList() << Param(garagedoorThingDeviceUrlParamTypeId, action.toMap()["deviceURL"]));
if (thing) {
thing->setStateValue(garagedoorMovingStateTypeId, true);
things.append(thing);
}
} }
qCDebug(dcSomfyTahoma()) << "ExecutionRegisteredEvent" << eventMap["execId"]; qCDebug(dcSomfyTahoma()) << "ExecutionRegisteredEvent" << eventMap["execId"];
m_currentExecutions.insert(eventMap["execId"].toString(), things); m_currentExecutions.insert(eventMap["execId"].toString(), things);
@ -266,6 +285,8 @@ void IntegrationPluginSomfyTahoma::handleEvents(const QVariantList &eventList)
thing->setStateValue(rollershutterMovingStateTypeId, false); thing->setStateValue(rollershutterMovingStateTypeId, false);
} else if (thing->thingClassId() == venetianblindThingClassId) { } else if (thing->thingClassId() == venetianblindThingClassId) {
thing->setStateValue(venetianblindMovingStateTypeId, false); thing->setStateValue(venetianblindMovingStateTypeId, false);
} else if (thing->thingClassId() == garagedoorThingClassId) {
thing->setStateValue(garagedoorMovingStateTypeId, false);
} }
} }
@ -350,6 +371,30 @@ void IntegrationPluginSomfyTahoma::updateThingStates(const QString &deviceUrl, c
} }
return; return;
} }
thing = myThings().findByParams(ParamList() << Param(garagedoorThingDeviceUrlParamTypeId, deviceUrl));
if (thing) {
foreach (const QVariant &stateVariant, stateList) {
QVariantMap stateMap = stateVariant.toMap();
if (stateMap["name"] == "core:ClosureState") {
thing->setStateValue(garagedoorPercentageStateTypeId, stateMap["value"]);
if (stateMap["value"] == 100) {
thing->setStateValue(garagedoorStateStateTypeId, "closed");
} else if (stateMap["value"] == 0) {
thing->setStateValue(garagedoorStateStateTypeId, "open");
} else {
thing->setStateValue(garagedoorStateStateTypeId, "intermediate");
}
} else if (stateMap["name"] == "core:StatusState") {
thing->setStateValue(garagedoorConnectedStateTypeId, stateMap["value"] == "available");
pluginStorage()->beginGroup(thing->id().toString());
pluginStorage()->setValue("connected", stateMap["value"] == "available");
pluginStorage()->endGroup();
} else if (stateMap["name"] == "core:RSSILevelState") {
thing->setStateValue(garagedoorSignalStrengthStateTypeId, stateMap["value"]);
}
}
return;
}
} }
void IntegrationPluginSomfyTahoma::executeAction(ThingActionInfo *info) void IntegrationPluginSomfyTahoma::executeAction(ThingActionInfo *info)
@ -391,6 +436,18 @@ void IntegrationPluginSomfyTahoma::executeAction(ThingActionInfo *info)
} else if (info->action().actionTypeId() == venetianblindStopActionTypeId) { } else if (info->action().actionTypeId() == venetianblindStopActionTypeId) {
actionName = "stop"; actionName = "stop";
} }
} else if (info->thing()->thingClassId() == garagedoorThingClassId) {
deviceUrl = info->thing()->paramValue(garagedoorThingDeviceUrlParamTypeId).toString();
if (info->action().actionTypeId() == garagedoorPercentageActionTypeId) {
actionName = "setClosure";
actionParameters = { info->action().param(garagedoorPercentageActionPercentageParamTypeId).value().toInt() };
} else if (info->action().actionTypeId() == garagedoorOpenActionTypeId) {
actionName = "open";
} else if (info->action().actionTypeId() == garagedoorCloseActionTypeId) {
actionName = "close";
} else if (info->action().actionTypeId() == garagedoorStopActionTypeId) {
actionName = "stop";
}
} }
if (!actionName.isEmpty()) { if (!actionName.isEmpty()) {
@ -433,6 +490,8 @@ void IntegrationPluginSomfyTahoma::markDisconnected(Thing *thing)
thing->setStateValue(rollershutterConnectedStateTypeId, false); thing->setStateValue(rollershutterConnectedStateTypeId, false);
} else if (thing->thingClassId() == venetianblindThingClassId) { } else if (thing->thingClassId() == venetianblindThingClassId) {
thing->setStateValue(venetianblindConnectedStateTypeId, false); thing->setStateValue(venetianblindConnectedStateTypeId, false);
} else if (thing->thingClassId() == garagedoorThingClassId) {
thing->setStateValue(garagedoorConnectedStateTypeId, false);
} }
foreach (Thing *child, myThings().filterByParentId(thing->id())) { foreach (Thing *child, myThings().filterByParentId(thing->id())) {
markDisconnected(child); markDisconnected(child);
@ -449,6 +508,8 @@ void IntegrationPluginSomfyTahoma::restoreChildConnectedState(Thing *thing)
thing->setStateValue(rollershutterConnectedStateTypeId, pluginStorage()->value("connected").toBool()); thing->setStateValue(rollershutterConnectedStateTypeId, pluginStorage()->value("connected").toBool());
} else if (thing->thingClassId() == venetianblindThingClassId) { } else if (thing->thingClassId() == venetianblindThingClassId) {
thing->setStateValue(venetianblindConnectedStateTypeId, pluginStorage()->value("connected").toBool()); thing->setStateValue(venetianblindConnectedStateTypeId, pluginStorage()->value("connected").toBool());
} else if (thing->thingClassId() == garagedoorThingClassId) {
thing->setStateValue(garagedoorConnectedStateTypeId, pluginStorage()->value("connected").toBool());
} }
} }
pluginStorage()->endGroup(); pluginStorage()->endGroup();

View File

@ -223,9 +223,88 @@
"displayName": "Close" "displayName": "Close"
} }
] ]
},
{
"id": "cb206d74-b13c-4466-98c6-070b19ebd23a",
"name": "garagedoor",
"displayName": "Garage Door",
"createMethods": ["auto"],
"interfaces": ["extendedstatefulgaragedoor", "wirelessconnectable"],
"paramTypes": [
{
"id": "974710eb-5da4-4b3e-8c4f-ba60e8af31b3",
"displayName": "Device URL",
"name": "deviceUrl",
"type": "QString"
}
],
"stateTypes": [
{
"id": "284816aa-842b-4a86-bb4e-ef5353b76762",
"name": "percentage",
"displayName": "Percentage",
"type": "int",
"unit": "Percentage",
"displayNameEvent": "Percentage changed",
"writable": true,
"displayNameAction": "Set percentage",
"defaultValue": 0
},
{
"id": "07175175-f95d-4cd9-a398-9aab8232c2a9",
"name": "moving",
"type": "bool",
"defaultValue": false,
"displayName": "Moving",
"displayNameEvent": "Moving changed"
},
{
"id": "0a194091-3073-4912-9d84-f1d52c8534bd",
"name": "signalStrength",
"displayName": "Signal strength",
"type": "uint",
"unit": "Percentage",
"displayNameEvent": "Signal strength changed",
"minValue": 0,
"maxValue": 100,
"defaultValue": 0
},
{
"id": "5a32cbd3-bc1c-4724-ae53-9f36cb75bf84",
"name": "connected",
"displayName": "Connected",
"type": "bool",
"displayNameEvent": "Connetion state changed",
"defaultValue": false
},
{
"id": "12af28f1-475e-4d05-9bbb-adbb86dcd69c",
"name": "state",
"displayName": "State",
"type": "QString",
"possibleValues": ["open", "closed", "opening", "closing", "intermediate"],
"displayNameEvent": "State changed",
"defaultValue": "closed"
}
],
"actionTypes": [
{
"id": "5738edd9-a1d1-4031-8505-85a919afe6f7",
"name": "open",
"displayName": "Open"
},
{
"id": "75e345b8-0a25-4ba6-ba83-f2611252f87f",
"name": "stop",
"displayName": "Stop"
},
{
"id": "1e6552e3-8eb0-4070-b9cf-13fd13671eef",
"name": "close",
"displayName": "Close"
}
]
} }
] ]
} }
] ]

View File

@ -18,9 +18,9 @@
<context> <context>
<name>SomfyTahoma</name> <name>SomfyTahoma</name>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="80"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="102"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="83"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="105"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="86"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="108"/>
<source>Angle</source> <source>Angle</source>
<extracomment>The name of the ParamType (ThingClass: venetianblind, ActionType: angle, ID: {079c7a80-8a1c-4fd7-b40c-6800120c70fb}) <extracomment>The name of the ParamType (ThingClass: venetianblind, ActionType: angle, ID: {079c7a80-8a1c-4fd7-b40c-6800120c70fb})
---------- ----------
@ -30,31 +30,40 @@ The name of the StateType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="89"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="111"/>
<source>Angle changed</source> <source>Angle changed</source>
<extracomment>The name of the EventType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass venetianblind</extracomment> <extracomment>The name of the EventType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass venetianblind</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="92"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="114"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="95"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="117"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="120"/>
<source>Close</source> <source>Close</source>
<extracomment>The name of the ActionType ({1a9707e7-9d64-4237-b150-234edcfed12a}) of ThingClass venetianblind <extracomment>The name of the ActionType ({1e6552e3-8eb0-4070-b9cf-13fd13671eef}) of ThingClass garagedoor
----------
The name of the ActionType ({1a9707e7-9d64-4237-b150-234edcfed12a}) of ThingClass venetianblind
---------- ----------
The name of the ActionType ({baf377c6-9fba-44cf-9f14-af0101f874b5}) of ThingClass rollershutter</extracomment> The name of the ActionType ({baf377c6-9fba-44cf-9f14-af0101f874b5}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="98"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="123"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="101"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="126"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="104"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="129"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="107"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="132"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="110"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="135"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="113"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="138"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="116"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="141"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="119"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="144"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="147"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="150"/>
<source>Connected</source> <source>Connected</source>
<extracomment>The name of the ParamType (ThingClass: venetianblind, EventType: connected, ID: {57361115-edbe-49fb-9847-408b571d3108}) <extracomment>The name of the ParamType (ThingClass: garagedoor, EventType: connected, ID: {5a32cbd3-bc1c-4724-ae53-9f36cb75bf84})
----------
The name of the StateType ({5a32cbd3-bc1c-4724-ae53-9f36cb75bf84}) of ThingClass garagedoor
----------
The name of the ParamType (ThingClass: venetianblind, EventType: connected, ID: {57361115-edbe-49fb-9847-408b571d3108})
---------- ----------
The name of the StateType ({57361115-edbe-49fb-9847-408b571d3108}) of ThingClass venetianblind The name of the StateType ({57361115-edbe-49fb-9847-408b571d3108}) of ThingClass venetianblind
---------- ----------
@ -72,12 +81,15 @@ The name of the StateType ({10ebf650-a93a-4ee3-945b-fba10d4e35a5}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="122"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="153"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="125"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="156"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="128"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="159"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="131"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="162"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="165"/>
<source>Connetion state changed</source> <source>Connetion state changed</source>
<extracomment>The name of the EventType ({57361115-edbe-49fb-9847-408b571d3108}) of ThingClass venetianblind <extracomment>The name of the EventType ({5a32cbd3-bc1c-4724-ae53-9f36cb75bf84}) of ThingClass garagedoor
----------
The name of the EventType ({57361115-edbe-49fb-9847-408b571d3108}) of ThingClass venetianblind
---------- ----------
The name of the EventType ({7a49865d-5ea5-43be-b61f-4e454c48e87e}) of ThingClass rollershutter The name of the EventType ({7a49865d-5ea5-43be-b61f-4e454c48e87e}) of ThingClass rollershutter
---------- ----------
@ -87,23 +99,32 @@ The name of the EventType ({10ebf650-a93a-4ee3-945b-fba10d4e35a5}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="134"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="168"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="137"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="171"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="174"/>
<source>Device URL</source> <source>Device URL</source>
<extracomment>The name of the ParamType (ThingClass: venetianblind, Type: thing, ID: {e2541b7b-fbfa-4659-87b1-35d8993714c9}) <extracomment>The name of the ParamType (ThingClass: garagedoor, Type: thing, ID: {974710eb-5da4-4b3e-8c4f-ba60e8af31b3})
----------
The name of the ParamType (ThingClass: venetianblind, Type: thing, ID: {e2541b7b-fbfa-4659-87b1-35d8993714c9})
---------- ----------
The name of the ParamType (ThingClass: rollershutter, Type: thing, ID: {b3d20d6a-f4e1-4959-ab06-3d271ba5c3dc})</extracomment> The name of the ParamType (ThingClass: rollershutter, Type: thing, ID: {b3d20d6a-f4e1-4959-ab06-3d271ba5c3dc})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="140"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="177"/>
<source>Garage Door</source>
<extracomment>The name of the ThingClass ({cb206d74-b13c-4466-98c6-070b19ebd23a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="180"/>
<source>Gateway Id</source> <source>Gateway Id</source>
<extracomment>The name of the ParamType (ThingClass: gateway, Type: thing, ID: {e321a7d6-6dcb-4a37-baf1-c7008f2d5bdb})</extracomment> <extracomment>The name of the ParamType (ThingClass: gateway, Type: thing, ID: {e321a7d6-6dcb-4a37-baf1-c7008f2d5bdb})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="143"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="183"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="146"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="186"/>
<source>Logged in</source> <source>Logged in</source>
<extracomment>The name of the ParamType (ThingClass: tahoma, EventType: loggedIn, ID: {97fefa85-db79-4efd-8d83-4a15d72996e1}) <extracomment>The name of the ParamType (ThingClass: tahoma, EventType: loggedIn, ID: {97fefa85-db79-4efd-8d83-4a15d72996e1})
---------- ----------
@ -111,18 +132,24 @@ The name of the StateType ({97fefa85-db79-4efd-8d83-4a15d72996e1}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="149"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="189"/>
<source>Login state changed</source> <source>Login state changed</source>
<extracomment>The name of the EventType ({97fefa85-db79-4efd-8d83-4a15d72996e1}) of ThingClass tahoma</extracomment> <extracomment>The name of the EventType ({97fefa85-db79-4efd-8d83-4a15d72996e1}) of ThingClass tahoma</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="152"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="192"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="155"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="195"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="158"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="198"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="161"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="201"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="204"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="207"/>
<source>Moving</source> <source>Moving</source>
<extracomment>The name of the ParamType (ThingClass: venetianblind, EventType: moving, ID: {48d5de0a-11ab-4801-94e4-a1dd458c341d}) <extracomment>The name of the ParamType (ThingClass: garagedoor, EventType: moving, ID: {07175175-f95d-4cd9-a398-9aab8232c2a9})
----------
The name of the StateType ({07175175-f95d-4cd9-a398-9aab8232c2a9}) of ThingClass garagedoor
----------
The name of the ParamType (ThingClass: venetianblind, EventType: moving, ID: {48d5de0a-11ab-4801-94e4-a1dd458c341d})
---------- ----------
The name of the StateType ({48d5de0a-11ab-4801-94e4-a1dd458c341d}) of ThingClass venetianblind The name of the StateType ({48d5de0a-11ab-4801-94e4-a1dd458c341d}) of ThingClass venetianblind
---------- ----------
@ -132,32 +159,47 @@ The name of the StateType ({fa9446ba-da30-4d49-8fb6-f410ecc7dba0}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="164"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="210"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="167"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="213"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="216"/>
<source>Moving changed</source> <source>Moving changed</source>
<extracomment>The name of the EventType ({48d5de0a-11ab-4801-94e4-a1dd458c341d}) of ThingClass venetianblind <extracomment>The name of the EventType ({07175175-f95d-4cd9-a398-9aab8232c2a9}) of ThingClass garagedoor
----------
The name of the EventType ({48d5de0a-11ab-4801-94e4-a1dd458c341d}) of ThingClass venetianblind
---------- ----------
The name of the EventType ({fa9446ba-da30-4d49-8fb6-f410ecc7dba0}) of ThingClass rollershutter</extracomment> The name of the EventType ({fa9446ba-da30-4d49-8fb6-f410ecc7dba0}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="170"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="219"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="173"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="222"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="225"/>
<source>Open</source> <source>Open</source>
<extracomment>The name of the ActionType ({004e7294-59e6-498b-a0aa-e58eaeefdf2b}) of ThingClass venetianblind <extracomment>The name of the ActionType ({5738edd9-a1d1-4031-8505-85a919afe6f7}) of ThingClass garagedoor
----------
The name of the ActionType ({004e7294-59e6-498b-a0aa-e58eaeefdf2b}) of ThingClass venetianblind
---------- ----------
The name of the ActionType ({a0460180-e799-4bc6-83ba-11731ef124a3}) of ThingClass rollershutter</extracomment> The name of the ActionType ({a0460180-e799-4bc6-83ba-11731ef124a3}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="176"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="228"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="179"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="231"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="182"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="234"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="185"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="237"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="188"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="240"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="191"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="243"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="246"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="249"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="252"/>
<source>Percentage</source> <source>Percentage</source>
<extracomment>The name of the ParamType (ThingClass: venetianblind, ActionType: percentage, ID: {77ca50db-42a7-4434-83e2-8b5fc4438924}) <extracomment>The name of the ParamType (ThingClass: garagedoor, ActionType: percentage, ID: {284816aa-842b-4a86-bb4e-ef5353b76762})
----------
The name of the ParamType (ThingClass: garagedoor, EventType: percentage, ID: {284816aa-842b-4a86-bb4e-ef5353b76762})
----------
The name of the StateType ({284816aa-842b-4a86-bb4e-ef5353b76762}) of ThingClass garagedoor
----------
The name of the ParamType (ThingClass: venetianblind, ActionType: percentage, ID: {77ca50db-42a7-4434-83e2-8b5fc4438924})
---------- ----------
The name of the ParamType (ThingClass: venetianblind, EventType: percentage, ID: {77ca50db-42a7-4434-83e2-8b5fc4438924}) The name of the ParamType (ThingClass: venetianblind, EventType: percentage, ID: {77ca50db-42a7-4434-83e2-8b5fc4438924})
---------- ----------
@ -171,42 +213,54 @@ The name of the StateType ({f954ffc7-a6aa-4d30-aee0-0484631c3344}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="194"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="255"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="197"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="258"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="261"/>
<source>Percentage changed</source> <source>Percentage changed</source>
<extracomment>The name of the EventType ({77ca50db-42a7-4434-83e2-8b5fc4438924}) of ThingClass venetianblind <extracomment>The name of the EventType ({284816aa-842b-4a86-bb4e-ef5353b76762}) of ThingClass garagedoor
----------
The name of the EventType ({77ca50db-42a7-4434-83e2-8b5fc4438924}) of ThingClass venetianblind
---------- ----------
The name of the EventType ({f954ffc7-a6aa-4d30-aee0-0484631c3344}) of ThingClass rollershutter</extracomment> The name of the EventType ({f954ffc7-a6aa-4d30-aee0-0484631c3344}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="200"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="264"/>
<source>Roller Shutter</source> <source>Roller Shutter</source>
<extracomment>The name of the ThingClass ({6b187fe0-a987-462d-90ac-c48efc0d0fc0})</extracomment> <extracomment>The name of the ThingClass ({6b187fe0-a987-462d-90ac-c48efc0d0fc0})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="203"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="267"/>
<source>Set angle</source> <source>Set angle</source>
<extracomment>The name of the ActionType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass venetianblind</extracomment> <extracomment>The name of the ActionType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass venetianblind</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="206"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="270"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="209"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="273"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="276"/>
<source>Set percentage</source> <source>Set percentage</source>
<extracomment>The name of the ActionType ({77ca50db-42a7-4434-83e2-8b5fc4438924}) of ThingClass venetianblind <extracomment>The name of the ActionType ({284816aa-842b-4a86-bb4e-ef5353b76762}) of ThingClass garagedoor
----------
The name of the ActionType ({77ca50db-42a7-4434-83e2-8b5fc4438924}) of ThingClass venetianblind
---------- ----------
The name of the ActionType ({f954ffc7-a6aa-4d30-aee0-0484631c3344}) of ThingClass rollershutter</extracomment> The name of the ActionType ({f954ffc7-a6aa-4d30-aee0-0484631c3344}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="212"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="279"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="215"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="282"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="218"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="285"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="221"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="288"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="291"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="294"/>
<source>Signal strength</source> <source>Signal strength</source>
<extracomment>The name of the ParamType (ThingClass: venetianblind, EventType: signalStrength, ID: {aee4f4e3-3445-441d-bdbb-631b0c5db942}) <extracomment>The name of the ParamType (ThingClass: garagedoor, EventType: signalStrength, ID: {0a194091-3073-4912-9d84-f1d52c8534bd})
----------
The name of the StateType ({0a194091-3073-4912-9d84-f1d52c8534bd}) of ThingClass garagedoor
----------
The name of the ParamType (ThingClass: venetianblind, EventType: signalStrength, ID: {aee4f4e3-3445-441d-bdbb-631b0c5db942})
---------- ----------
The name of the StateType ({aee4f4e3-3445-441d-bdbb-631b0c5db942}) of ThingClass venetianblind The name of the StateType ({aee4f4e3-3445-441d-bdbb-631b0c5db942}) of ThingClass venetianblind
---------- ----------
@ -216,50 +270,71 @@ The name of the StateType ({67594d96-47a2-4360-a1b8-79e4f22f9ed0}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="224"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="297"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="227"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="300"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="303"/>
<source>Signal strength changed</source> <source>Signal strength changed</source>
<extracomment>The name of the EventType ({aee4f4e3-3445-441d-bdbb-631b0c5db942}) of ThingClass venetianblind <extracomment>The name of the EventType ({0a194091-3073-4912-9d84-f1d52c8534bd}) of ThingClass garagedoor
----------
The name of the EventType ({aee4f4e3-3445-441d-bdbb-631b0c5db942}) of ThingClass venetianblind
---------- ----------
The name of the EventType ({67594d96-47a2-4360-a1b8-79e4f22f9ed0}) of ThingClass rollershutter</extracomment> The name of the EventType ({67594d96-47a2-4360-a1b8-79e4f22f9ed0}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="230"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="306"/>
<source>Somfy</source> <source>Somfy</source>
<extracomment>The name of the vendor ({4e42a22a-ccfb-4677-89e3-f7fa16bf6be0})</extracomment> <extracomment>The name of the vendor ({4e42a22a-ccfb-4677-89e3-f7fa16bf6be0})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="233"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="309"/>
<source>Somfy Tahoma</source> <source>Somfy Tahoma</source>
<extracomment>The name of the plugin SomfyTahoma ({4e8be1c1-daa8-4e21-9e85-b2372ab1a450})</extracomment> <extracomment>The name of the plugin SomfyTahoma ({4e8be1c1-daa8-4e21-9e85-b2372ab1a450})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="236"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="312"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="239"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="315"/>
<source>State</source>
<extracomment>The name of the ParamType (ThingClass: garagedoor, EventType: state, ID: {12af28f1-475e-4d05-9bbb-adbb86dcd69c})
----------
The name of the StateType ({12af28f1-475e-4d05-9bbb-adbb86dcd69c}) of ThingClass garagedoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="318"/>
<source>State changed</source>
<extracomment>The name of the EventType ({12af28f1-475e-4d05-9bbb-adbb86dcd69c}) of ThingClass garagedoor</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="321"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="324"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="327"/>
<source>Stop</source> <source>Stop</source>
<extracomment>The name of the ActionType ({31b07407-65ef-4fd1-880b-b5d9f69a9d07}) of ThingClass venetianblind <extracomment>The name of the ActionType ({75e345b8-0a25-4ba6-ba83-f2611252f87f}) of ThingClass garagedoor
----------
The name of the ActionType ({31b07407-65ef-4fd1-880b-b5d9f69a9d07}) of ThingClass venetianblind
---------- ----------
The name of the ActionType ({cbccf714-1188-4ac9-9c91-17fe2c99acb3}) of ThingClass rollershutter</extracomment> The name of the ActionType ({cbccf714-1188-4ac9-9c91-17fe2c99acb3}) of ThingClass rollershutter</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="242"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="330"/>
<source>Tahoma Account</source> <source>Tahoma Account</source>
<extracomment>The name of the ThingClass ({fedd72b8-547d-4e4f-b73e-71344a8ba0c1})</extracomment> <extracomment>The name of the ThingClass ({fedd72b8-547d-4e4f-b73e-71344a8ba0c1})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="245"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="333"/>
<source>Tahoma Gateway</source> <source>Tahoma Gateway</source>
<extracomment>The name of the ThingClass ({6c09e0b9-f0cc-4dea-9994-9e039eff78f1})</extracomment> <extracomment>The name of the ThingClass ({6c09e0b9-f0cc-4dea-9994-9e039eff78f1})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="248"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="336"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="251"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="339"/>
<source>User display name</source> <source>User display name</source>
<extracomment>The name of the ParamType (ThingClass: tahoma, EventType: userDisplayName, ID: {75609987-be60-4932-94f6-ead791b5fa58}) <extracomment>The name of the ParamType (ThingClass: tahoma, EventType: userDisplayName, ID: {75609987-be60-4932-94f6-ead791b5fa58})
---------- ----------
@ -267,13 +342,13 @@ The name of the StateType ({75609987-be60-4932-94f6-ead791b5fa58}) of ThingClass
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="254"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="342"/>
<source>User display name changed</source> <source>User display name changed</source>
<extracomment>The name of the EventType ({75609987-be60-4932-94f6-ead791b5fa58}) of ThingClass tahoma</extracomment> <extracomment>The name of the EventType ({75609987-be60-4932-94f6-ead791b5fa58}) of ThingClass tahoma</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="257"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="345"/>
<source>Venetian Blind</source> <source>Venetian Blind</source>
<extracomment>The name of the ThingClass ({c7160205-d864-4194-b418-060fff60f0cb})</extracomment> <extracomment>The name of the ThingClass ({c7160205-d864-4194-b418-060fff60f0cb})</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>