-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PW3 Expansions: capacity panel not showing full capacity #576
Comments
Thanks for this @rawslaw ! Nice system! I love the picture as well as the detailed analysis. Also, good job on finding the solution for the total charge (via the nominal_ * data point). Anyone else installing expansions will find this useful! Based on your narrative, it seems like the expansion batteries do not provide individual metrics. Did you check these to see if they are exposed anywhere?
Now, I need to confess, I'm not sure what to do with this for the project (Dashboard or pypowerwall) to help. Do you have any suggestions? Besides getting the missing battery metrics, what would be useful for the Dashboard? |
Thanks for the tip @rawslaw. I was wondering how to depict the aggregate capacity for my Power Wall 3 + one expansion in the dashboard. @jason: I don't find the individual metrics anywhere.
|
I have three batteries. One PW3 and two expansion packs. I found a few references to 3 batteries but I don't know if this is coincidence. Perhaps you can verify with your single PW3 and one battery, @AG7GN ? on There are also three entries of {
"components": {
"baggr": [
{
"activeAlerts": [
{
"name": "BAGGR_a004_BatteryMatingEnded"
}
],
"signals": [
{
"boolValue": null,
"name": "BAGGR_State",
"textValue": "BAGGR_ACTIVE",
"timestamp": "2025-01-25T15:34:14-05:00",
"value": null
},
{
"boolValue": null,
"name": "BAGGR_OperationRequest",
"textValue": "BAGGR_NORMAL_OPERATION",
"timestamp": "2025-01-25T15:34:14-05:00",
"value": null
},
{
"boolValue": null,
"name": "BAGGR_NumBatteriesConnected",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 3
},
{
"boolValue": null,
"name": "BAGGR_NumBatteriesPresent",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 3
},
{
"boolValue": null,
"name": "BAGGR_NumBatteriesExpected",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 3
},
{
"boolValue": null,
"name": "BAGGR_LOG_BattConnectionStatus0",
"textValue": "CONNECTED",
"timestamp": "2025-01-25T15:34:15-05:00",
"value": null
},
{
"boolValue": null,
"name": "BAGGR_LOG_BattConnectionStatus1",
"textValue": "CONNECTED",
"timestamp": "2025-01-25T15:34:15-05:00",
"value": null
},
{
"boolValue": null,
"name": "BAGGR_LOG_BattConnectionStatus2",
"textValue": "CONNECTED",
"timestamp": "2025-01-25T15:34:15-05:00",
"value": null
},
{
"boolValue": null,
"name": "BAGGR_LOG_BattConnectionStatus3",
"textValue": "NOT_TARGETED_NOT_PRESENT",
"timestamp": "2025-01-25T15:34:15-05:00",
"value": null
}
]
}
],
"bms": [
{
"activeAlerts": [],
"signals": [
{
"boolValue": null,
"name": "BMS_nominalEnergyRemaining",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 12.91
},
{
"boolValue": null,
"name": "BMS_nominalFullPackEnergy",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 13.13
},
{
"boolValue": null,
"name": "BMS_appGitHash",
"textValue": null,
"timestamp": null,
"value": null
}
]
},
{
"activeAlerts": [
{
"name": "BMS_a023_SW_Assertion"
}
],
"signals": [
{
"boolValue": null,
"name": "BMS_nominalEnergyRemaining",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 9.07
},
{
"boolValue": null,
"name": "BMS_nominalFullPackEnergy",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 14.12
},
{
"boolValue": null,
"name": "BMS_appGitHash",
"textValue": null,
"timestamp": null,
"value": null
}
]
},
{
"activeAlerts": [],
"signals": [
{
"boolValue": null,
"name": "BMS_nominalEnergyRemaining",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 9.2
},
{
"boolValue": null,
"name": "BMS_nominalFullPackEnergy",
"textValue": null,
"timestamp": "2025-01-25T15:34:14-05:00",
"value": 14.12
},
{
"boolValue": null,
"name": "BMS_appGitHash",
"textValue": null,
"timestamp": null,
"value": null
}
]
}
]
}
} PostulateIf this information is legitimate, this could be surfaced to the dashboard for the charge of the individual batteries. Comparing the different values from {
"percentage": 78.6259541984733
} from "systemStatus": {
"nominalEnergyRemainingWh": 30900,
"nominalFullPackEnergyWh": 39300
} The values are close, but not the same and looking at them for a few minutes cannot see a clear conversion or error margin. I'm going to schedule a cron to pull the data periodically and see if any pattern pops. But I'm interested if anyone with PW3 / PW3 + Expansions can validate these entities on their system. @jasonacox I don't have an answer yet on how to surface this data because I want to know more and determine if these values can be trusted. To be continued. |
Brilliant @rawslaw ! Thank you. The system is designed to keep 5% hidden reserve and we have to compute that when we compute soe %. I'm wondering about this on "full pack": BMS_nominalFullPackEnergy * 0.95 = nominalFullPackEnergyWh But that's just one data sample from your notes. Let us know what you find out. |
My PW3 + 1 expansion shows 2 batteries as expected:
Energy status:
Summary:
.95 * Sums are close but not the same as the aggregate. |
possibly related to jasonacox/pypowerwall#131 and #569
I have a single PW3, but last week installed two PW3 expansion packs. Everything seems to be fine since the additions, except the capacity panel still shows a single PW capacity graph, not the full capacity of all three units.
Here's what they look like along side my existing PW3 before the covers. It really is just a PW3 without the inverter.
battery_blocks()
does see the expansion units:and the total capacity of the system
So I feel that
pypowerwall
is handling it correctly. I think the discrepancy lies in the PODs, as the expansion packs don't show up as additional PODs but do contribute to thenominalWH
entity.from
/pod
This was originally going to be an inquiry, but in writing up the issue I discovered that replacing the POD specific entities with non-POD entites gave me what I expected to see. However, the numbers don't quite make sense, as the POD's report is not a true one third of the overall as I would expect it to be. The TeslaOne app does not show any expansion-specific details related to charge or capacity, so it appears these present as virtual expansions of the single PW3. During calibration, the PW3 was fully discharged. Installer claimed this was to even out the batteries to be the same level. This doesn't seem to be the case. If PW1_POD reports 8,510w, I would expect the pack of three batteries to be 25,530w (8,510 x 3) when it is instead reporting 32,750w. These numbers make me think the makeup is closer to 13kw + 13kw + 8.510k. After installation, the system was online for a day with no sun, then participated in two VPP events, so perhaps it still has some calibrating to do. I don't necessarily need that granularity of the primary PW and the overall, but would be nice to report both entities since we have the data.
Before
using
PW1_POD_nom_energy_remaining
andPW1_POD_nom_full_pack_energy
After
using
nominal_energy_remaining
andnominal_full_pack_energy
edit: although I fixed my immediate inquiry, I opened the issue anyway as a first case for these expansion packs and how the application could better handle surfacing their existence on the backend.
Let me know if you need me to gather additional data.
Thank you!
The text was updated successfully, but these errors were encountered: