Skip to content
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

No data with Neo Gateway #437

Open
Nordictrack opened this issue Feb 25, 2024 · 27 comments
Open

No data with Neo Gateway #437

Nordictrack opened this issue Feb 25, 2024 · 27 comments
Labels
bug Something isn't working troubleshooting Help setup or fix an installation

Comments

@Nordictrack
Copy link

Problem Description
No data in any dashboard. All null. No data in db.

System Details
Describe the host system you are trying to use for the Dashboard:

  • SolarCity Neo Gateway
  • VMWare 8.0, Ubuntu 22.04.4 LTS

Verify Tool Output

Checking pypowerwall

  • Config File pypowerwall.env: GOOD
  • Container (pypowerwall): GOOD
  • Service (port 8675): GOOD
  • Version: 0.7.7 Proxy t40
  • Powerwall State: CONNECTED - Firmware Version:
  • Cloud Mode: YES - Site ID: 2640038 (Vault 21)

Checking telegraf

  • Config File telegraf.conf: GOOD
  • Local Config File telegraf.local: GOOD
  • Container (telegraf): GOOD
  • Version: Telegraf 1.28.2 (git: HEAD@8d9cf395)

(Note, I have a separate grafana instance and don't use the other containers, all data is feeding properly to my central influxdb)

I also keep seeing this in the pypowerwall container logs

2024-02-25T19:08:25.097889627Z 02/25/2024 11:08:25 AM [pypowerwall.cloud] [ERROR] Failed to retrieve ENERGY_SITE_BACKUP_TIME_REMAINING - HTTPError('400 Client Error: https://powergate.prd.sn.tesla.services:443/api/v4/energy_site/backup_time_remaining => {:Message=>"Error getting backup time remaining", :Status=>400} for url: https://owner-api.teslamotors.com/api/1/energy_sites/2640038/backup_time_remaining?language=en')

Telegraf shows no errors and pypowerwall shows this:
pypowerwall | 0.7.7 Proxy t40
gets | 782
errors | 0
timeout | 2
ts | 1708888639
start | 1708888087
clear | 1708888087
uptime | 0:09:12
mem | 35356
site_name | Vault 21
cloudmode | True
siteid | 2640038
counter | 63
authmode | cookie
URI: /aggregates | 112
URI: /soe | 110
URI: /temps/pw | 110
URI: /freq | 110
URI: /strings | 110
URI: /alerts/pw | 110
URI: /pod | 110
URI: /stats | 6

I know the neo sends data because my Tidbyt shows the same data as the tesla app ( at this time: 4kW gen, 2.9kW to home, 1.1kW back to the grid)

Can't think of where I didn't configure something as it's working, just not getting anything.

@Nordictrack Nordictrack added the troubleshooting Help setup or fix an installation label Feb 25, 2024
@jasonacox
Copy link
Owner

First let's make sure pypowerwall is getting data from the cloud:

Go to http://localhost:8675/example.html (change localhost to the address of your dashboard, as you did to get stats above) - it should load the power flow animation with power data, etc.

Powerwall State: CONNECTED - Firmware Version:

It is odd that the Firmware version is missing. As with the error message you posted, it seems you can get some of the APIs but not all of them? Try these different URI's on pypowerwall directly to see which load, like:

http://localhost:8675/aggregates

and these others as you saw ins tats:

URI: /soe | 110
URI: /temps/pw | 110
URI: /freq | 110
URI: /strings | 110
URI: /alerts/pw | 110
URI: /pod | 110
URI: /stats | 6

@Nordictrack
Copy link
Author

Nordictrack commented Feb 25, 2024

Example.html

image

SOE:

{ "percentage": 5 }

TEMPS:
Blank

Freq:
{ "grid_status": 0 }

Strings:
Blank

Alerts/pw
{ "UnscheduledIslandContactorOpen": 1 }

Pod
{ "backup_reserve_percent": 0, "nominal_full_pack_energy": null, "nominal_energy_remaining": null, "time_remaining_hours": null }

Stats
{ "pypowerwall": "0.7.7 Proxy t40", "gets": 18198, "errors": 0, "timeout": 42, "uri": { "/aggregates": 2598, "/soe": 2596, "/temps/pw": 2596, "/freq": 2596, "/strings": 2597, "/alerts/pw": 2596, "/pod": 2597, "/stats": 7, "/help": 1 }, "ts": 1708901064, "start": 1708888087, "clear": 1708888087, "uptime": "3:36:17", "mem": 35452, "site_name": "Vault 21", "cloudmode": true, "siteid": 2640038, "counter": 58, "authmode": "cookie" }

Edit:

Adding /vitals output:

{
"STSTSM--None--None": {
"partNumber": null,
"serialNumber": null,
"manufacturer": "Simulated",
"firmwareVersion": null,
"lastCommunicationTime": 1708901573,
"teslaEnergyEcuAttributes": {
"ecuType": 207
},
"STSTSM-Location": "Simulated",
"alerts": [
"UnscheduledIslandContactorOpen"
]
}
}

@jasonacox
Copy link
Owner

Ok, I'm sorry, it took me a while to clue in that you do not have a Powerwall. This is a Solar only system, correct? The data shown is correct for that since those APIs are about Powerwall metrics.

Can you please test http://localhost:8675/aggregates and http://localhost:8675/csv ?

The "broken" image for the powerflow animation will show up if a browser refuses to render an IFrame. You should see the animation outside an iFrame using http://localhost:8675/ by itself.

@Nordictrack
Copy link
Author

Nordictrack commented Feb 25, 2024

Solar Only, correct:

{
"site": {
"last_communication_time": "2024-02-25T14:57:52-08:00",
"instant_power": 560,
"instant_reactive_power": 0,
"instant_apparent_power": 0,
"frequency": 0,
"energy_exported": 0,
"energy_imported": 0,
"instant_average_voltage": 0,
"instant_average_current": 0,
"i_a_current": 0,
"i_b_current": 0,
"i_c_current": 0,
"last_phase_voltage_communication_time": "0001-01-01T00:00:00Z",
"last_phase_power_communication_time": "0001-01-01T00:00:00Z",
"last_phase_energy_communication_time": "0001-01-01T00:00:00Z",
"timeout": 1500000000,
"num_meters_aggregated": 1,
"instant_total_current": null
},
"battery": {
"last_communication_time": "2024-02-25T14:57:52-08:00",
"instant_power": null,
"instant_reactive_power": 0,
"instant_apparent_power": 0,
"frequency": 0,
"energy_exported": 0,
"energy_imported": 0,
"instant_average_voltage": 0,
"instant_average_current": 0,
"i_a_current": 0,
"i_b_current": 0,
"i_c_current": 0,
"last_phase_voltage_communication_time": "0001-01-01T00:00:00Z",
"last_phase_power_communication_time": "0001-01-01T00:00:00Z",
"last_phase_energy_communication_time": "0001-01-01T00:00:00Z",
"timeout": 1500000000,
"num_meters_aggregated": null,
"instant_total_current": 0
},
"load": {
"last_communication_time": "2024-02-25T14:57:52-08:00",
"instant_power": 3040,
"instant_reactive_power": 0,
"instant_apparent_power": 0,
"frequency": 0,
"energy_exported": 0,
"energy_imported": 0,
"instant_average_voltage": 0,
"instant_average_current": 0,
"i_a_current": 0,
"i_b_current": 0,
"i_c_current": 0,
"last_phase_voltage_communication_time": "0001-01-01T00:00:00Z",
"last_phase_power_communication_time": "0001-01-01T00:00:00Z",
"last_phase_energy_communication_time": "0001-01-01T00:00:00Z",
"timeout": 1500000000,
"instant_total_current": 0
},
"solar": {
"last_communication_time": "2024-02-25T14:57:52-08:00",
"instant_power": 2480,
"instant_reactive_power": 0,
"instant_apparent_power": 0,
"frequency": 0,
"energy_exported": 0,
"energy_imported": 0,
"instant_average_voltage": 0,
"instant_average_current": 0,
"i_a_current": 0,
"i_b_current": 0,
"i_c_current": 0,
"last_phase_voltage_communication_time": "0001-01-01T00:00:00Z",
"last_phase_power_communication_time": "0001-01-01T00:00:00Z",
"last_phase_energy_communication_time": "0001-01-01T00:00:00Z",
"timeout": 1000000000,
"num_meters_aggregated": 1,
"instant_total_current": 0
}
}

image

@jasonacox
Copy link
Owner

"site": {
"last_communication_time": "2024-02-25T14:57:52-08:00",
"instant_power": 560,

The good news is that you are getting power data! I assume http://10.1.200.19:8675/csv also works?

This could be a bug in the code where it is throwing an uncaught exception. The page not loading is puzzling. Can you run curl http://10.1.200.19:8675/ (assuming that is the host running pypowerwall)? I want to see if anything is coming back.

I could also use your help to find out what is blowing up inside of pypowerwall during those renders. Can you edit the pypowerwall.env file and turn on debug mode?

PW_DEBUG=yes

Then docker restart pypowerwall and docker logs pypowerwall -f and capture some of the log output for us to analyze.

Thanks for your help!

@Nordictrack
Copy link
Author

Nordictrack commented Feb 25, 2024

I missed the screenshot for csv, but nothing returns
Curl to 'http://10.1.200.19:8675/'

'curl: (52) Empty reply from server'

Debug when going to csv or root


Exception occurred during processing of request from ('10.1.100.9', 61562)
Traceback (most recent call last):
File "/usr/local/lib/python3.10/socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "/usr/local/lib/python3.10/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python3.10/socketserver.py", line 747, in init
self.handle()
File "/usr/local/lib/python3.10/http/server.py", line 433, in handle
self.handle_one_request()
File "/usr/local/lib/python3.10/http/server.py", line 421, in handle_one_request
method()
File "/app/server.py", line 438, in do_GET
fcontent = fcontent.replace("{VERSION}", status["version"])
TypeError: replace() argument 2 must be str, not None


Exception occurred during processing of request from ('10.1.100.9', 61563)
Traceback (most recent call last):
File "/usr/local/lib/python3.10/socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "/usr/local/lib/python3.10/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python3.10/socketserver.py", line 747, in init
self.handle()
File "/usr/local/lib/python3.10/http/server.py", line 433, in handle
self.handle_one_request()
File "/usr/local/lib/python3.10/http/server.py", line 421, in handle_one_request
method()
File "/app/server.py", line 438, in do_GET
fcontent = fcontent.replace("{VERSION}", status["version"])
TypeError: replace() argument 2 must be str, not None

02/25/2024 03:18:31 PM [pypowerwall.cloud] [ERROR] Failed to retrieve ENERGY_SITE_BACKUP_TIME_REMAINING - HTTPError('400 Client Error: https://powergate.prd.sn.tesla.services:443/api/v4/energy_site/backup_time_remaining => {:Message=>"Error getting backup time remaining", :Status=>400} for url: https://owner-api.teslamotors.com/api/1/energy_sites/2640038/backup_time_remaining?language=en')

Exception occurred during processing of request from ('10.1.100.9', 61571)
Traceback (most recent call last):
File "/usr/local/lib/python3.10/socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "/usr/local/lib/python3.10/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python3.10/socketserver.py", line 747, in init
self.handle()
File "/usr/local/lib/python3.10/http/server.py", line 433, in handle
self.handle_one_request()
File "/usr/local/lib/python3.10/http/server.py", line 421, in handle_one_request
method()
File "/app/server.py", line 438, in do_GET
fcontent = fcontent.replace("{VERSION}", status["version"])
TypeError: replace() argument 2 must be str, not None

02/25/2024 03:18:35 PM [pypowerwall.cloud] [ERROR] Failed to retrieve ENERGY_SITE_BACKUP_TIME_REMAINING - HTTPError('400 Client Error: https://powergate.prd.sn.tesla.services:443/api/v4/energy_site/backup_time_remaining => {:Message=>"Error getting backup time remaining", :Status=>400} for url: https://owner-api.teslamotors.com/api/1/energy_sites/2640038/backup_time_remaining?language=en')

Exception occurred during processing of request from ('10.1.100.9', 61575)
Traceback (most recent call last):
File "/usr/local/lib/python3.10/socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "/usr/local/lib/python3.10/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python3.10/socketserver.py", line 747, in init
self.handle()
File "/usr/local/lib/python3.10/http/server.py", line 433, in handle
self.handle_one_request()
File "/usr/local/lib/python3.10/http/server.py", line 421, in handle_one_request
method()
File "/app/server.py", line 208, in do_GET
message = "%0.2f,%0.2f,%0.2f,%0.2f,%0.2f\n"
TypeError: must be real number, not NoneType


Exception occurred during processing of request from ('10.1.100.9', 61578)
Traceback (most recent call last):
File "/usr/local/lib/python3.10/socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "/usr/local/lib/python3.10/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python3.10/socketserver.py", line 747, in init
self.handle()
File "/usr/local/lib/python3.10/http/server.py", line 433, in handle
self.handle_one_request()
File "/usr/local/lib/python3.10/http/server.py", line 421, in handle_one_request
method()
File "/app/server.py", line 208, in do_GET
message = "%0.2f,%0.2f,%0.2f,%0.2f,%0.2f\n"
TypeError: must be real number, not NoneType

02/25/2024 03:18:40 PM [pypowerwall.cloud] [ERROR] Failed to retrieve ENERGY_SITE_BACKUP_TIME_REMAINING - HTTPError('400 Client Error: https://powergate.prd.sn.tesla.services:443/api/v4/energy_site/backup_time_remaining => {:Message=>"Error getting backup time remaining", :Status=>400} for url: https://owner-api.teslamotors.com/api/1/energy_sites/2640038/backup_time_remaining?language=en')

@jasonacox jasonacox added the bug Something isn't working label Feb 25, 2024
@Nordictrack
Copy link
Author

Here is startup logs:

2024-02-25T23:39:44.341130532Z 02/25/2024 03:39:44 PM [proxy] [INFO] pyPowerwall Proxy Server - Cloud Mode
2024-02-25T23:39:44.341144185Z 02/25/2024 03:39:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/site_info/site_name
2024-02-25T23:39:44.462076044Z 02/25/2024 03:39:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Retrieved SITE_CONFIG data
2024-02-25T23:39:44.462267879Z 02/25/2024 03:39:44 PM [proxy] [INFO] Connected to Site ID 2640038 (Vault 21)
2024-02-25T23:39:45.005520802Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /alerts/pw HTTP/1.1" 200 -
2024-02-25T23:39:45.005634868Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-25T23:39:45.005786037Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.008962075Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /strings HTTP/1.1" 200 -
2024-02-25T23:39:45.009000960Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-25T23:39:45.009196077Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.011816770Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /temps/pw HTTP/1.1" 200 -
2024-02-25T23:39:45.012382447Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-25T23:39:45.012411465Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.013067545Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /soe HTTP/1.1" 200 -
2024-02-25T23:39:45.013158113Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/soe
2024-02-25T23:39:45.014555682Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /freq HTTP/1.1" 200 -
2024-02-25T23:39:45.014789842Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status
2024-02-25T23:39:45.016392529Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /pod HTTP/1.1" 200 -
2024-02-25T23:39:45.016412190Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status
2024-02-25T23:39:45.016984436Z 02/25/2024 03:39:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /aggregates HTTP/1.1" 200 -
2024-02-25T23:39:45.017305173Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/meters/aggregates
2024-02-25T23:39:45.017664297Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.177195811Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Retrieved SITE_DATA data
2024-02-25T23:39:45.210043042Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.212954106Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.216313774Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.216343117Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.216675340Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.216690848Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.217772644Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.351444989Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Retrieved SITE_SUMMARY data
2024-02-25T23:39:45.417368835Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-25T23:39:45.418025846Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-25T23:39:45.418332478Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-25T23:39:45.418748958Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-25T23:39:45.419243324Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.419459883Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.419494046Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.419709243Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.419939775Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/grid_status
2024-02-25T23:39:45.420296254Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/operation
2024-02-25T23:39:45.420659567Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-25T23:39:45.420977956Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-25T23:39:45.480051305Z 02/25/2024 03:39:45 PM [pypowerwall.cloud] [ERROR] Failed to retrieve ENERGY_SITE_BACKUP_TIME_REMAINING - HTTPError('400 Client Error: https://powergate.prd.sn.tesla.services:443/api/v4/energy_site/backup_time_remaining => {:Message=>"Error getting backup time remaining", :Status=>400} for url: https://owner-api.teslamotors.com/api/1/energy_sites/2640038/backup_time_remaining?language=en')

@jasonacox
Copy link
Owner

Ok, I see the bug in the code. Version is expected but we are getting none back for your installation. Additionally, the csv code is likely getting a null back for battery so I can catch that as well.

I can make the change. You mention you are running a custom setup. I'll upload a test pypowerwall container to try if you are willing.

@Nordictrack
Copy link
Author

Absolutely willing to assist.

@jasonacox
Copy link
Owner

jasonacox commented Feb 26, 2024

Ok, I have a test image that hopefully has the right fixes: jasonacox/pypowerwall:0.7.7t41

If you are using the powerwall.yml file (or simliar) with docker-compose, you can edit that file and change the image for pypowerwall to jasonacox/pypowerwall:0.7.7t41 and then run ./compose-dash.sh up -d or equivalent.

@Nordictrack
Copy link
Author

So far so good:
http://10.1.200.19:8675/example.html shows:
image
As does the root

CSV output:
2520.00,3000.00,480.00,0.00,5.00

Debug output:

2024-02-26T01:22:43.194570281Z 02/25/2024 05:22:43 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:44.211838380Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/sitemaster HTTP/1.1" 200 -
2024-02-26T01:22:44.211918410Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/sitemaster
2024-02-26T01:22:44.214535805Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/meters/aggregates HTTP/1.1" 200 -
2024-02-26T01:22:44.214575120Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/meters/aggregates
2024-02-26T01:22:44.214588036Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:44.214599035Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:44.215134053Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/soe HTTP/1.1" 200 -
2024-02-26T01:22:44.215441707Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/soe
2024-02-26T01:22:44.219823143Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/grid_status HTTP/1.1" 200 -
2024-02-26T01:22:44.221788054Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/powerwalls HTTP/1.1" 200 -
2024-02-26T01:22:44.222275770Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/grid_status
2024-02-26T01:22:44.222496484Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/powerwalls
2024-02-26T01:22:44.223256732Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:44.306983978Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/sitemaster HTTP/1.1" 200 -
2024-02-26T01:22:44.307135346Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/sitemaster
2024-02-26T01:22:44.308417533Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/meters/aggregates HTTP/1.1" 200 -
2024-02-26T01:22:44.308498410Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/meters/aggregates
2024-02-26T01:22:44.308516270Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:44.308519511Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:44.310877022Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/soe HTTP/1.1" 200 -
2024-02-26T01:22:44.310944314Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/soe
2024-02-26T01:22:44.311146770Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/grid_status HTTP/1.1" 200 -
2024-02-26T01:22:44.311452649Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/grid_status
2024-02-26T01:22:44.311520696Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:44.315074956Z 02/25/2024 05:22:44 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/powerwalls HTTP/1.1" 200 -
2024-02-26T01:22:44.315357761Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/powerwalls
2024-02-26T01:22:44.431536782Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Retrieved SITE_SUMMARY data
2024-02-26T01:22:44.511843969Z 02/25/2024 05:22:44 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-26T01:22:45.005465168Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /alerts/pw HTTP/1.1" 200 -
2024-02-26T01:22:45.005724828Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-26T01:22:45.006867134Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.006901680Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.007771608Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /temps/pw HTTP/1.1" 200 -
2024-02-26T01:22:45.008024360Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-26T01:22:45.008254351Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.008359936Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.009697458Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /soe HTTP/1.1" 200 -
2024-02-26T01:22:45.010423478Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/soe
2024-02-26T01:22:45.010459265Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-26T01:22:45.011969765Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /pod HTTP/1.1" 200 -
2024-02-26T01:22:45.012261248Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status
2024-02-26T01:22:45.014907817Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /strings HTTP/1.1" 200 -
2024-02-26T01:22:45.016052236Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /freq HTTP/1.1" 200 -
2024-02-26T01:22:45.016283380Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.016436586Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.016635865Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-26T01:22:45.016831569Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status
2024-02-26T01:22:45.017022667Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-26T01:22:45.017317574Z 02/25/2024 05:22:45 PM [proxy] [DEBUG] 172.18.0.4 "GET /aggregates HTTP/1.1" 200 -
2024-02-26T01:22:45.017619450Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.017829932Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.018044069Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-26T01:22:45.018468958Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.018493614Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.018847523Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.018869776Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-26T01:22:45.019053534Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.019302017Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /vitals
2024-02-26T01:22:45.019568574Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.019961293Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/meters/aggregates
2024-02-26T01:22:45.020147032Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.020343798Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:45.020519613Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/grid_status
2024-02-26T01:22:45.020707380Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:45.020943223Z 02/25/2024 05:22:45 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:46.485946654Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/auth/toggle/supported HTTP/1.1" 200 -
2024-02-26T01:22:46.486216864Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/auth/toggle/supported
2024-02-26T01:22:46.487633171Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/troubleshooting/problems HTTP/1.1" 200 -
2024-02-26T01:22:46.487819776Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/troubleshooting/problems
2024-02-26T01:22:46.725161236Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/sitemaster HTTP/1.1" 200 -
2024-02-26T01:22:46.725493894Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/sitemaster
2024-02-26T01:22:46.741839507Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/grid_status HTTP/1.1" 200 -
2024-02-26T01:22:46.744887555Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/meters/aggregates HTTP/1.1" 200 -
2024-02-26T01:22:46.745328909Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/grid_status
2024-02-26T01:22:46.747414888Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/soe HTTP/1.1" 200 -
2024-02-26T01:22:46.747735656Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/powerwalls HTTP/1.1" 200 -
2024-02-26T01:22:46.748729564Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/meters/aggregates
2024-02-26T01:22:46.749202647Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/soe
2024-02-26T01:22:46.749220036Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/powerwalls
2024-02-26T01:22:46.750115262Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:46.750340844Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-26T01:22:46.822647760Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/sitemaster HTTP/1.1" 200 -
2024-02-26T01:22:46.822958534Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/sitemaster
2024-02-26T01:22:46.824105192Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/meters/aggregates HTTP/1.1" 200 -
2024-02-26T01:22:46.824140131Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/meters/aggregates
2024-02-26T01:22:46.824153138Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_CONFIG data
2024-02-26T01:22:46.825868094Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/soe HTTP/1.1" 200 -
2024-02-26T01:22:46.826125288Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/soe
2024-02-26T01:22:46.826144580Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_SUMMARY data
2024-02-26T01:22:46.828090042Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/system_status/grid_status HTTP/1.1" 200 -
2024-02-26T01:22:46.828112571Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/system_status/grid_status
2024-02-26T01:22:46.828952512Z 02/25/2024 05:22:46 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/powerwalls HTTP/1.1" 200 -
2024-02-26T01:22:46.829083072Z 02/25/2024 05:22:46 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/powerwalls
2024-02-26T01:22:47.012442601Z 02/25/2024 05:22:47 PM [pypowerwall.cloud] [DEBUG] -- cloud: Retrieved SITE_DATA data
2024-02-26T01:22:47.024768471Z 02/25/2024 05:22:47 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:47.028377698Z 02/25/2024 05:22:47 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:47.151187036Z 02/25/2024 05:22:47 PM [pypowerwall.cloud] [DEBUG] -- cloud: Returning cached SITE_DATA data
2024-02-26T01:22:48.145728274Z 02/25/2024 05:22:48 PM [proxy] [DEBUG] 10.1.100.9 "GET /api/troubleshooting/problems HTTP/1.1" 200 -
2024-02-26T01:22:48.145769293Z 02/25/2024 05:22:48 PM [pypowerwall.cloud] [DEBUG] -- cloud: Request for /api/troubleshooting/problems

Waiting on dashboard data to populate

@jasonacox
Copy link
Owner

That's great news! You can turn off the DEBUG mode so you don't fill your disk with those. :)

When you see some data, can you paste a screenshot? Would love to see your custom dashboard if you don't mind sharing.

I'm going to queue up a release since you are probably not alone. Thanks for helping find this bug!

@jasonacox
Copy link
Owner

Waiting on dashboard data to populate

How is looking? Is telegraf transferring the data?

@Nordictrack
Copy link
Author

Upon checking, it looks like the following is populating:

IMG_2319

I'm sure I'm reading a metric wrong. When I'm back in front of my PC, I'll output the tables telegraf made. But the data is coming in.

@Nordictrack
Copy link
Author

Nordictrack commented Feb 26, 2024

Happy to report no issues. Here's a sample (from an overview dash I'm making)
image

Here's the field key's populating as well:

fieldKey fieldType


battery_energy_exported float
battery_energy_imported float
battery_frequency float
battery_i_a_current float
battery_i_b_current float
battery_i_c_current float
battery_instant_apparent_power float
battery_instant_average_current float
battery_instant_average_voltage float
battery_instant_reactive_power float
battery_instant_total_current float
battery_timeout float
grid_status float
load_energy_exported float
load_energy_imported float
load_frequency float
load_i_a_current float
load_i_b_current float
load_i_c_current float
load_instant_apparent_power float
load_instant_average_current float
load_instant_average_voltage float
load_instant_power float
load_instant_reactive_power float
load_instant_total_current float
load_timeout float
percentage float
site_energy_exported float
site_energy_imported float
site_frequency float
site_i_a_current float
site_i_b_current float
site_i_c_current float
site_instant_apparent_power float
site_instant_average_current float
site_instant_average_voltage float
site_instant_power float
site_instant_reactive_power float
site_num_meters_aggregated float
site_timeout float
solar_energy_exported float
solar_energy_imported float
solar_frequency float
solar_i_a_current float
solar_i_b_current float
solar_i_c_current float
solar_instant_apparent_power float
solar_instant_average_current float
solar_instant_average_voltage float
solar_instant_power float
solar_instant_reactive_power float
solar_instant_total_current float
solar_num_meters_aggregated float
solar_timeout float

@jasonacox
Copy link
Owner

That's great news @Nordictrack ! Thanks for confirming and nice dashboard!!

If you don't mind helping, you may not want to add the power flow animation to your dashboard (you could if you wanted) but could you check it as well? URL http://10.1.200.19:8675/example.html ? The one you posted earlier showed "grid offline" and numbers that didn't add up. I would like to confirm if we still have an issue with some of the data we are creating for the animation.

image

Thanks for your help!

@Nordictrack
Copy link
Author

Nordictrack commented Feb 27, 2024

I did notice yesterday that the grid shows no data on that, but the site_instant_power data does have the correct number when I compare it to the Tesla & Tidbyt app. Right now, it's showing this when it should be pulling from the grid:

image

IMG_2339

edit: changed load_instant_power to site_instant_power

image

@jasonacox
Copy link
Owner

Thanks @Nordictrack ! This is helpful. I believe I have the wrong mapping on the grid status for Solar only systems.

Can you provide the results of these calls? Replace localhost with the host running pypowerwall:

http://localhost:8675/api/site_info
http://localhost:8675/api/sitemaster
http://localhost:8675/api/system_status/soe
http://localhost:8675/api/system_status/grid_status
http://localhost:8675/api/powerwalls
http://localhost:8675/api/troubleshooting/problems

I'm also going to see if I can either remove the Powerwall icon in the power flow animation, or at least remove the kW and % values.

@Nordictrack
Copy link
Author

Nordictrack commented Feb 28, 2024

Site Info

{
    "max_system_energy_kWh": 0,
    "max_system_power_kW": 0,
    "site_name": "Vault 21",
    "timezone": null,
    "max_site_meter_power_kW": null,
    "min_site_meter_power_kW": null,
    "nominal_system_energy_kWh": 0,
    "nominal_system_power_kW": 0,
    "panel_max_current": null,
    "grid_code": {
        "grid_code": null,
        "grid_voltage_setting": null,
        "grid_freq_setting": null,
        "grid_phase_setting": null,
        "country": null,
        "state": null,
        "utility": "NV Energy"
    }
}

Sitemaster

{
    "status": "StatusUp",
    "running": true,
    "connected_to_tesla": true,
    "power_supply_mode": false,
    "can_reboot": "Yes"
}

system_status/soe

{
    "percentage": 0
}

system_status/grid_status

{
    "grid_status": "SystemIslandedActive",
    "grid_services_active": false
}

powerwalls

{
    "enumerating": false,
    "updating": false,
    "checking_if_offgrid": false,
    "running_phase_detection": false,
    "phase_detection_last_error": "no phase information",
    "bubble_shedding": false,
    "on_grid_check_error": "on grid check not run",
    "grid_qualifying": false,
    "grid_code_validating": false,
    "phase_detection_not_available": true,
    "powerwalls": [
        {
            "Type": "",
            "PackagePartNumber": "2012170-25-E",
            "PackageSerialNumber": "TG1234567890G1",
            "type": "SolarPowerwall",
            "grid_state": "Grid_Uncompliant",
            "grid_reconnection_time_seconds": 0,
            "under_phase_detection": false,
            "updating": false,
            "commissioning_diagnostic": {
                "name": "Commissioning",
                "category": "InternalComms",
                "disruptive": false,
                "inputs": null,
                "checks": [
                    {
                        "name": "CAN connectivity",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.3068631-08:00",
                        "end_time": "2023-12-16T08:34:17.3068696-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    },
                    {
                        "name": "Enable switch",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.306875474-08:00",
                        "end_time": "2023-12-16T08:34:17.306880724-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    },
                    {
                        "name": "Internal communications",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.306886099-08:00",
                        "end_time": "2023-12-16T08:34:17.306891223-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    },
                    {
                        "name": "Firmware up-to-date",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.306896598-08:00",
                        "end_time": "2023-12-16T08:34:17.306901723-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    }
                ],
                "alert": false
            },
            "update_diagnostic": {
                "name": "Firmware Update",
                "category": "InternalComms",
                "disruptive": true,
                "inputs": null,
                "checks": [
                    {
                        "name": "Solar Inverter firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Solar Safety firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Grid code",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Powerwall firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Battery firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Inverter firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Grid code",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    }
                ],
                "alert": false
            },
            "bc_type": null,
            "in_config": true
        },
        {
            "Type": "",
            "PackagePartNumber": "3012170-05-B",
            "PackageSerialNumber": "TG1234567890G1",
            "type": "ACPW",
            "grid_state": "Grid_Uncompliant",
            "grid_reconnection_time_seconds": 0,
            "under_phase_detection": false,
            "updating": false,
            "commissioning_diagnostic": {
                "name": "Commissioning",
                "category": "InternalComms",
                "disruptive": false,
                "inputs": null,
                "checks": [
                    {
                        "name": "CAN connectivity",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.320856307-08:00",
                        "end_time": "2023-12-16T08:34:17.320940302-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    },
                    {
                        "name": "Enable switch",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.320949301-08:00",
                        "end_time": "2023-12-16T08:34:17.320955301-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    },
                    {
                        "name": "Internal communications",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.320960676-08:00",
                        "end_time": "2023-12-16T08:34:17.320966176-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    },
                    {
                        "name": "Firmware up-to-date",
                        "status": "fail",
                        "start_time": "2023-12-16T08:34:17.32097155-08:00",
                        "end_time": "2023-12-16T08:34:17.3209768-08:00",
                        "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                        "results": {},
                        "debug": {},
                        "checks": null
                    }
                ],
                "alert": false
            },
            "update_diagnostic": {
                "name": "Firmware Update",
                "category": "InternalComms",
                "disruptive": true,
                "inputs": null,
                "checks": [
                    {
                        "name": "Powerwall firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Battery firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Inverter firmware",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    },
                    {
                        "name": "Grid code",
                        "status": "not_run",
                        "start_time": null,
                        "end_time": null,
                        "progress": 0,
                        "results": null,
                        "debug": null,
                        "checks": null
                    }
                ],
                "alert": false
            },
            "bc_type": null,
            "in_config": true
        }
    ],
    "gateway_din": "1232100-00-E--TG1234567890G1",
    "sync": {
        "updating": false,
        "commissioning_diagnostic": {
            "name": "Commissioning",
            "category": "InternalComms",
            "disruptive": false,
            "inputs": null,
            "checks": [
                {
                    "name": "CAN connectivity",
                    "status": "fail",
                    "start_time": "2023-12-16T08:34:17.321101293-08:00",
                    "end_time": "2023-12-16T08:34:17.321107918-08:00",
                    "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                    "results": {},
                    "debug": {},
                    "checks": null
                },
                {
                    "name": "Firmware up-to-date",
                    "status": "fail",
                    "start_time": "2023-12-16T08:34:17.321113792-08:00",
                    "end_time": "2023-12-16T08:34:17.321118917-08:00",
                    "message": "Cannot perform this action with site controller running. From landing page, either \"STOP SYSTEM\" or \"RUN WIZARD\" to proceed.",
                    "results": {},
                    "debug": {},
                    "checks": null
                }
            ],
            "alert": false
        },
        "update_diagnostic": {
            "name": "Firmware Update",
            "category": "InternalComms",
            "disruptive": true,
            "inputs": null,
            "checks": [
                {
                    "name": "Synchronizer firmware",
                    "status": "not_run",
                    "start_time": null,
                    "end_time": null,
                    "progress": 0,
                    "results": null,
                    "debug": null,
                    "checks": null
                },
                {
                    "name": "Islanding configuration",
                    "status": "not_run",
                    "start_time": null,
                    "end_time": null,
                    "progress": 0,
                    "results": null,
                    "debug": null,
                    "checks": null
                },
                {
                    "name": "Grid code",
                    "status": "not_run",
                    "start_time": null,
                    "end_time": null,
                    "progress": 0,
                    "results": null,
                    "debug": null,
                    "checks": null
                }
            ],
            "alert": false
        }
    },
    "msa": null,
    "states": null
}

troubleshooting/problems

{
    "problems": []
}

@jasonacox
Copy link
Owner

Thanks! This is a bug - I'll work on a fix...

system_status/grid_status

{
    "grid_status": "SystemIslandedActive",
    "grid_services_active": false
}

@Nordictrack
Copy link
Author

If it's worth anything, this is a pre-tesla solarcity install (tesla installed it but gave me solar city gear) and those use a "power blaster" to sense grid usage.

@jasonacox
Copy link
Owner

Hi @Nordictrack - I made an update to better handles the grid status data for cloud-mode configurations. If you update, it would be interesting to see if the power flow animation now shows the grid data correctly.

If you are using the powerwall.yml file (or simliar) with docker-compose, you can edit that file and change the image for pypowerwall to jasonacox/pypowerwall:0.7.9t41 and then run ./compose-dash.sh up -d or equivalent.

@Nordictrack
Copy link
Author

Success on the Power flow!

image

image

@jasonacox
Copy link
Owner

That's great news!! Thanks for the help. I think we could create a PW_STYLE file to remove the Powerwall icon and data so you only have grid, solar and home as part of the animation if that sounds interesting.

Something like...

image

Also, nice looking dashboard! Thanks for sharing that.

@jasonacox
Copy link
Owner

Ok, I have another update. I created a solar.js file to update the animation for solar-only:

image

How to set it up:

  • Edit powerwall.yml file (or simliar) and change the image for pypowerwall to jasonacox/pypowerwall:0.7.9t42
  • Edit pypowerwall.env and edit the style line to be PW_STYLE=solar
  • Run ./compose-dash.sh up -d or equivalent.

@Nordictrack
Copy link
Author

Test was successful.

image

@jasonacox
Copy link
Owner

That's great! If you ever build a dashboard that includes that, I would love to see it. 😁

Thank for all your help. This means that any Tesla Solar-only customers can use our dashboards, including the power flow animation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working troubleshooting Help setup or fix an installation
Projects
None yet
Development

No branches or pull requests

2 participants