From 1d2bd72cad82b7d277272c33fd89e1f7baba4d3d Mon Sep 17 00:00:00 2001 From: Boernsman Date: Wed, 24 Feb 2021 15:45:27 +0100 Subject: [PATCH] fixed auto device setup --- sma/integrationpluginsma.cpp | 3 +++ sma/sunnywebbox.cpp | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sma/integrationpluginsma.cpp b/sma/integrationpluginsma.cpp index 19688e45..1637431b 100644 --- a/sma/integrationpluginsma.cpp +++ b/sma/integrationpluginsma.cpp @@ -227,6 +227,9 @@ void IntegrationPluginSma::onDevicesReceived(const QString &messageId, QListid()); + ParamList params; + params << Param(inverterThingIdParamTypeId, device.key); + descriptor.setParams(params); descriptors.append(descriptor); } emit autoThingsAppeared(descriptors); diff --git a/sma/sunnywebbox.cpp b/sma/sunnywebbox.cpp index 250f9378..8323b8e0 100644 --- a/sma/sunnywebbox.cpp +++ b/sma/sunnywebbox.cpp @@ -132,16 +132,19 @@ void SunnyWebBox::parseMessage(const QString &messageId, const QString &messageT qCDebug(dcSma()) << "SunnyWebBox: GetPlantOverview"; Q_FOREACH(QVariant value, overviewList) { QVariantMap map = value.toMap(); + if (map["meta"].toString() == "GriPwr") { overview.power = map["value"].toString().toInt(); QString unit = map["unit"].toString(); qCDebug(dcSma()) << "SunnyWebBox: - Power" << overview.power << unit; } else if (map["meta"].toString() == "GriEgyTdy") { - overview.dailyYield = map["value"].toString().toInt(); - qCDebug(dcSma()) << "SunnyWebBox: - Daily yield" << overview.dailyYield; + overview.dailyYield = map["value"].toString().toDouble(); + QString unit = map["unit"].toString(); + qCDebug(dcSma()) << "SunnyWebBox: - Daily yield" << overview.dailyYield << unit; } else if (map["meta"].toString() == "GriEgyTot") { - overview.totalYield = map["value"].toString().toInt(); - qCDebug(dcSma()) << "SunnyWebBox: - Total yield" << overview.totalYield; + overview.totalYield = map["value"].toString().toDouble(); + QString unit = map["unit"].toString(); + qCDebug(dcSma()) << "SunnyWebBox: - Total yield" << overview.totalYield << unit; } else if (map["meta"].toString() == "OpStt") { overview.status = map["value"].toString(); qCDebug(dcSma()) << "SunnyWebBox: - Status" << overview.status;