-
Notifications
You must be signed in to change notification settings - Fork 49
Infinity interpreting data
When data is read to or written from a device, it must have a way to address this data. We refer to this entire address as a "register". This nomenclature is taken from ModBUS, an industrial protocol. It seems that this is always 3 bytes, and first byte is always 0x00. Often times this first byte is ignored since we only assume is it part of the register address.
Entire registers are read or written at once. Generally, the read and write requests only originate from the thermostat or possibly SAM (not verified)
After probing the registers in devices, there is a structure:
0x0201 00 21 53 59 53 54 49 4d 45 20 00 19 03 13 01 03 03 03 03
0x0202 0d 36 06
0x0203 05 0c 0a
We have discovered that the high byte of the register relates to a table, and the low byte refers to a row in that table. This is how to interpret the data from the 0x02 table above, starting after 0x0201:
- 0021 - unknown
- The next 8 bytes are the name of the table = 53595354494d4520 is SYSTIME with a trailing space (ascii)
- 00 19 relates to the size of the table (25 bytes)
- 03 is the total number of rows in the table
- 13 is the bytes of this row (in hex) and 01 is unknown
- 03 is the bytes in the second row, and 03 is unknown
- 03 is the bytes in the third row, and 03 is unknown.
The first row of the table usually describes the structure of the table, with the exception of a few tables. The byte following the row length (the last three lines in the list above) may be bit flags for register permissions (b0=read, b1=write).
This is a list of possible tables. Please add confirmed models to the right if it matches for your unit.
Device | Table | Name | Confirmed Models |
---|---|---|---|
0E | 0x3E | ?? | |
20 | 0x01 | DEVCONFG | SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B |
20 | 0x02 | SYSTIME | SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B |
20 | 0x03 | RLCSMAIN / INGUI | SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B |
20 | 0x04 | DELUXEUI / SSSBCAST | SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B |
20 | 0x05 | EVEREST | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x06 | LINESET | SYSTXCCITW01 |
20 | 0x2F | STARTUP | SYSTXCCITW01 |
20 | 0x30 | EECONFIG | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x31 | DUI DATA / INGDATA | SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B |
20 | 0x32 | LCD CTRL | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x34 | 4 ZONE | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x39 | P MSCH | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x3B | AI PARMS / NVMINIT | SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B |
20 | 0x3C | UI PARMS | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x3D | DISPDATA | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x3E | DCLEGACY | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
20 | 0x3F | WSAM CCN | SYSTXBBUID01-B / SYSTXCCUIZ01-B |
22 | 0x01 | DEVCONFG | SYSTXCCSMS01 |
22 | 0x02 | SYSTIME | SYSTXCCSMS01 |
22 | 0x03 | RLCSMAIN | SYSTXCCSMS01 |
22 | 0x04 | SMT SNSR M | SYSTXCCSMS01 |
22 | 0x30 | EECONFIG | SYSTXCCSMS01 |
22 | 0x32 | SS SVCTL | SYSTXCCSMS01 |
50 | 0x01 | DEVCONFG | 264AN |
50 | 0x02 | SYSTIME | 264AN |
50 | 0x03 | RLCSMAIN | 264AN / 25HNB624A003 |
50 | 0x05 | TWOCACTY | 264AN / 25HNB624A003 |
50 | 0x3E | unknown - does not follow structure Coil temps and stage | 264AN / 25HNB624A003 |
51 | 0x01 | ?? | |
51 | 0x03 | ?? | |
51 | 0x06 | ?? | |
40 | 0x01 | DEVCONFG | 355CAV / 58MVC100 |
40 | 0x02 | SYSTIME | 355CAV / 58MVC100 |
40 | 0x03 | RLCSMAIN | 355CAV / 58MVC100 |
40 | 0x04 | VARSPEED | 355CAV / 58MVC100 |
42 | 0x01 | DEVCONFG | FE4ANF002 / FE4ANF003 |
42 | 0x02 | SYSTIME | FE4ANF002 / FE4ANF003 |
42 | 0x03 | RLCSMAIN | FE4ANF002 / FE4ANF003 |
42 | 0x04 | VFANCOIL | FE4ANF002 / FE4ANF003 |
60 | 0x01 | DEVCONFG | SYSTXCC4ZC01 |
60 | 0x02 | SYSTIME | SYSTXCC4ZC01 |
60 | 0x03 | RLCSMAIN | SYSTXCC4ZC01 |
60 | 0x04 | 04ZONE STL | SYSTXCC4ZC01 |
61 | 0x03 | ?? | |
61 | 0x34 | ?? | |
80 | 0x34 | ?? |