send: 7E4 8 06 2C FE 43 69 43 68 00
return: 7EC 8 02 6C FE AA AA AA AA AA
Set Configuration to get Voltage and Current
send: 7E4 8 03 AA 04 FE 00 00 00 00
return: 5EC 8 FE 4A 6F 00 00 00 00 00 [repeat 160 times]
Byte 1 (4A) Current
Byte 2 (6F) Voltage
Calculation:
I = Byte 1 * 0.2 in Ampere
U = Byte 2 / 2 in Volt
And continue:
Sending this two sequenzes immediately
7E4 8 10 08 2C FE 43 69 43 68
7E4 8 21 80 1F 00 00 00 00 00
gives with this:
send: 7E4 8 03 AA 04 FE 00 00 00 00
return: 5EC 8 FE 4A 6F 64 00 00 00 00 [repeat 160 times]
Byte 1 and 2 same as before, and in Byte 3 Temperature in °C
T = (Byte 3 / 2 ) - 40
This is the Temp. in raw. in Byte 4 could be Temp filtered. Still searching the Sequence for this.
Strom: 0x4A * 0,2 = 14,8A
Spannung: 0x6F * 2 = 222V
Temperatur: (0x64 / 2) - 40 = 10°C
Current and Temperature are ok. I think the Voltage must have an Offset (8 or 9) too. Cause my Voltage is around 230V.
It seems that the config send only once (every x Minutes, or so) and the "give me data" ID (7E4 8 03 AA 04 FE 00 00 00 00) every time you want to get it.
Then you get ~160 times the requested Values in ID 5EC.
car is off. -> no data on can bus.
car is off and charging -> can bus wakes every ~30 MInutes up. You can see in my Logs.
When the can bus is awake (it gets valid SOC Data for example), the Module send the initialization sequence and then the demand sequence.
It can send the demand sequence every 10seconds until the the can bus go sleep.
When there are no valid values in 5EC (the rest is valid) (temperature is zero, we normally don't have -40°C), the module sends the initialization sequnece again.
Michael J.