LinkedGo ST802-B Modbus register map
Also covers LinkedGo ST802-B
Smart HVAC thermostat (fan coil, underfloor heating, ventilation) with RS-485 (Modbus RTU), sold by Shelly
- Official
- 37 registers
- Modbus RTU
- Revision 1 · 2026-10-18
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 37 holding registers
- Groups
- 6
- Revision
- 1 · 2026-10-18
- Added
- ()
- File
- maps/linkedgo/st802-b.mbmap.json · 11 KB · history
- SHA-256
- 63fe3a23c3a2442fc93e0575c2d9151341a2446a39908c94dd287dd5b1adc802
- Manufacturer
- linkedgo.com
Sources and notes
- ST802 Youth Smart Thermostat technical instruction manufacturer document for the ST802; sections 9 to 12
- Shelly: Smart HVAC Thermostat (ST802-B)
Source: LinkedGo, "ST802 Youth Smart Thermostat technical instruction", section 11, RS485 Modbus protocol of LinkedGo 3.0
- Function codes: FC03 reads, FC06 and FC16 write. Addresses are the hexadecimal registers of the manual; the registers of the status group (0x2101 and following) are read-only.
- The manual describes the ST802. Shelly lists RS-485/Modbus control for the ST802-B (the Shelly edition) but publishes no register table, so this map assumes the same LinkedGo 3.0 protocol; it has not been checked on an ST802-B.
- Two RS-485 ports (A1/B1 and A2/B2). In the factory settings port 1 is a master (P00 = 1) and port 2 a slave (P05 = 0); set the port that connects to your controller to slave, protocol LinkedGo 3.0, baud rate 4800 or 9600 (default 9600), slave ID 1 to 255 (default 1) from the display menu or these registers.
- The manual does not state the parity or stop bits; 8 data bits, no parity and 1 stop bit are assumed.
- Temperatures and humidity are in tenths: 10 means 1 °C or 1 %.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 4097 | uint16 | RW | H00 | |||
| HR | 4099 | uint16 | RW | H02: 0, 1, 2, 3 or 17 (fan coil and floor heating combination; see the manual) | |||
| HR | 4100 | uint16 | RW | H03 | |||
| HR | 4102 | uint16 | RW | H05 | |||
| HR | 4103 | uint16 | RW | H06. AC fans: 0 to 3; DC fans: 0 to 5 | |||
| HR | 4104 | uint16 | RW | °C | ×0.1 | H07. Between the minimum and maximum set point; steps of 0.5 °C | |
| HR | 4105 | uint16 | RW | % | ×0.1 | H08 | |
| HR | 4120 | uint16 | RW | °C | ×0.1 | H23, up to the maximum set point | |
| HR | 4121 | uint16 | RW | °C | ×0.1 | H24, from the minimum set point to 50 °C | |
| HR | 4176 | uint16 | RW | V | ×0.01 | F02 | |
| HR | 4177 | uint16 | RW | V | ×0.01 | F03 | |
| HR | 4179 | uint16 | RW | V | ×0.01 | F05 | |
| HR | 4180 | uint16 | RW | V | ×0.01 | F06 | |
| HR | 4181 | uint16 | RW | V | ×0.01 | F07 | |
| HR | 4182 | uint16 | RW | V | ×0.01 | F08 | |
| HR | 4183 | uint16 | RW | V | ×0.01 | F09 | |
| HR | 4184 | uint16 | RW | V | ×0.01 | F10 | |
| HR | 4185 | uint16 | RW | V | ×0.01 | F11 | |
| HR | 4186 | uint16 | RW | s | F12 | ||
| HR | 4238 | uint16 | RW | P00 | |||
| HR | 4239 | uint16 | RW | P01 | |||
| HR | 4240 | uint16 | RW | P02 | |||
| HR | 4241 | uint16 | RW | P03 | |||
| HR | 4242 | uint16 | RW | P05 | |||
| HR | 4243 | uint16 | RW | P06 | |||
| HR | 4244 | uint16 | RW | P07: 11 = LinkedGo 3.0 | |||
| HR | 4246 | uint16 | RW | P08 | |||
| HR | 8449 | uint16 | R | °C | ×0.1 | O00 | |
| HR | 8450 | uint16 | R | % | ×0.1 | O01 | |
| HR | 8451 | uint16 | R | °C | ×0.1 | O02; the manual does not name this value | |
| HR | 8464 | bool bit 0 | R | 1 = relay closed | |||
| HR | 8464 | bool bit 1 | R | ||||
| HR | 8464 | bool bit 2 | R | ||||
| HR | 8464 | bool bit 3 | R | ||||
| HR | 8464 | bool bit 4 | R | ||||
| HR | 8464 | bool bit 5 | R | ||||
| HR | 8474 | bool bit 0 | R | Alarm E03 |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).