-
Notifications
You must be signed in to change notification settings - Fork 33
Description
Hello,
If you are interested in emulating CT002/CT003 I did some discovery on Marstek Venus E and CT002/CT003, see github.
Of special interest might be discovery and query script that are in CT002 folder:
https://github.com/rweijnen/marstek-venus-e-firmware-notes/blob/main/CT002/discover-ct.py
https://github.com/rweijnen/marstek-venus-e-firmware-notes/blob/main/CT002/query-ct-meter.py
To query meter send UDP to port 12345 with the following data:
<SOH><STX>50|HMG-50|acd9XXXXXXXX|HME-3|009bXXXXXXXX|0|0<ETX>3e
where you need to provide meter device mac as shown in Marstek app (which is first 8 of network mac + last 4 of BLE mac), it expects battery MAC which I presume is used to return special data in multi battery scenario.
Meter returns something like:
<SOH><STX>103|HME-3|009bXXXXXXXX|HMG-50|acd9XXXXXXXX|-682|-632|-649|-1963|0|0|0|0|-88|35|0|0|0|0|0|0|0|0|0|0<ETX>1f
Where data is seperated by | character.
By disassembling firmware I was able to map the data like so:
{
"meter_dev_type": "HME-3",
"meter_mac_code": "009bXXXXXXXX",
"hhm_dev_type": "HMG-50",
"hhm_mac_code": "acd92XXXXXXX",
"A_phase_power": "-682",
"B_phase_power": "-632",
"C_phase_power": "-649",
"total_power": "-1963",
"A_chrg_nb": "0",
"B_chrg_nb": "0",
"C_chrg_nb": "0",
"ABC_chrg_nb": "0",
"wifi_rssi": "-88",
"info_idx": "35",
"x_chrg_power": "0",
"A_chrg_power": "0",
"B_chrg_power": "0",
"C_chrg_power": "0",
"ABC_chrg_power": "0",
"x_dchrg_power": "0",
"A_dchrg_power": "0",
"B_dchrg_power": "0",
"C_dchrg_power": "0",
"ABC_dchrg_power": "0"
}
Happy to help/assist if you'd like to take this on...