Update charging state of energystorage
parent
94dbfaa660
commit
48aeac0c19
|
|
@ -86,7 +86,7 @@ void FroniusStorage::updateThingInfo(const QByteArray &data)
|
||||||
// copy retrieved information to thing states
|
// copy retrieved information to thing states
|
||||||
if (storageInfoMap.contains("StateOfCharge_Relative")) {
|
if (storageInfoMap.contains("StateOfCharge_Relative")) {
|
||||||
pluginThing()->setStateValue(storageBatteryLevelStateTypeId, storageInfoMap.value("StateOfCharge_Relative").toInt());
|
pluginThing()->setStateValue(storageBatteryLevelStateTypeId, storageInfoMap.value("StateOfCharge_Relative").toInt());
|
||||||
if (!pluginThing()->stateValue(storageChargingStateTypeId).toBool() && (storageInfoMap.value("StateOfCharge_Relative").toInt() < 5)) {
|
if (pluginThing()->stateValue(storageChargingStateStateTypeId).toString() == "charging" && (storageInfoMap.value("StateOfCharge_Relative").toInt() < 5)) {
|
||||||
pluginThing()->setStateValue(storageBatteryCriticalStateTypeId, true);
|
pluginThing()->setStateValue(storageBatteryCriticalStateTypeId, true);
|
||||||
} else {
|
} else {
|
||||||
pluginThing()->setStateValue(storageBatteryCriticalStateTypeId, false);
|
pluginThing()->setStateValue(storageBatteryCriticalStateTypeId, false);
|
||||||
|
|
@ -126,6 +126,11 @@ void FroniusStorage::updateActivityInfo(const QByteArray &data)
|
||||||
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
QVariantMap dataMap = jsonDoc.toVariant().toMap().value("Body").toMap().value("Data").toMap();
|
||||||
float charge_akku = dataMap.value("Site").toMap().value("P_Akku").toFloat();
|
float charge_akku = dataMap.value("Site").toMap().value("P_Akku").toFloat();
|
||||||
pluginThing()->setStateValue(storageCurrentPowerStateTypeId, charge_akku);
|
pluginThing()->setStateValue(storageCurrentPowerStateTypeId, charge_akku);
|
||||||
pluginThing()->setStateValue(storageDischargingStateTypeId, charge_akku < 0);
|
if (charge_akku < 0) {
|
||||||
pluginThing()->setStateValue(storageChargingStateTypeId, charge_akku > 0);
|
pluginThing()->setStateValue(storageChargingStateStateTypeId, "discharging");
|
||||||
|
} else if (charge_akku > 0) {
|
||||||
|
pluginThing()->setStateValue(storageChargingStateStateTypeId, "charging");
|
||||||
|
} else {
|
||||||
|
pluginThing()->setStateValue(storageChargingStateStateTypeId, "idle");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -384,7 +384,7 @@
|
||||||
"name": "storage",
|
"name": "storage",
|
||||||
"displayName": "Fronius solar storage",
|
"displayName": "Fronius solar storage",
|
||||||
"createMethods": ["auto"],
|
"createMethods": ["auto"],
|
||||||
"interfaces": [ "energystorage", "connectable" ],
|
"interfaces": [ "energystorage"],
|
||||||
"paramTypes": [
|
"paramTypes": [
|
||||||
{
|
{
|
||||||
"id": "49087f31-abf5-4bb8-946b-a3626ee80566",
|
"id": "49087f31-abf5-4bb8-946b-a3626ee80566",
|
||||||
|
|
@ -414,20 +414,13 @@
|
||||||
"cached": false
|
"cached": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "2de34a1f-de2e-43ad-8998-8a5460dff9ae",
|
"id": "7a045257-d829-4e58-a769-047b3aeec7c5",
|
||||||
"name": "charging",
|
"name": "chargingState",
|
||||||
"displayName": "Charging",
|
"displayName": "Charging state",
|
||||||
"displayNameEvent": "Charging changed",
|
"displayNameEvent": "Charging state changed",
|
||||||
"type": "bool",
|
"type": "QString",
|
||||||
"defaultValue": false
|
"possibleValues": ["idle", "charging", "discharging"],
|
||||||
},
|
"defaultValue": "idle"
|
||||||
{
|
|
||||||
"id": "be90d35c-081c-485b-b4cc-8271e7da5796",
|
|
||||||
"name": "discharging",
|
|
||||||
"displayName": "Discharging",
|
|
||||||
"displayNameEvent": "Discharging changed",
|
|
||||||
"type": "bool",
|
|
||||||
"defaultValue": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "5a89cd3f-3abf-4f51-ab2b-4039f1d211d9",
|
"id": "5a89cd3f-3abf-4f51-ab2b-4039f1d211d9",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue