added fronius plug-in
This commit is contained in:
parent
e26d38e155
commit
6903391d18
17
debian/control
vendored
17
debian/control
vendored
@ -293,6 +293,22 @@ Description: nymea.io plugin for Xiaomi Flower care devices
|
||||
also know as Plant care or MiCare
|
||||
|
||||
|
||||
Package: nymea-plugin-fronius
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
nymea-plugins-translations,
|
||||
Description: nymea.io plugin for Fronius PV inverters
|
||||
The nymea daemon is a plugin based IoT (Internet of Things) server. The
|
||||
server works like a translator for devices, things and services and
|
||||
allows them to interact.
|
||||
With the powerful rule engine you are able to connect any device available
|
||||
in the system and create individual scenes and behaviors for your environment.
|
||||
.
|
||||
This package will install the nymea.io plugin for Fronius
|
||||
|
||||
|
||||
Package: nymea-plugin-eq-3
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends},
|
||||
@ -978,6 +994,7 @@ Depends: nymea-plugin-anel,
|
||||
nymea-plugin-doorbird,
|
||||
nymea-plugin-eq-3,
|
||||
nymea-plugin-flowercare,
|
||||
nymea-plugin-fronius,
|
||||
nymea-plugin-genericthings,
|
||||
nymea-plugin-kodi,
|
||||
nymea-plugin-lgsmarttv,
|
||||
|
||||
1
debian/nymea-plugin-fronius.install.in
vendored
Normal file
1
debian/nymea-plugin-fronius.install.in
vendored
Normal file
@ -0,0 +1 @@
|
||||
usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_integrationpluginfronius.so
|
||||
18
fronius/README.md
Normal file
18
fronius/README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Fronius
|
||||
|
||||
nymea plug-in for Fronius solar devices.
|
||||
|
||||
## Supported Things
|
||||
|
||||
* PV-Inverter
|
||||
* Storage
|
||||
* Data Logger
|
||||
* Smart Meter
|
||||
|
||||
## Requirements
|
||||
|
||||
* The package "nymea-plugin-fronius" must be installed.
|
||||
|
||||
## More
|
||||
https://www.fronius.com/en/photovoltaics
|
||||
|
||||
BIN
fronius/fronius.png
Normal file
BIN
fronius/fronius.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
20
fronius/fronius.pro
Normal file
20
fronius/fronius.pro
Normal file
@ -0,0 +1,20 @@
|
||||
include(../plugins.pri)
|
||||
|
||||
QT += \
|
||||
^network \
|
||||
|
||||
SOURCES += \
|
||||
integrationpluginfronius.cpp \
|
||||
froniusthing.cpp \
|
||||
froniuslogger.cpp \
|
||||
froniusinverter.cpp \
|
||||
froniusstorage.cpp \
|
||||
froniusmeter.cpp \
|
||||
|
||||
HEADERS += \
|
||||
integrationpluginfronius.h \
|
||||
froniusthing.h \
|
||||
froniuslogger.h \
|
||||
froniusinverter.h \
|
||||
froniusstorage.h \
|
||||
froniusmeter.h \
|
||||
135
fronius/froniusinverter.cpp
Normal file
135
fronius/froniusinverter.cpp
Normal file
@ -0,0 +1,135 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 "froniusinverter.h"
|
||||
#include <QJsonDocument>
|
||||
#include "extern-plugininfo.h"
|
||||
#include <QDateTime>
|
||||
|
||||
FroniusInverter::FroniusInverter(Thing *thing, QObject *parent) : FroniusThing(thing, parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString FroniusInverter::activity() const
|
||||
{
|
||||
return m_activity;
|
||||
}
|
||||
|
||||
void FroniusInverter::setActivity(const QString &activity)
|
||||
{
|
||||
m_activity = activity;
|
||||
}
|
||||
|
||||
QUrl FroniusInverter::updateUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
QUrlQuery query;
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl() + "GetInverterRealtimeData.cgi");
|
||||
query.addQueryItem("Scope", "Device");
|
||||
query.addQueryItem("DeviceId", deviceId());
|
||||
query.addQueryItem("DataCollection", "CommonInverterData");
|
||||
requestUrl.setQuery(query);
|
||||
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusInverter::updateThingInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a JSON document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "FroniusInverter: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
pluginThing()->setStateValue(inverterConnectedStateTypeId,false);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the data and update the states of our device
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
QVariantMap headMap = jsonDoc.toVariant().toMap().value("Head").toMap();
|
||||
|
||||
// Set the inverter device state
|
||||
if (dataMap.contains("PAC")) {
|
||||
if(dataMap.value("PAC").toMap().values().at(0) == "W")
|
||||
pluginThing()->setStateValue(inverterCurrentPowerStateTypeId, dataMap.value("PAC").toMap().values().at(1).toInt());
|
||||
}
|
||||
|
||||
if (dataMap.contains("DAY_ENERGY")) {
|
||||
if (dataMap.value("DAY_ENERGY").toMap().values().at(0) == "Wh")
|
||||
pluginThing()->setStateValue(inverterEdayStateTypeId, dataMap.value("DAY_ENERGY").toMap().values().at(1).toDouble()/1000);
|
||||
}
|
||||
|
||||
if (dataMap.contains("YEAR_ENERGY")) {
|
||||
if(dataMap.value("YEAR_ENERGY").toMap().values().at(0) == "Wh")
|
||||
pluginThing()->setStateValue(inverterEyearStateTypeId, dataMap.value("YEAR_ENERGY").toMap().values().at(1).toInt()/1000);
|
||||
}
|
||||
|
||||
if (dataMap.contains("TOTAL_ENERGY")) {
|
||||
if(dataMap.value("TOTAL_ENERGY").toMap().values().at(0) == "Wh")
|
||||
pluginThing()->setStateValue(inverterTotalEnergyProducedStateTypeId, dataMap.value("TOTAL_ENERGY").toMap().values().at(1).toInt()/1000);
|
||||
}
|
||||
|
||||
//update successful
|
||||
pluginThing()->setStateValue(inverterConnectedStateTypeId,true);
|
||||
|
||||
}
|
||||
|
||||
QUrl FroniusInverter::activityUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl()+"GetPowerFlowRealtimeData.fcgi");
|
||||
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusInverter::updateActivityInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if(error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "FroniusInverter: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
return;
|
||||
}
|
||||
|
||||
// create StorageInfo list map
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
|
||||
if (dataMap.value("Site").toMap().value("P_PV").toFloat() > 0) {
|
||||
pluginThing()->setStateValue(inverterActiveStateTypeId, "production");
|
||||
} else {
|
||||
pluginThing()->setStateValue(inverterActiveStateTypeId, "inactive");
|
||||
}
|
||||
}
|
||||
56
fronius/froniusinverter.h
Normal file
56
fronius/froniusinverter.h
Normal file
@ -0,0 +1,56 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 FRONIUSINVERTER_H
|
||||
#define FRONIUSINVERTER_H
|
||||
|
||||
#include <QObject>
|
||||
#include "froniusthing.h"
|
||||
|
||||
class FroniusInverter : public FroniusThing
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit FroniusInverter(Thing *thing, QObject *parent = 0);
|
||||
|
||||
QString activity() const;
|
||||
void setActivity(const QString &activity);
|
||||
Thing* inverterThing() const;
|
||||
QUrl updateUrl();
|
||||
void updateThingInfo(const QByteArray &data);
|
||||
QUrl activityUrl();
|
||||
void updateActivityInfo(const QByteArray &data);
|
||||
|
||||
private:
|
||||
QString m_activity;
|
||||
};
|
||||
|
||||
#endif // FRONIUSINVERTER_H
|
||||
145
fronius/froniuslogger.cpp
Normal file
145
fronius/froniuslogger.cpp
Normal file
@ -0,0 +1,145 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 "froniuslogger.h"
|
||||
#include "extern-plugininfo.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QDateTime>
|
||||
|
||||
FroniusLogger::FroniusLogger(Thing *thing, QObject *parent) : FroniusThing(thing, parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QUrl FroniusLogger::updateUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl() + "GetLoggerInfo.cgi");
|
||||
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusLogger::updateThingInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
// qCWarning(dcFroniusSolar()) << "Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
pluginThing()->setStateValue(dataloggerConnectedStateTypeId,false);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the data and update the states of our device
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
QVariantMap headMap = jsonDoc.toVariant().toMap().value("Head").toMap();
|
||||
QVariantMap bodyMap = jsonDoc.toVariant().toMap().value("Body").toMap();
|
||||
|
||||
// print the fetched data in dataMap format to stdout
|
||||
//qCDebug(dcFroniusSolar()) << dataMap;
|
||||
|
||||
// create LoggerInfo list Map
|
||||
QVariantMap LoggerInfoMap = bodyMap.value("LoggerInfo").toMap();
|
||||
|
||||
// copy retrieved information to device states
|
||||
if (LoggerInfoMap.contains("ProductID"))
|
||||
pluginThing()->setStateValue(dataloggerProductidStateTypeId, LoggerInfoMap.value("ProductID").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("PlatformID"))
|
||||
pluginThing()->setStateValue(dataloggerPlatformidStateTypeId, LoggerInfoMap.value("PlatformID").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("HWVersion"))
|
||||
pluginThing()->setStateValue(dataloggerHwversionStateTypeId, LoggerInfoMap.value("HWVersion").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("SWVersion"))
|
||||
pluginThing()->setStateValue(dataloggerSwversionStateTypeId, LoggerInfoMap.value("SWVersion").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("TimezoneLocation"))
|
||||
pluginThing()->setStateValue(dataloggerTzonelocStateTypeId, LoggerInfoMap.value("TimezoneLocation").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("TimezoneName"))
|
||||
pluginThing()->setStateValue(dataloggerTzoneStateTypeId, LoggerInfoMap.value("TimezoneName").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("DefaultLanguage"))
|
||||
pluginThing()->setStateValue(dataloggerDefaultlangStateTypeId, LoggerInfoMap.value("DefaultLanguage").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("CashFactor"))
|
||||
pluginThing()->setStateValue(dataloggerCashfactorStateTypeId, LoggerInfoMap.value("CashFactor").toDouble());
|
||||
|
||||
if (LoggerInfoMap.contains("CashCurrency"))
|
||||
pluginThing()->setStateValue(dataloggerCashcurrencyStateTypeId, LoggerInfoMap.value("CashCurrency").toString());
|
||||
|
||||
if (LoggerInfoMap.contains("CO2Factor"))
|
||||
pluginThing()->setStateValue(dataloggerCo2factorStateTypeId, LoggerInfoMap.value("CO2Factor").toDouble());
|
||||
|
||||
if (LoggerInfoMap.contains("CO2Unit"))
|
||||
pluginThing()->setStateValue(dataloggerCo2unitStateTypeId, LoggerInfoMap.value("CO2Unit").toString());
|
||||
|
||||
//update successful
|
||||
pluginThing()->setStateValue(dataloggerConnectedStateTypeId,true);
|
||||
}
|
||||
|
||||
void FroniusLogger::updatePowerRelayState(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
// qCWarning(dcFroniusSolar()) << "Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
pluginThing()->setStateValue(dataloggerConnectedStateTypeId,false);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the data and update the states of our device
|
||||
QVariantMap bodyMap = jsonDoc.toVariant().toMap().value("Body").toMap();
|
||||
QVariantMap dataMap = bodyMap.value("Data").toMap();
|
||||
QVariantMap emrsMap = dataMap.value("emrs").toMap();
|
||||
|
||||
// create LoggerInfo list Map
|
||||
QVariantMap GpiosMap = emrsMap.value("gpios").toMap();
|
||||
//qCDebug(dcFroniusSolar()) << "Body: " << GpiosMap;
|
||||
|
||||
// copy retrieved information to device states
|
||||
if (GpiosMap.contains("Reason")) {
|
||||
qCDebug(dcFronius()) << "Power Relay State Reason: " << GpiosMap.value("Reason").toString();
|
||||
pluginThing()->setStateValue(dataloggerPowerManagmentRelayReasonStateTypeId, GpiosMap.value("Reason").toString());
|
||||
}
|
||||
|
||||
if (GpiosMap.contains("State")) {
|
||||
qCDebug(dcFronius()) << "Power Relay State: " << GpiosMap.value("State").toString();
|
||||
pluginThing()->setStateValue(dataloggerPowerManagmentRelayStateTypeId, GpiosMap.value("State").toBool());
|
||||
}
|
||||
|
||||
//update successful
|
||||
pluginThing()->setStateValue(dataloggerConnectedStateTypeId,true);
|
||||
}
|
||||
53
fronius/froniuslogger.h
Normal file
53
fronius/froniuslogger.h
Normal 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 FRONIUSLOGGER_H
|
||||
#define FRONIUSLOGGER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QUrl>
|
||||
#include "froniusinverter.h"
|
||||
#include "froniusmeter.h"
|
||||
#include "froniusstorage.h"
|
||||
|
||||
class FroniusLogger : public FroniusThing
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit FroniusLogger(Thing *thing, QObject *parent = 0);
|
||||
|
||||
QUrl updateUrl();
|
||||
|
||||
void updateThingInfo(const QByteArray &data);
|
||||
void updatePowerRelayState(const QByteArray &data);
|
||||
};
|
||||
|
||||
#endif // FRONIUSLOGGER_H
|
||||
127
fronius/froniusmeter.cpp
Normal file
127
fronius/froniusmeter.cpp
Normal file
@ -0,0 +1,127 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 "froniusmeter.h"
|
||||
#include "extern-plugininfo.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QDateTime>
|
||||
|
||||
FroniusMeter::FroniusMeter(Thing* thing, QObject *parent) : FroniusThing(thing, parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString FroniusMeter::activity() const
|
||||
{
|
||||
return m_activity;
|
||||
}
|
||||
|
||||
void FroniusMeter::setActivity(const QString &activity)
|
||||
{
|
||||
m_activity = activity;
|
||||
}
|
||||
|
||||
QUrl FroniusMeter::updateUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
QUrlQuery query;
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl() + "GetMeterRealtimeData.cgi");
|
||||
query.addQueryItem("Scope", "Device");
|
||||
query.addQueryItem("DeviceId", deviceId());
|
||||
requestUrl.setQuery(query);
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusMeter::updateThingInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a JSON document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "FroniusMeter: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
pluginThing()->setStateValue(inverterConnectedStateTypeId,false);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the data and update the states of our thing
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
//QVariantMap headMap = jsonDoc.toVariant().toMap().value("Head").toMap();
|
||||
|
||||
//Add Smart meter with following states: „PowerReal_P_Sum“, „EnergyReal_WAC_Sum_Produced“, „EnergyReal_WAC_Sum_Consumed“
|
||||
|
||||
// Set the inverter thing state
|
||||
if (dataMap.contains("PowerReal_P_Sum")) {
|
||||
pluginThing()->setStateValue(meterCurrentPowerStateTypeId, dataMap.value("PowerReal_P_Sum").toInt());
|
||||
}
|
||||
|
||||
if (dataMap.contains("EnergyReal_WAC_Sum_Produced")) {
|
||||
pluginThing()->setStateValue(meterTotalEnergyProducedStateTypeId, dataMap.value("EnergyReal_WAC_Sum_Produced").toInt()/1000);
|
||||
}
|
||||
|
||||
if (dataMap.contains("EnergyReal_WAC_Sum_Consumed")) {
|
||||
pluginThing()->setStateValue(meterTotalEnergyConsumedStateTypeId, dataMap.value("EnergyReal_WAC_Sum_Consumed").toInt()/1000);
|
||||
}
|
||||
|
||||
//update successful
|
||||
pluginThing()->setStateValue(meterConnectedStateTypeId,true);
|
||||
}
|
||||
|
||||
QUrl FroniusMeter::activityUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl()+"GetPowerFlowRealtimeData.fcgi");
|
||||
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusMeter::updateActivityInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if(error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "FroniusMeter: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
return;
|
||||
}
|
||||
|
||||
// create Meter Info list map
|
||||
//QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
|
||||
//if (dataMap.value("Site").toMap().value("P_PV").toFloat() > 0) {
|
||||
// pluginThing()->setStateValue(inverteractivStateTypeId, "production");
|
||||
//} else {
|
||||
// pluginThing()->setStateValue(inverteractivStateTypeId, "inactive");
|
||||
//}
|
||||
}
|
||||
55
fronius/froniusmeter.h
Normal file
55
fronius/froniusmeter.h
Normal file
@ -0,0 +1,55 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 FRONIUSMETER_H
|
||||
#define FRONIUSMETER_H
|
||||
|
||||
#include <QObject>
|
||||
#include "froniusthing.h"
|
||||
|
||||
class FroniusMeter : public FroniusThing
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FroniusMeter(Thing* thing, QObject *parent = 0);
|
||||
|
||||
QString activity() const;
|
||||
void setActivity(const QString &activity);
|
||||
Thing* inverterThing() const;
|
||||
QUrl updateUrl();
|
||||
void updateThingInfo(const QByteArray &data);
|
||||
QUrl activityUrl();
|
||||
void updateActivityInfo(const QByteArray &data);
|
||||
|
||||
private:
|
||||
QString m_activity;
|
||||
};
|
||||
|
||||
#endif // FRONIUSMETER_H
|
||||
138
fronius/froniusstorage.cpp
Normal file
138
fronius/froniusstorage.cpp
Normal file
@ -0,0 +1,138 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 "froniusstorage.h"
|
||||
#include <QJsonDocument>
|
||||
#include "extern-plugininfo.h"
|
||||
#include <QDateTime>
|
||||
|
||||
FroniusStorage::FroniusStorage(Thing* thing, QObject *parent) : FroniusThing(thing, parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString FroniusStorage::charging_state() const
|
||||
{
|
||||
return m_charging_state;
|
||||
}
|
||||
|
||||
void FroniusStorage::setChargingState(const QString &charging_state)
|
||||
{
|
||||
m_charging_state = charging_state;
|
||||
}
|
||||
|
||||
int FroniusStorage::charge() const
|
||||
{
|
||||
return m_charge;
|
||||
}
|
||||
|
||||
void FroniusStorage::setCharge(const int &charge)
|
||||
{
|
||||
m_charge = charge;
|
||||
}
|
||||
|
||||
QUrl FroniusStorage::updateUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
QUrlQuery query;
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl() + "GetStorageRealtimeData.cgi");
|
||||
query.addQueryItem("Scope", "Device");
|
||||
query.addQueryItem("DeviceId", deviceId());
|
||||
requestUrl.setQuery(query);
|
||||
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusStorage::updateThingInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a JSON document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "FroniusStorage: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
pluginThing()->setStateValue(storageConnectedStateTypeId,false);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the data and update the states of our thing
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
// QVariantMap headMap = jsonDoc.toVariant().toMap().value("Head").toMap();
|
||||
|
||||
// create StorageInfo list map
|
||||
QVariantMap storageInfoMap = dataMap.value("Controller").toMap();
|
||||
|
||||
// copy retrieved information to thing states
|
||||
if (storageInfoMap.contains("StateOfCharge_Relative")) {
|
||||
pluginThing()->setStateValue(storageBatteryLevelStateTypeId, storageInfoMap.value("StateOfCharge_Relative").toInt());
|
||||
pluginThing()->setStateValue(storageBatteryCriticalStateTypeId, storageInfoMap.value("StateOfCharge_Relative").toInt() < 5);
|
||||
}
|
||||
|
||||
if (storageInfoMap.contains("Temperature_Cell"))
|
||||
pluginThing()->setStateValue(storageCellTemperatureStateTypeId, storageInfoMap.value("Temperature_Cell").toDouble());
|
||||
|
||||
//update successful
|
||||
pluginThing()->setStateValue(storageConnectedStateTypeId,true);
|
||||
}
|
||||
|
||||
QUrl FroniusStorage::activityUrl()
|
||||
{
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(hostAddress());
|
||||
requestUrl.setPath(baseUrl()+"GetPowerFlowRealtimeData.fcgi");
|
||||
|
||||
return requestUrl;
|
||||
}
|
||||
|
||||
void FroniusStorage::updateActivityInfo(const QByteArray &data)
|
||||
{
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if(error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "FroniusStorage: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
return;
|
||||
}
|
||||
|
||||
// create StorageInfo list map
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
|
||||
float charge_akku = dataMap.value("Site").toMap().value("P_Akku").toFloat();
|
||||
if (charge_akku == 0) {
|
||||
pluginThing()->setStateValue(storageChargingStateTypeId, "inactive");
|
||||
} else if (charge_akku < 0) {
|
||||
pluginThing()->setStateValue(storageChargingStateTypeId, "charging");
|
||||
} else {
|
||||
pluginThing()->setStateValue(storageChargingStateTypeId, "discharging");
|
||||
}
|
||||
}
|
||||
60
fronius/froniusstorage.h
Normal file
60
fronius/froniusstorage.h
Normal file
@ -0,0 +1,60 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 FRONIUSSTORAGE_H
|
||||
#define FRONIUSSTORAGE_H
|
||||
|
||||
#include <QObject>
|
||||
#include "froniusthing.h"
|
||||
|
||||
class FroniusStorage : public FroniusThing
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit FroniusStorage(Thing *thing, QObject *parent = 0);
|
||||
|
||||
QString charging_state() const;
|
||||
void setChargingState(const QString &charging_state);
|
||||
|
||||
int charge() const;
|
||||
void setCharge(const int &charge);
|
||||
|
||||
QUrl updateUrl();
|
||||
void updateThingInfo(const QByteArray &data);
|
||||
QUrl activityUrl();
|
||||
void updateActivityInfo(const QByteArray &data);
|
||||
|
||||
private:
|
||||
QString m_charging_state;
|
||||
int m_charge;
|
||||
|
||||
};
|
||||
#endif // FRONIUSSTORAGE_H
|
||||
102
fronius/froniusthing.cpp
Normal file
102
fronius/froniusthing.cpp
Normal file
@ -0,0 +1,102 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 "froniusthing.h"
|
||||
|
||||
FroniusThing::FroniusThing(Thing *thing, QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
m_thing = thing;
|
||||
}
|
||||
|
||||
QString FroniusThing::name() const
|
||||
{
|
||||
return m_name;
|
||||
}
|
||||
|
||||
void FroniusThing::setName(const QString &name)
|
||||
{
|
||||
m_name = name;
|
||||
}
|
||||
|
||||
QString FroniusThing::hostId() const
|
||||
{
|
||||
return m_hostId;
|
||||
}
|
||||
|
||||
void FroniusThing::setHostId(const QString &hostId)
|
||||
{
|
||||
m_hostId = hostId;
|
||||
}
|
||||
|
||||
QString FroniusThing::hostAddress() const
|
||||
{
|
||||
return m_hostAddress;
|
||||
}
|
||||
|
||||
void FroniusThing::setHostAddress(const QString &hostAddress)
|
||||
{
|
||||
m_hostAddress = hostAddress;
|
||||
}
|
||||
|
||||
QString FroniusThing::baseUrl() const
|
||||
{
|
||||
return m_baseUrl;
|
||||
}
|
||||
|
||||
void FroniusThing::setBaseUrl(const QString &baseUrl)
|
||||
{
|
||||
m_baseUrl = baseUrl;
|
||||
}
|
||||
|
||||
QString FroniusThing::uniqueId() const
|
||||
{
|
||||
return m_uniqueId;
|
||||
}
|
||||
|
||||
void FroniusThing::setUniqueId(const QString &uniqueId)
|
||||
{
|
||||
m_uniqueId = uniqueId;
|
||||
}
|
||||
|
||||
QString FroniusThing::deviceId() const
|
||||
{
|
||||
return m_thingId;
|
||||
}
|
||||
|
||||
void FroniusThing::setDeviceId(const QString &thingId)
|
||||
{
|
||||
m_thingId = thingId;
|
||||
}
|
||||
|
||||
Thing* FroniusThing::pluginThing() const
|
||||
{
|
||||
return m_thing;
|
||||
}
|
||||
82
fronius/froniusthing.h
Normal file
82
fronius/froniusthing.h
Normal file
@ -0,0 +1,82 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 FRONIUSTHING_H
|
||||
#define FRONIUSTHING_H
|
||||
|
||||
#include "extern-plugininfo.h"
|
||||
#include "integrations/thing.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QUrl>
|
||||
#include <QUrlQuery>
|
||||
|
||||
class FroniusThing : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit FroniusThing(Thing *thing, QObject *parrent = 0);
|
||||
|
||||
QString name() const;
|
||||
void setName(const QString &name);
|
||||
|
||||
QString hostId() const;
|
||||
void setHostId(const QString &hostId);
|
||||
|
||||
QString hostAddress() const;
|
||||
void setHostAddress(const QString &hostAddress);
|
||||
|
||||
QString baseUrl() const;
|
||||
void setBaseUrl(const QString &baseUrl);
|
||||
|
||||
QString uniqueId() const;
|
||||
void setUniqueId(const QString &uniqueId);
|
||||
|
||||
QString deviceId() const;
|
||||
void setDeviceId(const QString &deviceId);
|
||||
|
||||
Thing* pluginThing() const;
|
||||
|
||||
private:
|
||||
|
||||
Thing* m_thing;
|
||||
|
||||
QString m_name;
|
||||
QString m_hostId;
|
||||
QString m_hostAddress;
|
||||
QString m_apiVersion;
|
||||
QString m_baseUrl;
|
||||
QString m_uniqueId;
|
||||
QString m_thingId;
|
||||
|
||||
};
|
||||
|
||||
#endif // FRONIUSTHING_H
|
||||
512
fronius/integrationpluginfronius.cpp
Normal file
512
fronius/integrationpluginfronius.cpp
Normal file
@ -0,0 +1,512 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 "plugininfo.h"
|
||||
#include "integrationpluginfronius.h"
|
||||
#include "plugintimer.h"
|
||||
#include "network/networkaccessmanager.h"
|
||||
|
||||
#include <QUrl>
|
||||
#include <QUrlQuery>
|
||||
#include <QJsonDocument>
|
||||
#include <QPointer>
|
||||
#include <QDebug>
|
||||
|
||||
// Notes: Test IPs: 93.82.221.82 | 88.117.152.99
|
||||
|
||||
IntegrationPluginFronius::IntegrationPluginFronius(QObject *parent): IntegrationPlugin(parent){
|
||||
|
||||
}
|
||||
|
||||
void IntegrationPluginFronius::setupThing(ThingSetupInfo *info)
|
||||
{
|
||||
qCDebug(dcFronius()) << "Setting up a new thing:" << info->thing()->name();
|
||||
|
||||
Thing *thing = info->thing();
|
||||
|
||||
if (thing->thingClassId() == dataloggerThingClassId) {
|
||||
//check if a data logger is already added with this IPv4Address
|
||||
foreach(FroniusLogger *logger, m_froniusLoggers.keys()){
|
||||
if(logger->hostAddress() == thing->paramValue(dataloggerThingLoggerHostParamTypeId).toString()){
|
||||
//this logger at this IPv4 address is already added
|
||||
qCWarning(dcFronius()) << "thing at " << thing->paramValue(dataloggerThingLoggerHostParamTypeId).toString() << " already added!";
|
||||
info->finish(Thing::ThingErrorThingInUse);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Perform a HTTP request on the given IPv4Address to find things
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(thing->paramValue(dataloggerThingLoggerHostParamTypeId).toString());
|
||||
requestUrl.setPath("/solar_api/GetAPIVersion.cgi");
|
||||
|
||||
qCDebug(dcFronius()) << "Search at address" << requestUrl.toString();
|
||||
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(requestUrl));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, info, thing, reply]() {
|
||||
QByteArray data = reply->readAll();
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Network request error:" << reply->error() << reply->errorString() << reply->url();
|
||||
info->finish(Thing::ThingErrorHardwareNotAvailable, tr("Device not reachable"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Convert the rawdata to a JSON document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Failed to parse JSON data" << data << ":" << error.errorString() << data;
|
||||
info->finish(Thing::ThingErrorHardwareFailure, tr("Please try again"));
|
||||
return;
|
||||
}
|
||||
|
||||
FroniusLogger *newLogger = new FroniusLogger(thing, this);
|
||||
newLogger->setBaseUrl(jsonDoc.toVariant().toMap().value("BaseURL").toString());
|
||||
newLogger->setHostAddress(thing->paramValue(dataloggerThingLoggerHostParamTypeId).toString());
|
||||
m_froniusLoggers.insert(newLogger, thing);
|
||||
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
});
|
||||
//Async Setup
|
||||
} else if (thing->thingClassId() == inverterThingClassId) {
|
||||
|
||||
FroniusInverter *newInverter = new FroniusInverter(thing,this);
|
||||
newInverter->setDeviceId(thing->paramValue(inverterThingIdParamTypeId).toString());
|
||||
newInverter->setBaseUrl(thing->paramValue(inverterThingBaseParamTypeId).toString());
|
||||
newInverter->setHostAddress(thing->paramValue(inverterThingHostParamTypeId).toString());
|
||||
|
||||
m_froniusInverters.insert(newInverter,thing);
|
||||
|
||||
// get inverter unique ID
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(newInverter->hostAddress());
|
||||
requestUrl.setPath(newInverter->baseUrl() + "GetInverterInfo.cgi");
|
||||
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(requestUrl));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, info, newInverter, reply]() {
|
||||
QByteArray data = reply->readAll();
|
||||
reply->deleteLater();
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Network request error:" << reply->error() << reply->errorString();
|
||||
info->finish(Thing::ThingErrorHardwareNotAvailable, "Device not reachable");
|
||||
return;
|
||||
}
|
||||
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
info->finish(Thing::ThingErrorHardwareNotAvailable, "Please try again");
|
||||
return;
|
||||
}
|
||||
|
||||
// Check reply information
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||
// check for thing id in reply
|
||||
if (dataMap.contains(newInverter->deviceId())) {
|
||||
qCDebug(dcFronius()) << "Found Thing with unique:" << dataMap.value(newInverter->deviceId()).toMap().value("UniqueID").toString();
|
||||
newInverter->setUniqueId(dataMap.value(newInverter->deviceId()).toMap().value("UniqueID").toString());
|
||||
newInverter->pluginThing()->setParamValue(inverterThingUniqueIdParamTypeId,newInverter->uniqueId());
|
||||
qCDebug(dcFronius()) << "Stored unique ID:" << newInverter->uniqueId();
|
||||
}
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
});
|
||||
// Async Setup
|
||||
} else if (thing->thingClassId() == storageThingClassId) {
|
||||
|
||||
FroniusStorage *newStorage = new FroniusStorage(thing, this);
|
||||
newStorage->setDeviceId(thing->paramValue(storageThingIdParamTypeId).toString());
|
||||
newStorage->setBaseUrl(thing->paramValue(storageThingBaseParamTypeId).toString());
|
||||
newStorage->setHostAddress(thing->paramValue(storageThingHostParamTypeId).toString());
|
||||
m_froniusStorages.insert(newStorage,thing);
|
||||
|
||||
// Get storage manufacturer and maximum capacity
|
||||
QUrlQuery query;
|
||||
QUrl requestUrl;
|
||||
requestUrl.setScheme("http");
|
||||
requestUrl.setHost(newStorage->hostAddress());
|
||||
requestUrl.setPath(newStorage->baseUrl() + "GetStorageRealtimeData.cgi");
|
||||
query.addQueryItem("Scope","Device");
|
||||
query.addQueryItem("DeviceId", newStorage->deviceId());
|
||||
requestUrl.setQuery(query);
|
||||
qCDebug(dcFronius()) << "Get Storage Data at address" << requestUrl.toString();
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(requestUrl));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, info, newStorage, reply]() {
|
||||
QByteArray data = reply->readAll();
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Network request error:" << reply->error() << reply->errorString();
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
return;
|
||||
}
|
||||
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
info->finish(Thing::ThingErrorHardwareFailure, tr("Please try again"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Create StorageInfo list map
|
||||
QVariantMap storageInfoMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap().value("Controller").toMap();
|
||||
|
||||
newStorage->pluginThing()->setParamValue(storageThingManufacturerParamTypeId, storageInfoMap.value("Details").toMap().value("Manufacturer").toString());
|
||||
newStorage->pluginThing()->setParamValue(storageThingCapacityParamTypeId, storageInfoMap.value("Capacity_Maximum").toInt());
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
});
|
||||
//Async Setup
|
||||
} else if (thing->thingClassId() == meterThingClassId) {
|
||||
|
||||
FroniusMeter *newMeter = new FroniusMeter(thing, this);;
|
||||
newMeter->setDeviceId(thing->paramValue(meterThingIdParamTypeId).toString());
|
||||
newMeter->setBaseUrl(thing->paramValue(meterThingBaseParamTypeId).toString());
|
||||
newMeter->setHostAddress(thing->paramValue(meterThingHostParamTypeId).toString());
|
||||
|
||||
m_froniusMeters.insert(newMeter, thing);
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
//Async setup
|
||||
} else {
|
||||
Q_ASSERT_X(false, "setupThing", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
void IntegrationPluginFronius::postSetupThing(Thing *thing)
|
||||
{
|
||||
qCDebug(dcFronius()) << "Post setup" << thing->name();
|
||||
|
||||
if (!m_pluginTimer) {
|
||||
m_pluginTimer = hardwareManager()->pluginTimerManager()->registerTimer(30);
|
||||
connect(m_pluginTimer, &PluginTimer::timeout, this, [this]() {
|
||||
foreach (Thing *logger, m_froniusLoggers)
|
||||
updateThingStates(logger);
|
||||
|
||||
foreach (Thing *inverter, m_froniusInverters)
|
||||
updateThingStates(inverter);
|
||||
|
||||
foreach (Thing *meter, m_froniusMeters)
|
||||
updateThingStates(meter);
|
||||
|
||||
foreach (Thing *storage, m_froniusStorages)
|
||||
updateThingStates(storage);
|
||||
});
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == dataloggerThingClassId) {
|
||||
searchNewThings(m_froniusLoggers.key(thing));
|
||||
updateThingStates(thing);
|
||||
} else if (thing->thingClassId() == inverterThingClassId) {
|
||||
updateThingStates(thing);
|
||||
} else if (thing->thingClassId() == meterThingClassId) {
|
||||
updateThingStates(thing);
|
||||
} else if (thing->thingClassId() == storageThingClassId) {
|
||||
updateThingStates(thing);
|
||||
} else {
|
||||
Q_ASSERT_X(false, "postSetupThing", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
void IntegrationPluginFronius::thingRemoved(Thing *thing)
|
||||
{
|
||||
if (thing->thingClassId() == dataloggerThingClassId) {
|
||||
FroniusLogger *logger = m_froniusLoggers.key(thing);
|
||||
m_froniusLoggers.remove(logger);
|
||||
logger->deleteLater();
|
||||
return;
|
||||
} else if (thing->thingClassId() == inverterThingClassId) {
|
||||
FroniusInverter *inverter = m_froniusInverters.key(thing);
|
||||
m_froniusInverters.remove(inverter);
|
||||
inverter->deleteLater();
|
||||
return;
|
||||
} else if (thing->thingClassId() == meterThingClassId) {
|
||||
FroniusMeter *meter = m_froniusMeters.key(thing);
|
||||
m_froniusMeters.remove(meter);
|
||||
meter->deleteLater();
|
||||
return;
|
||||
} else if (thing->thingClassId() == storageThingClassId) {
|
||||
FroniusStorage *storage = m_froniusStorages.key(thing);
|
||||
m_froniusStorages.remove(storage);
|
||||
storage->deleteLater();
|
||||
return;
|
||||
} else {
|
||||
Q_ASSERT_X(false, "thingRemoved", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8());
|
||||
}
|
||||
|
||||
if (myThings().isEmpty()) {
|
||||
hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer);
|
||||
m_pluginTimer = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void IntegrationPluginFronius::executeAction(ThingActionInfo *info)
|
||||
{
|
||||
Action action = info->action();
|
||||
Thing *thing = info->thing();
|
||||
qCDebug(dcFronius()) << "Execute action" << thing->name() << action.actionTypeId().toString();
|
||||
|
||||
if (thing->thingClassId() == dataloggerThingClassId) {
|
||||
|
||||
if (action.actionTypeId() == dataloggerSearchDevicesActionTypeId) {
|
||||
searchNewThings(m_froniusLoggers.key(thing));
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
Q_ASSERT_X(false, "executeAction", QString("Unhandled action: %1").arg(action.actionTypeId().toString()).toUtf8());
|
||||
}
|
||||
} else {
|
||||
Q_ASSERT_X(false, "executeAction", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
void IntegrationPluginFronius::updateThingStates(Thing *thing)
|
||||
{
|
||||
qCDebug(dcFronius()) << "Update thing values for" << thing->name();
|
||||
|
||||
if(thing->thingClassId() == inverterThingClassId) {
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusInverters.key(thing)->updateUrl()));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, thing, reply]() {
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << reply->error() << reply->errorString() << reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = reply->readAll();
|
||||
if(m_froniusInverters.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusInverters.key(thing)->updateThingInfo(data);
|
||||
}
|
||||
});
|
||||
QNetworkReply *next_reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusInverters.key(thing)->activityUrl()));
|
||||
connect(next_reply, &QNetworkReply::finished, next_reply, &QNetworkReply::deleteLater);
|
||||
connect(next_reply, &QNetworkReply::finished, [this, thing, next_reply]() {
|
||||
if (next_reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << next_reply->error() << next_reply->errorString() << next_reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = next_reply->readAll();
|
||||
if(m_froniusInverters.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusInverters.key(thing)->updateActivityInfo(data);
|
||||
}
|
||||
});
|
||||
} else if (thing->thingClassId() == dataloggerThingClassId) {
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusLoggers.key(thing)->updateUrl()));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, thing, reply]() {
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << reply->error() << reply->errorString() << reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = reply->readAll();
|
||||
if(m_froniusLoggers.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusLoggers.key(thing)->updateThingInfo(data);
|
||||
}
|
||||
});
|
||||
|
||||
} else if (thing->thingClassId() == meterThingClassId) {
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusMeters.key(thing)->updateUrl()));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, thing, reply]() {
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << reply->error() << reply->errorString() << reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = reply->readAll();
|
||||
if(m_froniusMeters.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusMeters.key(thing)->updateThingInfo(data);
|
||||
}
|
||||
});
|
||||
QNetworkReply *next_reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusMeters.key(thing)->activityUrl()));
|
||||
connect(next_reply, &QNetworkReply::finished, next_reply, &QNetworkReply::deleteLater);
|
||||
connect(next_reply, &QNetworkReply::finished, [this, thing, next_reply]() {
|
||||
|
||||
if (next_reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << next_reply->error() << next_reply->errorString() << next_reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = next_reply->readAll();
|
||||
if(m_froniusMeters.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusMeters.key(thing)->updateActivityInfo(data);
|
||||
}
|
||||
});
|
||||
} else if (thing->thingClassId() == storageThingClassId) {
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusStorages.key(thing)->updateUrl()));
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, thing, reply]() {
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << reply->error() << reply->errorString() << reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = reply->readAll();
|
||||
if(m_froniusStorages.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusStorages.key(thing)->updateThingInfo(data);
|
||||
}
|
||||
});
|
||||
QNetworkReply *next_reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusStorages.key(thing)->activityUrl()));
|
||||
connect(next_reply, &QNetworkReply::finished, next_reply, &QNetworkReply::deleteLater);
|
||||
connect(next_reply, &QNetworkReply::finished, [this, thing, next_reply]() {
|
||||
next_reply->deleteLater();
|
||||
if (next_reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << next_reply->error() << next_reply->errorString() << next_reply->request().url();
|
||||
return;
|
||||
}
|
||||
QByteArray data = next_reply->readAll();
|
||||
if(m_froniusStorages.values().contains(thing)){ // check if thing was not removed before reply was received
|
||||
m_froniusStorages.key(thing)->updateActivityInfo(data);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Q_ASSERT_X(false, "updateThingState", QString("Unhandled thingClassId: %1").arg(thing->thingClassId().toString()).toUtf8());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void IntegrationPluginFronius::searchNewThings(FroniusLogger *logger)
|
||||
{
|
||||
QUrl url; QUrlQuery query;
|
||||
query.addQueryItem("DeviceClass", "System");
|
||||
url.setScheme("http");
|
||||
url.setHost(logger->hostAddress());
|
||||
url.setPath(logger->baseUrl() + "GetActiveDeviceInfo.cgi");
|
||||
url.setQuery(query);
|
||||
|
||||
qCDebug(dcFronius()) << "Search Things at address" << url.toString();
|
||||
QNetworkRequest request = QNetworkRequest(url);
|
||||
request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/json");
|
||||
|
||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(request);
|
||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
||||
connect(reply, &QNetworkReply::finished, [this, logger, reply]() {
|
||||
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
qCWarning(dcFronius()) << "Network request error:" << reply->error() << reply->errorString() << reply->request().url();
|
||||
return;
|
||||
}
|
||||
|
||||
Thing *loggerThing = m_froniusLoggers.value(logger);
|
||||
if (!loggerThing)
|
||||
return;
|
||||
|
||||
QByteArray data = reply->readAll();
|
||||
|
||||
// Convert the rawdata to a json document
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError) {
|
||||
qCWarning(dcFronius()) << "Fronius: Failed to parse JSON data" << data << ":" << error.errorString();
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the data for thing information
|
||||
QList<ThingDescriptor> thingDescriptors;
|
||||
|
||||
// Check reply information
|
||||
QVariantMap bodyMap = jsonDoc.toVariant().toMap().value("Body").toMap();
|
||||
|
||||
// Parse reply for inverters at the host address
|
||||
QVariantMap inverterMap = bodyMap.value("Data").toMap().value("Inverter").toMap();
|
||||
foreach (QString inverterId, inverterMap.keys()) {
|
||||
//check if thing already connected to logger
|
||||
if(!existingThing(inverterThingIdParamTypeId,inverterId)) {
|
||||
QString thingName = loggerThing->name() + " Inverter " + inverterId;
|
||||
ThingDescriptor descriptor(inverterThingClassId, thingName, "Fronius Solar Inverter", loggerThing->id());
|
||||
ParamList params;
|
||||
params.append(Param(inverterThingHostParamTypeId, m_froniusLoggers.key(loggerThing)->hostAddress()));
|
||||
params.append(Param(inverterThingBaseParamTypeId, m_froniusLoggers.key(loggerThing)->baseUrl()));
|
||||
params.append(Param(inverterThingIdParamTypeId, inverterId));
|
||||
params.append(Param(inverterThingUniqueIdParamTypeId, ""));
|
||||
descriptor.setParams(params);
|
||||
thingDescriptors.append(descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
// parse reply for meter things at the host address
|
||||
QVariantMap meterMap = bodyMap.value("Data").toMap().value("Meter").toMap();
|
||||
foreach (QString meterId, meterMap.keys()) {
|
||||
//check if thing already connected to logger
|
||||
if(!existingThing(meterThingIdParamTypeId, meterId)) {
|
||||
QString thingName = loggerThing->name() + " Meter " + meterId;
|
||||
ThingDescriptor descriptor(meterThingClassId, thingName, "Fronius Solar Meter", loggerThing->id());
|
||||
ParamList params;
|
||||
params.append(Param(meterThingHostParamTypeId, m_froniusLoggers.key(loggerThing)->hostAddress()));
|
||||
params.append(Param(meterThingBaseParamTypeId, m_froniusLoggers.key(loggerThing)->baseUrl()));
|
||||
params.append(Param(meterThingIdParamTypeId, meterId));
|
||||
params.append(Param(meterThingUniqueIdParamTypeId, meterMap.value(meterId).toMap().value("Serial").toString()));
|
||||
descriptor.setParams(params);
|
||||
thingDescriptors.append(descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
// parse reply for storage things at the host address
|
||||
QVariantMap storageMap = bodyMap.value("Data").toMap().value("Storage").toMap();
|
||||
foreach (QString storageId, storageMap.keys()) {
|
||||
//check if thing already connected to logger
|
||||
if(!existingThing(storageThingIdParamTypeId,storageId)) {
|
||||
QString thingName = loggerThing->name() + " Storage " + storageId;
|
||||
ThingDescriptor descriptor(storageThingClassId, thingName, "Fronius Solar Storage", loggerThing->id());
|
||||
ParamList params;
|
||||
params.append(Param(storageThingManufacturerParamTypeId, ""));
|
||||
params.append(Param(storageThingCapacityParamTypeId, ""));
|
||||
params.append(Param(storageThingHostParamTypeId, m_froniusLoggers.key(loggerThing)->hostAddress()));
|
||||
params.append(Param(storageThingBaseParamTypeId, m_froniusLoggers.key(loggerThing)->baseUrl()));
|
||||
params.append(Param(storageThingIdParamTypeId, storageId));
|
||||
params.append(Param(storageThingUniqueIdParamTypeId, storageMap.value(storageId).toMap().value("Serial").toString()));
|
||||
descriptor.setParams(params);
|
||||
thingDescriptors.append(descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
if (!thingDescriptors.empty()) {
|
||||
emit autoThingsAppeared(thingDescriptors);
|
||||
thingDescriptors.clear();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
bool IntegrationPluginFronius::existingThing(ParamTypeId thingParamId, QString thingId)
|
||||
{
|
||||
foreach(Thing *thing, myThings()) {
|
||||
if(thing->paramValue(thingParamId).toString() == thingId) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
74
fronius/integrationpluginfronius.h
Normal file
74
fronius/integrationpluginfronius.h
Normal file
@ -0,0 +1,74 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* 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 INTEGRATIONPLUGINFRONIUS_H
|
||||
#define INTEGRATIONPLUGINFRONIUS_H
|
||||
|
||||
#include "integrations/integrationplugin.h"
|
||||
#include "froniuslogger.h"
|
||||
|
||||
#include <QHash>
|
||||
#include <QNetworkReply>
|
||||
#include <QTimer>
|
||||
#include <QUuid>
|
||||
|
||||
class PluginTimer;
|
||||
|
||||
class IntegrationPluginFronius : public IntegrationPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "io.nymea.IntegrationPlugin" FILE "integrationpluginfronius.json")
|
||||
Q_INTERFACES(IntegrationPlugin)
|
||||
|
||||
public:
|
||||
explicit IntegrationPluginFronius(QObject *parent = nullptr);
|
||||
|
||||
void setupThing(ThingSetupInfo *thing) override;
|
||||
void postSetupThing(Thing* thing) override;
|
||||
void executeAction(ThingActionInfo *info) override;
|
||||
void thingRemoved(Thing* thing) override;
|
||||
|
||||
private:
|
||||
PluginTimer *m_pluginTimer = nullptr;
|
||||
|
||||
QHash<FroniusLogger *, Thing *> m_froniusLoggers;
|
||||
QHash<FroniusInverter *, Thing *> m_froniusInverters;
|
||||
QHash<FroniusMeter *, Thing *> m_froniusMeters;
|
||||
QHash<FroniusStorage *, Thing *> m_froniusStorages;
|
||||
|
||||
QHash<QUuid, ThingActionInfo *> m_asyncActions;
|
||||
|
||||
void updateThingStates(Thing *thing);
|
||||
|
||||
void searchNewThings(FroniusLogger *logger);
|
||||
bool existingThing(ParamTypeId thingParamId, QString thingId);
|
||||
};
|
||||
|
||||
#endif // INTEGRATIONPLUGINFRONIUS_H
|
||||
414
fronius/integrationpluginfronius.json
Normal file
414
fronius/integrationpluginfronius.json
Normal file
@ -0,0 +1,414 @@
|
||||
{
|
||||
"id": "02319cfc-8b55-49ba-99bc-0588bbfab063",
|
||||
"name": "fronius",
|
||||
"displayName": "Fronius Solar",
|
||||
"vendors": [
|
||||
{
|
||||
"id": "2286fc38-afd9-4128-ab7e-0fba527d53ba",
|
||||
"name": "Fronius",
|
||||
"displayName": "Fronius",
|
||||
"thingClasses": [
|
||||
{
|
||||
"id": "4fd79fed-42f1-4df9-be64-3df7b2e0bda2",
|
||||
"name": "datalogger",
|
||||
"displayName": "Fronius Solar Connection",
|
||||
"createMethods": ["user"],
|
||||
"interfaces": ["gateway"],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "52da0197-4b78-4fec-aa72-70f949e26edc",
|
||||
"name": "loggerHost",
|
||||
"displayName": "Host address",
|
||||
"type": "QString",
|
||||
"inputType": "IPv4Address",
|
||||
"defaultValue": "88.117.152.99"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "98e4476f-e745-4a7f-b795-19269cb70c40",
|
||||
"name": "connected",
|
||||
"displayName": "Reachable",
|
||||
"displayNameEvent": "logger reachable changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "b22052ef-14da-43d2-982b-f2c2d8c03206",
|
||||
"name": "productid",
|
||||
"displayName": "Product ID",
|
||||
"displayNameEvent": "Product ID changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "65c068e6-4a0b-4672-9724-ae95216c4c9c",
|
||||
"name": "platformid",
|
||||
"displayName": "Platform ID",
|
||||
"displayNameEvent": "Platform ID changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "3b4206e5-74c7-4708-96b8-2abfab0c41d6",
|
||||
"name": "hwversion",
|
||||
"displayName": "Hardware version",
|
||||
"displayNameEvent": "Hardware version changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "31743ca5-4353-4f26-b2ad-5da43e5b9d86",
|
||||
"name": "swversion",
|
||||
"displayName": "Software version",
|
||||
"displayNameEvent": "Software version changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "d034f59d-dc34-450a-a6f3-68264767a3e4",
|
||||
"name": "tzoneloc",
|
||||
"displayName": "Timezone location",
|
||||
"displayNameEvent": "Timezone location changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "6bdfeeda-7a47-4043-a011-5eb96308a7d6",
|
||||
"name": "tzone",
|
||||
"displayName": "Time zone",
|
||||
"displayNameEvent": "Time zone changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "18b250e2-080a-4991-b368-177c4da83eca",
|
||||
"name": "defaultlang",
|
||||
"displayName": "Default language",
|
||||
"displayNameEvent": "Default language changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "bc18595b-17c7-4a1f-8002-b908a3d9239d",
|
||||
"name": "cashfactor",
|
||||
"displayName": "Cash factor",
|
||||
"displayNameEvent": "Cash factor changed",
|
||||
"type": "double",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "84da30c8-a7fb-49c6-884c-9521f9f62bbc",
|
||||
"name": "cashcurrency",
|
||||
"displayName": "Cash currency",
|
||||
"displayNameEvent": "Cash Currency changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "8ab01225-7be5-4482-a99b-314108ae0e2b",
|
||||
"name": "co2factor",
|
||||
"displayName": "CO2 factor",
|
||||
"displayNameEvent": "CO2 factor changed",
|
||||
"type": "double",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "b0e655f8-27d0-4add-918b-461cadc8efcc",
|
||||
"name": "co2unit",
|
||||
"displayName": "CO2 unit",
|
||||
"displayNameEvent": "CO2 unit changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "b217acf6-0c5e-4a3e-a50c-4c0133c871c2",
|
||||
"name": "powerManagmentRelay",
|
||||
"displayName": "Power management relay",
|
||||
"displayNameEvent": "Power management relay status changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "5650ce9b-0d7d-4c52-b410-ea618889b4bb",
|
||||
"name": "powerManagmentRelayReason",
|
||||
"displayName": "Power management relay reason",
|
||||
"displayNameEvent": "Power management relay reason changed",
|
||||
"type": "QString",
|
||||
"defaultValue": ""
|
||||
}
|
||||
],
|
||||
"actionTypes": [
|
||||
{
|
||||
"id": "c217fdc1-de18-41dc-b5d8-8072f84e7b6c",
|
||||
"name": "searchDevices",
|
||||
"displayName": "Search new devices"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "540aa956-8b8f-4982-9f58-343a76cea846",
|
||||
"name": "inverter",
|
||||
"displayName": "Fronius Solar Inverter",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces" : ["extendedsmartmeterproducer", "connectable"],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "1aa82e12-ee8c-4142-8b89-a4f1e85556d0",
|
||||
"name": "host",
|
||||
"displayName": "Host address",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "ec1f792a-b453-49f0-8ea6-677ad3c25a5c",
|
||||
"name": "base",
|
||||
"displayName": "Base url",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "f2f8c2f5-dd6a-4786-b336-82fc84e5bb98",
|
||||
"name": "id",
|
||||
"displayName": "Device id",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "8fadc0e8-9d69-4b9d-b493-b6ac3eb59c49",
|
||||
"name": "uniqueId",
|
||||
"displayName": "Unique id",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "eda29c50-73ac-40e0-9c92-26fee352e688",
|
||||
"name": "connected",
|
||||
"displayName": "Reachable",
|
||||
"displayNameEvent": "Reachable changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0",
|
||||
"name": "active",
|
||||
"displayName": "Inverter active",
|
||||
"displayNameEvent": "Inverter active changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "788accbc-b86e-471b-b37f-14c9c6411526",
|
||||
"name": "currentPower",
|
||||
"displayName": "Current power",
|
||||
"displayNameEvent": "Current Power changed",
|
||||
"type": "double",
|
||||
"unit": "Watt",
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"id": "b6af1bf5-753d-47b6-a151-e4d801fe6ff8",
|
||||
"name": "eday",
|
||||
"displayName": "Energy of current day",
|
||||
"displayNameEvent": "Energy of day changed",
|
||||
"type": "double",
|
||||
"unit": "KiloWattHour",
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"id": "7fd2fa28-9bcc-4f01-a823-459437d185f6",
|
||||
"name": "eyear",
|
||||
"displayName": "Energy of current year",
|
||||
"displayNameEvent": "Energy of year changed",
|
||||
"type": "int",
|
||||
"unit": "KiloWattHour",
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"id": "d6dbb879-4cbc-4db3-830e-b92ba91a13e5",
|
||||
"name": "totalEnergyProduced",
|
||||
"displayName": "Energy total",
|
||||
"displayNameEvent": "Energy total changed",
|
||||
"type": "double",
|
||||
"unit": "KiloWattHour",
|
||||
"defaultValue": "0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "c3cb53a4-32dd-434d-9d9c-aada41f8129c",
|
||||
"name": "meter",
|
||||
"displayName": "Fronius Smart Meter",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": [ "extendedsmartmeterconsumer", "extendedsmartmeterproducer", "connectable" ],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "ddcb8689-b0b8-4b94-b022-4ce4cf9e0ec2",
|
||||
"name": "host",
|
||||
"displayName": "Address",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "2cb4acd6-a663-48c3-8366-ab538c7b4e7d",
|
||||
"name": "base",
|
||||
"displayName": "Base URL",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "cf3a7025-d368-475a-8f48-efc1344a8409",
|
||||
"name": "id",
|
||||
"displayName": "Device ID",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "285eabb2-47c8-4406-8123-6621b21558c1",
|
||||
"name": "uniqueId",
|
||||
"displayName": "Unique ID",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "b70b61a4-54cb-47ec-b62a-b498eb1f650e",
|
||||
"name": "connected",
|
||||
"displayName": "Reachable",
|
||||
"displayNameEvent": "Reachable changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "e5056ea1-88a2-410b-9c5e-6322aca4cb17",
|
||||
"name": "currentPower",
|
||||
"displayName": "Total current power",
|
||||
"displayNameEvent": "Total current power changed",
|
||||
"type": "double",
|
||||
"unit": "Watt",
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"id": "ca14cca5-d9f0-49c5-a8f7-907d4c0825f0",
|
||||
"name": "totalEnergyProduced",
|
||||
"displayName": "Energy Produced",
|
||||
"displayNameEvent": "Energy production changed",
|
||||
"type": "double",
|
||||
"unit": "KiloWattHour",
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"id": "f3451818-48d2-42a5-94fd-ad094c06967f",
|
||||
"name": "totalEnergyConsumed",
|
||||
"displayName": "Energy Consumed",
|
||||
"displayNameEvent": "Energy consumption changed",
|
||||
"type": "double",
|
||||
"unit": "KiloWattHour",
|
||||
"defaultValue": "0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "b00139fa-7386-48b1-8697-2fdd21a57ced",
|
||||
"name": "storage",
|
||||
"displayName": "Fronius Solar Storage",
|
||||
"createMethods": ["auto"],
|
||||
"interfaces": [ "batterylevel", "connectable" ],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "9665c38b-c13a-428f-b741-1470239c63dc",
|
||||
"name": "manufacturer",
|
||||
"displayName": "Manufacturer",
|
||||
"type": "QString",
|
||||
"defaultValue": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "59a68e91-1aad-46b7-b351-03b7b2216366",
|
||||
"name": "capacity",
|
||||
"displayName": "Maxmimum capacity",
|
||||
"type": "QString",
|
||||
"defaultValue": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "84bd8a41-2411-4bb0-87a9-ab7e01044b10",
|
||||
"name": "host",
|
||||
"displayName": "Address",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "d19b5d81-4e62-48be-bad6-287b0019274a",
|
||||
"name": "base",
|
||||
"displayName": "Base URL",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "49087f31-abf5-4bb8-946b-a3626ee80566",
|
||||
"name": "id",
|
||||
"displayName": "Device ID",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
},
|
||||
{
|
||||
"id": "0d62432a-38bc-48b8-99d2-895f17fcf0b2",
|
||||
"name": "uniqueId",
|
||||
"displayName": "Unique ID",
|
||||
"type": "QString",
|
||||
"inputType": "TextLine"
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "2f7e1267-b0be-4b78-9aa3-832b86c4efad",
|
||||
"name": "connected",
|
||||
"displayName": "Reachable",
|
||||
"displayNameEvent": "Reachable changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "2de34a1f-de2e-43ad-8998-8a5460dff9ae",
|
||||
"name": "charging",
|
||||
"displayName": "State of charge",
|
||||
"displayNameEvent": "Charge state changed",
|
||||
"type": "QString",
|
||||
"defaultValue": "-"
|
||||
},
|
||||
{
|
||||
"id": "5c6da672-9662-41bc-8c8c-aa0f32481251",
|
||||
"name": "batteryLevel",
|
||||
"displayName": "Battery level",
|
||||
"displayNameEvent": "Battery level changed",
|
||||
"type": "int",
|
||||
"unit": "Percentage",
|
||||
"defaultValue": "0",
|
||||
"minValue": 0,
|
||||
"maxValue": 100
|
||||
},
|
||||
{
|
||||
"id": "4417499c-1757-4309-868a-be5cf3455c4a",
|
||||
"name": "cellTemperature",
|
||||
"displayName": "Cell temperature",
|
||||
"displayNameEvent": "Cell temperature changed",
|
||||
"type": "double",
|
||||
"unit": "DegreeCelsius",
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"id": "e5396312-b50e-4d6f-b628-5b51448971d3",
|
||||
"name": "batteryCritical",
|
||||
"displayName": "Battery level critical",
|
||||
"displayNameEvent": "Battery level critical changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
13
fronius/meta.json
Normal file
13
fronius/meta.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "Fronius",
|
||||
"tagline": "Connect to Fronius Solar devices.",
|
||||
"icon": "fronius.png",
|
||||
"stability": "community",
|
||||
"offline": true,
|
||||
"technologies": [
|
||||
"network"
|
||||
],
|
||||
"categories": [
|
||||
|
||||
]
|
||||
}
|
||||
741
fronius/translations/02319cfc-8b55-49ba-99bc-0588bbfab063-de.ts
Normal file
741
fronius/translations/02319cfc-8b55-49ba-99bc-0588bbfab063-de.ts
Normal file
@ -0,0 +1,741 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>IntegrationPluginFronius</name>
|
||||
<message>
|
||||
<location filename="../integrationpluginfronius.cpp" line="80"/>
|
||||
<source>Device not reachable</source>
|
||||
<translation>Gerät nicht erreichbar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginfronius.cpp" line="89"/>
|
||||
<location filename="../integrationpluginfronius.cpp" line="183"/>
|
||||
<source>Please try again</source>
|
||||
<translation>Bitte versuchen Sie es erneut</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>fronius</name>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="168"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="171"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="174"/>
|
||||
<source>Address</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, Type: thing, ID: {830a3cc6-ae0a-4cc3-94d6-86575e410e49})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: storage, Type: thing, ID: {84bd8a41-2411-4bb0-87a9-ab7e01044b10})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {ddcb8689-b0b8-4b94-b022-4ce4cf9e0ec2})</extracomment>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="177"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="180"/>
|
||||
<source>Base URL</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {d19b5d81-4e62-48be-bad6-287b0019274a})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {2cb4acd6-a663-48c3-8366-ab538c7b4e7d})</extracomment>
|
||||
<translation>Basis URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="183"/>
|
||||
<source>Base url</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {ec1f792a-b453-49f0-8ea6-677ad3c25a5c})</extracomment>
|
||||
<translation>Basis URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="186"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="189"/>
|
||||
<source>Battery critical</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: batteryCritical, ID: {3171a6e0-43a7-4de8-8e20-f748e44af7ac})
|
||||
----------
|
||||
The name of the StateType ({3171a6e0-43a7-4de8-8e20-f748e44af7ac}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Batterie kritisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="192"/>
|
||||
<source>Battery critical changed</source>
|
||||
<extracomment>The name of the EventType ({3171a6e0-43a7-4de8-8e20-f748e44af7ac}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Batterie kritisch geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="195"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="198"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="201"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="204"/>
|
||||
<source>Battery level</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: batteryLevel, ID: {0bf53f80-97f8-488b-b514-58f9fe08c183})
|
||||
----------
|
||||
The name of the StateType ({0bf53f80-97f8-488b-b514-58f9fe08c183}) of ThingClass sunspecStorage
|
||||
----------
|
||||
The name of the ParamType (ThingClass: storage, EventType: batteryLevel, ID: {5c6da672-9662-41bc-8c8c-aa0f32481251})
|
||||
----------
|
||||
The name of the StateType ({5c6da672-9662-41bc-8c8c-aa0f32481251}) of ThingClass storage</extracomment>
|
||||
<translation>Batteriestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="207"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="210"/>
|
||||
<source>Battery level changed</source>
|
||||
<extracomment>The name of the EventType ({0bf53f80-97f8-488b-b514-58f9fe08c183}) of ThingClass sunspecStorage
|
||||
----------
|
||||
The name of the EventType ({5c6da672-9662-41bc-8c8c-aa0f32481251}) of ThingClass storage</extracomment>
|
||||
<translation>Batteriestand geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="213"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="216"/>
|
||||
<source>Battery level critical</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: batteryCritical, ID: {e5396312-b50e-4d6f-b628-5b51448971d3})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="219"/>
|
||||
<source>Battery level critical changed</source>
|
||||
<extracomment>The name of the EventType ({e5396312-b50e-4d6f-b628-5b51448971d3}) of ThingClass storage</extracomment>
|
||||
<translation>Batteriestand kritisch geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="222"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="225"/>
|
||||
<source>CO2 factor</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: co2factor, ID: {8ab01225-7be5-4482-a99b-314108ae0e2b})
|
||||
----------
|
||||
The name of the StateType ({8ab01225-7be5-4482-a99b-314108ae0e2b}) of ThingClass datalogger</extracomment>
|
||||
<translation>CO2 Faktor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="228"/>
|
||||
<source>CO2 factor changed</source>
|
||||
<extracomment>The name of the EventType ({8ab01225-7be5-4482-a99b-314108ae0e2b}) of ThingClass datalogger</extracomment>
|
||||
<translation>CO2 Faktor geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="231"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="234"/>
|
||||
<source>CO2 unit</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: co2unit, ID: {b0e655f8-27d0-4add-918b-461cadc8efcc})
|
||||
----------
|
||||
The name of the StateType ({b0e655f8-27d0-4add-918b-461cadc8efcc}) of ThingClass datalogger</extracomment>
|
||||
<translation>CO2-Einheit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="237"/>
|
||||
<source>CO2 unit changed</source>
|
||||
<extracomment>The name of the EventType ({b0e655f8-27d0-4add-918b-461cadc8efcc}) of ThingClass datalogger</extracomment>
|
||||
<translation>CO2-Einheit geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="240"/>
|
||||
<source>Cash Currency changed</source>
|
||||
<extracomment>The name of the EventType ({84da30c8-a7fb-49c6-884c-9521f9f62bbc}) of ThingClass datalogger</extracomment>
|
||||
<translation>Bargeldwährung geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="243"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="246"/>
|
||||
<source>Cash currency</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: cashcurrency, ID: {84da30c8-a7fb-49c6-884c-9521f9f62bbc})
|
||||
----------
|
||||
The name of the StateType ({84da30c8-a7fb-49c6-884c-9521f9f62bbc}) of ThingClass datalogger</extracomment>
|
||||
<translation>Bargeldwährung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="249"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="252"/>
|
||||
<source>Cash factor</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: cashfactor, ID: {bc18595b-17c7-4a1f-8002-b908a3d9239d})
|
||||
----------
|
||||
The name of the StateType ({bc18595b-17c7-4a1f-8002-b908a3d9239d}) of ThingClass datalogger</extracomment>
|
||||
<translation>Cash-Faktor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="255"/>
|
||||
<source>Cash factor changed</source>
|
||||
<extracomment>The name of the EventType ({bc18595b-17c7-4a1f-8002-b908a3d9239d}) of ThingClass datalogger</extracomment>
|
||||
<translation>Cash-Faktor geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="258"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="261"/>
|
||||
<source>Cell temperature</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: cellTemperature, ID: {4417499c-1757-4309-868a-be5cf3455c4a})
|
||||
----------
|
||||
The name of the StateType ({4417499c-1757-4309-868a-be5cf3455c4a}) of ThingClass storage</extracomment>
|
||||
<translation>Zellentemperatur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="264"/>
|
||||
<source>Cell temperature changed</source>
|
||||
<extracomment>The name of the EventType ({4417499c-1757-4309-868a-be5cf3455c4a}) of ThingClass storage</extracomment>
|
||||
<translation>Zellentemperatur geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="267"/>
|
||||
<source>Charge state changed</source>
|
||||
<extracomment>The name of the EventType ({2de34a1f-de2e-43ad-8998-8a5460dff9ae}) of ThingClass storage</extracomment>
|
||||
<translation>Ladezustand geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="270"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="273"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="276"/>
|
||||
<source>Charging limit</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: enableChargingLimit, ID: {1f530f79-c0d2-466b-90e1-79149e34d92f})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: enableChargingLimit, ID: {1f530f79-c0d2-466b-90e1-79149e34d92f})
|
||||
----------
|
||||
The name of the StateType ({1f530f79-c0d2-466b-90e1-79149e34d92f}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Ladelimit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="282"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="285"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="288"/>
|
||||
<source>Charging rate</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: chargingRate, ID: {7f469bbc-64a5-4045-8d5f-9a1a85039851})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: chargingRate, ID: {7f469bbc-64a5-4045-8d5f-9a1a85039851})
|
||||
----------
|
||||
The name of the StateType ({7f469bbc-64a5-4045-8d5f-9a1a85039851}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Laderate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="291"/>
|
||||
<source>Charging rate changed</source>
|
||||
<extracomment>The name of the EventType ({7f469bbc-64a5-4045-8d5f-9a1a85039851}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Laderate geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="294"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="297"/>
|
||||
<source>Connected</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: connected, ID: {50ed3a6f-6ad3-445f-950b-eb6d1b7e7ef7})
|
||||
----------
|
||||
The name of the StateType ({50ed3a6f-6ad3-445f-950b-eb6d1b7e7ef7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Verbunden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="303"/>
|
||||
<source>Current Power changed</source>
|
||||
<extracomment>The name of the EventType ({788accbc-b86e-471b-b37f-14c9c6411526}) of ThingClass inverter</extracomment>
|
||||
<translation>Aktuelle Leistung geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="306"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="309"/>
|
||||
<source>Current power</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: currentPower, ID: {788accbc-b86e-471b-b37f-14c9c6411526})
|
||||
----------
|
||||
The name of the StateType ({788accbc-b86e-471b-b37f-14c9c6411526}) of ThingClass inverter</extracomment>
|
||||
<translation>Aktuelle Leistung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="312"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="315"/>
|
||||
<source>Default language</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: defaultlang, ID: {18b250e2-080a-4991-b368-177c4da83eca})
|
||||
----------
|
||||
The name of the StateType ({18b250e2-080a-4991-b368-177c4da83eca}) of ThingClass datalogger</extracomment>
|
||||
<translation>Standardsprache</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="318"/>
|
||||
<source>Default language changed</source>
|
||||
<extracomment>The name of the EventType ({18b250e2-080a-4991-b368-177c4da83eca}) of ThingClass datalogger</extracomment>
|
||||
<translation>Standardsprache geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="321"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="324"/>
|
||||
<source>Device ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {49087f31-abf5-4bb8-946b-a3626ee80566})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {cf3a7025-d368-475a-8f48-efc1344a8409})</extracomment>
|
||||
<translation>Geräte ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="327"/>
|
||||
<source>Device id</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {f2f8c2f5-dd6a-4786-b336-82fc84e5bb98})</extracomment>
|
||||
<translation>Geräte ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="330"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="333"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="336"/>
|
||||
<source>Discharging limit</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: enableDischargingLimit, ID: {bc99a159-815a-40ab-a6e8-b46f315305f7})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: enableDischargingLimit, ID: {bc99a159-815a-40ab-a6e8-b46f315305f7})
|
||||
----------
|
||||
The name of the StateType ({bc99a159-815a-40ab-a6e8-b46f315305f7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Entladelimit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="342"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="345"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="348"/>
|
||||
<source>Discharging rate</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: dischargingRate, ID: {6068f030-acce-44a2-b95f-bd00dd5ca760})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: dischargingRate, ID: {6068f030-acce-44a2-b95f-bd00dd5ca760})
|
||||
----------
|
||||
The name of the StateType ({6068f030-acce-44a2-b95f-bd00dd5ca760}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Entladerate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="351"/>
|
||||
<source>Discharging rate changed</source>
|
||||
<extracomment>The name of the EventType ({6068f030-acce-44a2-b95f-bd00dd5ca760}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Entladerate geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="354"/>
|
||||
<source>Enable Charging Limit</source>
|
||||
<extracomment>The name of the ActionType ({1f530f79-c0d2-466b-90e1-79149e34d92f}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Aktiviere Ladelimit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="357"/>
|
||||
<source>Enable Discharging Limit</source>
|
||||
<extracomment>The name of the ActionType ({bc99a159-815a-40ab-a6e8-b46f315305f7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Aktiviere Entladelimit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="360"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="363"/>
|
||||
<source>Energy Consumed</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: meter, EventType: totalEnergyConsumed, ID: {f3451818-48d2-42a5-94fd-ad094c06967f})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="366"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="369"/>
|
||||
<source>Energy Produced</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: meter, EventType: totalEnergyProduced, ID: {ca14cca5-d9f0-49c5-a8f7-907d4c0825f0})
|
||||
----------
|
||||
The name of the StateType ({ca14cca5-d9f0-49c5-a8f7-907d4c0825f0}) of ThingClass meter</extracomment>
|
||||
<translation>Energie produziert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="372"/>
|
||||
<source>Energy consumption changed</source>
|
||||
<extracomment>The name of the EventType ({f3451818-48d2-42a5-94fd-ad094c06967f}) of ThingClass meter</extracomment>
|
||||
<translation>Energieverbrauch geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="375"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="378"/>
|
||||
<source>Energy of current day</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: eday, ID: {b6af1bf5-753d-47b6-a151-e4d801fe6ff8})
|
||||
----------
|
||||
The name of the StateType ({b6af1bf5-753d-47b6-a151-e4d801fe6ff8}) of ThingClass inverter</extracomment>
|
||||
<translation>Energie dieses Tages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="381"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="384"/>
|
||||
<source>Energy of current year</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: eyear, ID: {7fd2fa28-9bcc-4f01-a823-459437d185f6})
|
||||
----------
|
||||
The name of the StateType ({7fd2fa28-9bcc-4f01-a823-459437d185f6}) of ThingClass inverter</extracomment>
|
||||
<translation>Energie dieses Jahres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="387"/>
|
||||
<source>Energy of day changed</source>
|
||||
<extracomment>The name of the EventType ({b6af1bf5-753d-47b6-a151-e4d801fe6ff8}) of ThingClass inverter</extracomment>
|
||||
<translation>Energie dieses Tages geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="390"/>
|
||||
<source>Energy of year changed</source>
|
||||
<extracomment>The name of the EventType ({7fd2fa28-9bcc-4f01-a823-459437d185f6}) of ThingClass inverter</extracomment>
|
||||
<translation>Energie dieses Jahres geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="393"/>
|
||||
<source>Energy production changed</source>
|
||||
<extracomment>The name of the EventType ({ca14cca5-d9f0-49c5-a8f7-907d4c0825f0}) of ThingClass meter</extracomment>
|
||||
<translation>Energieproduktion geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="396"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="399"/>
|
||||
<source>Energy total</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: totalEnergyProduced, ID: {d6dbb879-4cbc-4db3-830e-b92ba91a13e5})
|
||||
----------
|
||||
The name of the StateType ({d6dbb879-4cbc-4db3-830e-b92ba91a13e5}) of ThingClass inverter</extracomment>
|
||||
<translation>Energie gesamt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="402"/>
|
||||
<source>Energy total changed</source>
|
||||
<extracomment>The name of the EventType ({d6dbb879-4cbc-4db3-830e-b92ba91a13e5}) of ThingClass inverter</extracomment>
|
||||
<translation>Energie gesamt geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="405"/>
|
||||
<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-modbus-Desktop-Debug/fronius/plugininfo.h" line="408"/>
|
||||
<source>Fronius Smart Meter</source>
|
||||
<extracomment>The name of the ThingClass ({c3cb53a4-32dd-434d-9d9c-aada41f8129c})</extracomment>
|
||||
<translation>Fronius Smart Meter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="411"/>
|
||||
<source>Fronius Solar</source>
|
||||
<extracomment>The name of the plugin fronius ({02319cfc-8b55-49ba-99bc-0588bbfab063})</extracomment>
|
||||
<translation>Fronius Solar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="414"/>
|
||||
<source>Fronius Solar Connection</source>
|
||||
<extracomment>The name of the ThingClass ({4fd79fed-42f1-4df9-be64-3df7b2e0bda2})</extracomment>
|
||||
<translation>Fronius Solar Verbindung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="417"/>
|
||||
<source>Fronius Solar Inverter</source>
|
||||
<extracomment>The name of the ThingClass ({540aa956-8b8f-4982-9f58-343a76cea846})</extracomment>
|
||||
<translation>Fronius Solar Inverter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="420"/>
|
||||
<source>Fronius Solar Storage</source>
|
||||
<extracomment>The name of the ThingClass ({b00139fa-7386-48b1-8697-2fdd21a57ced})</extracomment>
|
||||
<translation>Fronius Solar Speicher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="423"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="426"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="429"/>
|
||||
<source>Grid charging</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: gridCharging, ID: {221a2ef6-0a92-4ff0-87fe-7bd920dbec0b})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: gridCharging, ID: {221a2ef6-0a92-4ff0-87fe-7bd920dbec0b})
|
||||
----------
|
||||
The name of the StateType ({221a2ef6-0a92-4ff0-87fe-7bd920dbec0b}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Netzaufladung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="432"/>
|
||||
<source>Grid charging changed</source>
|
||||
<extracomment>The name of the EventType ({221a2ef6-0a92-4ff0-87fe-7bd920dbec0b}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Netzaufladung geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="435"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="438"/>
|
||||
<source>Hardware version</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: hwversion, ID: {3b4206e5-74c7-4708-96b8-2abfab0c41d6})
|
||||
----------
|
||||
The name of the StateType ({3b4206e5-74c7-4708-96b8-2abfab0c41d6}) of ThingClass datalogger</extracomment>
|
||||
<translation>Hardwareversion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="441"/>
|
||||
<source>Hardware version changed</source>
|
||||
<extracomment>The name of the EventType ({3b4206e5-74c7-4708-96b8-2abfab0c41d6}) of ThingClass datalogger</extracomment>
|
||||
<translation>Hardwareversion geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="444"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="447"/>
|
||||
<source>Host address</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {1aa82e12-ee8c-4142-8b89-a4f1e85556d0})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: datalogger, Type: thing, ID: {52da0197-4b78-4fec-aa72-70f949e26edc})</extracomment>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="450"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="453"/>
|
||||
<source>Inverter active</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: active, ID: {e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0})
|
||||
----------
|
||||
The name of the StateType ({e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0}) of ThingClass inverter</extracomment>
|
||||
<translation>Inverter aktiv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="456"/>
|
||||
<source>Inverter active changed</source>
|
||||
<extracomment>The name of the EventType ({e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0}) of ThingClass inverter</extracomment>
|
||||
<translation>Inverter aktiv geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="459"/>
|
||||
<source>Manufacturer</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {9665c38b-c13a-428f-b741-1470239c63dc})</extracomment>
|
||||
<translation>Hersteller</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="462"/>
|
||||
<source>Maxmimum capacity</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {59a68e91-1aad-46b7-b351-03b7b2216366})</extracomment>
|
||||
<translation>Maximale Kapazität</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="543"/>
|
||||
<source>Set grid charging</source>
|
||||
<extracomment>The name of the ActionType ({221a2ef6-0a92-4ff0-87fe-7bd920dbec0b}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Aktiviere Netzladung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="561"/>
|
||||
<source>State changed</source>
|
||||
<extracomment>The name of the EventType ({da2b19c5-0f48-49d1-93f0-abdc0051407d}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Zustand geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="600"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="603"/>
|
||||
<source>Unique ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {0d62432a-38bc-48b8-99d2-895f17fcf0b2})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {285eabb2-47c8-4406-8123-6621b21558c1})</extracomment>
|
||||
<translation>Unique ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="606"/>
|
||||
<source>Unique id</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {8fadc0e8-9d69-4b9d-b493-b6ac3eb59c49})</extracomment>
|
||||
<translation>Unique ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="465"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="468"/>
|
||||
<source>Platform ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: platformid, ID: {65c068e6-4a0b-4672-9724-ae95216c4c9c})
|
||||
----------
|
||||
The name of the StateType ({65c068e6-4a0b-4672-9724-ae95216c4c9c}) of ThingClass datalogger</extracomment>
|
||||
<translation>Plattform ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="279"/>
|
||||
<source>Charging limit changed</source>
|
||||
<extracomment>The name of the EventType ({1f530f79-c0d2-466b-90e1-79149e34d92f}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Ladelimit geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="300"/>
|
||||
<source>Connected changed</source>
|
||||
<extracomment>The name of the EventType ({50ed3a6f-6ad3-445f-950b-eb6d1b7e7ef7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Verbunden geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="339"/>
|
||||
<source>Discharging limit changed</source>
|
||||
<extracomment>The name of the EventType ({bc99a159-815a-40ab-a6e8-b46f315305f7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Entladelimit geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="471"/>
|
||||
<source>Platform ID changed</source>
|
||||
<extracomment>The name of the EventType ({65c068e6-4a0b-4672-9724-ae95216c4c9c}) of ThingClass datalogger</extracomment>
|
||||
<translation>Plattform-ID geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="474"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="477"/>
|
||||
<source>Power management relay</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: powerManagmentRelay, ID: {b217acf6-0c5e-4a3e-a50c-4c0133c871c2})
|
||||
----------
|
||||
The name of the StateType ({b217acf6-0c5e-4a3e-a50c-4c0133c871c2}) of ThingClass datalogger</extracomment>
|
||||
<translation>Leistungsmanagement Relais</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="480"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="483"/>
|
||||
<source>Power management relay reason</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: powerManagmentRelayReason, ID: {5650ce9b-0d7d-4c52-b410-ea618889b4bb})
|
||||
----------
|
||||
The name of the StateType ({5650ce9b-0d7d-4c52-b410-ea618889b4bb}) of ThingClass datalogger</extracomment>
|
||||
<translation>Leistungsmanagement Relais Grund</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="486"/>
|
||||
<source>Power management relay reason changed</source>
|
||||
<extracomment>The name of the EventType ({5650ce9b-0d7d-4c52-b410-ea618889b4bb}) of ThingClass datalogger</extracomment>
|
||||
<translation>Leistungsmanagement Relais Grund geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="489"/>
|
||||
<source>Power management relay status changed</source>
|
||||
<extracomment>The name of the EventType ({b217acf6-0c5e-4a3e-a50c-4c0133c871c2}) of ThingClass datalogger</extracomment>
|
||||
<translation>Leistungsmanagement Relais Status geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="492"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="495"/>
|
||||
<source>Product ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: productid, ID: {b22052ef-14da-43d2-982b-f2c2d8c03206})
|
||||
----------
|
||||
The name of the StateType ({b22052ef-14da-43d2-982b-f2c2d8c03206}) of ThingClass datalogger</extracomment>
|
||||
<translation>Produkt-ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="498"/>
|
||||
<source>Product ID changed</source>
|
||||
<extracomment>The name of the EventType ({b22052ef-14da-43d2-982b-f2c2d8c03206}) of ThingClass datalogger</extracomment>
|
||||
<translation>Produkt-ID geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="501"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="504"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="507"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="510"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="513"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="516"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="519"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="522"/>
|
||||
<source>Reachable</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: connected, ID: {2f7e1267-b0be-4b78-9aa3-832b86c4efad})
|
||||
----------
|
||||
The name of the StateType ({2f7e1267-b0be-4b78-9aa3-832b86c4efad}) of ThingClass storage
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, EventType: connected, ID: {b70b61a4-54cb-47ec-b62a-b498eb1f650e})
|
||||
----------
|
||||
The name of the StateType ({b70b61a4-54cb-47ec-b62a-b498eb1f650e}) of ThingClass meter
|
||||
----------
|
||||
The name of the ParamType (ThingClass: inverter, EventType: connected, ID: {eda29c50-73ac-40e0-9c92-26fee352e688})
|
||||
----------
|
||||
The name of the StateType ({eda29c50-73ac-40e0-9c92-26fee352e688}) of ThingClass inverter
|
||||
----------
|
||||
The name of the ParamType (ThingClass: datalogger, EventType: connected, ID: {98e4476f-e745-4a7f-b795-19269cb70c40})
|
||||
----------
|
||||
The name of the StateType ({98e4476f-e745-4a7f-b795-19269cb70c40}) of ThingClass datalogger</extracomment>
|
||||
<translation>Erreichbar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="525"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="528"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="531"/>
|
||||
<source>Reachable changed</source>
|
||||
<extracomment>The name of the EventType ({2f7e1267-b0be-4b78-9aa3-832b86c4efad}) of ThingClass storage
|
||||
----------
|
||||
The name of the EventType ({b70b61a4-54cb-47ec-b62a-b498eb1f650e}) of ThingClass meter
|
||||
----------
|
||||
The name of the EventType ({eda29c50-73ac-40e0-9c92-26fee352e688}) of ThingClass inverter</extracomment>
|
||||
<translation>Erreichbar geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="534"/>
|
||||
<source>Search new devices</source>
|
||||
<extracomment>The name of the ActionType ({c217fdc1-de18-41dc-b5d8-8072f84e7b6c}) of ThingClass datalogger</extracomment>
|
||||
<translation>Suche neue Geräte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="537"/>
|
||||
<source>Set charging rate</source>
|
||||
<extracomment>The name of the ActionType ({7f469bbc-64a5-4045-8d5f-9a1a85039851}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Setze Laderate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="540"/>
|
||||
<source>Set discharging rate</source>
|
||||
<extracomment>The name of the ActionType ({6068f030-acce-44a2-b95f-bd00dd5ca760}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Setze Entladerate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="546"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="549"/>
|
||||
<source>Software version</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: swversion, ID: {31743ca5-4353-4f26-b2ad-5da43e5b9d86})
|
||||
----------
|
||||
The name of the StateType ({31743ca5-4353-4f26-b2ad-5da43e5b9d86}) of ThingClass datalogger</extracomment>
|
||||
<translation>Softwareversion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="552"/>
|
||||
<source>Software version changed</source>
|
||||
<extracomment>The name of the EventType ({31743ca5-4353-4f26-b2ad-5da43e5b9d86}) of ThingClass datalogger</extracomment>
|
||||
<translation>Softwareversion geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="555"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="558"/>
|
||||
<source>State</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: storageState, ID: {da2b19c5-0f48-49d1-93f0-abdc0051407d})
|
||||
----------
|
||||
The name of the StateType ({da2b19c5-0f48-49d1-93f0-abdc0051407d}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation>Status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="564"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="567"/>
|
||||
<source>State of charge</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: charging, ID: {2de34a1f-de2e-43ad-8998-8a5460dff9ae})
|
||||
----------
|
||||
The name of the StateType ({2de34a1f-de2e-43ad-8998-8a5460dff9ae}) of ThingClass storage</extracomment>
|
||||
<translation>Ladezustand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="570"/>
|
||||
<source>SunSpec Storage</source>
|
||||
<extracomment>The name of the ThingClass ({e14d622f-5d8f-4788-b189-0774a6382a9b})</extracomment>
|
||||
<translation>SunSpec Speicher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="573"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="576"/>
|
||||
<source>Time zone</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: tzone, ID: {6bdfeeda-7a47-4043-a011-5eb96308a7d6})
|
||||
----------
|
||||
The name of the StateType ({6bdfeeda-7a47-4043-a011-5eb96308a7d6}) of ThingClass datalogger</extracomment>
|
||||
<translation>Zeitzone</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="579"/>
|
||||
<source>Time zone changed</source>
|
||||
<extracomment>The name of the EventType ({6bdfeeda-7a47-4043-a011-5eb96308a7d6}) of ThingClass datalogger</extracomment>
|
||||
<translation>Zeitzone geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="582"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="585"/>
|
||||
<source>Timezone location</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: tzoneloc, ID: {d034f59d-dc34-450a-a6f3-68264767a3e4})
|
||||
----------
|
||||
The name of the StateType ({d034f59d-dc34-450a-a6f3-68264767a3e4}) of ThingClass datalogger</extracomment>
|
||||
<translation>Zeitzone Ort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="588"/>
|
||||
<source>Timezone location changed</source>
|
||||
<extracomment>The name of the EventType ({d034f59d-dc34-450a-a6f3-68264767a3e4}) of ThingClass datalogger</extracomment>
|
||||
<translation>Zeitzone Ort geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="591"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="594"/>
|
||||
<source>Total current power</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: meter, EventType: currentPower, ID: {e5056ea1-88a2-410b-9c5e-6322aca4cb17})
|
||||
----------
|
||||
The name of the StateType ({e5056ea1-88a2-410b-9c5e-6322aca4cb17}) of ThingClass meter</extracomment>
|
||||
<translation>Gesamte Momentanleistung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="597"/>
|
||||
<source>Total current power changed</source>
|
||||
<extracomment>The name of the EventType ({e5056ea1-88a2-410b-9c5e-6322aca4cb17}) of ThingClass meter</extracomment>
|
||||
<translation>Gesamte Momentanleistung geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="609"/>
|
||||
<source>logger reachable changed</source>
|
||||
<extracomment>The name of the EventType ({98e4476f-e745-4a7f-b795-19269cb70c40}) of ThingClass datalogger</extracomment>
|
||||
<translation>Logger erriechbar geändert</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@ -0,0 +1,741 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1">
|
||||
<context>
|
||||
<name>IntegrationPluginFronius</name>
|
||||
<message>
|
||||
<location filename="../integrationpluginfronius.cpp" line="80"/>
|
||||
<source>Device not reachable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginfronius.cpp" line="89"/>
|
||||
<location filename="../integrationpluginfronius.cpp" line="183"/>
|
||||
<source>Please try again</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>fronius</name>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="168"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="171"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="174"/>
|
||||
<source>Address</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, Type: thing, ID: {830a3cc6-ae0a-4cc3-94d6-86575e410e49})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: storage, Type: thing, ID: {84bd8a41-2411-4bb0-87a9-ab7e01044b10})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {ddcb8689-b0b8-4b94-b022-4ce4cf9e0ec2})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="177"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="180"/>
|
||||
<source>Base URL</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {d19b5d81-4e62-48be-bad6-287b0019274a})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {2cb4acd6-a663-48c3-8366-ab538c7b4e7d})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="183"/>
|
||||
<source>Base url</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {ec1f792a-b453-49f0-8ea6-677ad3c25a5c})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="186"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="189"/>
|
||||
<source>Battery critical</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: batteryCritical, ID: {3171a6e0-43a7-4de8-8e20-f748e44af7ac})
|
||||
----------
|
||||
The name of the StateType ({3171a6e0-43a7-4de8-8e20-f748e44af7ac}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="192"/>
|
||||
<source>Battery critical changed</source>
|
||||
<extracomment>The name of the EventType ({3171a6e0-43a7-4de8-8e20-f748e44af7ac}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="195"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="198"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="201"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="204"/>
|
||||
<source>Battery level</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: batteryLevel, ID: {0bf53f80-97f8-488b-b514-58f9fe08c183})
|
||||
----------
|
||||
The name of the StateType ({0bf53f80-97f8-488b-b514-58f9fe08c183}) of ThingClass sunspecStorage
|
||||
----------
|
||||
The name of the ParamType (ThingClass: storage, EventType: batteryLevel, ID: {5c6da672-9662-41bc-8c8c-aa0f32481251})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="207"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="210"/>
|
||||
<source>Battery level changed</source>
|
||||
<extracomment>The name of the EventType ({0bf53f80-97f8-488b-b514-58f9fe08c183}) of ThingClass sunspecStorage
|
||||
----------
|
||||
The name of the EventType ({5c6da672-9662-41bc-8c8c-aa0f32481251}) of ThingClass storage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="213"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="216"/>
|
||||
<source>Battery level critical</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: batteryCritical, ID: {e5396312-b50e-4d6f-b628-5b51448971d3})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="219"/>
|
||||
<source>Battery level critical changed</source>
|
||||
<extracomment>The name of the EventType ({e5396312-b50e-4d6f-b628-5b51448971d3}) of ThingClass storage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="222"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="225"/>
|
||||
<source>CO2 factor</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: co2factor, ID: {8ab01225-7be5-4482-a99b-314108ae0e2b})
|
||||
----------
|
||||
The name of the StateType ({8ab01225-7be5-4482-a99b-314108ae0e2b}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="228"/>
|
||||
<source>CO2 factor changed</source>
|
||||
<extracomment>The name of the EventType ({8ab01225-7be5-4482-a99b-314108ae0e2b}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="231"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="234"/>
|
||||
<source>CO2 unit</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: co2unit, ID: {b0e655f8-27d0-4add-918b-461cadc8efcc})
|
||||
----------
|
||||
The name of the StateType ({b0e655f8-27d0-4add-918b-461cadc8efcc}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="237"/>
|
||||
<source>CO2 unit changed</source>
|
||||
<extracomment>The name of the EventType ({b0e655f8-27d0-4add-918b-461cadc8efcc}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="240"/>
|
||||
<source>Cash Currency changed</source>
|
||||
<extracomment>The name of the EventType ({84da30c8-a7fb-49c6-884c-9521f9f62bbc}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="243"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="246"/>
|
||||
<source>Cash currency</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: cashcurrency, ID: {84da30c8-a7fb-49c6-884c-9521f9f62bbc})
|
||||
----------
|
||||
The name of the StateType ({84da30c8-a7fb-49c6-884c-9521f9f62bbc}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="249"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="252"/>
|
||||
<source>Cash factor</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: cashfactor, ID: {bc18595b-17c7-4a1f-8002-b908a3d9239d})
|
||||
----------
|
||||
The name of the StateType ({bc18595b-17c7-4a1f-8002-b908a3d9239d}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="255"/>
|
||||
<source>Cash factor changed</source>
|
||||
<extracomment>The name of the EventType ({bc18595b-17c7-4a1f-8002-b908a3d9239d}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="258"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="261"/>
|
||||
<source>Cell temperature</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: cellTemperature, ID: {4417499c-1757-4309-868a-be5cf3455c4a})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="264"/>
|
||||
<source>Cell temperature changed</source>
|
||||
<extracomment>The name of the EventType ({4417499c-1757-4309-868a-be5cf3455c4a}) of ThingClass storage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="267"/>
|
||||
<source>Charge state changed</source>
|
||||
<extracomment>The name of the EventType ({2de34a1f-de2e-43ad-8998-8a5460dff9ae}) of ThingClass storage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="270"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="273"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="276"/>
|
||||
<source>Charging limit</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: enableChargingLimit, ID: {1f530f79-c0d2-466b-90e1-79149e34d92f})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: enableChargingLimit, ID: {1f530f79-c0d2-466b-90e1-79149e34d92f})
|
||||
----------
|
||||
The name of the StateType ({1f530f79-c0d2-466b-90e1-79149e34d92f}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="282"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="285"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="288"/>
|
||||
<source>Charging rate</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: chargingRate, ID: {7f469bbc-64a5-4045-8d5f-9a1a85039851})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: chargingRate, ID: {7f469bbc-64a5-4045-8d5f-9a1a85039851})
|
||||
----------
|
||||
The name of the StateType ({7f469bbc-64a5-4045-8d5f-9a1a85039851}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="291"/>
|
||||
<source>Charging rate changed</source>
|
||||
<extracomment>The name of the EventType ({7f469bbc-64a5-4045-8d5f-9a1a85039851}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="294"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="297"/>
|
||||
<source>Connected</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: connected, ID: {50ed3a6f-6ad3-445f-950b-eb6d1b7e7ef7})
|
||||
----------
|
||||
The name of the StateType ({50ed3a6f-6ad3-445f-950b-eb6d1b7e7ef7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="303"/>
|
||||
<source>Current Power changed</source>
|
||||
<extracomment>The name of the EventType ({788accbc-b86e-471b-b37f-14c9c6411526}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="306"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="309"/>
|
||||
<source>Current power</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: currentPower, ID: {788accbc-b86e-471b-b37f-14c9c6411526})
|
||||
----------
|
||||
The name of the StateType ({788accbc-b86e-471b-b37f-14c9c6411526}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="312"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="315"/>
|
||||
<source>Default language</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: defaultlang, ID: {18b250e2-080a-4991-b368-177c4da83eca})
|
||||
----------
|
||||
The name of the StateType ({18b250e2-080a-4991-b368-177c4da83eca}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="318"/>
|
||||
<source>Default language changed</source>
|
||||
<extracomment>The name of the EventType ({18b250e2-080a-4991-b368-177c4da83eca}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="321"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="324"/>
|
||||
<source>Device ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {49087f31-abf5-4bb8-946b-a3626ee80566})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {cf3a7025-d368-475a-8f48-efc1344a8409})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="327"/>
|
||||
<source>Device id</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {f2f8c2f5-dd6a-4786-b336-82fc84e5bb98})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="330"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="333"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="336"/>
|
||||
<source>Discharging limit</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: enableDischargingLimit, ID: {bc99a159-815a-40ab-a6e8-b46f315305f7})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: enableDischargingLimit, ID: {bc99a159-815a-40ab-a6e8-b46f315305f7})
|
||||
----------
|
||||
The name of the StateType ({bc99a159-815a-40ab-a6e8-b46f315305f7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="342"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="345"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="348"/>
|
||||
<source>Discharging rate</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: dischargingRate, ID: {6068f030-acce-44a2-b95f-bd00dd5ca760})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: dischargingRate, ID: {6068f030-acce-44a2-b95f-bd00dd5ca760})
|
||||
----------
|
||||
The name of the StateType ({6068f030-acce-44a2-b95f-bd00dd5ca760}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="351"/>
|
||||
<source>Discharging rate changed</source>
|
||||
<extracomment>The name of the EventType ({6068f030-acce-44a2-b95f-bd00dd5ca760}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="354"/>
|
||||
<source>Enable Charging Limit</source>
|
||||
<extracomment>The name of the ActionType ({1f530f79-c0d2-466b-90e1-79149e34d92f}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="357"/>
|
||||
<source>Enable Discharging Limit</source>
|
||||
<extracomment>The name of the ActionType ({bc99a159-815a-40ab-a6e8-b46f315305f7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="360"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="363"/>
|
||||
<source>Energy Consumed</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: meter, EventType: totalEnergyConsumed, ID: {f3451818-48d2-42a5-94fd-ad094c06967f})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="366"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="369"/>
|
||||
<source>Energy Produced</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: meter, EventType: totalEnergyProduced, ID: {ca14cca5-d9f0-49c5-a8f7-907d4c0825f0})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="372"/>
|
||||
<source>Energy consumption changed</source>
|
||||
<extracomment>The name of the EventType ({f3451818-48d2-42a5-94fd-ad094c06967f}) of ThingClass meter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="375"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="378"/>
|
||||
<source>Energy of current day</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: eday, ID: {b6af1bf5-753d-47b6-a151-e4d801fe6ff8})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="381"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="384"/>
|
||||
<source>Energy of current year</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: eyear, ID: {7fd2fa28-9bcc-4f01-a823-459437d185f6})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="387"/>
|
||||
<source>Energy of day changed</source>
|
||||
<extracomment>The name of the EventType ({b6af1bf5-753d-47b6-a151-e4d801fe6ff8}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="390"/>
|
||||
<source>Energy of year changed</source>
|
||||
<extracomment>The name of the EventType ({7fd2fa28-9bcc-4f01-a823-459437d185f6}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="393"/>
|
||||
<source>Energy production changed</source>
|
||||
<extracomment>The name of the EventType ({ca14cca5-d9f0-49c5-a8f7-907d4c0825f0}) of ThingClass meter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="396"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="399"/>
|
||||
<source>Energy total</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: totalEnergyProduced, ID: {d6dbb879-4cbc-4db3-830e-b92ba91a13e5})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="402"/>
|
||||
<source>Energy total changed</source>
|
||||
<extracomment>The name of the EventType ({d6dbb879-4cbc-4db3-830e-b92ba91a13e5}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="405"/>
|
||||
<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-modbus-Desktop-Debug/fronius/plugininfo.h" line="408"/>
|
||||
<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-modbus-Desktop-Debug/fronius/plugininfo.h" line="411"/>
|
||||
<source>Fronius Solar</source>
|
||||
<extracomment>The name of the plugin fronius ({02319cfc-8b55-49ba-99bc-0588bbfab063})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="414"/>
|
||||
<source>Fronius Solar Connection</source>
|
||||
<extracomment>The name of the ThingClass ({4fd79fed-42f1-4df9-be64-3df7b2e0bda2})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="417"/>
|
||||
<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-modbus-Desktop-Debug/fronius/plugininfo.h" line="420"/>
|
||||
<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-modbus-Desktop-Debug/fronius/plugininfo.h" line="423"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="426"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="429"/>
|
||||
<source>Grid charging</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, ActionType: gridCharging, ID: {221a2ef6-0a92-4ff0-87fe-7bd920dbec0b})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: sunspecStorage, EventType: gridCharging, ID: {221a2ef6-0a92-4ff0-87fe-7bd920dbec0b})
|
||||
----------
|
||||
The name of the StateType ({221a2ef6-0a92-4ff0-87fe-7bd920dbec0b}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="432"/>
|
||||
<source>Grid charging changed</source>
|
||||
<extracomment>The name of the EventType ({221a2ef6-0a92-4ff0-87fe-7bd920dbec0b}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="435"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="438"/>
|
||||
<source>Hardware version</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: hwversion, ID: {3b4206e5-74c7-4708-96b8-2abfab0c41d6})
|
||||
----------
|
||||
The name of the StateType ({3b4206e5-74c7-4708-96b8-2abfab0c41d6}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="441"/>
|
||||
<source>Hardware version changed</source>
|
||||
<extracomment>The name of the EventType ({3b4206e5-74c7-4708-96b8-2abfab0c41d6}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="444"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="447"/>
|
||||
<source>Host address</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {1aa82e12-ee8c-4142-8b89-a4f1e85556d0})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: datalogger, Type: thing, ID: {52da0197-4b78-4fec-aa72-70f949e26edc})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="450"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="453"/>
|
||||
<source>Inverter active</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, EventType: active, ID: {e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0})
|
||||
----------
|
||||
The name of the StateType ({e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="456"/>
|
||||
<source>Inverter active changed</source>
|
||||
<extracomment>The name of the EventType ({e763baa7-5eaf-438c-83f0-4fa6c0f7eeb0}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="459"/>
|
||||
<source>Manufacturer</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {9665c38b-c13a-428f-b741-1470239c63dc})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="462"/>
|
||||
<source>Maxmimum capacity</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {59a68e91-1aad-46b7-b351-03b7b2216366})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="543"/>
|
||||
<source>Set grid charging</source>
|
||||
<extracomment>The name of the ActionType ({221a2ef6-0a92-4ff0-87fe-7bd920dbec0b}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="561"/>
|
||||
<source>State changed</source>
|
||||
<extracomment>The name of the EventType ({da2b19c5-0f48-49d1-93f0-abdc0051407d}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="600"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="603"/>
|
||||
<source>Unique ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, Type: thing, ID: {0d62432a-38bc-48b8-99d2-895f17fcf0b2})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, Type: thing, ID: {285eabb2-47c8-4406-8123-6621b21558c1})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="606"/>
|
||||
<source>Unique id</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: inverter, Type: thing, ID: {8fadc0e8-9d69-4b9d-b493-b6ac3eb59c49})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="465"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="468"/>
|
||||
<source>Platform ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: platformid, ID: {65c068e6-4a0b-4672-9724-ae95216c4c9c})
|
||||
----------
|
||||
The name of the StateType ({65c068e6-4a0b-4672-9724-ae95216c4c9c}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="279"/>
|
||||
<source>Charging limit changed</source>
|
||||
<extracomment>The name of the EventType ({1f530f79-c0d2-466b-90e1-79149e34d92f}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="300"/>
|
||||
<source>Connected changed</source>
|
||||
<extracomment>The name of the EventType ({50ed3a6f-6ad3-445f-950b-eb6d1b7e7ef7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="339"/>
|
||||
<source>Discharging limit changed</source>
|
||||
<extracomment>The name of the EventType ({bc99a159-815a-40ab-a6e8-b46f315305f7}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="471"/>
|
||||
<source>Platform ID changed</source>
|
||||
<extracomment>The name of the EventType ({65c068e6-4a0b-4672-9724-ae95216c4c9c}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="474"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="477"/>
|
||||
<source>Power management relay</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: powerManagmentRelay, ID: {b217acf6-0c5e-4a3e-a50c-4c0133c871c2})
|
||||
----------
|
||||
The name of the StateType ({b217acf6-0c5e-4a3e-a50c-4c0133c871c2}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="480"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="483"/>
|
||||
<source>Power management relay reason</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: powerManagmentRelayReason, ID: {5650ce9b-0d7d-4c52-b410-ea618889b4bb})
|
||||
----------
|
||||
The name of the StateType ({5650ce9b-0d7d-4c52-b410-ea618889b4bb}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="486"/>
|
||||
<source>Power management relay reason changed</source>
|
||||
<extracomment>The name of the EventType ({5650ce9b-0d7d-4c52-b410-ea618889b4bb}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="489"/>
|
||||
<source>Power management relay status changed</source>
|
||||
<extracomment>The name of the EventType ({b217acf6-0c5e-4a3e-a50c-4c0133c871c2}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="492"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="495"/>
|
||||
<source>Product ID</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: productid, ID: {b22052ef-14da-43d2-982b-f2c2d8c03206})
|
||||
----------
|
||||
The name of the StateType ({b22052ef-14da-43d2-982b-f2c2d8c03206}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="498"/>
|
||||
<source>Product ID changed</source>
|
||||
<extracomment>The name of the EventType ({b22052ef-14da-43d2-982b-f2c2d8c03206}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="501"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="504"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="507"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="510"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="513"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="516"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="519"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="522"/>
|
||||
<source>Reachable</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: connected, ID: {2f7e1267-b0be-4b78-9aa3-832b86c4efad})
|
||||
----------
|
||||
The name of the StateType ({2f7e1267-b0be-4b78-9aa3-832b86c4efad}) of ThingClass storage
|
||||
----------
|
||||
The name of the ParamType (ThingClass: meter, EventType: connected, ID: {b70b61a4-54cb-47ec-b62a-b498eb1f650e})
|
||||
----------
|
||||
The name of the StateType ({b70b61a4-54cb-47ec-b62a-b498eb1f650e}) of ThingClass meter
|
||||
----------
|
||||
The name of the ParamType (ThingClass: inverter, EventType: connected, ID: {eda29c50-73ac-40e0-9c92-26fee352e688})
|
||||
----------
|
||||
The name of the StateType ({eda29c50-73ac-40e0-9c92-26fee352e688}) of ThingClass inverter
|
||||
----------
|
||||
The name of the ParamType (ThingClass: datalogger, EventType: connected, ID: {98e4476f-e745-4a7f-b795-19269cb70c40})
|
||||
----------
|
||||
The name of the StateType ({98e4476f-e745-4a7f-b795-19269cb70c40}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="525"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="528"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="531"/>
|
||||
<source>Reachable changed</source>
|
||||
<extracomment>The name of the EventType ({2f7e1267-b0be-4b78-9aa3-832b86c4efad}) of ThingClass storage
|
||||
----------
|
||||
The name of the EventType ({b70b61a4-54cb-47ec-b62a-b498eb1f650e}) of ThingClass meter
|
||||
----------
|
||||
The name of the EventType ({eda29c50-73ac-40e0-9c92-26fee352e688}) of ThingClass inverter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="534"/>
|
||||
<source>Search new devices</source>
|
||||
<extracomment>The name of the ActionType ({c217fdc1-de18-41dc-b5d8-8072f84e7b6c}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="537"/>
|
||||
<source>Set charging rate</source>
|
||||
<extracomment>The name of the ActionType ({7f469bbc-64a5-4045-8d5f-9a1a85039851}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="540"/>
|
||||
<source>Set discharging rate</source>
|
||||
<extracomment>The name of the ActionType ({6068f030-acce-44a2-b95f-bd00dd5ca760}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="546"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="549"/>
|
||||
<source>Software version</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: swversion, ID: {31743ca5-4353-4f26-b2ad-5da43e5b9d86})
|
||||
----------
|
||||
The name of the StateType ({31743ca5-4353-4f26-b2ad-5da43e5b9d86}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="552"/>
|
||||
<source>Software version changed</source>
|
||||
<extracomment>The name of the EventType ({31743ca5-4353-4f26-b2ad-5da43e5b9d86}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="555"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="558"/>
|
||||
<source>State</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: sunspecStorage, EventType: storageState, ID: {da2b19c5-0f48-49d1-93f0-abdc0051407d})
|
||||
----------
|
||||
The name of the StateType ({da2b19c5-0f48-49d1-93f0-abdc0051407d}) of ThingClass sunspecStorage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="564"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="567"/>
|
||||
<source>State of charge</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: storage, EventType: charging, ID: {2de34a1f-de2e-43ad-8998-8a5460dff9ae})
|
||||
----------
|
||||
The name of the StateType ({2de34a1f-de2e-43ad-8998-8a5460dff9ae}) of ThingClass storage</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="570"/>
|
||||
<source>SunSpec Storage</source>
|
||||
<extracomment>The name of the ThingClass ({e14d622f-5d8f-4788-b189-0774a6382a9b})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="573"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="576"/>
|
||||
<source>Time zone</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: tzone, ID: {6bdfeeda-7a47-4043-a011-5eb96308a7d6})
|
||||
----------
|
||||
The name of the StateType ({6bdfeeda-7a47-4043-a011-5eb96308a7d6}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="579"/>
|
||||
<source>Time zone changed</source>
|
||||
<extracomment>The name of the EventType ({6bdfeeda-7a47-4043-a011-5eb96308a7d6}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="582"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="585"/>
|
||||
<source>Timezone location</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: datalogger, EventType: tzoneloc, ID: {d034f59d-dc34-450a-a6f3-68264767a3e4})
|
||||
----------
|
||||
The name of the StateType ({d034f59d-dc34-450a-a6f3-68264767a3e4}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="588"/>
|
||||
<source>Timezone location changed</source>
|
||||
<extracomment>The name of the EventType ({d034f59d-dc34-450a-a6f3-68264767a3e4}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="591"/>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="594"/>
|
||||
<source>Total current power</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: meter, EventType: currentPower, ID: {e5056ea1-88a2-410b-9c5e-6322aca4cb17})
|
||||
----------
|
||||
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-modbus-Desktop-Debug/fronius/plugininfo.h" line="597"/>
|
||||
<source>Total current power changed</source>
|
||||
<extracomment>The name of the EventType ({e5056ea1-88a2-410b-9c5e-6322aca4cb17}) of ThingClass meter</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/fronius/plugininfo.h" line="609"/>
|
||||
<source>logger reachable changed</source>
|
||||
<extracomment>The name of the EventType ({98e4476f-e745-4a7f-b795-19269cb70c40}) of ThingClass datalogger</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@ -19,6 +19,7 @@ PLUGIN_DIRS = \
|
||||
elgato \
|
||||
eq-3 \
|
||||
flowercare \
|
||||
fronius \
|
||||
genericelements \
|
||||
genericthings \
|
||||
gpio \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user