Replies: 6 comments 21 replies
-
That should read: Voltage shows what appears to be the correct values for Home and Grid (244.5 volts more or less). |
Beta Was this translation helpful? Give feedback.
-
Ok, thanks. I am happy to do testing or provide additional info as needed.
…________________________________
From: Jason Cox ***@***.***>
Sent: Monday, May 26, 2025 10:24 AM
To: jasonacox/Powerwall-Dashboard ***@***.***>
Cc: heynorm ***@***.***>; Mention ***@***.***>
Subject: Re: [jasonacox/Powerwall-Dashboard] Dashboard System Vitals Section - Current Graph is always 0 (Discussion #629)
Right now, the logic in pypowerwall is ignoring the METER_Z values. This is a good discovery!
In looking at the logic I think there are several other problems. Even my PW2/+ system I see that the current values are wrong when using full TEDAPI model (it work in hybrid mode using legacy PW2 APIs). I'm going to do some research to see if I can get it better mapped.
Also, there are some systems where these Tesla meters are not used and they use Neurio data (see jasonacox/pypowerwall#157<jasonacox/pypowerwall#157> where @Nexarian<https://github.com/Nexarian> is adding logic to include those). In your case, METER_Z (Backup Switch) is reporting grid (site) values.
—
Reply to this email directly, view it on GitHub<#629 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/APUXY3F4WY5T373RGTLRQ2D3ANE55AVCNFSM6AAAAAB5UYFUXGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMRXGQ4DSNI>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
In case it helps, output against a PW3 plus one expansion pack, Tesla FW 25.10.4, PW-Dash v4.7.1.
|
Beta Was this translation helpful? Give feedback.
-
🤦 I think I figured it out. The PW3 has a separate payload for solar ... if you don't mind, please try: import pypowerwall
import math
PW_GW_PWD="xxxxxxx"
PW_HOST="192.168.91.1"
def lookup(data, keylist):
for key in keylist:
if isinstance(data, dict):
data = data.get(key)
else:
return None
return data
# Connect
pw = pypowerwall.Powerwall(PW_HOST, gw_pwd=PW_GW_PWD)
print(f"mode: {pw.mode} - tedapi: {pw.tedapi_mode}")
status = pw.tedapi.get_status()
# Get solar info
print("Solar Info:")
solar_power = pw.tedapi.current_power(location="solar")
if pw.tedapi.pw3:
# extract solar data from pw3_data
pw3_data = pw.tedapi.get_pw3_vitals()
v_solar_sum = 0
count_solar = 0
for p in pw3_data:
if p.startswith("PVAC--"):
v = pw3_data[p].get("PVAC_Vout")
if v:
v_solar_sum += v
count_solar += 1
vll_solar = v_solar_sum / count_solar if count_solar else 0
if vll_solar == 0:
vll_solar = None
i_solar = solar_power / vll_solar if vll_solar else None
yi1 = yi2 = yi3 = 0
else:
v_solar = lookup(status, ("esCan","bus","PVS")) or []
sum_vll_solar = 0
count_solar = 0
for p in lookup(status, ['esCan', 'bus', 'PVAC']) or {}:
if not p['packageSerialNumber']:
continue
sum_vll_solar += lookup(p, ['PVAC_Status', 'PVAC_Vout'])
count_solar += 1
vll_solar = sum_vll_solar / count_solar if count_solar else 0
if vll_solar == 0:
vll_solar = None
i_solar = solar_power / vll_solar if vll_solar else None
meter_y = lookup(status, ("esCan","bus","SYNC","METER_Y_AcMeasurements")) or {}
yi1 = meter_y.get("METER_Y_CTA_I", 0)
yi2 = meter_y.get("METER_Y_CTB_I", 0)
yi3 = meter_y.get("METER_Y_CTC_I", 0)
print(f"vll_solar: {vll_solar} V")
print(f"i_solar: {i_solar} A")
print(f"count_solar: {count_solar}")
print(f"solar_power: {solar_power} W")
print(f"i_a_current: {yi1} A")
print(f"i_b_current: {yi2} A")
print(f"i_c_current: {yi3} A")
print()
# uncomment if None
#print(f"v_solar: {v_solar}")
#print(f"pw3_data: {pw3_data}") |
Beta Was this translation helpful? Give feedback.
-
Running the above against PW3 with one expansion pack, Tesla FW 25.10.4, I uncommented just in case it helped:
Commented out failing line:
|
Beta Was this translation helpful? Give feedback.
-
Thank you for adding Voltage and Current to the vitals! Very nice add! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I noticed that on the Dashboard under System Vitals, the Current graph always shows 0 all the time. Voltage shows what appears to be the current value for Home and Grid (244.5 volts more or less). I have 2 PW3's and a Tesla Backup Switch. I can see the proper Current values in the Tesla One app. This behavior has existed since I installed the Dashboard, so it does not appear to be anything related to recent firmware changes. Here is the pyPowerwall vitals output if that is helpful:
Here is an image of the relavent section of the Dashboard:

I am unsure where to go to debug this, but willing to provide additional information or other tasks to help track this down.
Beta Was this translation helpful? Give feedback.
All reactions