Tesla Wall Connector Gen 3 RESTful

Thanks for sharing your results.

When I was playing around with the scanner (to find out the correct baud rates & RS485 adresses), I also had received sporadically data/response from the TWC3, but it was no proper MODBUS RTU response, which could lead to any further progress.

I assume, that any device, which wants to communicate with the TWC3, has got to initiate a special “handshaking” and/or “certificate exchange” and/or has got to send “permanent keep alive data”. This is also my conclusion after I scrolled through the Neurio documentation.

By-the-way: Meanwhile, I was able to reach EMEA TWC support. When I asked for documentation (and told them, that it seems, that it works with the Neurio device), they simply adviced me to buy the Neurio device. So for me, it seems, that they are not willing to disclose the TWC3 RS485 mechanism at all.

I see. My understanding was that we got no data at all, so obviously you can understand my excitement at seeing data yesterday, even if I didn’t understand it.

Would reverse engineering the firmware be an option?

If the firmware is not encrypted, this could also be an option.

I have a TWC3 connected to Neurio W2 for dynamic power management. It works fine. I tried capturing some data from the RS485 line but I can’t figure out how to interpret it.

It appears a message is sent every second.
I watched the values update every 2s in Tesla One app. Neurio W2 has 4 ports for the CT clamps and I can see all 4 values in the app. Precision is 3 digits after the decimal. (e.g. 105.832W).
CT1: 105W
CT2: 270W
CT3 and CT4 fluctuate between approximately -0.063W and 0.063W. Negative value the app shows as “export”.

Here’s a few messages I saw at the same time as I saw the above mentioned values in the app. Maybe someone will have an idea how to interpret these messages?

011010001110110111111110011010000101000010010101
0010000000110111111111110010000000111010
001000001010111011111101100110000101100111111111
0010100011111101001000000000100011111110
0010000010001100111111101010001010001100
1110100001000010111111100010001011001100
0010100000000001101000101010111111101101
101000001111011011111111100110000101111011110100
001000000011010111111110001000101001110011111101
1010000000100100111111010010001001010000
0010100010011111001010001001110011111100
1110000011101110111111010010000000001000
0010100010111010001000001110110111111110
0011001011101111001000100010010011111111
001010001001111011111100011000100111000011100101
0010000011001110001100000101101011111010
1010000010011110011010000111101111100100

I’ve tried reading through all of this thread, and just thought I’d ask here again - even though it seems it has been asked before…
If you have two of these and they are configured for power sharing, there is no way to see the output of the second unit in the Tesla Integration, correct? Any known ways to deal with this?

How did you capture the data? , I would assume it’s modbus so use a modbus decoder, online or write one

Accordingh to https://teslamotorsclub.com/tmc/threads/finally-dynamic-power-management-for-wall-connector.320705/page-2

"The device talks RS-485 modbus RTU at 115200,8,1.
unfortunately don’t know what the modbus register map is but am putting together
some stuff to make good traces of the communication to the Universal Wall Connector.
I looked at it on a scope and the Wall connector polls every second and the Neurio
responds. The serial decode said the RTU request was read 10 holding registers at
address 0x88 and the sensor responds back with 20 bytes of payload,
which I don’t know the meaning of yet. "
Can you try logging data after switching to baudrate 115200 ?

if that summary is correct, then converting the binary to hex , I would expect to see the address 0x88 there, which I do, the next hex should be the function code afaik, which in the binary given is 0xA7 which doesn’t seem to be a standard modbus code, it would be 0x03 for reading registers for example. I can only assume the binary isn’t correct. depending on your setup, it might be worth trying qmodbus to decode directly from the serial …

I must declare that I don’t have a lot of modbus experiance, and my other charger is a ‘wallbox pulsar plus’ which uses modbus RTU to talk to an energy meter , and that energy meter is a special revision just for wallbox. the wallbox also enrolls the meter in a fashion similar to what the TWC3 seems to do too

an active version of this conversation seems to be here Tesla Gen 3 Wall Connector (WiFi) · Issue #20 · dracoventions/TWCManager · GitHub

1 Like