WIP: Update to new energystorage interface
parent
7cd4c66c0f
commit
3e9d57f178
|
|
@ -1425,7 +1425,7 @@
|
|||
"displayName": "SolarEdge battery",
|
||||
"id": "7900471a-da3f-4f03-98be-3e3d9c841546",
|
||||
"createMethods": [ "Auto" ],
|
||||
"interfaces": ["battery", "connectable"],
|
||||
"interfaces": ["energystorage", "connectable"],
|
||||
"paramTypes": [
|
||||
{
|
||||
"id": "7413cce6-48c1-4924-89bc-915beed67b57",
|
||||
|
|
@ -1488,19 +1488,12 @@
|
|||
},
|
||||
{
|
||||
"id": "815b0826-c392-4249-a271-19e92ebe46e0",
|
||||
"name": "charging",
|
||||
"displayName": "Charging",
|
||||
"displayNameEvent": "Charging changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
},
|
||||
{
|
||||
"id": "3a0ee6f1-8a49-431d-9e6f-774cdfa8ae1a",
|
||||
"name": "discharging",
|
||||
"displayName": "Discharging",
|
||||
"displayNameEvent": "Discharging changed",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
"name": "chargingState",
|
||||
"displayName": "Charging state",
|
||||
"displayNameEvent": "Charging state changed",
|
||||
"type": "QString",
|
||||
"possibleValues": ["idle", "charging", "discharging"],
|
||||
"defaultValue": "idle"
|
||||
},
|
||||
{
|
||||
"id": "f6c6f548-8a12-4a62-a641-08bb003c55fa",
|
||||
|
|
@ -1540,7 +1533,7 @@
|
|||
},
|
||||
{
|
||||
"id": "caccf9fd-0f83-4dd5-ae48-a497f13d2a2e",
|
||||
"name": "instantaneousPower",
|
||||
"name": "currentPower",
|
||||
"displayName": "Instantaneous power",
|
||||
"displayNameEvent": "Instantaneous power changed",
|
||||
"type": "double",
|
||||
|
|
|
|||
|
|
@ -194,61 +194,51 @@ void SolarEdgeBattery::onBlockDataUpdated()
|
|||
if (!m_thing)
|
||||
return;
|
||||
|
||||
bool charging = false;
|
||||
bool discharging = false;
|
||||
QString chargingState = "idle";
|
||||
|
||||
switch (m_batteryData.batteryStatus) {
|
||||
case SolarEdgeBattery::Off:
|
||||
charging = false;
|
||||
discharging = false;
|
||||
chargingState = "idle";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Off");
|
||||
break;
|
||||
case SolarEdgeBattery::Standby:
|
||||
charging = false;
|
||||
discharging = false;
|
||||
chargingState = "idle";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Standby");
|
||||
break;
|
||||
case SolarEdgeBattery::Init:
|
||||
charging = false;
|
||||
discharging = false;
|
||||
chargingState = "idle";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Init");
|
||||
break;
|
||||
case SolarEdgeBattery::Charge:
|
||||
charging = true;
|
||||
discharging = false;
|
||||
chargingState = "charging";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Charging");
|
||||
break;
|
||||
case SolarEdgeBattery::Discharge:
|
||||
charging = false;
|
||||
discharging = true;
|
||||
chargingState = "discharging";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Discharging");
|
||||
break;
|
||||
case SolarEdgeBattery::Fault:
|
||||
charging = false;
|
||||
discharging = false;
|
||||
chargingState = "idle";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Fault");
|
||||
break;
|
||||
case SolarEdgeBattery::Holding:
|
||||
charging = false;
|
||||
discharging = false;
|
||||
chargingState = "idle";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Holding");
|
||||
break;
|
||||
case SolarEdgeBattery::Idle:
|
||||
charging = false;
|
||||
discharging = false;
|
||||
chargingState = "idle";
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryStatusStateTypeId, "Idle");
|
||||
break;
|
||||
}
|
||||
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryCriticalStateTypeId, (m_batteryData.stateOfEnergy < 5) && !charging);
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryCriticalStateTypeId, (m_batteryData.stateOfEnergy < 5) && chargingState != "charging");
|
||||
m_thing->setStateValue(solarEdgeBatteryBatteryLevelStateTypeId, m_batteryData.stateOfEnergy);
|
||||
m_thing->setStateValue(solarEdgeBatteryDischargingStateTypeId, discharging);
|
||||
m_thing->setStateValue(solarEdgeBatteryChargingStateTypeId, charging);
|
||||
m_thing->setStateValue(solarEdgeBatteryChargingStateStateTypeId, chargingState);
|
||||
m_thing->setStateValue(solarEdgeBatteryRatedEnergyStateTypeId, m_batteryData.ratedEnergy);
|
||||
m_thing->setStateValue(solarEdgeBatteryAverageTemperatureStateTypeId, m_batteryData.averageTemperature);
|
||||
m_thing->setStateValue(solarEdgeBatteryInstantaneousVoltageStateTypeId, m_batteryData.instantaneousVoltage);
|
||||
m_thing->setStateValue(solarEdgeBatteryInstantaneousCurrentStateTypeId, m_batteryData.instantaneousCurrent);
|
||||
m_thing->setStateValue(solarEdgeBatteryInstantaneousPowerStateTypeId, m_batteryData.instantaneousPower);
|
||||
m_thing->setStateValue(solarEdgeBatteryCurrentPowerStateTypeId, m_batteryData.instantaneousPower);
|
||||
m_thing->setStateValue(solarEdgeBatteryMaxEnergyStateTypeId, m_batteryData.maxEnergy);
|
||||
m_thing->setStateValue(solarEdgeBatteryAvailableEnergyStateTypeId, m_batteryData.availableEnergy);
|
||||
m_thing->setStateValue(solarEdgeBatteryStateOfHealthStateTypeId, m_batteryData.stateOfHealth);
|
||||
|
|
|
|||
Loading…
Reference in New Issue