Fronius: Update to networkdevice interface and translations

master
Simon Stürz 2024-12-10 16:43:42 +01:00
parent a35312b7f2
commit 90bfb09eca
6 changed files with 239 additions and 178 deletions

View File

@ -46,7 +46,6 @@ FroniusDiscovery::FroniusDiscovery(NetworkAccessManager *networkManager, Network
qCDebug(dcFronius()) << "Discovery: Grace period timer triggered.";
finishDiscovery();
});
}
void FroniusDiscovery::startDiscovery()
@ -55,10 +54,14 @@ void FroniusDiscovery::startDiscovery()
m_startDateTime = QDateTime::currentDateTime();
NetworkDeviceDiscoveryReply *discoveryReply = m_networkDeviceDiscovery->discover();
connect(discoveryReply, &NetworkDeviceDiscoveryReply::networkDeviceInfoAdded, this, &FroniusDiscovery::checkNetworkDevice);
connect(discoveryReply, &NetworkDeviceDiscoveryReply::finished, this, [=](){
connect(discoveryReply, &NetworkDeviceDiscoveryReply::hostAddressDiscovered, this, &FroniusDiscovery::checkHostAddress);
connect(discoveryReply, &NetworkDeviceDiscoveryReply::finished, this, [this, discoveryReply](){
m_networkDeviceInfos = discoveryReply->networkDeviceInfos();
qCDebug(dcFronius()) << "Discovery: Network discovery finished. Found" << discoveryReply->networkDeviceInfos().count() << "network devices";
m_gracePeriodTimer.start();
discoveryReply->deleteLater();
});
}
@ -68,11 +71,11 @@ QList<NetworkDeviceInfo> FroniusDiscovery::discoveryResults() const
return m_discoveryResults;
}
void FroniusDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDeviceInfo)
void FroniusDiscovery::checkHostAddress(const QHostAddress &address)
{
qCDebug(dcFronius()) << "Discovery: Checking network device:" << networkDeviceInfo;
qCDebug(dcFronius()) << "Discovery: Checking host address" << address.toString();
FroniusSolarConnection *connection = new FroniusSolarConnection(m_networkManager, networkDeviceInfo.address(), this);
FroniusSolarConnection *connection = new FroniusSolarConnection(m_networkManager, address, this);
m_connections.append(connection);
FroniusNetworkReply *reply = connection->getVersion();
@ -80,9 +83,9 @@ void FroniusDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDevice
QByteArray data = reply->networkReply()->readAll();
if (reply->networkReply()->error() != QNetworkReply::NoError) {
if (reply->networkReply()->error() == QNetworkReply::ContentNotFoundError) {
qCInfo(dcFronius()) << "Discovery: The device on" << networkDeviceInfo.address().toString() << "does not reply to our requests. Please verify that the Fronius Solar API is enabled on the device.";
qCInfo(dcFronius()) << "Discovery: The device on" << address.toString() << "does not reply to our requests. Please verify that the Fronius Solar API is enabled on the device.";
} else {
qCDebug(dcFronius()) << "Discovery: Reply finished with error on" << networkDeviceInfo.address().toString() << reply->networkReply()->errorString();
qCDebug(dcFronius()) << "Discovery: Reply finished with error on" << address.toString() << reply->networkReply()->errorString();
}
cleanupConnection(connection);
return;
@ -91,14 +94,14 @@ void FroniusDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDevice
QJsonParseError error;
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
if (error.error != QJsonParseError::NoError) {
qCDebug(dcFronius()) << "Discovery: Failed to parse JSON data from" << networkDeviceInfo.address().toString() << ":" << error.errorString() << data;
qCDebug(dcFronius()) << "Discovery: Failed to parse JSON data from" << address.toString() << ":" << error.errorString() << data;
cleanupConnection(connection);
return;
}
QVariantMap versionResponseMap = jsonDoc.toVariant().toMap();
if (!versionResponseMap.contains("CompatibilityRange")) {
qCDebug(dcFronius()) << "Discovery: Unexpected JSON reply from" << networkDeviceInfo.address().toString() << "Probably not a Fronius device.";
qCDebug(dcFronius()) << "Discovery: Unexpected JSON reply from" << address.toString() << "Probably not a Fronius device.";
cleanupConnection(connection);
return;
}
@ -109,7 +112,7 @@ void FroniusDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDevice
qCWarning(dcFronius()) << "Discovery: The Fronius data logger has a version which is known to have a broken JSON API firmware.";
}
m_discoveryResults.append(networkDeviceInfo);
m_discoveredAddresses.append(address);
cleanupConnection(connection);
});
}
@ -124,14 +127,15 @@ void FroniusDiscovery::finishDiscovery()
{
qint64 durationMilliSeconds = QDateTime::currentMSecsSinceEpoch() - m_startDateTime.toMSecsSinceEpoch();
foreach (FroniusSolarConnection *connection, m_connections) {
foreach (FroniusSolarConnection *connection, m_connections)
cleanupConnection(connection);
}
foreach (const QHostAddress &address, m_discoveredAddresses)
m_discoveryResults.append(m_networkDeviceInfos.get(address));
qCDebug(dcFronius()) << "Discovery: Finished the discovery process. Found" << m_discoveryResults.count()
<< "Fronius devices in" << QTime::fromMSecsSinceStartOfDay(durationMilliSeconds).toString("mm:ss.zzz");
<< "Fronius devices in" << QTime::fromMSecsSinceStartOfDay(durationMilliSeconds).toString("mm:ss.zzz");
m_gracePeriodTimer.stop();
emit discoveryFinished();
}

View File

@ -59,9 +59,11 @@ private:
QList<FroniusSolarConnection *> m_connections;
NetworkDeviceInfos m_networkDeviceInfos;
QList<QHostAddress> m_discoveredAddresses;
QList<NetworkDeviceInfo> m_discoveryResults;
void checkNetworkDevice(const NetworkDeviceInfo &networkDeviceInfo);
void checkHostAddress(const QHostAddress &address);
void cleanupConnection(FroniusSolarConnection *connection);
void finishDiscovery();

View File

@ -62,8 +62,6 @@ void IntegrationPluginFronius::discoverThings(ThingDiscoveryInfo *info)
qCInfo(dcFronius()) << "Discovery finished. Found" << discovery->discoveryResults().count() << "devices";
foreach (const NetworkDeviceInfo &networkDeviceInfo, discovery->discoveryResults()) {
qCInfo(dcFronius()) << "Discovered Fronius on" << networkDeviceInfo;
if (networkDeviceInfo.macAddress().isNull())
continue;
QString title;
if (networkDeviceInfo.hostName().isEmpty()) {
@ -73,24 +71,29 @@ void IntegrationPluginFronius::discoverThings(ThingDiscoveryInfo *info)
}
QString description;
if (networkDeviceInfo.macAddressManufacturer().isEmpty()) {
description = networkDeviceInfo.macAddress();
} else {
description = networkDeviceInfo.macAddress() + " (" + networkDeviceInfo.macAddressManufacturer() + ")";
if (networkDeviceInfo.macAddressInfos().count() == 1) {
MacAddressInfo macInfo = networkDeviceInfo.macAddressInfos().constFirst();
if (macInfo.vendorName().isEmpty()) {
description = macInfo.macAddress().toString();
} else {
description = macInfo.macAddress().toString() + " (" + macInfo.vendorName() + ")";
}
}
ThingDescriptor descriptor(connectionThingClassId, title, description);
ParamList params;
params.append(Param(connectionThingMacAddressParamTypeId, networkDeviceInfo.thingParamValueMacAddress()));
params.append(Param(connectionThingHostNameParamTypeId, networkDeviceInfo.thingParamValueHostName()));
params.append(Param(connectionThingAddressParamTypeId, networkDeviceInfo.thingParamValueAddress()));
descriptor.setParams(params);
// Check if we already have set up this device
Things existingThings = myThings().filterByParam(connectionThingMacParamTypeId, networkDeviceInfo.macAddress());
if (existingThings.count() == 1) {
qCDebug(dcFronius()) << "This thing already exists in the system." << existingThings.first() << networkDeviceInfo;
descriptor.setThingId(existingThings.first()->id());
Thing *existingThing = myThings().findByParams(params);
if (existingThing) {
qCDebug(dcFronius()) << "This thing already exists in the system." << existingThing;
descriptor.setThingId(existingThing->id());
}
ParamList params;
params << Param(connectionThingMacParamTypeId, networkDeviceInfo.macAddress());
descriptor.setParams(params);
info->addThingDescriptor(descriptor);
}
info->finish(Thing::ThingErrorNoError);
@ -113,42 +116,30 @@ void IntegrationPluginFronius::setupThing(ThingSetupInfo *info)
connection->deleteLater();
}
if (m_monitors.contains(thing)) {
if (m_monitors.contains(thing))
hardwareManager()->networkDeviceDiscovery()->unregisterMonitor(m_monitors.take(thing));
}
// Set up depending on the available params, mac can only be filled in by discovery (ro param),
// the ip could be used as static manual config for VPN networks or WAN IP's
QHostAddress address(thing->paramValue(connectionThingAddressParamTypeId).toString());
MacAddress mac(thing->paramValue(connectionThingMacParamTypeId).toString());
// Create the connection
FroniusSolarConnection *connection = nullptr;
if (mac.isValid() && !mac.isNull()) {
qCInfo(dcFronius()) << "Setting up network device monitor for Fronius connection using MAC address" << mac.toString();
NetworkDeviceMonitor *monitor = hardwareManager()->networkDeviceDiscovery()->registerMonitor(mac);
m_monitors.insert(thing, monitor);
connection = new FroniusSolarConnection(hardwareManager()->networkManager(), monitor->networkDeviceInfo().address(), thing);
connect(monitor, &NetworkDeviceMonitor::networkDeviceInfoChanged, this, [=](const NetworkDeviceInfo &networkDeviceInfo){
qCDebug(dcFronius()) << "Network device info changed for" << thing << networkDeviceInfo;
if (networkDeviceInfo.isValid()) {
connection->setAddress(networkDeviceInfo.address());
refreshConnection(connection);
} else {
connection->setAddress(QHostAddress());
}
});
} else if (!address.isNull()) {
qCInfo(dcFronius()) << "Setting up Fronius connection based on IP address" << address.toString() << "without monitoring. Any IP changed will not be recognized and the device will be disconnected.";
connection = new FroniusSolarConnection(hardwareManager()->networkManager(), address, thing);
} else {
qCWarning(dcFronius()) << "Unable to set up thing" << thing << ", neither IP nor MAC is valid." << thing->params();
info->finish(Thing::ThingErrorInvalidParameter, QT_TR_NOOP("Please reconfigure the device."));
NetworkDeviceMonitor *monitor = hardwareManager()->networkDeviceDiscovery()->registerMonitor(thing);
if (!monitor) {
qCWarning(dcFronius()) << "Unable to register monitor with the given params" << thing->params();
info->finish(Thing::ThingErrorInvalidParameter, QT_TR_NOOP("Unable to set up the connection with this configuration, please reconfigure the connection."));
return;
}
qCInfo(dcFronius()) << "Set up Fronius connection " << monitor;
m_monitors.insert(thing, monitor);
FroniusSolarConnection *connection = new FroniusSolarConnection(hardwareManager()->networkManager(), monitor->networkDeviceInfo().address(), thing);
connect(monitor, &NetworkDeviceMonitor::networkDeviceInfoChanged, this, [=](const NetworkDeviceInfo &networkDeviceInfo){
qCDebug(dcFronius()) << "Network device info changed for" << thing << networkDeviceInfo;
if (networkDeviceInfo.isValid()) {
connection->setAddress(networkDeviceInfo.address());
refreshConnection(connection);
} else {
connection->setAddress(QHostAddress());
}
});
connect(connection, &FroniusSolarConnection::availableChanged, this, [=](bool available){
qCDebug(dcFronius()) << thing << "Available changed" << available;
thing->setStateValue("connected", available);
@ -168,7 +159,6 @@ void IntegrationPluginFronius::setupThing(ThingSetupInfo *info)
}
});
if (info->isInitialSetup()) {
// Verify the version
FroniusNetworkReply *reply = connection->getVersion();

View File

@ -13,7 +13,7 @@
"name": "connection",
"displayName": "Fronius Solar",
"createMethods": ["discovery", "user"],
"interfaces": ["gateway"],
"interfaces": ["gateway", "networkdevice"],
"providedInterfaces": ["energymeter", "solarinverter", "energystorage"],
"paramTypes": [
{
@ -24,9 +24,16 @@
"inputType": "IPv4Address",
"defaultValue": ""
},
{
"id": "05d05a5f-7da1-4198-b281-5199dc660acc",
"name": "hostName",
"displayName": "Host name",
"type": "QString",
"defaultValue": ""
},
{
"id": "2237972e-385b-4458-b5d3-1d1fb4ae8756",
"name": "mac",
"name": "macAddress",
"displayName": "Mac address",
"type": "QString",
"readOnly": true,

View File

@ -9,22 +9,27 @@
<translation>Das Netzwerk kann nicht durchsucht werden.</translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="131"/>
<location filename="../integrationpluginfronius.cpp" line="125"/>
<source>Unable to set up the connection with this configuration, please reconfigure the connection.</source>
<translation>Es konnte keine Verbindung mit diesen Einstellungen hergstellt werden, bitte richte das Gerät neu ein.</translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="170"/>
<source>The device does not reply to our requests. Please verify that the Fronius Solar API is enabled on the device.</source>
<translation>Das Gerät antwortet nicht auf Anfragen. Bitte überprüfe ob die Fronius Solar API am Gerät aktiviert ist.</translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="133"/>
<location filename="../integrationpluginfronius.cpp" line="172"/>
<source>The device is not reachable.</source>
<translation>Das Gerät ist nicht erreichbar.</translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="143"/>
<location filename="../integrationpluginfronius.cpp" line="182"/>
<source>The data received from the device could not be processed because the format is unknown.</source>
<translation>Die erhaltene Antwort des Gerätes konnte nicht verarbeitet werden da das Format unbekannt ist.</translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="153"/>
<location filename="../integrationpluginfronius.cpp" line="192"/>
<source>The firmware version 1.6-2 of this Fronius data logger contains errors preventing proper operation. Please update your Fronius device and try again.</source>
<translation>Die Firmware Version 1.6-2 dieses Fronius Geräts enthält Fehler welche eine ordnungsgemäße Funktion verhindern. Bitte update die Firmware des Fronius Geräts und versuche es erneut.</translation>
</message>
@ -32,92 +37,110 @@
<context>
<name>fronius</name>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="67"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="68"/>
<source>Battery level</source>
<extracomment>The name of the StateType ({5c6da672-9662-41bc-8c8c-aa0f32481251}) of ThingClass storage</extracomment>
<translation>Batteriestand</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="70"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="71"/>
<source>Battery level critical</source>
<extracomment>The name of the StateType ({e5396312-b50e-4d6f-b628-5b51448971d3}) of ThingClass storage</extracomment>
<translation>Batteriestand kritisch</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="73"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="74"/>
<source>Capacity</source>
<extracomment>The name of the StateType ({3b163deb-67a2-41d1-8441-b2d53ad846ef}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
<translation>Kapazität</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="76"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="77"/>
<source>Cell temperature</source>
<extracomment>The name of the StateType ({4417499c-1757-4309-868a-be5cf3455c4a}) of ThingClass storage</extracomment>
<translation>Zellentemperatur</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="82"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="83"/>
<source>Current phase A</source>
<extracomment>The name of the StateType ({a9673688-d84a-4848-8583-a70739130252}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Strom Phase A</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="85"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="86"/>
<source>Current phase B</source>
<extracomment>The name of the StateType ({15632e49-95f9-496d-830c-53a31ca6d98e}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Strom Phase B</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="88"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="89"/>
<source>Current phase C</source>
<extracomment>The name of the StateType ({10a24ba9-a57a-48a9-98f3-52671c09e855}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Strom Phase C</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="98"/>
<source>Current power phase A</source>
<extracomment>The name of the StateType ({6dbbb062-447b-47d6-b2e4-dceac9aff795}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Leistung Phase A</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="101"/>
<source>Current power phase B</source>
<extracomment>The name of the StateType ({f230e78e-15b0-47a4-b494-bae65be00755}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Leistung Phase B</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="103"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="104"/>
<source>Current power phase C</source>
<extracomment>The name of the StateType ({56b5d550-d902-4c33-9288-8ee972735a75}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Leistung Phase C</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="131"/>
<source>Frequency</source>
<extracomment>The name of the StateType ({9ff64b29-e023-4395-abd4-b6c366acfd9e}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Frequenz</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="143"/>
<source>Fronius smart meter</source>
<extracomment>The name of the ThingClass ({c3cb53a4-32dd-434d-9d9c-aada41f8129c})</extracomment>
<translation type="unfinished"></translation>
<translation>Fronius Zähler</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="146"/>
<source>Fronius solar inverter</source>
<extracomment>The name of the ThingClass ({540aa956-8b8f-4982-9f58-343a76cea846})</extracomment>
<translation type="unfinished"></translation>
<translation>Fronius Inverter</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="149"/>
<source>Fronius solar storage</source>
<extracomment>The name of the ThingClass ({b00139fa-7386-48b1-8697-2fdd21a57ced})</extracomment>
<translation type="unfinished"></translation>
<translation>Fronius Energiespeicher</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="91"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="197"/>
<source>charging</source>
<extracomment>The name of a possible value of StateType {7a045257-d829-4e58-a769-047b3aeec7c5} of ThingClass storage</extracomment>
<translation>laden</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="200"/>
<source>discharging</source>
<extracomment>The name of a possible value of StateType {7a045257-d829-4e58-a769-047b3aeec7c5} of ThingClass storage</extracomment>
<translation>entladen</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="203"/>
<source>idle</source>
<extracomment>The name of a possible value of StateType {7a045257-d829-4e58-a769-047b3aeec7c5} of ThingClass storage</extracomment>
<translation>Leerlauf</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="92"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="95"/>
<source>Current power</source>
<extracomment>The name of the StateType ({5a89cd3f-3abf-4f51-ab2b-4039f1d211d9}) of ThingClass storage
----------
@ -125,9 +148,9 @@ The name of the StateType ({788accbc-b86e-471b-b37f-14c9c6411526}) of ThingClass
<translation>Aktuelle Leistung</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="109"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="112"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="115"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="110"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="113"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="116"/>
<source>Device ID</source>
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {49087f31-abf5-4bb8-946b-a3626ee80566})
----------
@ -137,50 +160,50 @@ The name of the ParamType (ThingClass: inverter, Type: thing, ID: {f2f8c2f5-dd6a
<translation>Geräte ID</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="119"/>
<source>Energy Consumed</source>
<extracomment>The name of the StateType ({f3451818-48d2-42a5-94fd-ad094c06967f}) of ThingClass meter</extracomment>
<translation>Energie verbraucht</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="121"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="122"/>
<source>Energy produced</source>
<extracomment>The name of the StateType ({ca14cca5-d9f0-49c5-a8f7-907d4c0825f0}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Erzeugte Energie</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="106"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="107"/>
<source>Current power usage</source>
<extracomment>The name of the StateType ({e5056ea1-88a2-410b-9c5e-6322aca4cb17}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Aktuelle Leistung</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="79"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="80"/>
<source>Charging state</source>
<extracomment>The name of the StateType ({7a045257-d829-4e58-a769-047b3aeec7c5}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
<translation>Ladezustand</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="124"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="125"/>
<source>Energy produced today</source>
<extracomment>The name of the StateType ({b6af1bf5-753d-47b6-a151-e4d801fe6ff8}) of ThingClass inverter</extracomment>
<translation type="unfinished"></translation>
<translation>Erzeute Energie heute</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="128"/>
<source>Energy produced year</source>
<extracomment>The name of the StateType ({7fd2fa28-9bcc-4f01-a823-459437d185f6}) of ThingClass inverter</extracomment>
<translation type="unfinished"></translation>
<translation>Erzeugte Energie Jahr</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="133"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="134"/>
<source>Fronius</source>
<extracomment>The name of the vendor ({2286fc38-afd9-4128-ab7e-0fba527d53ba})</extracomment>
<translation>Fronius</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="136"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="137"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="140"/>
<source>Fronius Solar</source>
<extracomment>The name of the ThingClass ({4fd79fed-42f1-4df9-be64-3df7b2e0bda2})
----------
@ -188,28 +211,34 @@ The name of the plugin fronius ({02319cfc-8b55-49ba-99bc-0588bbfab063})</extraco
<translation>Fronius Solar</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="155"/>
<source>Host name</source>
<extracomment>The name of the ParamType (ThingClass: connection, Type: thing, ID: {05d05a5f-7da1-4198-b281-5199dc660acc})</extracomment>
<translation>Hostname</translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="158"/>
<source>Mac address</source>
<extracomment>The name of the ParamType (ThingClass: connection, Type: thing, ID: {2237972e-385b-4458-b5d3-1d1fb4ae8756})</extracomment>
<translation type="unfinished"></translation>
<translation>MAC-Adresse</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="185"/>
<source>Version</source>
<extracomment>The name of the StateType ({8fd0c0ed-af89-4887-bf0f-040b13c25268}) of ThingClass connection</extracomment>
<translation type="unfinished"></translation>
<translation>Version</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="152"/>
<source>Host address</source>
<extracomment>The name of the ParamType (ThingClass: connection, Type: thing, ID: {52da0197-4b78-4fec-aa72-70f949e26edc})</extracomment>
<translation>Adresse</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="157"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="160"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="163"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="161"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="164"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="167"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="170"/>
<source>Reachable</source>
<extracomment>The name of the StateType ({2f7e1267-b0be-4b78-9aa3-832b86c4efad}) of ThingClass storage
----------
@ -221,40 +250,40 @@ The name of the StateType ({98e4476f-e745-4a7f-b795-19269cb70c40}) of ThingClass
<translation>Erreichbar</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="169"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="172"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="173"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="176"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="179"/>
<source>Serial number</source>
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {8b6c7053-5ba5-4808-8ff4-9024c624d77d})
----------
The name of the ParamType (ThingClass: meter, Type: thing, ID: {dfc2eeef-38b2-4089-9953-48186aaee060})
----------
The name of the ParamType (ThingClass: inverter, Type: thing, ID: {5e073a9d-f2de-4ff4-95f1-065a0ef4d51b})</extracomment>
<translation type="unfinished"></translation>
<translation>Seriennummer</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="182"/>
<source>Total produced energy</source>
<extracomment>The name of the StateType ({d6dbb879-4cbc-4db3-830e-b92ba91a13e5}) of ThingClass inverter</extracomment>
<translation type="unfinished"></translation>
<translation>Produzierte Energie</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="184"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="188"/>
<source>Voltage phase A</source>
<extracomment>The name of the StateType ({267bc59f-1113-4aff-a502-4618a591aa16}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Spannung Phase A</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="187"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="191"/>
<source>Voltage phase B</source>
<extracomment>The name of the StateType ({bbcedb80-30f1-493e-81f0-5f77f2847353}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Spannung Phase B</translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="194"/>
<source>Voltage phase C</source>
<extracomment>The name of the StateType ({8037557b-40dc-411b-8937-bcd1695f898a}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
<translation>Spannung Phase C</translation>
</message>
</context>
</TS>

View File

@ -9,22 +9,27 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="131"/>
<location filename="../integrationpluginfronius.cpp" line="125"/>
<source>Unable to set up the connection with this configuration, please reconfigure the connection.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="170"/>
<source>The device does not reply to our requests. Please verify that the Fronius Solar API is enabled on the device.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="133"/>
<location filename="../integrationpluginfronius.cpp" line="172"/>
<source>The device is not reachable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="143"/>
<location filename="../integrationpluginfronius.cpp" line="182"/>
<source>The data received from the device could not be processed because the format is unknown.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../integrationpluginfronius.cpp" line="153"/>
<location filename="../integrationpluginfronius.cpp" line="192"/>
<source>The firmware version 1.6-2 of this Fronius data logger contains errors preventing proper operation. Please update your Fronius device and try again.</source>
<translation type="unfinished"></translation>
</message>
@ -32,92 +37,110 @@
<context>
<name>fronius</name>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="67"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="68"/>
<source>Battery level</source>
<extracomment>The name of the StateType ({5c6da672-9662-41bc-8c8c-aa0f32481251}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="70"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="71"/>
<source>Battery level critical</source>
<extracomment>The name of the StateType ({e5396312-b50e-4d6f-b628-5b51448971d3}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="73"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="74"/>
<source>Capacity</source>
<extracomment>The name of the StateType ({3b163deb-67a2-41d1-8441-b2d53ad846ef}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="76"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="77"/>
<source>Cell temperature</source>
<extracomment>The name of the StateType ({4417499c-1757-4309-868a-be5cf3455c4a}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="82"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="83"/>
<source>Current phase A</source>
<extracomment>The name of the StateType ({a9673688-d84a-4848-8583-a70739130252}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="85"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="86"/>
<source>Current phase B</source>
<extracomment>The name of the StateType ({15632e49-95f9-496d-830c-53a31ca6d98e}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="88"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="89"/>
<source>Current phase C</source>
<extracomment>The name of the StateType ({10a24ba9-a57a-48a9-98f3-52671c09e855}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="97"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="98"/>
<source>Current power phase A</source>
<extracomment>The name of the StateType ({6dbbb062-447b-47d6-b2e4-dceac9aff795}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="100"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="101"/>
<source>Current power phase B</source>
<extracomment>The name of the StateType ({f230e78e-15b0-47a4-b494-bae65be00755}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="103"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="104"/>
<source>Current power phase C</source>
<extracomment>The name of the StateType ({56b5d550-d902-4c33-9288-8ee972735a75}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="130"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="131"/>
<source>Frequency</source>
<extracomment>The name of the StateType ({9ff64b29-e023-4395-abd4-b6c366acfd9e}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="142"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="143"/>
<source>Fronius smart meter</source>
<extracomment>The name of the ThingClass ({c3cb53a4-32dd-434d-9d9c-aada41f8129c})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="145"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="146"/>
<source>Fronius solar inverter</source>
<extracomment>The name of the ThingClass ({540aa956-8b8f-4982-9f58-343a76cea846})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="148"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="149"/>
<source>Fronius solar storage</source>
<extracomment>The name of the ThingClass ({b00139fa-7386-48b1-8697-2fdd21a57ced})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="91"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="94"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="197"/>
<source>charging</source>
<extracomment>The name of a possible value of StateType {7a045257-d829-4e58-a769-047b3aeec7c5} of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="200"/>
<source>discharging</source>
<extracomment>The name of a possible value of StateType {7a045257-d829-4e58-a769-047b3aeec7c5} of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="203"/>
<source>idle</source>
<extracomment>The name of a possible value of StateType {7a045257-d829-4e58-a769-047b3aeec7c5} of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="92"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="95"/>
<source>Current power</source>
<extracomment>The name of the StateType ({5a89cd3f-3abf-4f51-ab2b-4039f1d211d9}) of ThingClass storage
----------
@ -125,9 +148,9 @@ The name of the StateType ({788accbc-b86e-471b-b37f-14c9c6411526}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="109"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="112"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="115"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="110"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="113"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="116"/>
<source>Device ID</source>
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {49087f31-abf5-4bb8-946b-a3626ee80566})
----------
@ -137,50 +160,50 @@ The name of the ParamType (ThingClass: inverter, Type: thing, ID: {f2f8c2f5-dd6a
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="118"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="119"/>
<source>Energy Consumed</source>
<extracomment>The name of the StateType ({f3451818-48d2-42a5-94fd-ad094c06967f}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="121"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="122"/>
<source>Energy produced</source>
<extracomment>The name of the StateType ({ca14cca5-d9f0-49c5-a8f7-907d4c0825f0}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="106"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="107"/>
<source>Current power usage</source>
<extracomment>The name of the StateType ({e5056ea1-88a2-410b-9c5e-6322aca4cb17}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="79"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="80"/>
<source>Charging state</source>
<extracomment>The name of the StateType ({7a045257-d829-4e58-a769-047b3aeec7c5}) of ThingClass storage</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="124"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="125"/>
<source>Energy produced today</source>
<extracomment>The name of the StateType ({b6af1bf5-753d-47b6-a151-e4d801fe6ff8}) of ThingClass inverter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="127"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="128"/>
<source>Energy produced year</source>
<extracomment>The name of the StateType ({7fd2fa28-9bcc-4f01-a823-459437d185f6}) of ThingClass inverter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="133"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="134"/>
<source>Fronius</source>
<extracomment>The name of the vendor ({2286fc38-afd9-4128-ab7e-0fba527d53ba})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="136"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="139"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="137"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="140"/>
<source>Fronius Solar</source>
<extracomment>The name of the ThingClass ({4fd79fed-42f1-4df9-be64-3df7b2e0bda2})
----------
@ -188,28 +211,34 @@ The name of the plugin fronius ({02319cfc-8b55-49ba-99bc-0588bbfab063})</extraco
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="154"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="155"/>
<source>Host name</source>
<extracomment>The name of the ParamType (ThingClass: connection, Type: thing, ID: {05d05a5f-7da1-4198-b281-5199dc660acc})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="158"/>
<source>Mac address</source>
<extracomment>The name of the ParamType (ThingClass: connection, Type: thing, ID: {2237972e-385b-4458-b5d3-1d1fb4ae8756})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="181"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="185"/>
<source>Version</source>
<extracomment>The name of the StateType ({8fd0c0ed-af89-4887-bf0f-040b13c25268}) of ThingClass connection</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="151"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="152"/>
<source>Host address</source>
<extracomment>The name of the ParamType (ThingClass: connection, Type: thing, ID: {52da0197-4b78-4fec-aa72-70f949e26edc})</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="157"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="160"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="163"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="166"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="161"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="164"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="167"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="170"/>
<source>Reachable</source>
<extracomment>The name of the StateType ({2f7e1267-b0be-4b78-9aa3-832b86c4efad}) of ThingClass storage
----------
@ -221,9 +250,9 @@ The name of the StateType ({98e4476f-e745-4a7f-b795-19269cb70c40}) of ThingClass
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="169"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="172"/>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="175"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="173"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="176"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="179"/>
<source>Serial number</source>
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {8b6c7053-5ba5-4808-8ff4-9024c624d77d})
----------
@ -233,25 +262,25 @@ The name of the ParamType (ThingClass: inverter, Type: thing, ID: {5e073a9d-f2de
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="178"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="182"/>
<source>Total produced energy</source>
<extracomment>The name of the StateType ({d6dbb879-4cbc-4db3-830e-b92ba91a13e5}) of ThingClass inverter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="184"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="188"/>
<source>Voltage phase A</source>
<extracomment>The name of the StateType ({267bc59f-1113-4aff-a502-4618a591aa16}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="187"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="191"/>
<source>Voltage phase B</source>
<extracomment>The name of the StateType ({bbcedb80-30f1-493e-81f0-5f77f2847353}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../build/nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="190"/>
<location filename="../../../build-nymea-plugins-Desktop-Debug/fronius/plugininfo.h" line="194"/>
<source>Voltage phase C</source>
<extracomment>The name of the StateType ({8037557b-40dc-411b-8937-bcd1695f898a}) of ThingClass meter</extracomment>
<translation type="unfinished"></translation>