Samsung EHS Mono heat pumps (Gen 6 / Gen 7) Modbus register map
Also covers AE080BXYDEG/EU, AE120BXYDEG/EU, AE140BXYDEG/EU, AE080BXYDGG/EU, AE120BXYDGG/EU, AE140BXYDGG/EU, AE050CXYDEK/EU, AE080CXYDEK/EU, AE120CXYDEK/EU, AE160CXYDEK/EU, AE080CXYDGK/EU, AE120CXYDGK/EU, AE160CXYDGK/EU, AE050CXYBEK/EU, AE080CXYBEK/EU, AE120CXYBEK/EU, AE160CXYBEK/EU, AE080CXYBGK/EU, AE120CXYBGK/EU, AE160CXYBGK/EU
Air-to-water heat pumps read through the MIM-B19N Modbus interface
- Unofficial
- 68 registers
- Modbus RTU
- Revision 1 · 2026-10-14
Unofficial: Copied from an unofficial source and not tested. Read it as a draft and check a value on the real device before you rely on the rest. 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
- 2
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even 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
- 68 holding registers
- Revision
- 1 · 2026-10-14
- Added
- ()
- File
- maps/samsung/ehs-gen6-gen7.mbmap.json · 9 KB · history
- SHA-256
- 2f7e0b6e765b5fb0b9fed4b1ebf52b711a1ea7150c7c52adc013dfc31986a118
- Manufacturer
- samsung.com
Sources and notes
- Heat Pump Modbus Database (Warm Energy Labs) src/samsung/modbus_registers.json, MIT licence, Copyright (c) 2025 Warm Energy Labs Ltd
Source: Warm Energy Labs Heat Pump Modbus Database (MIT licence); tested by them on an AE160CXYDEK/EU
- Read through the Samsung MIM-B19N Modbus interface module; the source uses unit ID 2.
- Some values only appear after their message IDs are mapped: registers 6000+ and 7000+ of the interface select which outdoor and indoor values are published at addresses 4-35 and 82-101 (see the source for the list).
- All registers are holding registers. Values are 16-bit signed.
- Converted from the Warm Energy database. Writing to a heat pump can damage it: check before you write.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | int16 | R | ||||
| HR | 1 | int16 | R | ||||
| HR | 2 | int16 | R | ||||
| HR | 3 | int16 | RW | ||||
| HR | 4 | int16 | R | °C | |||
| HR | 5 | int16 | R | ||||
| HR | 6 | int16 | R | ||||
| HR | 7 | int16 | R | ||||
| HR | 8 | int16 | R | ||||
| HR | 9 | int16 | R | ||||
| HR | 10 | int16 | R | ||||
| HR | 11 | int16 | R | ||||
| HR | 12 | int16 | R | ||||
| HR | 13 | int16 | R | °C | ×0.1 | ||
| HR | 14 | int16 | R | kgf/cm² | ×0.1 | ||
| HR | 15 | int16 | R | kgf/cm² | ×0.1 | ||
| HR | 16 | int16 | R | °C | ×0.1 | ||
| HR | 17 | int16 | R | A | ×0.1 | ||
| HR | 18 | int16 | R | °C | ×0.1 | ||
| HR | 19 | int16 | R | °C | ×0.1 | ||
| HR | 20 | int16 | R | °C | ×0.1 | ||
| HR | 21 | int16 | R | °C | ×0.1 | ||
| HR | 22 | int16 | R | rpm | |||
| HR | 23 | int16 | R | ||||
| HR | 24 | int16 | R | ||||
| HR | 25 | int16 | R | Hz | |||
| HR | 26 | int16 | R | Hz | |||
| HR | 27 | int16 | R | Hz | |||
| HR | 28 | int16 | R | V | |||
| HR | 29 | int16 | R | rpm | |||
| HR | 30 | int16 | R | °C | ×0.1 | ||
| HR | 31 | int16 | R | °C | ×0.1 | ||
| HR | 32 | int16 | R | °C | ×0.1 | ||
| HR | 33 | int16 | R | °C | ×0.1 | ||
| HR | 34 | int16 | R | °C | ×0.1 | ||
| HR | 35 | int16 | R | °C | ×0.1 | ||
| HR | 52 | int16 | RW | ||||
| HR | 53 | int16 | RW | ||||
| HR | 63 | int16 | R | ||||
| HR | 64 | int16 | R | ||||
| HR | 65 | int16 | R | °C | ×0.1 | ||
| HR | 66 | int16 | R | °C | ×0.1 | ||
| HR | 68 | int16 | RW | °C | ×0.1 | Current water outlet setpoint (read-only). Use climate target_temp_register (68) to control flow temperature | |
| HR | 72 | int16 | RW | ||||
| HR | 73 | int16 | R | ||||
| HR | 74 | int16 | RW | °C | ×0.1 | ||
| HR | 75 | int16 | R | °C | ×0.1 | ||
| HR | 78 | int16 | RW | ||||
| HR | 79 | int16 | RW | ||||
| HR | 82 | int16 | R | ||||
| HR | 83 | int16 | R | ||||
| HR | 84 | int16 | R | ||||
| HR | 85 | int16 | R | % | |||
| HR | 86 | int16 | RW | ||||
| HR | 87 | int16 | R | °C | ×0.1 | ||
| HR | 89 | int16 | R | °C | ×0.1 | ||
| HR | 90 | int16 | R | °C | ×0.1 | ||
| HR | 91 | int16 | R | °C | ×0.1 | ||
| HR | 92 | int16 | R | °C | ×0.1 | ||
| HR | 93 | int16 | R | % | |||
| HR | 94 | int16 | R | °C | ×0.1 | ||
| HR | 95 | int16 | RW | °C | ×0.1 | ||
| HR | 96 | int16 | R | °C | ×0.1 | ||
| HR | 97 | int16 | R | °C | ×0.1 | ||
| HR | 98 | int16 | R | l/min | ×0.1 | ||
| HR | 99 | int16 | R | ||||
| HR | 100 | int16 | R | ||||
| HR | 101 | int16 | R |
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).