Code by Scott שאול בן ישוע
Commit 22ac32e5 authored by Vince Loschiavo's avatar Vince Loschiavo
Browse files

partial update for firmware version 1.40.2

parent cfad229f
Tesla Powerwall 2 - Local Gateway API documentation
======
_(Based on firmware version 1.15.0)_
This is a list of api URLs and some random thoughts I've been able to pull together from the interwebz and other functions we've been able to reverse engineer from the local gateway. (This is not the [ Tesla Owner API](https://timdorr.docs.apiary.io/#)).
_(This documentation is currently in flux: portions are updated and portions aren't updated. Use at your own risk)_
_(I am in process of updating this documentation to work with firmware version 1.40.2)_
_(Please be paitent as I have an unrelated day job! Please help me update this: Pull requests are welcome! :) )_
This is a list of api URLs and some random thoughts I've been able to pull together from the interwebz and other functions we've been able to reverse engineer from the local gateway. (This is not the [ Tesla Owner API] which you can find here: (https://timdorr.docs.apiary.io/#)).
A note about HTTPS and SSL Certificates
---
In a recent update to the Powerwall firmware non-SSL requests (http) are no longer supported and queries will return HTTP/1.1 301 Moved Permanently. Unfortunately the certificate presented by the Powerwall is not signed by a root certificate authority as they are self-signed meaning that web browsers and tools like curl will not accept it without it either being included as a trusted certificate on the computer making the request or a specific action by the user to override the error.
In a recent update to the Powerwall firmware (v1.20+) non-SSL requests (http) are no longer supported and queries will return HTTP/1.1 301 Moved Permanently. Unfortunately the certificate presented by the Powerwall is not signed by a root certificate authority as they are self-signed. This results in web browsers and tools like curl not accept it without it either being included as a trusted certificate or a specific action by the user to override the error.
A) In web browser this will manifest itself as an error that the certificate is not trusted. To bypass simply click "details" (IE/Edge) or "Advanced..." (Firefox) and select continue.
B) With curl the `--insecure` or `-k` option will ignore SSL certificate errors.
C) Export the Powerwall public certificate and add it to the local machine's trusted certificate list.
I recommend option 3 above. Here's what worked for me:
Step 1: DNS
Enable DNS on your local network for one of the following DNS names in the certificate under the "Certificate Subject Alt Name". On my gateway the names are:
teg
powerwall
powerpack
You can add this to your local DNS server or /etc/hosts file or other DNS name resolution service.
For /etc/hosts add an entry that lools like this if your powerwall gateway's IP was 192.168.99.99:
192.168.99.99 powerwall
Step 2: Get the certificate
echo quit | openssl s_client -showcerts -servername powerwall -connect powerwall:443 > cacert.pem
This grabs the certificate from the powerwall using the DNS entry you setup in step1.
Step 3: use the certificate in your curl statements
e.g. curl --cacert cacert.pem https://powerwall/api/meters/aggregates
If you get this error: curl: (51) SSL: no alternative certificate subject name matches target host name
Then the name you chose (teg or powerwall or powerpack) doesn't match what's in the certificate file and you'll need to do some googling to figure out the solution.
For the rest of the documentation, I will assume you copied the certificate and are using method C with the Powerwall's public certificate.
1) In web browser this will manifest itself as an error that the certificate is not trusted. To bypass simply click "details" (IE/Edge) or "Advanced..." (Firefox) and select continue.
2) With curl the `--insecure` or `-k` option will ignore SSL certificate errors.
3) Export the Powerwall public certificate and add it to the local machine's trusted certificate list.
Powerwall 2 Web UI
---
The web UI provides ~~an instantaneous~~ a 250-500ms average(?) power flow diagram an access to the wizard.
Hit your local gateway IP with a browser, i.e. _https://192.168.xxx.xxx/
Hit your local gateway IP with a browser, i.e. _https://powerwall/
You should see something like this:
......@@ -23,13 +52,18 @@ You should see something like this:
---
**Wizard**
You can hit the _"Run Wizard"_ button here and go through the setup (be careful what you change in the wizard).
You can hit the _"Login"_ link on this page and go through the setup (be careful what you change in the wizard).
`username: <leave this blank as it's ignored (and/or logged)>`
`password: S + <gateway serial number>`
You can find the serial number of the gateway ( the linux server that switches power) on the inside of the metal access door to the gateway. Don't unscrew anything as the box is switching high voltage & current behind the screwed pannels. See image:
_(Question for the reader: Does this still work?)_
You can find the serial number of the gateway ( the linux server that switches power) in two places:
1) In the Tesla Mobile app [see screenshot](https://github.com/vloschiavo/powerwall2/raw/master/img/AppSerialNumber.png), just click the "Reveal Serial number link". This is already in the the S + SerialNumber format.
2) on the inside of the metal access door to the gateway. Don't unscrew anything as the box is switching high voltage & current behind the screwed pannels. See image:
![Gateway Location](https://github.com/vloschiavo/powerwall2/raw/master/img/equipment.jpg "Gateway location")
......@@ -39,11 +73,11 @@ ___
### Information
**Meters / Power output stats**
Calling the below URLs does not require authentication. Each will return JSON output with key-value pairs.
Calling the below URLs does not require authentication. Each will return JSON output with key-value pairs. Specify the cacert.pem you grabbed earlier using the Certificate Subject Alt Name.
_GET /api/meters/aggregates_
request: `curl https://192.168.xxx.xxx/api/meters/aggregates`
request: `curl --cacert cacert.pem https://powerwall/api/meters/aggregates`
response: [see sample response here](https://raw.githubusercontent.com/vloschiavo/powerwall2/master/samples/api_meters_aggregates.json
)
......@@ -71,7 +105,7 @@ _GET /api/meters/site_
Detailed information about the site specific meter.
request: `curl https://192.168.xxx.xxx/api/meters/site`
request: `curl --cacert cacert.pem https://powerwall/api/meters/site`
response: [see sample response here](samples/api-meters-site.json)
......@@ -79,7 +113,7 @@ _GET /api/meters/solar_
Detailed information about the solar specific meter.
request: `curl https://192.168.xxx.xxx/api/meters/solar`
request: `curl --cacert cacert.pem https://powerwall/api/meters/solar`
response: [see sample response here](samples/api-meters-solar.json)
......@@ -90,7 +124,7 @@ _GET /api/system_status/soe_
This returns the aggregate charge state in percent of the powerwall(s).
request: `curl https://192.168.xxx.xxx/api/system_status/soe`
request: `curl --cacert cacert.pem https://powerwall/api/system_status/soe`
response: `{"percentage":69.1675560298826}`
......@@ -104,9 +138,9 @@ Use this URL to determine:
2. How long the powerwall has been set to the running state {in seconds}
3. Is the powerwall gateway connected to Tesla's servers {true|false}}
request: `curl https://192.168.xxx.xxx/api/sitemaster`
request: `curl --cacert cacert.pem https://powerwall/api/sitemaster`
response: `{"running":true,"uptime":"166594s,","connected_to_tesla":true}`
response: `{"running":true,"uptime":"802459s,","connected_to_tesla":true}`
When site master or the Powerwalls are off, the response is: `{"running":false,"uptime":"log:","connected_to_tesla":false}`
......@@ -115,9 +149,9 @@ When site master or the Powerwalls are off, the response is: `{"running":false,
_GET /api/powerwalls_
Use this URL to determine how many power walls you have, their serial numbers, and if they are in sync (assuming more than one powerwall).
request: `curl https://192.168.xxx.xxx/api/powerwalls`
request: `curl --cacert cacert.pem https://powerwall/api/powerwalls`
response: `{"powerwalls":[{"PackagePartNumber":"1092170-03-E","PackageSerialNumber":"T1234567890"},{"PackagePartNumber":"1092170-03-E","PackageSerialNumber":"T1234567891"}],"has_sync":true}`
response: [see sample response here](samples/api-powerwalls.json)
I have two of the AC Powerwall 2s in the United States. The PackagePartNumber is: 1092170-03-E. Let me know if you have a different package part number and what Powerwall model you have. (i.e. DC, AC, Powerwall v1 or v2)
......@@ -127,18 +161,18 @@ I have two of the AC Powerwall 2s in the United States. The PackagePartNumber i
_GET /api/customer/registration_
Use this URL to determine registration status. The below shows the results from a system that is fully configured and running.
request: `curl https://192.168.xxx.xxx/api/customer/registration`
request: `curl --cacert cacert.pem https://powerwall/api/customer/registration`
response: `{"privacy_notice":true,"limited_warranty":true,"grid_services":null,"marketing":null,"registered":true,"emailed_registration":true,"skipped_registration":false,"timed_out_registration":false}`
response: `{"privacy_notice":true,"limited_warranty":true,"grid_services":null,"marketing":null,"registered":true,"timed_out_registration":false}`
---
_GET /api/system_status/grid_status_
Determine if the Grid is up or down.
request: `curl https://192.168.xxx.xxx/api/system_status/grid_status`
request: `curl --cacert cacert.pem https://powerwall/api/system_status/grid_status`
response:
response: {"grid_status":"SystemGridConnected","grid_services_active":false}
`{"grid_status":"SystemGridConnected"}` = grid is up
......@@ -148,8 +182,8 @@ response:
---
_GET /api/system/update/status_
request: `curl https://192.168.xxx.xxx/api/system/update/status`
_UPDATE: You need to be authenticated for this command_
request: `curl --cacert cacert.pem https://powerwall/api/system/update/status`
response: `{"state":"/update_failed","info":{"status":["nonactionable"]},"current_time":1422697552910}`
......@@ -206,59 +240,58 @@ Southern California Edison has TOU plan with the following details:
---
_GET /api/site_info_
request: `curl https://192.168.xxx.xxx/api/site_info`
request: `curl --cacert cacert.pem https://powerwall/api/site_info`
response: `Response: {"site_name":"Home Energy Gateway","timezone":"America/Los_Angeles","min_site_meter_power_kW":-1000000000,"max_site_meter_power_kW":1000000000,"nominal_system_energy_kWh":13.5,"grid_code":"60Hz_240V_s_UL1741SA:2016_California","grid_voltage_setting":240,"grid_freq_setting":60,"grid_phase_setting":"Split","country":"United States","state":"California","region":"UL1741SA"}`
response: `{"max_site_meter_power_kW":1000000000,"min_site_meter_power_kW":-1000000000,"nominal_system_energy_kWh":13.5,"nominal_system_power_kW":10,"site_name":"Loschiavo","timezone":"America/Los_Angeles","grid_code":"60Hz_240V_s_UL1741SA:2016_California","grid_voltage_setting":240,"grid_freq_setting":60,"grid_phase_setting":"Split","country":"United States","state":"California","distributor":"*","utility":"Pacific Gas and Electric Company","retailer":"*","region":"UL1741SA"}`
---
_GET /api/site_info/site_name_
request: `curl https://192.168.xxx.xxx/api/site_info/site_name`
request: `curl --cacert cacert.pem https://powerwall/api/site_info/site_name`
response: `{"site_name":"Home Energy Gateway","timezone":"America/Los_Angeles"}`
The site_name value can be changed from the Tesla Mobile app settings.
---
_GET /api/status_
request: `curl https://192.168.xxx.xxx/api/status`
request: `curl --cacert cacert.pem https://powerwall/api/status`
response: `{"start_time":"2018-03-16 19:08:46 +0800","up_time_seconds":"402h8m19.937911668s","is_new":false,"version":"1.15.0\n","git_hash":"dc337851c6cad15a7e9c7223d60fff719eb8da4d\n"}`
response: `{"start_time":"2019-09-23 23:38:46 +0800","up_time_seconds":"223h5m51.577762169s","is_new":false,"version":"1.40.2","git_hash":"14f7c1769ec307bba2ea62355a09d01c8e58988c+"}`
Useful here: Gateway Version: "version":"1.15.0\n"
Useful here: Gateway Version: "version":"1.40.2\n"
---
_GET /api/logout_
The Gateway Web UI uses this url to logout of the wizard. I assume you can also use this to expire an auth token...(some testing is required).
_This is untested. Question for the community: Does this still work? Soliciting for pull requests! :)_
Request: `curl -i 192.168.xxx.xxx/api/logout`
Request: `curl --cacert cacert.pem -i https://powerwall/api/logout`
Response: `HTTP/1.1 204 No Content
Access-Control-Allow-Credentials: false
Access-Control-Allow-Headers: X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Accept-Encoding, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 86400`
Response: `HTTP/2 204
date: Thu, 03 Oct 2019 13:48:10 GMT`
returns HTTP Status 204, no content, if request is accepted
returns HTTP/2 Status 204, with a date
---
_GET /api/system_status/grid_faults_
Not sure what this does...does it list the recent grid failure dates/times?
Request: `curl 192.168.xxx.xxx/api/system_status/grid_faults`
Request: `curl --cacert cacert.pem https://powerwall/api/system_status/grid_faults`
Response: `[]`
---
_GET /api/sitemaster/stop_
_UPDATE: You need to be authenticated for this command_
This stops the powerwalls & gateway. In the stopped state, the powerwall will not charge, discharge, or monitor solar, grid, battery, home statistics.
Request: `curl https://192.168.xxx.xxx/api/sitemaster/stop`
Request: `curl --cacert cacert.pem https://powerwall/api/sitemaster/stop`
Response:
......@@ -268,10 +301,10 @@ returns HTTP Status 500 if powerwall cannot be stopped at this moment with the f
---
_GET /api/sitemaster/run_
_UPDATE: You need to be authenticated for this command_
This starts the powerwalls & gateway. Use this after getting an authentication token to restart the powerwalls.
Request: `curl https://192.168.xxx.xxx/api/sitemaster/run`
Request: `curl --cacert cacert.pem https://powerwall/api/sitemaster/run`
Response:
Returns HTTPS Status 202 if request is accepted
......@@ -279,12 +312,10 @@ Returns HTTPS Status 202 if request is accepted
---
_GET /api/config/completed_
_UPDATE: You need to be authenticated for this command_
This applies configuration changes.
This is a GET request and doesn't require an authentication token.
Request: `curl /api/config/completed`
Request: `curl --cacert cacert.pem https://powerwall/api/config/completed`
Response:
Returns HTTP Status 202 if input accepted
......@@ -293,19 +324,24 @@ Returns HTTP Status 202 if input accepted
___
Note: __*** The below API calls require authentication ***__
Note2: __*** This documentation is old (created on version 1.15) and needs updating ***__
__*** I wouldn't be surprised if less than 1% of the below still works in versions 1.40+ ***__
**Login**
_POST /api/login/Basic_
Note: _This section needs updating: Does this work?_
**Authentication example:**
Note: Getting an authentication token will stop the powerwall. It won't charge, discharge, or collect stats on v1.15.0. Therefore you should re-enable the powerwall after getting a token.
Note: Getting an authentication token will stop the powerwall. It won't charge, discharge, or collect stats on v1.15+. Therefore you should re-enable the powerwall after getting a token.
See: the _/api/sitemaster/run_ section above.
Here is an example login using a blank username (none needed) and a serial number of T123456789. The password is S+Serial number: ST123456789.
Request:
`curl -s -i -X POST -H "Content-Type: application/json" -d '{"username":"","password":"ST123456789","force_sm_off":false}' https://192.168.xxx.xxx/api/login/Basic`
`curl --cacert cacert.pem -s -i -X POST -H "Content-Type: application/json" -d '{"username":"","password":"ST123456789","force_sm_off":false}' https://powerwall/api/login/Basic`
Response:
......
CONNECTED(00000005)
---
Certificate chain
0 s:C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
i:C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
-----BEGIN CERTIFICATE-----
MIICkjCCAjigAwIBAgIQP6IN8vGxGEd4S9VUtZWbRjAKBggqhkjOPQQDAjCBkTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVBhbG8g
QWx0bzEOMAwGA1UEChMFVGVzbGExHjAcBgNVBAsTFVRlc2xhIEVuZXJneSBQcm9k
dWN0czEpMCcGA1UEAxMgNjhmMTBmNmZjMGJkMGZjMzljZjg4ZWM1NjJiMmJlOTMw
HhcNMTgwNzE3MDIxNTE2WhcNNDMwNzExMDIxNTE2WjCBkTELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVBhbG8gQWx0bzEOMAwGA1UE
ChMFVGVzbGExHjAcBgNVBAsTFVRlc2xhIEVuZXJneSBQcm9kdWN0czEpMCcGA1UE
AxMgNjhmMTBmNmZjMGJkMGZjMzljZjg4ZWM1NjJiMmJlOTMwWTATBgcqhkjOPQIB
BggqhkjOPQMBBwNCAATWP75i6SDesdYB8zGwpnAecL93oB/LdLP9x8+6Z9M37tir
pzsetfDXFCu9JwnzMUTBQtSVHYSYdKWLnyl5XCmqo3AwbjAOBgNVHQ8BAf8EBAMC
AqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zA2BgNVHREE
LzAtggN0ZWeCCXBvd2Vyd2FsbIIJcG93ZXJwYWNrhwTAqFoBhwTAqFoChwTAqFsB
MAoGCCqGSM49BAMCA0gAMEUCIQDjYVyd04Hd38lVKw7OtOlK6s9JPZLIar4gfptp
sHZrzwIgcR4bELiHkALbLdyr3roj1AuBsre4qq4NTIxAUrFhkFw=
-----END CERTIFICATE-----
---
Server certificate
subject=C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
issuer=C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 1043 bytes and written 396 bytes
Verification error: self signed certificate
---
New, TLSv1.2, Cipher is ECDHE-ECDSA-CHACHA20-POLY1305
Server public key is 256 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-ECDSA-CHACHA20-POLY1305
Session-ID: A121141D3CAEABCCBC8B85AE72D619CDEF7B1DD312AF8ADB4A095E58E8CFD4ED
Session-ID-ctx:
Master-Key: 3ED4D9C7B9EEB6BBFF031908CA259B860E167F13561CAA1E4C50024D6222A6BED341B2E76DAE7D9009518882062EF84E
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket:
0000 - a5 89 4d 83 f4 eb 6c 34-5c 21 0e f1 d2 72 53 3c ..M...l4\!...rS<
0010 - a2 02 0d 8d 76 8e 43 b7-f7 8d eb 15 55 4e 44 9f ....v.C.....UND.
0020 - a8 7b b9 33 eb ad 09 e7-1e a2 af 1b da 5e 4c d1 .{.3.........^L.
0030 - e5 b4 55 5b a4 6e a2 7a-d2 61 2d c5 50 b3 16 91 ..U[.n.z.a-.P...
0040 - 34 28 08 8d 85 4f 11 55-7c 5c f7 6f 65 2b 06 e0 4(...O.U|\.oe+..
0050 - 6e 7c 4b c8 d9 64 43 12-d4 f6 74 8a e7 aa 20 dc n|K..dC...t... .
0060 - 78 90 da 9a 60 9b 9d 82-7a b9 20 5e 4b d6 5e 29 x...`...z. ^K.^)
0070 - 12 5b 79 86 b3 cb 9e a9- .[y.....
Start Time: 1570107753
Timeout : 7200 (sec)
Verify return code: 18 (self signed certificate)
Extended master secret: no
---
CONNECTED(00000005)
---
Certificate chain
0 s:C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
i:C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
-----BEGIN CERTIFICATE-----
MIICkjCCAjigAwIBAgIQP6IN8vGxGEd4S9VUtZWbRjAKBggqhkjOPQQDAjCBkTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVBhbG8g
QWx0bzEOMAwGA1UEChMFVGVzbGExHjAcBgNVBAsTFVRlc2xhIEVuZXJneSBQcm9k
dWN0czEpMCcGA1UEAxMgNjhmMTBmNmZjMGJkMGZjMzljZjg4ZWM1NjJiMmJlOTMw
HhcNMTgwNzE3MDIxNTE2WhcNNDMwNzExMDIxNTE2WjCBkTELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVBhbG8gQWx0bzEOMAwGA1UE
ChMFVGVzbGExHjAcBgNVBAsTFVRlc2xhIEVuZXJneSBQcm9kdWN0czEpMCcGA1UE
AxMgNjhmMTBmNmZjMGJkMGZjMzljZjg4ZWM1NjJiMmJlOTMwWTATBgcqhkjOPQIB
BggqhkjOPQMBBwNCAATWP75i6SDesdYB8zGwpnAecL93oB/LdLP9x8+6Z9M37tir
pzsetfDXFCu9JwnzMUTBQtSVHYSYdKWLnyl5XCmqo3AwbjAOBgNVHQ8BAf8EBAMC
AqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zA2BgNVHREE
LzAtggN0ZWeCCXBvd2Vyd2FsbIIJcG93ZXJwYWNrhwTAqFoBhwTAqFoChwTAqFsB
MAoGCCqGSM49BAMCA0gAMEUCIQDjYVyd04Hd38lVKw7OtOlK6s9JPZLIar4gfptp
sHZrzwIgcR4bELiHkALbLdyr3roj1AuBsre4qq4NTIxAUrFhkFw=
-----END CERTIFICATE-----
---
Server certificate
subject=C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
issuer=C = US, ST = California, L = Palo Alto, O = Tesla, OU = Tesla Energy Products, CN = 68f10f6fc0bd0fc39cf88ec562b2be93
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 1042 bytes and written 419 bytes
Verification error: self signed certificate
---
New, TLSv1.2, Cipher is ECDHE-ECDSA-CHACHA20-POLY1305
Server public key is 256 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-ECDSA-CHACHA20-POLY1305
Session-ID: E82ECDA5AFE68D49A998F949EE3DA22228F24F6731E1AA9A16D0FE639F87DE14
Session-ID-ctx:
Master-Key: 201B287FD0AA8BFB32486E3494ECB6D7E1AAC75D49C629CB89EFF64944CCC2C012942230B71C97972F9C17D6E87B8875
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket:
0000 - a5 89 4d 83 f4 eb 6c 34-5c 21 0e f1 d2 72 53 3c ..M...l4\!...rS<
0010 - 4d 61 75 91 53 4f 9f 1b-8e e9 4b 72 7c 5a 30 b2 Mau.SO....Kr|Z0.
0020 - fc 29 94 8c 6e 99 12 92-f7 a1 eb 0d 43 2b 1e 18 .)..n.......C+..
0030 - a3 b0 08 0e 24 16 23 e8-9c c8 19 c3 98 d5 b6 ef ....$.#.........
0040 - 74 b0 db 40 d2 72 73 fc-d5 a7 6c ab 57 7b 68 2d t..@.rs...l.W{h-
0050 - 1f 99 74 65 c3 66 20 1d-93 10 94 8f 04 82 12 8d ..te.f .........
0060 - 35 64 1c 03 76 b4 04 67-aa bc 56 be 99 b4 fa 0e 5d..v..g..V.....
0070 - c1 a8 a9 ba 50 09 a3 20- ....P..
Start Time: 1570107236
Timeout : 7200 (sec)
Verify return code: 18 (self signed certificate)
Extended master secret: no
---
{"enumerating":false,"updating":false,"checking_if_offgrid":false,"running_phase_detection":false,"phase_detection_last_error":"phase detection not run","bubble_shedding":false,"on_grid_check_error":"on grid check not run","grid_qualifying":false,"grid_code_validating":false,"powerwalls":[{"PackagePartNumber":"1092170-03-E","PackageSerialNumber":"T17F0004753","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,"checks":[{"name":"CAN connectivity","status":"fail","start_time":"2019-10-03T06:35:27.465604777-07:00","end_time":"2019-10-03T06:35:27.46561111-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Enable switch","status":"fail","start_time":"2019-10-03T06:35:27.465613777-07:00","end_time":"2019-10-03T06:35:27.46561611-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Internal communications","status":"fail","start_time":"2019-10-03T06:35:27.46561811-07:00","end_time":"2019-10-03T06:35:27.465620443-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Firmware up-to-date","status":"fail","start_time":"2019-10-03T06:35:27.465622443-07:00","end_time":"2019-10-03T06:35:27.465624443-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}}]},"update_diagnostic":{"name":"Firmware Update","category":"InternalComms","disruptive":true,"checks":[{"name":"Powerwall firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Battery firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Inverter firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Grid code","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null}]}},{"PackagePartNumber":"1092170-03-E","PackageSerialNumber":"T17F0004757","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,"checks":[{"name":"CAN connectivity","status":"fail","start_time":"2019-10-03T06:35:27.490997781-07:00","end_time":"2019-10-03T06:35:27.491004114-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Enable switch","status":"fail","start_time":"2019-10-03T06:35:27.491006781-07:00","end_time":"2019-10-03T06:35:27.491009114-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Internal communications","status":"fail","start_time":"2019-10-03T06:35:27.491011114-07:00","end_time":"2019-10-03T06:35:27.491013114-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Firmware up-to-date","status":"fail","start_time":"2019-10-03T06:35:27.491015447-07:00","end_time":"2019-10-03T06:35:27.491017447-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}}]},"update_diagnostic":{"name":"Firmware Update","category":"InternalComms","disruptive":true,"checks":[{"name":"Powerwall firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Battery firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Inverter firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Grid code","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null}]}}],"has_sync":true,"sync":{"updating":false,"commissioning_diagnostic":{"name":"Commissioning","category":"InternalComms","disruptive":false,"checks":[{"name":"CAN connectivity","status":"fail","start_time":"2019-10-03T06:35:27.500091782-07:00","end_time":"2019-10-03T06:35:27.500098115-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}},{"name":"Firmware up-to-date","status":"fail","start_time":"2019-10-03T06:35:27.500100449-07:00","end_time":"2019-10-03T06:35:27.500102782-07:00","message":"Cannot connect to CAN bus. Reboot the gateway and try again.","results":{}}]},"update_diagnostic":{"name":"Firmware Update","category":"InternalComms","disruptive":true,"checks":[{"name":"Synchronizer firmware","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null},{"name":"Grid code","status":"not_run","start_time":null,"end_time":null,"progress":0,"results":null}]}},"states":[],"phase_detection_attempt":0}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment