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