Fix discovery and add german translation

master
Michael Zanetti 2020-03-24 23:37:09 +01:00
parent feeb42bd2a
commit d104acfc2e
6 changed files with 372 additions and 37 deletions

View File

@ -2,14 +2,12 @@
This plug-in enables nymea to control the Dynatrace Ufo. This plug-in enables nymea to control the Dynatrace Ufo.
## Supported Things The Dynatrace UFO is a sophisticated status light by Dynatrace. More information about the the UFO can be found
(here)[https://www.dynatrace.com/news/blog/using-dynatrace-devops-pipeline-state-ufo/]. 3D print layouts and
build instructions for your own UFO are available at this (github page)[https://github.com/Dynatrace/ufo].
* Dynatrace UFO This nymea integration supports auto discovering UFOs in the network and set them up as a color light in nymea.
* Auto discovery setup Each ring can as well as the top logo can be controlled individually and morph and rotate effects can be enabled.
* Light interface
* Control color of each ring
* Control logo color
* Set morph and rotate effect
## Requirements ## Requirements
@ -17,7 +15,6 @@ This plug-in enables nymea to control the Dynatrace Ufo.
* TCP sockets on port 80 must not be blocked by the router. * TCP sockets on port 80 must not be blocked by the router.
* The package "nymea-plugin-dynatrace" must be installed. * The package "nymea-plugin-dynatrace" must be installed.
An excerpt of the Ufo (Blog Post)[https://www.dynatrace.com/news/blog/using-dynatrace-devops-pipeline-state-ufo/]
* Plug it in! * Plug it in!
* Press the little black dot on the top. The UFO starts blinking blue and now offers a WiFi hotspot with the name “ufo” * Press the little black dot on the top. The UFO starts blinking blue and now offers a WiFi hotspot with the name “ufo”
@ -27,8 +24,3 @@ An excerpt of the Ufo (Blog Post)[https://www.dynatrace.com/news/blog/using-dyna
* While it reboots itself it will blink yellow. Once it has its assigned IP Address it will start visualizing its IP Address through a special „blink code“ as explained in the Quick Start Guide! * While it reboots itself it will blink yellow. Once it has its assigned IP Address it will start visualizing its IP Address through a special „blink code“ as explained in the Quick Start Guide!
* Remember: the UFO will also try to register its hostname as „ufo“ with your DHCP server. If that works you can simply browse to http://ufo * Remember: the UFO will also try to register its hostname as „ufo“ with your DHCP server. If that works you can simply browse to http://ufo
## More
More about the Dynatrace Ufo: https://github.com/Dynatrace/ufo

View File

@ -36,44 +36,78 @@
#include <QUrlQuery> #include <QUrlQuery>
#include <QJsonDocument> #include <QJsonDocument>
#include <QHostInfo> #include <QHostInfo>
#include <QMetaObject>
IntegrationPluginDynatrace::IntegrationPluginDynatrace() IntegrationPluginDynatrace::IntegrationPluginDynatrace()
{ {
} }
void IntegrationPluginDynatrace::discoverThings(ThingDiscoveryInfo *info) void IntegrationPluginDynatrace::discoverThings(ThingDiscoveryInfo *info)
{ {
if (info->thingClassId() == ufoThingClassId) { QHostInfo::lookupHost("ufo.home", info, [this, info](const QHostInfo &host){
QHostInfo::lookupHost("ufo.home", this, [info](const QHostInfo &host){
if (host.error() != QHostInfo::NoError) { if (host.error() != QHostInfo::NoError) {
qCDebug(dcDynatrace()) << "Lookup failed:" << host.errorString(); qCDebug(dcDynatrace()) << "Lookup failed:" << host.errorString();
info->finish(Thing::ThingErrorHardwareFailure, QT_TR_NOOP("An error happened discovering the UFO in the network."));
return;
} }
// NOTE: QHostInfo::lookupHost apparently calls back from a different thread which breaks
// QNetworkAccessManager... Decouple it here with a QueuedConnection
QMetaObject::invokeMethod(this, "resolveIds", Qt::QueuedConnection, Q_ARG(ThingDiscoveryInfo*, info), Q_ARG(QHostInfo, host));
});
}
void IntegrationPluginDynatrace::resolveIds(ThingDiscoveryInfo *info, const QHostInfo &host)
{
QList<QNetworkReply*> *pendingInfoRequests = new QList<QNetworkReply*>();
foreach (QHostAddress address, host.addresses()) { foreach (QHostAddress address, host.addresses()) {
qCDebug(dcDynatrace()) << "Found IP address" << address.toString(); qCDebug(dcDynatrace()) << "Found IP address" << address.toString();
ThingDescriptor descriptor(ufoThingClassId, "Ufo", address.toString()); QNetworkRequest infoRequest("http://" + address.toString() + "/info");
QNetworkReply *reply = hardwareManager()->networkManager()->get(infoRequest);
pendingInfoRequests->append(reply);
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
connect(reply, &QNetworkReply::finished, info, [this, info, reply, address, pendingInfoRequests](){
pendingInfoRequests->removeAll(reply);
QJsonParseError error;
QJsonDocument data = QJsonDocument::fromJson(reply->readAll(), &error);
if (error.error == QJsonParseError::NoError) {
QString id = data.toVariant().toMap().value("ufoid").toString();
ThingDescriptor descriptor(ufoThingClassId, "UFO", address.toString());
ParamList params; ParamList params;
//FIXME Rediscovery params << Param(ufoThingIdParamTypeId, id);
/*Thing *existingThing = myThings().findByParams(ParamList() << Param(ufoThingIdParamTypeId, ""));
if (existingThing) {
//For Thing re-discovery
descriptor.setThingId(existingthing->id());
}*/
params << Param(ufoThingHostParamTypeId, address.toString()); params << Param(ufoThingHostParamTypeId, address.toString());
descriptor.setParams(params); descriptor.setParams(params);
Things existingUfos = myThings().filterByParam(ufoThingIdParamTypeId, id);
if (!existingUfos.isEmpty()) {
descriptor.setThingId(existingUfos.first()->id());
}
info->addThingDescriptor(descriptor); info->addThingDescriptor(descriptor);
} }
if (pendingInfoRequests->isEmpty()) {
delete pendingInfoRequests;
info->finish(Thing::ThingErrorNoError); info->finish(Thing::ThingErrorNoError);
}
}); });
} }
// In case we abort, make sure to clean up stuff
connect(info, &ThingDiscoveryInfo::aborted, this, [pendingInfoRequests](){
delete pendingInfoRequests;
});
} }
void IntegrationPluginDynatrace::setupThing(ThingSetupInfo *info) void IntegrationPluginDynatrace::setupThing(ThingSetupInfo *info)
{ {
if (info->thing()->thingClassId() == ufoThingClassId) { if (info->thing()->thingClassId() == ufoThingClassId) {
QHostAddress address = QHostAddress(info->thing()->paramValue(ufoThingHostParamTypeId).toString()); QHostAddress address = QHostAddress(info->thing()->paramValue(ufoThingHostParamTypeId).toString());
QString id = info->thing()->paramValue(ufoThingIdParamTypeId).toString(); QString id = info->thing()->paramValue(ufoThingIdParamTypeId).toString();

View File

@ -38,6 +38,7 @@
#include <QHash> #include <QHash>
#include <QTimer> #include <QTimer>
#include <QHostInfo>
class IntegrationPluginDynatrace : public IntegrationPlugin class IntegrationPluginDynatrace : public IntegrationPlugin
{ {
@ -63,6 +64,9 @@ private:
private slots: private slots:
void onConnectionChanged(bool connected); void onConnectionChanged(bool connected);
private slots:
void resolveIds(ThingDiscoveryInfo *info, const QHostInfo &host);
}; };
#endif // INTEGRATIONPLUGINDYNATRACE_H #endif // INTEGRATIONPLUGINDYNATRACE_H

View File

@ -11,7 +11,7 @@
{ {
"id": "6271f010-0b0a-4f29-b894-0611bb5f3dcc", "id": "6271f010-0b0a-4f29-b894-0611bb5f3dcc",
"name": "ufo", "name": "ufo",
"displayName": "ufo", "displayName": "UFO",
"createMethods": ["user", "discovery"], "createMethods": ["user", "discovery"],
"interfaces": ["colorlight", "connectable"], "interfaces": ["colorlight", "connectable"],
"paramTypes": [ "paramTypes": [

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
<name>IntegrationPluginDynatrace</name>
<message>
<location filename="../integrationplugindynatrace.cpp" line="50"/>
<source>An error happened discovering the UFO in the network.</source>
<translation>Ein Netzwerkfehler ist beim Auffinden des UFOs aufgetreten.</translation>
</message>
</context>
<context>
<name>dynatrace</name>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="90"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="93"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="96"/>
<source>Brightness</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: brightness, ID: {1adb2df8-7ba1-48b8-b0da-d67085efe041})
----------
The name of the ParamType (ThingClass: ufo, EventType: brightness, ID: {1adb2df8-7ba1-48b8-b0da-d67085efe041})
----------
The name of the StateType ({1adb2df8-7ba1-48b8-b0da-d67085efe041}) of ThingClass ufo</extracomment>
<translation>Helligkeit</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="99"/>
<source>Brightness changed</source>
<extracomment>The name of the EventType ({1adb2df8-7ba1-48b8-b0da-d67085efe041}) of ThingClass ufo</extracomment>
<translation>Helligkeit geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="102"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="105"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="108"/>
<source>Color</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: color, ID: {9535fd99-05c6-449f-80a2-8daf61d9b9b0})
----------
The name of the ParamType (ThingClass: ufo, EventType: color, ID: {9535fd99-05c6-449f-80a2-8daf61d9b9b0})
----------
The name of the StateType ({9535fd99-05c6-449f-80a2-8daf61d9b9b0}) of ThingClass ufo</extracomment>
<translation>Farbe</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="111"/>
<source>Color changed</source>
<extracomment>The name of the EventType ({9535fd99-05c6-449f-80a2-8daf61d9b9b0}) of ThingClass ufo</extracomment>
<translation>Farbe geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="114"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="117"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="120"/>
<source>Color temperature</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: colorTemperature, ID: {60fa917b-8702-4ff2-90b8-9c8c616bb21f})
----------
The name of the ParamType (ThingClass: ufo, EventType: colorTemperature, ID: {60fa917b-8702-4ff2-90b8-9c8c616bb21f})
----------
The name of the StateType ({60fa917b-8702-4ff2-90b8-9c8c616bb21f}) of ThingClass ufo</extracomment>
<translation>Farbtemperatur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="123"/>
<source>Color temperature changed</source>
<extracomment>The name of the EventType ({60fa917b-8702-4ff2-90b8-9c8c616bb21f}) of ThingClass ufo</extracomment>
<translation>Farbtemperatur geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="126"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="129"/>
<source>Dynatrace</source>
<extracomment>The name of the vendor ({31b402be-1562-4335-aa83-d1c1166db570})
----------
The name of the plugin dynatrace ({a8451bd7-69cb-4106-968f-1206a5736368})</extracomment>
<translation>Dynatrace</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="78"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="81"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="84"/>
<source>Bottom color</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: bottomColor, ID: {ef2a8d5b-82d4-43d5-b9ec-82ef5662b971})
----------
The name of the ParamType (ThingClass: ufo, EventType: bottomColor, ID: {ef2a8d5b-82d4-43d5-b9ec-82ef5662b971})
----------
The name of the StateType ({ef2a8d5b-82d4-43d5-b9ec-82ef5662b971}) of ThingClass ufo</extracomment>
<translation>Farbe unten</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="87"/>
<source>Bottom color changed</source>
<extracomment>The name of the EventType ({ef2a8d5b-82d4-43d5-b9ec-82ef5662b971}) of ThingClass ufo</extracomment>
<translation>Farbe unten geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="132"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="135"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="138"/>
<source>Effect bottom</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: effectBottom, ID: {0fab896b-9900-4375-96c0-0d38460cee65})
----------
The name of the ParamType (ThingClass: ufo, EventType: effectBottom, ID: {0fab896b-9900-4375-96c0-0d38460cee65})
----------
The name of the StateType ({0fab896b-9900-4375-96c0-0d38460cee65}) of ThingClass ufo</extracomment>
<translation>Effekt unten</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="141"/>
<source>Effect bottom changed</source>
<extracomment>The name of the EventType ({0fab896b-9900-4375-96c0-0d38460cee65}) of ThingClass ufo</extracomment>
<translation>Effekt unten geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="144"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="147"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="150"/>
<source>Effect top</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: effectTop, ID: {53da0021-974a-434a-94ac-3f187aad1480})
----------
The name of the ParamType (ThingClass: ufo, EventType: effectTop, ID: {53da0021-974a-434a-94ac-3f187aad1480})
----------
The name of the StateType ({53da0021-974a-434a-94ac-3f187aad1480}) of ThingClass ufo</extracomment>
<translation>Effekt oben</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="153"/>
<source>Effect top changed</source>
<extracomment>The name of the EventType ({53da0021-974a-434a-94ac-3f187aad1480}) of ThingClass ufo</extracomment>
<translation>Effekt oben geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="156"/>
<source>Host address</source>
<extracomment>The name of the ParamType (ThingClass: ufo, Type: thing, ID: {3e14968b-954e-4e85-ae79-3de9ae4fe951})</extracomment>
<translation>IP Adresse</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="159"/>
<source>Id</source>
<extracomment>The name of the ParamType (ThingClass: ufo, Type: thing, ID: {142c25c0-03e3-478e-b5c3-3d072f668cc4})</extracomment>
<translation>ID</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="162"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="165"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="168"/>
<source>Logo</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: logo, ID: {a9c123e2-db78-40d3-a422-7e4817d50984})
----------
The name of the ParamType (ThingClass: ufo, EventType: logo, ID: {a9c123e2-db78-40d3-a422-7e4817d50984})
----------
The name of the StateType ({a9c123e2-db78-40d3-a422-7e4817d50984}) of ThingClass ufo</extracomment>
<translation>Logo</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="171"/>
<source>Logo changed</source>
<extracomment>The name of the EventType ({a9c123e2-db78-40d3-a422-7e4817d50984}) of ThingClass ufo</extracomment>
<translation>Logo geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="174"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="177"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="180"/>
<source>Logo color</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: logoColor, ID: {d3eb4a99-20cc-4d47-af7d-33453aca2087})
----------
The name of the ParamType (ThingClass: ufo, EventType: logoColor, ID: {d3eb4a99-20cc-4d47-af7d-33453aca2087})
----------
The name of the StateType ({d3eb4a99-20cc-4d47-af7d-33453aca2087}) of ThingClass ufo</extracomment>
<translation>Logo-Farbe</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="183"/>
<source>Logo color changed</source>
<extracomment>The name of the EventType ({d3eb4a99-20cc-4d47-af7d-33453aca2087}) of ThingClass ufo</extracomment>
<translation>Logo-Farbe geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="186"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="189"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="192"/>
<source>Power</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: power, ID: {14ac8d16-72be-4530-a2ce-dd5589ce8dd7})
----------
The name of the ParamType (ThingClass: ufo, EventType: power, ID: {14ac8d16-72be-4530-a2ce-dd5589ce8dd7})
----------
The name of the StateType ({14ac8d16-72be-4530-a2ce-dd5589ce8dd7}) of ThingClass ufo</extracomment>
<translation>Eingeschaltet</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="195"/>
<source>Power changed</source>
<extracomment>The name of the EventType ({14ac8d16-72be-4530-a2ce-dd5589ce8dd7}) of ThingClass ufo</extracomment>
<translation>Ein- oder ausgeschaltet</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="198"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="201"/>
<source>Reachable</source>
<extracomment>The name of the ParamType (ThingClass: ufo, EventType: connected, ID: {1a439907-e810-4dea-b357-dd32281896e7})
----------
The name of the StateType ({1a439907-e810-4dea-b357-dd32281896e7}) of ThingClass ufo</extracomment>
<translation>Erreichbar</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="204"/>
<source>Reachable changed</source>
<extracomment>The name of the EventType ({1a439907-e810-4dea-b357-dd32281896e7}) of ThingClass ufo</extracomment>
<translation>Erreichbarkeit geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="207"/>
<source>Set bottom color</source>
<extracomment>The name of the ActionType ({ef2a8d5b-82d4-43d5-b9ec-82ef5662b971}) of ThingClass ufo</extracomment>
<translation>Setze Farbe unten</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="210"/>
<source>Set bottom effect</source>
<extracomment>The name of the ActionType ({0fab896b-9900-4375-96c0-0d38460cee65}) of ThingClass ufo</extracomment>
<translation>Setze Farbe oben</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="213"/>
<source>Set brigtness</source>
<extracomment>The name of the ActionType ({1adb2df8-7ba1-48b8-b0da-d67085efe041}) of ThingClass ufo</extracomment>
<translation>Setze Helligkeit</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="216"/>
<source>Set color</source>
<extracomment>The name of the ActionType ({9535fd99-05c6-449f-80a2-8daf61d9b9b0}) of ThingClass ufo</extracomment>
<translation>Setze Farbe</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="219"/>
<source>Set color temperature</source>
<extracomment>The name of the ActionType ({60fa917b-8702-4ff2-90b8-9c8c616bb21f}) of ThingClass ufo</extracomment>
<translation>Setze Farbtemperatur</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="231"/>
<source>Set top color</source>
<extracomment>The name of the ActionType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass ufo</extracomment>
<translation>Setze Farbe oben</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="234"/>
<source>Set top effect</source>
<extracomment>The name of the ActionType ({53da0021-974a-434a-94ac-3f187aad1480}) of ThingClass ufo</extracomment>
<translation>Setze Effekt oben</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="237"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="240"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="243"/>
<source>Top color</source>
<extracomment>The name of the ParamType (ThingClass: ufo, ActionType: topColor, ID: {b378290a-468f-45ef-9d65-00546737ce9b})
----------
The name of the ParamType (ThingClass: ufo, EventType: topColor, ID: {b378290a-468f-45ef-9d65-00546737ce9b})
----------
The name of the StateType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass ufo</extracomment>
<translation>Farbe oben</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="246"/>
<source>Top color changed</source>
<extracomment>The name of the EventType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass ufo</extracomment>
<translation>Farbe oben geändert</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="249"/>
<source>UFO</source>
<extracomment>The name of the ThingClass ({6271f010-0b0a-4f29-b894-0611bb5f3dcc})</extracomment>
<translation>UFO</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="222"/>
<source>Set logo</source>
<extracomment>The name of the ActionType ({a9c123e2-db78-40d3-a422-7e4817d50984}) of ThingClass ufo</extracomment>
<translation>Setze Logo</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="225"/>
<source>Set logo color</source>
<extracomment>The name of the ActionType ({d3eb4a99-20cc-4d47-af7d-33453aca2087}) of ThingClass ufo</extracomment>
<translation>Setze Logo-Farbe</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="228"/>
<source>Set power</source>
<extracomment>The name of the ActionType ({14ac8d16-72be-4530-a2ce-dd5589ce8dd7}) of ThingClass ufo</extracomment>
<translation>Ein- oder ausschalten</translation>
</message>
</context>
</TS>

View File

@ -1,6 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1"> <TS version="2.1">
<context>
<name>IntegrationPluginDynatrace</name>
<message>
<location filename="../integrationplugindynatrace.cpp" line="50"/>
<source>An error happened discovering the UFO in the network.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>dynatrace</name> <name>dynatrace</name>
<message> <message>
@ -261,6 +269,12 @@ The name of the StateType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass
<extracomment>The name of the EventType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass ufo</extracomment> <extracomment>The name of the EventType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass ufo</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="249"/>
<source>UFO</source>
<extracomment>The name of the ThingClass ({6271f010-0b0a-4f29-b894-0611bb5f3dcc})</extracomment>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="222"/> <location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="222"/>
<source>Set logo</source> <source>Set logo</source>
@ -279,11 +293,5 @@ The name of the StateType ({b378290a-468f-45ef-9d65-00546737ce9b}) of ThingClass
<extracomment>The name of the ActionType ({14ac8d16-72be-4530-a2ce-dd5589ce8dd7}) of ThingClass ufo</extracomment> <extracomment>The name of the ActionType ({14ac8d16-72be-4530-a2ce-dd5589ce8dd7}) of ThingClass ufo</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/dynatrace/plugininfo.h" line="249"/>
<source>ufo</source>
<extracomment>The name of the ThingClass ({6271f010-0b0a-4f29-b894-0611bb5f3dcc})</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
</TS> </TS>