Merge PR #3: Add a plugin for generic lights (all types)

pull/5/head
Jenkins nymea 2022-03-10 13:58:43 +01:00
commit 19ba9ed585
11 changed files with 519 additions and 27 deletions

13
debian/control vendored
View File

@ -86,6 +86,18 @@ Description: nymea integration plugin for generic irrigation systems
means, like GPIOs or other types of relays.
Package: nymea-plugin-generic-lights
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
Conflicts: nymea-plugin-genericthings
Description: nymea integration plugin for generic lights
This package contains the nymea integration plugin for generic lights.
They can be used to represent lights in nymea which are controlled via
some on/off switches like smart plugs, GPIOs, relays or more complex systems
like MQTT.
Package: nymea-plugin-generic-sensors
Architecture: any
Depends: ${shlibs:Depends},
@ -131,6 +143,7 @@ Depends: ${shlibs:Depends},
nymea-plugin-generic-garages,
nymea-plugin-generic-heatingcooling,
nymea-plugin-generic-irrigation,
nymea-plugin-generic-lights,
nymea-plugin-generic-sensors,
nymea-plugin-generic-shading,
nymea-plugin-generic-thing,

View File

@ -0,0 +1,2 @@
usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_integrationplugingenericlights.so
genericlights/translations/*qm usr/share/nymea/translations/

View File

@ -89,13 +89,6 @@ void IntegrationPluginGenericEnergy::executeAction(ThingActionInfo *info)
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else if (thing->thingClassId() == lightThingClassId) {
if (action.actionTypeId() == lightPowerActionTypeId) {
thing->setStateValue(lightPowerStateTypeId, action.param(lightPowerActionPowerParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else if (thing->thingClassId() == impulseSmartMeterThingClassId) {
if (action.actionTypeId() == impulseSmartMeterImpulseInputActionTypeId) {
bool value = info->action().param(impulseSmartMeterImpulseInputActionImpulseInputParamTypeId).value().toBool();

View File

@ -28,26 +28,6 @@
}
]
},
{
"id": "c50d3216-f307-4f9f-8190-4391510c385c",
"name": "light",
"displayName": "Generic light",
"createMethods": ["user"],
"interfaces": ["light"],
"stateTypes": [
{
"id": "8b6e4a67-6522-408b-b676-8d2f09ed2d54",
"name": "power",
"displayName": "Power",
"displayNameEvent": "Power changed",
"displayNameAction": "Set power",
"type": "bool",
"defaultValue": false,
"writable": true,
"ioType": "digitalInput"
}
]
},
{
"id": "c3123967-f741-4fe1-a0d4-9a3e405d7e52",
"name": "impulseSmartMeter",

11
genericlights/README.md Normal file
View File

@ -0,0 +1,11 @@
# Generic lights
This plugin allows to create generic lights in nymea. Such lights don't have any
functionality on their own, but allow to create a light things which are controlled
using general purpose input and outputs, such as GPIOs, smart plugs or MQTT.
## Set-up
First, set up a thing with generic inputs or outputs. For instance from the GPIO or MQTT plugins.
When done, set up the desired generic light and use the things settings to connect
the inputs and/or outputs or nymea scripts to fill in the thing states accordingly.

View File

@ -0,0 +1,10 @@
include(../plugins.pri)
SOURCES += \
integrationplugingenericlights.cpp
HEADERS += \
integrationplugingenericlights.h

View File

@ -0,0 +1,105 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: contact@nymea.io
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "integrationplugingenericlights.h"
#include "plugininfo.h"
#include <QDebug>
#include <QtMath>
IntegrationPluginGenericLights::IntegrationPluginGenericLights()
{
}
void IntegrationPluginGenericLights::setupThing(ThingSetupInfo *info)
{
info->finish(Thing::ThingErrorNoError);
}
void IntegrationPluginGenericLights::executeAction(ThingActionInfo *info)
{
Thing *thing = info->thing();
Action action = info->action();
if (thing->thingClassId() == lightThingClassId) {
if (action.actionTypeId() == lightPowerActionTypeId) {
thing->setStateValue(lightPowerStateTypeId, action.param(lightPowerActionPowerParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else if (thing->thingClassId() == dimmableLightThingClassId) {
if (action.actionTypeId() == dimmableLightPowerActionTypeId) {
thing->setStateValue(dimmableLightPowerStateTypeId, action.param(dimmableLightPowerActionPowerParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else if (action.actionTypeId() == dimmableLightBrightnessActionTypeId) {
thing->setStateValue(dimmableLightBrightnessStateTypeId, action.param(dimmableLightBrightnessActionBrightnessParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else if (thing->thingClassId() == colorTemperatureLightThingClassId) {
if (action.actionTypeId() == colorTemperatureLightPowerActionTypeId) {
thing->setStateValue(colorTemperatureLightPowerStateTypeId, action.param(colorTemperatureLightPowerActionPowerParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else if (action.actionTypeId() == colorTemperatureLightBrightnessActionTypeId) {
thing->setStateValue(colorTemperatureLightBrightnessStateTypeId, action.param(colorTemperatureLightBrightnessActionBrightnessParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else if (action.actionTypeId() == colorTemperatureLightColorTemperatureActionTypeId) {
thing->setStateValue(colorTemperatureLightColorTemperatureStateTypeId, action.param(colorTemperatureLightColorTemperatureActionColorTemperatureParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else if (thing->thingClassId() == colorLightThingClassId) {
if (action.actionTypeId() == colorLightPowerActionTypeId) {
thing->setStateValue(colorLightPowerStateTypeId, action.param(colorLightPowerActionPowerParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else if (action.actionTypeId() == colorLightBrightnessActionTypeId) {
thing->setStateValue(colorLightBrightnessStateTypeId, action.param(colorLightBrightnessActionBrightnessParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else if (action.actionTypeId() == colorLightColorTemperatureActionTypeId) {
thing->setStateValue(colorLightColorTemperatureStateTypeId, action.param(colorLightColorTemperatureActionColorTemperatureParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else if (action.actionTypeId() == colorLightColorActionTypeId) {
thing->setStateValue(colorLightColorStateTypeId, action.param(colorLightColorActionColorParamTypeId).value());
return info->finish(Thing::ThingErrorNoError);
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8());
}
}

View File

@ -0,0 +1,53 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: contact@nymea.io
*
* This file is part of nymea.
* This project including source code and documentation is protected by
* copyright law, and remains the property of nymea GmbH. All rights, including
* reproduction, publication, editing and translation, are reserved. The use of
* this project is subject to the terms of a license agreement to be concluded
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
* under https://nymea.io/license
*
* GNU Lesser General Public License Usage
* Alternatively, this project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* For any further details and any questions please contact us under
* contact@nymea.io or see our FAQ/Licensing Information on
* https://nymea.io/license/faq
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef INTEGRATIONPLUGINGENERICLIGHTS_H
#define INTEGRATIONPLUGINGENERICLIGHTS_H
#include "integrations/integrationplugin.h"
#include "plugintimer.h"
#include "extern-plugininfo.h"
#include <QTimer>
class IntegrationPluginGenericLights: public IntegrationPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "io.nymea.IntegrationPlugin" FILE "integrationplugingenericlights.json")
Q_INTERFACES(IntegrationPlugin)
public:
explicit IntegrationPluginGenericLights();
void setupThing(ThingSetupInfo *info) override;
void executeAction(ThingActionInfo *info) override;
};
#endif // INTEGRATIONPLUGINGENERIClights_H

View File

@ -0,0 +1,167 @@
{
"name": "genericLights",
"displayName": "Generic lights",
"id": "8b803622-0e48-4987-970e-927d92ad18d5",
"vendors": [
{
"name": "nymea",
"displayName": "nymea",
"id": "2062d64d-3232-433c-88bc-0d33c0ba2ba6",
"thingClasses": [
{
"id": "c50d3216-f307-4f9f-8190-4391510c385c",
"name": "light",
"displayName": "Generic light",
"createMethods": ["user"],
"interfaces": ["light"],
"stateTypes": [
{
"id": "8b6e4a67-6522-408b-b676-8d2f09ed2d54",
"name": "power",
"displayName": "Power",
"displayNameEvent": "Power changed",
"displayNameAction": "Set power",
"type": "bool",
"defaultValue": false,
"writable": true,
"ioType": "digitalInput"
}
]
},
{
"id": "fdfbd11f-bd99-4876-8254-7f91f96ca4fc",
"name": "dimmableLight",
"displayName": "Generic dimmable light",
"createMethods": ["user"],
"interfaces": ["dimmablelight"],
"stateTypes": [
{
"id": "74535080-b6d9-41db-8e35-ef90e9042b75",
"name": "power",
"displayName": "Power",
"displayNameEvent": "Power changed",
"displayNameAction": "Set power",
"type": "bool",
"defaultValue": false,
"writable": true,
"ioType": "digitalInput"
},
{
"id": "88786787-8025-4967-b7a6-f3b670216ac0",
"name": "brightness",
"displayName": "Brightness",
"displayNameEvent": "Brightness changed",
"displayNameAction": "Set brightness",
"type": "int",
"minValue": 0,
"maxValue": 100,
"defaultValue": 100,
"writable": true,
"ioType": "analogInput"
}
]
},
{
"id": "34ee15f7-8e94-4927-bfd2-7123aac0b1be",
"name": "colorTemperatureLight",
"displayName": "Generic color temperature light",
"createMethods": ["user"],
"interfaces": ["colortemperaturelight"],
"stateTypes": [
{
"id": "316c8852-6e53-4404-891a-83c1f0fa0c84",
"name": "power",
"displayName": "Power",
"displayNameEvent": "Power changed",
"displayNameAction": "Set power",
"type": "bool",
"defaultValue": false,
"writable": true,
"ioType": "digitalInput"
},
{
"id": "76b54a6d-fae9-4cb6-8603-a3a615e153f9",
"name": "brightness",
"displayName": "Brightness",
"displayNameEvent": "Brightness changed",
"displayNameAction": "Set brightness",
"type": "int",
"minValue": 0,
"maxValue": 100,
"defaultValue": 100,
"writable": true,
"ioType": "analogInput"
},
{
"id": "3a2459ed-af20-4ea0-8bd7-97b59be594f7",
"name": "colorTemperature",
"displayName": "Color temperature",
"displayNameEvent": "Color temperature changed",
"displayNameAction": "Set color temperature",
"type": "int",
"writable": true,
"minValue": 0,
"maxValue": 100,
"defaultValue": 50
}
]
},
{
"id": "886a856d-1373-4fff-ac34-dbdfa5531c2a",
"name": "colorLight",
"displayName": "Generic color light",
"createMethods": ["user"],
"interfaces": ["colorlight"],
"stateTypes": [
{
"id": "1a366728-e67c-4767-b125-bec5dd6515f5",
"name": "power",
"displayName": "Power",
"displayNameEvent": "Power changed",
"displayNameAction": "Set power",
"type": "bool",
"defaultValue": false,
"writable": true,
"ioType": "digitalInput"
},
{
"id": "392e418c-d1e0-45ae-ba90-0fbc53227d70",
"name": "brightness",
"displayName": "Brightness",
"displayNameEvent": "Brightness changed",
"displayNameAction": "Set brightness",
"type": "int",
"minValue": 0,
"maxValue": 100,
"defaultValue": 100,
"writable": true,
"ioType": "analogInput"
},
{
"id": "4db6a6d9-f7f4-4dca-85c4-4f5f8e57c897",
"name": "colorTemperature",
"displayName": "Color temperature",
"displayNameEvent": "Color temperature changed",
"displayNameAction": "Set color temperature",
"type": "int",
"writable": true,
"minValue": 0,
"maxValue": 100,
"defaultValue": 50
},
{
"id": "ecce80e5-c992-49cd-bd67-7721d2efad2b",
"name": "color",
"displayName": "color",
"displayNameEvent": "Color changed",
"displayNameAction": "Set color",
"type": "QColor",
"writable": true,
"defaultValue": "#FFFFFF"
}
]
}
]
}
]
}

View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>genericLights</name>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="61"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="64"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="67"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="70"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="73"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="76"/>
<source>Brightness</source>
<extracomment>The name of the ParamType (ThingClass: colorLight, ActionType: brightness, ID: {392e418c-d1e0-45ae-ba90-0fbc53227d70})
----------
The name of the StateType ({392e418c-d1e0-45ae-ba90-0fbc53227d70}) of ThingClass colorLight
----------
The name of the ParamType (ThingClass: colorTemperatureLight, ActionType: brightness, ID: {76b54a6d-fae9-4cb6-8603-a3a615e153f9})
----------
The name of the StateType ({76b54a6d-fae9-4cb6-8603-a3a615e153f9}) of ThingClass colorTemperatureLight
----------
The name of the ParamType (ThingClass: dimmableLight, ActionType: brightness, ID: {88786787-8025-4967-b7a6-f3b670216ac0})
----------
The name of the StateType ({88786787-8025-4967-b7a6-f3b670216ac0}) of ThingClass dimmableLight</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="79"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="82"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="85"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="88"/>
<source>Color temperature</source>
<extracomment>The name of the ParamType (ThingClass: colorLight, ActionType: colorTemperature, ID: {4db6a6d9-f7f4-4dca-85c4-4f5f8e57c897})
----------
The name of the StateType ({4db6a6d9-f7f4-4dca-85c4-4f5f8e57c897}) of ThingClass colorLight
----------
The name of the ParamType (ThingClass: colorTemperatureLight, ActionType: colorTemperature, ID: {3a2459ed-af20-4ea0-8bd7-97b59be594f7})
----------
The name of the StateType ({3a2459ed-af20-4ea0-8bd7-97b59be594f7}) of ThingClass colorTemperatureLight</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="91"/>
<source>Generic color light</source>
<extracomment>The name of the ThingClass ({886a856d-1373-4fff-ac34-dbdfa5531c2a})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="94"/>
<source>Generic color temperature light</source>
<extracomment>The name of the ThingClass ({34ee15f7-8e94-4927-bfd2-7123aac0b1be})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="97"/>
<source>Generic dimmable light</source>
<extracomment>The name of the ThingClass ({fdfbd11f-bd99-4876-8254-7f91f96ca4fc})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="100"/>
<source>Generic light</source>
<extracomment>The name of the ThingClass ({c50d3216-f307-4f9f-8190-4391510c385c})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="103"/>
<source>Generic lights</source>
<extracomment>The name of the plugin genericLights ({8b803622-0e48-4987-970e-927d92ad18d5})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="106"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="109"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="112"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="115"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="118"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="121"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="124"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="127"/>
<source>Power</source>
<extracomment>The name of the ParamType (ThingClass: colorLight, ActionType: power, ID: {1a366728-e67c-4767-b125-bec5dd6515f5})
----------
The name of the StateType ({1a366728-e67c-4767-b125-bec5dd6515f5}) of ThingClass colorLight
----------
The name of the ParamType (ThingClass: colorTemperatureLight, ActionType: power, ID: {316c8852-6e53-4404-891a-83c1f0fa0c84})
----------
The name of the StateType ({316c8852-6e53-4404-891a-83c1f0fa0c84}) of ThingClass colorTemperatureLight
----------
The name of the ParamType (ThingClass: dimmableLight, ActionType: power, ID: {74535080-b6d9-41db-8e35-ef90e9042b75})
----------
The name of the StateType ({74535080-b6d9-41db-8e35-ef90e9042b75}) of ThingClass dimmableLight
----------
The name of the ParamType (ThingClass: light, ActionType: power, ID: {8b6e4a67-6522-408b-b676-8d2f09ed2d54})
----------
The name of the StateType ({8b6e4a67-6522-408b-b676-8d2f09ed2d54}) of ThingClass light</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="130"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="133"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="136"/>
<source>Set brightness</source>
<extracomment>The name of the ActionType ({392e418c-d1e0-45ae-ba90-0fbc53227d70}) of ThingClass colorLight
----------
The name of the ActionType ({76b54a6d-fae9-4cb6-8603-a3a615e153f9}) of ThingClass colorTemperatureLight
----------
The name of the ActionType ({88786787-8025-4967-b7a6-f3b670216ac0}) of ThingClass dimmableLight</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="139"/>
<source>Set color</source>
<extracomment>The name of the ActionType ({ecce80e5-c992-49cd-bd67-7721d2efad2b}) of ThingClass colorLight</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="142"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="145"/>
<source>Set color temperature</source>
<extracomment>The name of the ActionType ({4db6a6d9-f7f4-4dca-85c4-4f5f8e57c897}) of ThingClass colorLight
----------
The name of the ActionType ({3a2459ed-af20-4ea0-8bd7-97b59be594f7}) of ThingClass colorTemperatureLight</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="148"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="151"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="154"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="157"/>
<source>Set power</source>
<extracomment>The name of the ActionType ({1a366728-e67c-4767-b125-bec5dd6515f5}) of ThingClass colorLight
----------
The name of the ActionType ({316c8852-6e53-4404-891a-83c1f0fa0c84}) of ThingClass colorTemperatureLight
----------
The name of the ActionType ({74535080-b6d9-41db-8e35-ef90e9042b75}) of ThingClass dimmableLight
----------
The name of the ActionType ({8b6e4a67-6522-408b-b676-8d2f09ed2d54}) of ThingClass light</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="160"/>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="163"/>
<source>color</source>
<extracomment>The name of the ParamType (ThingClass: colorLight, ActionType: color, ID: {ecce80e5-c992-49cd-bd67-7721d2efad2b})
----------
The name of the StateType ({ecce80e5-c992-49cd-bd67-7721d2efad2b}) of ThingClass colorLight</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-genericthings-Desktop-Debug/genericlights/plugininfo.h" line="166"/>
<source>nymea</source>
<extracomment>The name of the vendor ({2062d64d-3232-433c-88bc-0d33c0ba2ba6})</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -7,6 +7,7 @@ PLUGIN_DIRS = \
genericgarages \
genericheatingcooling \
genericirrigation \
genericlights \
genericsensors \
genericshading \
genericthing \