{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Deye", "model": "Sunsynk Inverter", "models": ["Sunsynk Inverter"], "vendor_website": "deye.com", "description": "Deye/Sunsynk solar inverter, Modbus RTU RS-485. FC03 read, FC10 write. Identity/config at addr 0-57 (device type, S/N, rated power, grid limits, comms, PF/power regulation). Run state at 59. Day/total energy at 60-68. Grid voltages at 70-75; grid currents at 76-78; grid freq at 79. 3-phase output power at 80-89; temperatures at 90-95; PV history energy at 96-97. Fault/warning at 100-106. DC MPPT V/I at 109-116. Split-phase grid/inverter/load voltages at 150-158; currents at 160-165; powers at 167-178. Battery data at 182-191. PV input power at 186-189. Load/meter/grid energy at 198-210.", "revision": 2, "source": "Omni Console device library (OmniCoreST), modbus-library/deye-sunsynk.toml; Source: deye-sunsynk-modbus-protocol.pdf. Not verified against the manufacturer's documentation", "notes": [ "Deye Sunsynk Inverter.", "Converted automatically from the Omni Console device library (OmniCoreST).", "Not verified against the manufacturer's documentation.", "Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual.", "| Deye / Sunsynk String & Hybrid Solar Inverter (Modbus RTU RS-485)", "|", "| Source: deye-sunsynk-modbus-protocol.pdf", "| Models: Deye/Sunsynk string inverters (3-phase and split-phase hybrid variants)", "| Protocol: Modbus RTU, FC03 read, FC10 write", "| Baud: configurable (register 38 readable); default 9600 8N1", "| All addresses are decimal.", "| Types: u16 default; s16 where signed; u32/s32 for 32-bit (low word first).", "| Temperature registers use +1000 offset (e.g. 1150 = 115.0°C).", "| Power factor register 39 uses +1000 offset (1000=0, 1982=0.982, 18=−0.982)." ], "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "unofficial", "x_origin": "omniconsole", "registers": [ {"name": "Device type", "area": "holding", "address": 0, "type": "uint16", "access": "R"}, {"name": "Modbus address", "area": "holding", "address": 1, "type": "uint16", "access": "R"}, {"name": "Comm protocol version", "area": "holding", "address": 2, "type": "uint16", "access": "R"}, {"name": "Serial number bytes 1-2", "area": "holding", "address": 3, "type": "uint16", "access": "R"}, {"name": "Serial number bytes 3-4", "area": "holding", "address": 4, "type": "uint16", "access": "R"}, {"name": "Serial number bytes 5-6", "area": "holding", "address": 5, "type": "uint16", "access": "R"}, {"name": "Serial number bytes 7-8", "area": "holding", "address": 6, "type": "uint16", "access": "R"}, {"name": "Serial number bytes 9-10", "area": "holding", "address": 7, "type": "uint16", "access": "R"}, {"name": "Rated power", "area": "holding", "address": 8, "type": "uint16", "access": "R"}, {"name": "Delivery date year month", "area": "holding", "address": 10, "type": "uint16", "access": "R"}, {"name": "Delivery date day hour", "area": "holding", "address": 11, "type": "uint16", "access": "R"}, {"name": "Delivery date minute second", "area": "holding", "address": 12, "type": "uint16", "access": "R"}, {"name": "Firmware version control board", "area": "holding", "address": 13, "type": "uint16", "access": "R"}, {"name": "Firmware version comm board", "area": "holding", "address": 14, "type": "uint16", "access": "R"}, {"name": "Safety type", "area": "holding", "address": 15, "type": "uint16", "access": "R"}, {"name": "Rated power precise", "area": "holding", "address": 16, "type": "uint32", "access": "R"}, {"name": "MPPT number and phases", "area": "holding", "address": 18, "type": "uint16", "access": "R"}, {"name": "Remote lock", "area": "holding", "address": 20, "type": "uint16", "access": "R"}, {"name": "Self-check time", "area": "holding", "address": 21, "type": "uint16", "access": "R"}, {"name": "System time year month", "area": "holding", "address": 22, "type": "uint16", "access": "R"}, {"name": "System time day hour", "area": "holding", "address": 23, "type": "uint16", "access": "R"}, {"name": "System time minute second", "area": "holding", "address": 24, "type": "uint16", "access": "R"}, {"name": "Minimum insulation impedance", "area": "holding", "address": 25, "type": "uint16", "access": "R"}, {"name": "DC voltage upper limit", "area": "holding", "address": 26, "type": "uint16", "access": "R"}, {"name": "Grid voltage upper limit", "area": "holding", "address": 27, "type": "uint16", "access": "R"}, {"name": "Grid voltage lower limit", "area": "holding", "address": 28, "type": "uint16", "access": "R"}, {"name": "Grid frequency upper limit", "area": "holding", "address": 29, "type": "uint16", "access": "R"}, {"name": "Grid frequency lower limit", "area": "holding", "address": 30, "type": "uint16", "access": "R"}, {"name": "Grid current upper limit", "area": "holding", "address": 31, "type": "uint16", "access": "R"}, {"name": "Starting voltage upper limit", "area": "holding", "address": 32, "type": "uint16", "access": "R"}, {"name": "Starting voltage lower limit", "area": "holding", "address": 33, "type": "uint16", "access": "R"}, {"name": "Communication address", "area": "holding", "address": 37, "type": "uint16", "access": "R"}, {"name": "Communication baud rate", "area": "holding", "address": 38, "type": "uint16", "access": "R"}, {"name": "Power factor regulation", "area": "holding", "address": 39, "type": "uint16", "access": "R"}, {"name": "Active power regulation", "area": "holding", "address": 40, "type": "uint16", "access": "R"}, {"name": "Reactive power regulation", "area": "holding", "address": 41, "type": "uint16", "access": "R"}, {"name": "Apparent power regulation", "area": "holding", "address": 42, "type": "uint16", "access": "R"}, {"name": "Switch on off enable", "area": "holding", "address": 43, "type": "uint16", "access": "R"}, {"name": "Factory reset enable", "area": "holding", "address": 44, "type": "uint16", "access": "R"}, {"name": "Grid standard", "area": "holding", "address": 51, "type": "uint16", "access": "R"}, {"name": "PowerWH factor", "area": "holding", "address": 57, "type": "uint16", "access": "R"}, {"name": "Run state", "area": "holding", "address": 59, "type": "uint16", "access": "R"}, {"name": "Day active energy", "area": "holding", "address": 60, "type": "int16", "access": "R"}, {"name": "Day reactive energy", "area": "holding", "address": 61, "type": "int16", "access": "R"}, {"name": "Day grid work time", "area": "holding", "address": 62, "type": "uint16", "access": "R"}, {"name": "Total active energy", "area": "holding", "address": 63, "type": "int32", "access": "R"}, {"name": "Total reactive energy", "area": "holding", "address": 65, "type": "int32", "access": "R"}, {"name": "Total work time", "area": "holding", "address": 67, "type": "uint32", "access": "R"}, {"name": "Inverter efficiency", "area": "holding", "address": 69, "type": "uint16", "access": "R"}, {"name": "Grid voltage AB", "area": "holding", "address": 70, "type": "uint16", "access": "R"}, {"name": "Grid voltage BC", "area": "holding", "address": 71, "type": "uint16", "access": "R"}, {"name": "Grid voltage AC", "area": "holding", "address": 72, "type": "uint16", "access": "R"}, {"name": "Grid voltage A", "area": "holding", "address": 73, "type": "uint16", "access": "R"}, {"name": "Grid voltage B", "area": "holding", "address": 74, "type": "uint16", "access": "R"}, {"name": "Grid voltage C", "area": "holding", "address": 75, "type": "uint16", "access": "R"}, {"name": "Grid current A", "area": "holding", "address": 76, "type": "int16", "access": "R"}, {"name": "Grid current B", "area": "holding", "address": 77, "type": "int16", "access": "R"}, {"name": "Grid current C", "area": "holding", "address": 78, "type": "int16", "access": "R"}, {"name": "Grid frequency", "area": "holding", "address": 79, "type": "uint16", "access": "R"}, {"name": "Output active power", "area": "holding", "address": 80, "type": "int32", "access": "R"}, {"name": "Input active power (82)", "area": "holding", "address": 82, "type": "int32", "access": "R"}, {"name": "Output apparent power", "area": "holding", "address": 84, "type": "uint32", "access": "R"}, {"name": "Output active power detail", "area": "holding", "address": 86, "type": "int32", "access": "R"}, {"name": "Output reactive power", "area": "holding", "address": 88, "type": "int32", "access": "R"}, {"name": "DC radiator temperature", "area": "holding", "address": 90, "type": "int16", "access": "R"}, {"name": "IGBT temperature", "area": "holding", "address": 91, "type": "int16", "access": "R"}, {"name": "Power factor", "area": "holding", "address": 93, "type": "uint16", "access": "R"}, {"name": "Environment temperature", "area": "holding", "address": 95, "type": "int16", "access": "R"}, {"name": "PV history energy", "area": "holding", "address": 96, "type": "uint32", "access": "R"}, {"name": "Test flag bits", "area": "holding", "address": 100, "type": "uint16", "access": "R"}, {"name": "Warning message word 1", "area": "holding", "address": 101, "type": "uint16", "access": "R"}, {"name": "Warning message word 2", "area": "holding", "address": 102, "type": "uint16", "access": "R"}, {"name": "Fault information word 1", "area": "holding", "address": 103, "type": "uint16", "access": "R"}, {"name": "Fault information word 2", "area": "holding", "address": 104, "type": "uint16", "access": "R"}, {"name": "Fault information word 3", "area": "holding", "address": 105, "type": "uint16", "access": "R"}, {"name": "Fault information word 4", "area": "holding", "address": 106, "type": "uint16", "access": "R"}, {"name": "Corrected AH", "area": "holding", "address": 107, "type": "uint16", "access": "R"}, {"name": "Day PV energy", "area": "holding", "address": 108, "type": "uint16", "access": "R"}, {"name": "DC voltage 1", "area": "holding", "address": 109, "type": "uint16", "access": "R"}, {"name": "DC current 1", "area": "holding", "address": 110, "type": "int16", "access": "R"}, {"name": "DC voltage 2", "area": "holding", "address": 111, "type": "uint16", "access": "R"}, {"name": "DC current 2", "area": "holding", "address": 112, "type": "int16", "access": "R"}, {"name": "DC voltage 3", "area": "holding", "address": 113, "type": "uint16", "access": "R"}, {"name": "DC current 3", "area": "holding", "address": 114, "type": "int16", "access": "R"}, {"name": "DC voltage 4", "area": "holding", "address": 115, "type": "uint16", "access": "R"}, {"name": "DC current 4", "area": "holding", "address": 116, "type": "int16", "access": "R"}, {"name": "Grid side voltage L1-N", "area": "holding", "address": 150, "type": "uint16", "access": "R"}, {"name": "Grid side voltage L2-N", "area": "holding", "address": 151, "type": "uint16", "access": "R"}, {"name": "Grid side voltage L1-L2", "area": "holding", "address": 152, "type": "uint16", "access": "R"}, {"name": "Inverter output voltage L1-N", "area": "holding", "address": 154, "type": "uint16", "access": "R"}, {"name": "Inverter output voltage L2-N", "area": "holding", "address": 155, "type": "uint16", "access": "R"}, {"name": "Inverter output voltage L1-L2", "area": "holding", "address": 156, "type": "uint16", "access": "R"}, {"name": "Load voltage L1", "area": "holding", "address": 157, "type": "uint16", "access": "R"}, {"name": "Load voltage L2", "area": "holding", "address": 158, "type": "uint16", "access": "R"}, {"name": "Grid side current L1", "area": "holding", "address": 160, "type": "int16", "access": "R"}, {"name": "Grid side current L2", "area": "holding", "address": 161, "type": "int16", "access": "R"}, {"name": "Inverter output current L1", "area": "holding", "address": 164, "type": "int16", "access": "R"}, {"name": "Inverter output current L2", "area": "holding", "address": 165, "type": "int16", "access": "R"}, {"name": "Grid side L1 power", "area": "holding", "address": 167, "type": "int16", "access": "R"}, {"name": "Grid side L2 power", "area": "holding", "address": 168, "type": "int16", "access": "R"}, {"name": "Grid side total power", "area": "holding", "address": 169, "type": "int16", "access": "R"}, {"name": "Inverter output total power", "area": "holding", "address": 175, "type": "int16", "access": "R"}, {"name": "Load side total power", "area": "holding", "address": 178, "type": "int16", "access": "R"}, {"name": "Battery temperature", "area": "holding", "address": 182, "type": "int16", "access": "R"}, {"name": "Battery voltage", "area": "holding", "address": 183, "type": "uint16", "access": "R"}, {"name": "Battery capacity", "area": "holding", "address": 184, "type": "uint16", "access": "R"}, {"name": "PV1 input power", "area": "holding", "address": 186, "type": "uint16", "access": "R"}, {"name": "PV2 input power", "area": "holding", "address": 187, "type": "uint16", "access": "R"}, {"name": "PV3 input power", "area": "holding", "address": 188, "type": "uint16", "access": "R"}, {"name": "PV4 input power", "area": "holding", "address": 189, "type": "uint16", "access": "R"}, {"name": "Battery output power", "area": "holding", "address": 190, "type": "int16", "access": "R"}, {"name": "Battery output current", "area": "holding", "address": 191, "type": "int16", "access": "R"}, {"name": "Load frequency", "area": "holding", "address": 192, "type": "uint16", "access": "R"}, {"name": "Inverter output frequency", "area": "holding", "address": 193, "type": "uint16", "access": "R"}, {"name": "Input active power (198)", "area": "holding", "address": 198, "type": "uint32", "access": "R"}, {"name": "Day load energy", "area": "holding", "address": 200, "type": "uint16", "access": "R"}, {"name": "History load energy", "area": "holding", "address": 201, "type": "uint32", "access": "R"}, {"name": "Meter active power", "area": "holding", "address": 203, "type": "int32", "access": "R"}, {"name": "Day grid sell energy", "area": "holding", "address": 205, "type": "uint16", "access": "R"}, {"name": "History grid sell energy", "area": "holding", "address": 206, "type": "uint32", "access": "R"}, {"name": "Day grid buy energy", "area": "holding", "address": 208, "type": "uint16", "access": "R"}, {"name": "History grid buy energy", "area": "holding", "address": 209, "type": "uint32", "access": "R"} ] }