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")) {
|
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")) {
|
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
|
//update successful
|
||||||
@ -105,23 +105,3 @@ QUrl FroniusMeter::activityUrl()
|
|||||||
|
|
||||||
return requestUrl;
|
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();
|
QUrl updateUrl();
|
||||||
void updateThingInfo(const QByteArray &data);
|
void updateThingInfo(const QByteArray &data);
|
||||||
QUrl activityUrl();
|
QUrl activityUrl();
|
||||||
void updateActivityInfo(const QByteArray &data);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_activity;
|
QString m_activity;
|
||||||
|
|||||||
@ -352,19 +352,7 @@ void IntegrationPluginFronius::updateThingStates(Thing *thing)
|
|||||||
m_froniusMeters.key(thing)->updateThingInfo(data);
|
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) {
|
} else if (thing->thingClassId() == storageThingClassId) {
|
||||||
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusStorages.key(thing)->updateUrl()));
|
QNetworkReply *reply = hardwareManager()->networkManager()->get(QNetworkRequest(m_froniusStorages.key(thing)->updateUrl()));
|
||||||
connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater);
|
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()) {
|
if (!thingDescriptors.empty()) {
|
||||||
emit autoThingsAppeared(thingDescriptors);
|
emit autoThingsAppeared(thingDescriptors);
|
||||||
thingDescriptors.clear();
|
thingDescriptors.clear();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user