I think I would be fairly reliant on others to help with that.
An unsolved problem is how to reliably maintain administrative connection. To use the web interface (or send protos), you need to manually hold the charger button for 5 seconds to activate the internal AP.
After a period of inactivity, it times out and deactivates. Constantly polling it (e.g. requesting config) keeps it awake, but this is unreliable.
Using the load sharing protocol for providing solar input is an interesting possibility, since it is (electrically) safer than setting the max charge current. But I’m still unclear on how this protocol works.
I don’t have a second TWC3 to play with. When I create a hotspot named TeslaWallConnector_000001 with password AAAAAAAAAAAA, it connects and attempts to open a TLS connection to the gateway IP on TCP port 34578, presenting a client certificate signed by
For example, when you pair your TWC3 with another for load sharing, it connects to the SSID of the other TWC3, and tries to connect to its IP (assumed to be the gateway IP) on TCP port 34578 and establish a Mutual TLS connection, presenting a certificate issued by the “Tesla Energy Product Issuing CA”.
Or if you try to connect yourself, it tells you these are the accepted CAs:
% openssl s_client -connect 192.168.92.1:34578
---
Certificate chain
0 s:CN = 1529455-02-D--PGTxxxxxxxxxxx, OU = Gen3 Wall Connector, OU = Energy, O = Tesla Inc., L = Palo Alto, ST = California, C = US
i:CN = Tesla Energy Product Issuing CA, OU = Energy, OU = PKI, O = Tesla, C = US
a:PKEY: id-ecPublicKey, 256 (bit); sigalg: ecdsa-with-SHA256
v:NotBefore: Nov 1 00:00:00 2021 GMT; NotAfter: Nov 1 00:00:00 2023 GMT
---
---
Acceptable client certificate CA names
CN = Tesla Energy Product Issuing CA, OU = Energy, OU = PKI, O = Tesla, C = US
CN = Tesla Powerwall Products CA
CN = Tesla Powerwall Products CA
OU = NXP Plug Trust CA, CN = Tesla Inc.-471c4e0b81d78ffc66028b985e22f2d9vE200
Client Certificate Types: RSA sign, ECDSA sign
Now obviously I don’t have access to this CA. If I present a self-signed certificate, it simply closes the connection with an “Unknown CA” error. I don’t know of a way to overwrite this CA with my own, nor mint any new certificates.
Since the cert has a 2 year expiry, possibly there’s a way to renew it. And if there’s a way to renew it, perhaps there’s a way to generate a new one. Or maybe it just ignores the validity period.
Maybe the whole load sharing thing is a dead end and the right answer is to just poll the device a lot, and poke the max charge rate setting. That seems like the simplest option, but it does require active polling.
If somebody can figure out a reliable way to convince the TWC3 to keep its internal AP alive (or whether there are older firmware versions that have this behaviour), that would be really great knowledge to have.