{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Samsung", "model": "EHS Mono heat pumps (Gen 6 / Gen 7)", "models": [ "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" ], "vendor_website": "samsung.com", "description": "Air-to-water heat pumps read through the MIM-B19N Modbus interface", "revision": 1, "revised": "2026-10-14", "source": "Warm Energy Labs Heat Pump Modbus Database (MIT licence); tested by them on an AE160CXYDEK/EU", "sources": [ { "title": "Heat Pump Modbus Database (Warm Energy Labs)", "url": "https://github.com/Warm-Energy/Heat-Pump-Modbus-Database", "note": "src/samsung/modbus_registers.json, MIT licence, Copyright (c) 2025 Warm Energy Labs Ltd" } ], "notes": [ "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." ], "unit_id": 2, "x_status": "unofficial", "x_origin": "warm-energy", "protocol": "rtu", "baudrate": 9600, "parity": "E", "stopbits": 1, "byte_order": "big", "word_order": "big", "address_base": 0, "registers": [ {"name": "Modbus Interface Error", "area": "holding", "address": 0, "type": "int16"}, {"name": "Outdoor Unit Error", "area": "holding", "address": 1, "type": "int16"}, {"name": "Defrost Operation", "area": "holding", "address": 2, "type": "int16"}, {"name": "Buzzer", "area": "holding", "address": 3, "type": "int16", "access": "RW", "enum": {"1": "Off", "0": "On"}}, {"name": "Outside Test", "area": "holding", "address": 4, "type": "int16", "unit": "°C"}, {"name": "Operation Mode", "area": "holding", "address": 5, "type": "int16"}, {"name": "Compressor Status", "area": "holding", "address": 6, "type": "int16"}, {"name": "Hot Gas Status", "area": "holding", "address": 7, "type": "int16"}, {"name": "Liquid Valuve Status", "area": "holding", "address": 8, "type": "int16"}, {"name": "EVI Bypass", "area": "holding", "address": 9, "type": "int16"}, {"name": "4-way Valve Status", "area": "holding", "address": 10, "type": "int16"}, {"name": "Base Heater", "area": "holding", "address": 11, "type": "int16"}, {"name": "PHE Heater", "area": "holding", "address": 12, "type": "int16"}, {"name": "Outside Temp", "area": "holding", "address": 13, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "High Pressure", "area": "holding", "address": 14, "type": "int16", "scale": 0.1, "unit": "kgf/cm²"}, {"name": "Low Pressure", "area": "holding", "address": 15, "type": "int16", "scale": 0.1, "unit": "kgf/cm²"}, {"name": "Discharge Temp", "area": "holding", "address": 16, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Compressor Current", "area": "holding", "address": 17, "type": "int16", "scale": 0.1, "unit": "A"}, {"name": "Heat exchanger outlet temperature condout", "area": "holding", "address": 18, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Suction Temperature", "area": "holding", "address": 19, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "EVI In Temperature", "area": "holding", "address": 20, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "EVI Out Temperature", "area": "holding", "address": 21, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Modulation Fan", "area": "holding", "address": 22, "type": "int16", "unit": "rpm"}, {"name": "Main EEV1", "area": "holding", "address": 23, "type": "int16"}, {"name": "Outdoor Error code", "area": "holding", "address": 24, "type": "int16"}, {"name": "Compressor Order Frequency", "area": "holding", "address": 25, "type": "int16", "unit": "Hz"}, {"name": "Compressor Target Frequency", "area": "holding", "address": 26, "type": "int16", "unit": "Hz"}, {"name": "Compressor Current Frequency", "area": "holding", "address": 27, "type": "int16", "unit": "Hz"}, {"name": "DC Link 1 Voltage", "area": "holding", "address": 28, "type": "int16", "unit": "V"}, {"name": "Outdoor Fan speed", "area": "holding", "address": 29, "type": "int16", "unit": "rpm"}, {"name": "EVA In Temperature", "area": "holding", "address": 30, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "IMP1 Temperature", "area": "holding", "address": 31, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Compressor OCT1", "area": "holding", "address": 32, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Compressor Top Temperature", "area": "holding", "address": 33, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "High pressure saturation temperature", "area": "holding", "address": 34, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Low pressure saturation temperature", "area": "holding", "address": 35, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Zone 1 Underfloor on/off", "area": "holding", "address": 52, "type": "int16", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "Zone 1 Underfloor mode", "area": "holding", "address": 53, "type": "int16", "access": "RW", "enum": {"0": "Auto", "1": "Cool", "4": "Heat"}}, {"name": "Error Code", "area": "holding", "address": 63, "type": "int16"}, {"name": "Restrictions", "area": "holding", "address": 64, "type": "int16"}, {"name": "Water IN Temp", "area": "holding", "address": 65, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water OUT Temp", "area": "holding", "address": 66, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water OUT Set Temp", "area": "holding", "address": 68, "type": "int16", "scale": 0.1, "unit": "°C", "description": "Current water outlet setpoint (read-only). Use climate target_temp_register (68) to control flow temperature", "access": "RW", "write_min": 20, "write_max": 40}, {"name": "Brauchwasser", "area": "holding", "address": 72, "type": "int16", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "Hot Water Mode", "area": "holding", "address": 73, "type": "int16"}, {"name": "Hot Water Set target temperature", "area": "holding", "address": 74, "type": "int16", "unit": "°C", "access": "RW", "scale": 0.1, "write_min": 35, "write_max": 55}, {"name": "Hot Water Set temperature", "area": "holding", "address": 75, "type": "int16", "unit": "°C", "scale": 0.1}, {"name": "Quiet Control", "area": "holding", "address": 78, "type": "int16", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "Away function", "area": "holding", "address": 79, "type": "int16", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "3 way valve position", "area": "holding", "address": 82, "type": "int16"}, {"name": "Backup Heater", "area": "holding", "address": 83, "type": "int16"}, {"name": "Booster Heater", "area": "holding", "address": 84, "type": "int16"}, {"name": "Pump PWM", "area": "holding", "address": 85, "type": "int16", "unit": "%"}, {"name": "Zone 2 Radiator mode", "area": "holding", "address": 86, "type": "int16", "access": "RW", "enum": {"0": "Off", "1": "Heat"}}, {"name": "Controller sensor temp", "area": "holding", "address": 87, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water Out Target", "area": "holding", "address": 89, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water Law Target", "area": "holding", "address": 90, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water Law Target temp", "area": "holding", "address": 91, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Mixing valve temp", "area": "holding", "address": 92, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Modulation Fan Percent", "area": "holding", "address": 93, "type": "int16", "unit": "%"}, {"name": "Water Zone 1 temp", "area": "holding", "address": 94, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water Zone 2 temp", "area": "holding", "address": 95, "type": "int16", "scale": 0.1, "unit": "°C", "access": "RW", "write_min": 15, "write_max": 50}, {"name": "Water Zone 1 temp F", "area": "holding", "address": 96, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water Zone 2 temp F", "area": "holding", "address": 97, "type": "int16", "scale": 0.1, "unit": "°C"}, {"name": "Water Flow", "area": "holding", "address": 98, "type": "int16", "scale": 0.1, "unit": "l/min"}, {"name": "FR Controll", "area": "holding", "address": 99, "type": "int16"}, {"name": "ENUM IN CHILLER SETTING DEMAND LEVEL", "area": "holding", "address": 100, "type": "int16"}, {"name": "VAR IN MODULATING VALVE 1", "area": "holding", "address": 101, "type": "int16"} ] }