Nou, even wat resultaat van paar uurtjes knutselen vandaag....
De CT002 luistert op UDP 12345, de Marstek batterijen sturen van poort 22222 naar poort 12345 op de CT002. Batterji stuurt het volgende bericht:
CT002 stuurt het volgende antwoord:
de mac adressen kun je vinden op de device management pagina:
/f/image/86NAN10Zwq4NeuNALqZKXZF1.png?f=fotoalbum_large)
De waardes uit het bericht matchen precies met de code:
Conclusies:
De CT002 luistert op UDP 12345, de Marstek batterijen sturen van poort 22222 naar poort 12345 op de CT002. Batterji stuurt het volgende bericht:
code:
1
2
3
4
| +--------+-------------+------------+-----------+--------------+-----+-----+--------+ | 0x01 | 0x02 | "50" | "HMG-50" | <sender_mac> | "HME-4" | <device_mac> | "0" | "0" | 0x03 | checksum | +--------+-------------+------------+-----------+--------------+--------+--------------+-----+-----+--------+----------+ | Start | Type/Len? | Msg Type | Battery | Battery MAC | Model | CT002 MAC | ID1 | ID2 | End | 0x6d | |
CT002 stuurt het volgende antwoord:
code:
1
2
3
4
| +--------+-------------+-----------+-------------+--------------+-----+-----+-----+-----+-----+-----+-----+-----+--------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--------+----------+ | 0x01 | 0x02 | "88" | "HME-4" | <device_mac> | "HMG-50" | <sender_mac> | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | "-48" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0x03 | checksum | +--------+-------------+-----------+-------------+--------------+----------+--------------+-----+-----+-----+-----+-----+-----+-----+-----+--------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--------+----------+ | Start | Type/Len? | Msg Type | Model | CT002 MAC | Battery | Battery MAC | ... (power + status fields) | End | 0x79 | |
de mac adressen kun je vinden op de device management pagina:
/f/image/86NAN10Zwq4NeuNALqZKXZF1.png?f=fotoalbum_large)
De waardes uit het bericht matchen precies met de code:
code:
1
| ...|0|0|0|0|0|0|0|0|-48|0|0|0|0|0|0|0|0|0|0|0 |
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| | Index | Field Value | Corresponding Field Name | | ----- | ----------- | ----------------------------------- | | 0 | `0` | `A_phase_power` (dword\_2001124C) | | 1 | `0` | `B_phase_power` (dword\_20011250) | | 2 | `0` | `C_phase_power` (dword\_20011254) | | 3 | `0` | `total_power` (dword\_20011258) | | 4 | `0` | `A_chrg_nb` (byte\_2001125C) | | 5 | `0` | `B_chrg_nb` (dword\_20011260) | | 6 | `0` | `C_chrg_nb` (byte\_20011264) | | 7 | `0` | `ABC_chrg_nb` (dword\_20011268) | | 8 | `-48` | `wifi_rssi` (byte\_2001126C) | | 9 | `0` | `info_idx` (byte\_2001126D) | | 10 | `0` | `x_chrg_power` (dword\_20011270) | | 11 | `0` | `A_chrg_power` (dword\_20011274) | | 12 | `0` | `B_chrg_power` (dword\_20011278) | | 13 | `0` | `C_chrg_power` (dword\_2001127C) | | 14 | `0` | `ABC_chrg_power` (dword\_20011280) | | 15 | `0` | `x_dchrg_power` (dword\_20011284) | | 16 | `0` | `A_dchrg_power` (dword\_20011288) | | 17 | `0` | `B_dchrg_power` (dword\_2001128C) | | 18 | `0` | `C_dchrg_power` (dword\_20011290) | | 19 | `0` | `ABC_dchrg_power` (dword\_20011294) | |
Conclusies:
- De batterij geeft zijn MAC adres door aan de CT002 -> die kan dus idd andere waardes retourneren aan de verschillende batterijen!
- Ik heb de CT002 nog niet draaien maar het zou dus interessant zijn om dit te bevestigen zodra er daadwerkelijk waardes zijn (CT002 aanroepen met verschillende batterij id's)
- CT003 werkt wellicht op dezelfde manier (maar ik heb die niet dus kan het niet testen)
- Een CT002 emulator bouwen om zo zelf de batterijen aan te sturen is dus heel goed mogelijk (maar bovenstaande bevestigen helpt dan enorm!
[ Voor 45% gewijzigd door bommel op 21-05-2025 18:09 ]