I have an energy monitory and I managed to get into the feed. I got the handshake packets sorted but I am stuck on working out how to decode this data from HEX.
All I know are the following values as shown on the monitor at time of dump.
- Pac = 81 W
- Vac = 236.1 V
- Energy Total = 45.7 kWh
- Hours Total = 72 h
and have the following packets, that are send by the monitor every 10 seconds
AA 55 00 01 01 00 11 82 32 00 AA 00 9A 06 DE 06 ªU.....‚2.ª.š.Þ.
D4 00 03 00 03 00 04 09 59 13 8C 00 51 00 00 00 Ô.......Y.Œ.Q...
00 01 C9 00 00 00 48 00 01 00 00 00 00 FF FF 00 ..É...H......ÿÿ.
00 00 00 00 00 00 00 00 00 00 00 09 35 ............5
AA 55 00 01 01 00 11 82 32 00 A3 00 9A 07 01 07 ªU.....‚2.£.š...
11 00 03 00 03 00 04 09 51 13 8E 00 4F 00 00 00 ........Q.Ž.O...
00 01 C9 00 00 00 48 00 01 00 00 00 00 FF FF 00 ..É...H......ÿÿ.
00 00 00 00 00 00 00 00 00 00 00 07 88 ............ˆ
AA 55 00 01 01 00 11 82 32 00 A3 00 9A 06 C2 06 ªU.....‚2.£.š.Â.
E3 00 03 00 03 00 04 09 39 13 8E 00 51 00 00 00 ã.......9.Ž.Q...
00 01 C9 00 00 00 48 00 01 00 00 00 00 FF FF 00 ..É...H......ÿÿ.
00 00 00 00 00 00 00 00 00 00 00 09 03 .............
AA 55 00 01 01 00 11 82 32 00 A3 00 9A 06 B8 06 ªU.....‚2.£.š.¸.
B2 00 03 00 03 00 04 09 39 13 90 00 51 00 00 00 ².......9..Q...
00 01 C9 00 00 00 48 00 01 00 00 00 00 FF FF 00 ..É...H......ÿÿ.
00 00 00 00 00 00 00 00 00 00 00 08 CA ............Ê
I can see the exact same things on start until ,2<ascii>
, after that it seems to contain the data. The last packet dump should be the one resembling the data on the monitor at the time of receiving and as I mentioned.
I have tried converted each HEX into integer, and maybe just finding similar numbers, like the easiest would be hours, 72
since that only changes every hour. But my futile attempts got me nowhere. Nothing close to 72.
I doubt the data is obfuscated, or encrypted. I just don't know how else I can try and work this out and seek some advice from experienced developers in this sort of field.
All packets end the same with FF FF 00 ..
and the last hex is different each time, I suspect a CRC value for checking. There may be other values mixed in between all these but I am only interested in the main ones I can see on the monitor.