For the complete documentation index, see llms.txt. This page is also available as Markdown.

SunSpec 203

Firmware v2 register overview for the SunSpec 203 mapping.

Mapping behaviour

  • Device Manager mapping value: 15

  • Profile: SUNSPEC203

  • Read function codes: FC03 and FC04

  • Register widths: mixed 16-bit and 32-bit

  • 32-bit word order: high word first (MSW-LSW)

  • Unmapped register handling: Modbus exception

Device ID, baud rate and serial format are global firmware v2 settings. They are not changed when this mapping is selected.

Register overview

Address (decimal / hex)
Words
Type
Source or fixed value
Conversion
Missing

40000 / 0x9C40

2

uint32

constant 0x53756E53u

40002 / 0x9C42

1

uint16

constant 1

40003 / 0x9C43

1

uint16

constant 65

40004 / 0x9C44

16

text

constant "Smartstuff"

zero

40020 / 0x9C54

16

text

constant "P1 Modbus Pro+"

zero

40036 / 0x9C64

8

text

constant ""

zero

40044 / 0x9C6C

8

text

constant _VERSION_ONLY

zero

40052 / 0x9C74

16

text

constant "P1M"

zero

40068 / 0x9C84

1

uint16

dev_id

source_default

40069 / 0x9C85

1

uint16

constant 203

40070 / 0x9C86

1

uint16

constant 105

40071 / 0x9C87

1

int16

current_total_legacy_a

scale 100

zero

40072 / 0x9C88

1

int16

derived_current_l1_a

scale 100, by_direction

zero

40073 / 0x9C89

1

int16

current_l2_a

scale 100, by_direction

zero

40074 / 0x9C8A

1

int16

derived_current_l3_a

scale 100, by_direction

zero

40075 / 0x9C8B

1

int16

constant -2

40076 / 0x9C8C

1

int16

voltage_l1_v

scale 10

zero

40077 / 0x9C8D

1

int16

voltage_l2_v

scale 10

zero

40078 / 0x9C8E

1

int16

voltage_l3_v

scale 10

zero

40079 / 0x9C8F

3

uint16 fill

constant 0x8000u

zero

40082 / 0x9C92

1

int16

constant -1

40083 / 0x9C93

1

int16

constant 5000

40084 / 0x9C94

1

int16

constant -2

40085 / 0x9C95

1

int16

net_power_total_kw

scale 1000

zero

40086 / 0x9C96

1

int16

net_power_l1_kw

scale 1000

zero

40087 / 0x9C97

1

int16

net_power_l2_kw

scale 1000

zero

40088 / 0x9C98

1

int16

net_power_l3_kw

scale 1000

zero

40089 / 0x9C99

1

int16

constant 0

40090 / 0x9C9A

4

uint16 fill

constant 0x8000u

zero

40094 / 0x9C9E

1

int16

constant 0

40095 / 0x9C9F

4

uint16 fill

constant 0x8000u

zero

40099 / 0x9CA3

1

int16

constant 0

40100 / 0x9CA4

4

uint16 fill

constant 0x8000u

zero

40104 / 0x9CA8

1

int16

constant 0

40105 / 0x9CA9

2

uint32

energy_returned_total_kwh

scale 1000

zero

40107 / 0x9CAB

2

uint32

constant 0xFFFFFFFFu

40109 / 0x9CAD

2

uint32

constant 0xFFFFFFFFu

40111 / 0x9CAF

2

uint32

constant 0xFFFFFFFFu

40113 / 0x9CB1

2

uint32

energy_delivered_total_kwh

scale 1000

zero

40115 / 0x9CB3

2

uint32

constant 0xFFFFFFFFu

40117 / 0x9CB5

2

uint32

constant 0xFFFFFFFFu

40119 / 0x9CB7

2

uint32

constant 0xFFFFFFFFu

40121 / 0x9CB9

1

int16

constant 0

40122 / 0x9CBA

52

uint16 fill

constant 0xFFFFu

zero

40174 / 0x9CEE

2

uint32

constant 0

40176 / 0x9CF0

1

uint16

constant 0xFFFFu

40177 / 0x9CF1

1

uint16

constant 0

Reading the table

  • Words is the number of consecutive 16-bit Modbus registers occupied by the entry.

  • Source names correspond directly to the firmware v2 recipe source.

  • Conversion records the exact scale, transform or direction handling configured by the recipe.

  • This page is generated from mb_recipe.h and modbus_profiles.h for firmware 2.3.0.

Last updated