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
Currently this plugin supports all roller shutters and blinds that are
connectable to the TaHoma gateway. These are Somfy iO devices as well as RTS
devices.
Currently this plugin supports all roller shutters, blinds and garage
door drives that are connectable to the TaHoma gateway. These are Somfy iO
devices as well as RTS devices.

View File

@ -109,6 +109,16 @@ void IntegrationPluginSomfyTahoma::setupThing(ThingSetupInfo *info)
descriptor.setParams(ParamList() << Param(venetianblindThingDeviceUrlParamTypeId, deviceUrl));
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 {
qCInfo(dcSomfyTahoma()) << "Found unsupperted Somfy device:" << label << type << deviceUrl;
}
@ -123,7 +133,8 @@ void IntegrationPluginSomfyTahoma::setupThing(ThingSetupInfo *info)
else if (info->thing()->thingClassId() == gatewayThingClassId ||
info->thing()->thingClassId() == rollershutterThingClassId ||
info->thing()->thingClassId() == venetianblindThingClassId) {
info->thing()->thingClassId() == venetianblindThingClassId ||
info->thing()->thingClassId() == garagedoorThingClassId) {
info->finish(Thing::ThingErrorNoError);
}
}
@ -146,6 +157,9 @@ void IntegrationPluginSomfyTahoma::postSetupThing(Thing *thing)
} else if (thing->thingClassId() == venetianblindThingClassId) {
deviceUrl = QUrl(thing->paramValue(venetianblindThingDeviceUrlParamTypeId).toString());
}
else if (thing->thingClassId() == garagedoorThingClassId) {
deviceUrl = QUrl(thing->paramValue(garagedoorThingDeviceUrlParamTypeId).toString());
}
if (!deviceUrl.isEmpty()) {
Thing *gateway = myThings().findByParams(ParamList() << Param(gatewayThingGatewayIdParamTypeId, deviceUrl.host()));
if (gateway) {
@ -255,6 +269,11 @@ void IntegrationPluginSomfyTahoma::handleEvents(const QVariantList &eventList)
thing->setStateValue(venetianblindMovingStateTypeId, true);
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"];
m_currentExecutions.insert(eventMap["execId"].toString(), things);
@ -266,6 +285,8 @@ void IntegrationPluginSomfyTahoma::handleEvents(const QVariantList &eventList)
thing->setStateValue(rollershutterMovingStateTypeId, false);
} else if (thing->thingClassId() == venetianblindThingClassId) {
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;
}
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)
@ -391,6 +436,18 @@ void IntegrationPluginSomfyTahoma::executeAction(ThingActionInfo *info)
} else if (info->action().actionTypeId() == venetianblindStopActionTypeId) {
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()) {
@ -433,6 +490,8 @@ void IntegrationPluginSomfyTahoma::markDisconnected(Thing *thing)
thing->setStateValue(rollershutterConnectedStateTypeId, false);
} else if (thing->thingClassId() == venetianblindThingClassId) {
thing->setStateValue(venetianblindConnectedStateTypeId, false);
} else if (thing->thingClassId() == garagedoorThingClassId) {
thing->setStateValue(garagedoorConnectedStateTypeId, false);
}
foreach (Thing *child, myThings().filterByParentId(thing->id())) {
markDisconnected(child);
@ -449,6 +508,8 @@ void IntegrationPluginSomfyTahoma::restoreChildConnectedState(Thing *thing)
thing->setStateValue(rollershutterConnectedStateTypeId, pluginStorage()->value("connected").toBool());
} else if (thing->thingClassId() == venetianblindThingClassId) {
thing->setStateValue(venetianblindConnectedStateTypeId, pluginStorage()->value("connected").toBool());
} else if (thing->thingClassId() == garagedoorThingClassId) {
thing->setStateValue(garagedoorConnectedStateTypeId, pluginStorage()->value("connected").toBool());
}
}
pluginStorage()->endGroup();

View File

@ -223,9 +223,88 @@
"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>
<name>SomfyTahoma</name>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="80"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="83"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="86"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="102"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="105"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="108"/>
<source>Angle</source>
<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>
</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>
<extracomment>The name of the EventType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass venetianblind</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="92"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="95"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="114"/>
<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>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="98"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="101"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="104"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="107"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="110"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="113"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="116"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="119"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="123"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="126"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="129"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="132"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="135"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="138"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="141"/>
<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>
<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
----------
@ -72,12 +81,15 @@ The name of the StateType ({10ebf650-a93a-4ee3-945b-fba10d4e35a5}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="122"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="125"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="128"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="131"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="153"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="156"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="159"/>
<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>
<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
----------
@ -87,23 +99,32 @@ The name of the EventType ({10ebf650-a93a-4ee3-945b-fba10d4e35a5}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="134"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="137"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="168"/>
<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>
<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>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the ParamType (ThingClass: gateway, Type: thing, ID: {e321a7d6-6dcb-4a37-baf1-c7008f2d5bdb})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="143"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="146"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="183"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="186"/>
<source>Logged in</source>
<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>
</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>
<extracomment>The name of the EventType ({97fefa85-db79-4efd-8d83-4a15d72996e1}) of ThingClass tahoma</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="152"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="155"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="158"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="161"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="192"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="195"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="198"/>
<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>
<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
----------
@ -132,32 +159,47 @@ The name of the StateType ({fa9446ba-da30-4d49-8fb6-f410ecc7dba0}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="164"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="167"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="210"/>
<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>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="170"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="173"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="219"/>
<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>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="176"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="179"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="182"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="185"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="188"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="191"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="228"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="231"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="234"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="237"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="240"/>
<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>
<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})
----------
@ -171,42 +213,54 @@ The name of the StateType ({f954ffc7-a6aa-4d30-aee0-0484631c3344}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="194"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="197"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="255"/>
<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>
<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>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the ThingClass ({6b187fe0-a987-462d-90ac-c48efc0d0fc0})</extracomment>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the ActionType ({079c7a80-8a1c-4fd7-b40c-6800120c70fb}) of ThingClass venetianblind</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="206"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="209"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="270"/>
<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>
<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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="212"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="215"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="218"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="221"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="279"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="282"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="285"/>
<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>
<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
----------
@ -216,50 +270,71 @@ The name of the StateType ({67594d96-47a2-4360-a1b8-79e4f22f9ed0}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="224"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="227"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="297"/>
<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>
<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>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the vendor ({4e42a22a-ccfb-4677-89e3-f7fa16bf6be0})</extracomment>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the plugin SomfyTahoma ({4e8be1c1-daa8-4e21-9e85-b2372ab1a450})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="236"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="239"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="312"/>
<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>
<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>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the ThingClass ({fedd72b8-547d-4e4f-b73e-71344a8ba0c1})</extracomment>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the ThingClass ({6c09e0b9-f0cc-4dea-9994-9e039eff78f1})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="248"/>
<location filename="../../../build-nymea-plugins/somfytahoma/plugininfo.h" line="251"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="336"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/somfytahoma/plugininfo.h" line="339"/>
<source>User display name</source>
<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>
</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>
<extracomment>The name of the EventType ({75609987-be60-4932-94f6-ead791b5fa58}) of ThingClass tahoma</extracomment>
<translation type="unfinished"></translation>
</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>
<extracomment>The name of the ThingClass ({c7160205-d864-4194-b418-060fff60f0cb})</extracomment>
<translation type="unfinished"></translation>