cleaned up a bit
This commit is contained in:
parent
9cf299c982
commit
483542fd16
@ -85,11 +85,11 @@ void FroniusMeter::updateThingInfo(const QByteArray &data)
|
||||
}
|
||||
|
||||
if (dataMap.contains("EnergyReal_WAC_Sum_Produced")) {
|
||||
pluginThing()->setStateValue(meterTotalEnergyProducedStateTypeId, dataMap.value("EnergyReal_WAC_Sum_Produced").toInt()/1000);
|
||||
pluginThing()->setStateValue(meterTotalEnergyProducedStateTypeId, dataMap.value("EnergyReal_WAC_Sum_Produced").toInt()/1000.00);
|
||||
}
|
||||
|
||||
if (dataMap.contains("EnergyReal_WAC_Sum_Consumed")) {
|
||||
pluginThing()->setStateValue(meterTotalEnergyConsumedStateTypeId, dataMap.value("EnergyReal_WAC_Sum_Consumed").toInt()/1000);
|
||||
pluginThing()->setStateValue(meterTotalEnergyConsumedStateTypeId, dataMap.value("EnergyReal_WAC_Sum_Consumed").toInt()/1000.00);
|
||||
}
|
||||
|
||||
//update successful
|
||||
@ -105,23 +105,3 @@ QUrl FroniusMeter::activityUrl()
|
||||
|
||||
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");
|
||||
//}
|
||||
}
|
||||
|
||||
@ -46,7 +46,6 @@ public:
|
||||
QUrl updateUrl();
|
||||
void updateThingInfo(const QByteArray &data);
|
||||
QUrl activityUrl();
|
||||
void updateActivityInfo(const QByteArray &data);
|
||||
|
||||
private:
|
||||
QString m_activity;
|
||||
|
||||
@ -352,19 +352,7 @@ void IntegrationPluginFronius::updateThingStates(Thing *thing)
|
||||
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);
|
||||
@ -493,6 +481,21 @@ void IntegrationPluginFronius::searchNewThings(FroniusLogger *logger)
|
||||
}
|
||||
}
|
||||
|
||||
QVariantMap ohmpilotMap = bodyMap.value("Data").toMap().value("Ohmpilot").toMap();
|
||||
foreach (QString ohmpilotId, ohmpilotMap.keys()) {
|
||||
qCDebug(dcFronius()) << "Unhandled device Ohmpilot" << ohmpilotId;
|
||||
}
|
||||
|
||||
QVariantMap sensorCardMap = bodyMap.value("Data").toMap().value("SensorCard").toMap();
|
||||
foreach (QString sensorCardId, sensorCardMap.keys()) {
|
||||
qCDebug(dcFronius()) << "Unhandled device SensorCard" << sensorCardId;
|
||||
}
|
||||
|
||||
QVariantMap stringControlMap = bodyMap.value("Data").toMap().value("StringControl").toMap();
|
||||
foreach (QString stringControlId, stringControlMap.keys()) {
|
||||
qCDebug(dcFronius()) << "Unhandled device StringControl" << stringControlId;
|
||||
}
|
||||
|
||||
if (!thingDescriptors.empty()) {
|
||||
emit autoThingsAppeared(thingDescriptors);
|
||||
thingDescriptors.clear();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user