Update charging state from sunspec storage
This commit is contained in:
parent
09924f251d
commit
bcb90ee6d1
@ -52,6 +52,7 @@ class IntegrationPluginSunSpec: public IntegrationPlugin
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit IntegrationPluginSunSpec();
|
explicit IntegrationPluginSunSpec();
|
||||||
|
|
||||||
void init() override;
|
void init() override;
|
||||||
void discoverThings(ThingDiscoveryInfo *info) override;
|
void discoverThings(ThingDiscoveryInfo *info) override;
|
||||||
void setupThing(ThingSetupInfo *info) override;
|
void setupThing(ThingSetupInfo *info) override;
|
||||||
|
|||||||
@ -1284,20 +1284,13 @@
|
|||||||
"defaultValue": "Off"
|
"defaultValue": "Off"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "9d191d9f-154e-4de5-81ee-5d7928d24fe2",
|
"id": "f6178427-8e04-45c7-abec-27d04dd5ff04",
|
||||||
"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": "466c2e36-f305-4e3f-9c05-496de7d1cf6d",
|
|
||||||
"name": "discharging",
|
|
||||||
"displayName": "Discharging",
|
|
||||||
"displayNameEvent": "Discharging changed",
|
|
||||||
"type": "bool",
|
|
||||||
"defaultValue": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "221a2ef6-0a92-4ff0-87fe-7bd920dbec0b",
|
"id": "221a2ef6-0a92-4ff0-87fe-7bd920dbec0b",
|
||||||
|
|||||||
@ -243,6 +243,8 @@ void SolarEdgeBattery::onBlockDataUpdated()
|
|||||||
m_thing->setStateValue(solarEdgeBatteryCapacityStateTypeId, m_batteryData.availableEnergy / 1000.0); // kWh
|
m_thing->setStateValue(solarEdgeBatteryCapacityStateTypeId, m_batteryData.availableEnergy / 1000.0); // kWh
|
||||||
m_thing->setStateValue(solarEdgeBatteryStateOfHealthStateTypeId, m_batteryData.stateOfHealth);
|
m_thing->setStateValue(solarEdgeBatteryStateOfHealthStateTypeId, m_batteryData.stateOfHealth);
|
||||||
m_thing->setStateValue(solarEdgeBatteryVersionStateTypeId, m_batteryData.firmwareVersion);
|
m_thing->setStateValue(solarEdgeBatteryVersionStateTypeId, m_batteryData.firmwareVersion);
|
||||||
|
|
||||||
|
emit instantaneousPowerChanged(m_batteryData.instantaneousPower);
|
||||||
}
|
}
|
||||||
|
|
||||||
QDebug operator<<(QDebug debug, const SolarEdgeBattery::BatteryData &batteryData)
|
QDebug operator<<(QDebug debug, const SolarEdgeBattery::BatteryData &batteryData)
|
||||||
|
|||||||
@ -121,6 +121,7 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void initFinished(bool success);
|
void initFinished(bool success);
|
||||||
|
void instantaneousPowerChanged(float instantaneousPower);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTimer m_timer;
|
QTimer m_timer;
|
||||||
|
|||||||
@ -138,38 +138,31 @@ void SunSpecStorage::onBlockDataUpdated()
|
|||||||
switch (storage->chaSt()) {
|
switch (storage->chaSt()) {
|
||||||
case SunSpecStorageModel::ChastOff:
|
case SunSpecStorageModel::ChastOff:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Off");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Off");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, false);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "idle");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, false);
|
|
||||||
break;
|
break;
|
||||||
case SunSpecStorageModel::ChastEmpty:
|
case SunSpecStorageModel::ChastEmpty:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Empty");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Empty");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, false);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "idle");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, false);
|
|
||||||
break;
|
break;
|
||||||
case SunSpecStorageModel::ChastDischarging:
|
case SunSpecStorageModel::ChastDischarging:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Discharging");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Discharging");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, false);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "discharging");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, true);
|
|
||||||
break;
|
break;
|
||||||
case SunSpecStorageModel::ChastCharging:
|
case SunSpecStorageModel::ChastCharging:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Charging");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Charging");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, true);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "charging");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, false);
|
|
||||||
break;
|
break;
|
||||||
case SunSpecStorageModel::ChastFull:
|
case SunSpecStorageModel::ChastFull:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Full");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Full");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, false);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "idle");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, false);
|
|
||||||
break;
|
break;
|
||||||
case SunSpecStorageModel::ChastHolding:
|
case SunSpecStorageModel::ChastHolding:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Holding");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Holding");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, false);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "idle");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, false);
|
|
||||||
break;
|
break;
|
||||||
case SunSpecStorageModel::ChastTesting:
|
case SunSpecStorageModel::ChastTesting:
|
||||||
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Testing");
|
m_thing->setStateValue(sunspecStorageBatteryLevelStateTypeId, "Testing");
|
||||||
m_thing->setStateValue(sunspecStorageChargingStateTypeId, false);
|
m_thing->setStateValue(sunspecStorageChargingStateStateTypeId, "idle");
|
||||||
m_thing->setStateValue(sunspecStorageDischargingStateTypeId, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user