Register map(s) for this device, each at the trust rung it earned. Addresses are 0-based as on the wire; word order and scaling are only confirmed at the hardware-verified rung.
Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.
| point | address (0-based) | type | scale | unit |
|---|---|---|---|---|
| state | 0 | U16 | 1 | |
| vpv1 | 1 | U16 | 0.1 | 0.1V |
| vpv2 | 2 | U16 | 0.1 | 0.1V |
| vpv3 | 3 | U16 | 0.1 | 0.1V |
| vbat | 4 | U16 | 0.1 | 0.1V |
| soc | 5 | U16 | 1 | % |
| ppv1 | 7 | U16 | 1 | W |
| ppv2 | 8 | U16 | 1 | W |
| ppv3 | 9 | U16 | 1 | W |
| pcharge | 10 | U16 | 1 | W |
| pdischarge | 11 | U16 | 1 | W |
| vac_r | 12 | U16 | 0.1 | 0.1V |
| vac_s | 13 | U16 | 0.1 | 0.1V |
| vac_t | 14 | U16 | 0.1 | 0.1V |
| fac | 15 | U16 | 0.01 | 0.01Hz |
| pinv | 16 | U16 | 1 | W |
| prec | 17 | U16 | 1 | W |
| iinv_rms | 18 | U16 | 0.01 | 0.01A |
| pf | 19 | I16 | 0.001 | 0.001 |
| veps_r | 20 | U16 | 0.1 | 0.1V |
| veps_s | 21 | U16 | 0.1 | 0.1V |
| veps_t | 22 | U16 | 0.1 | 0.1V |
| feps | 23 | U16 | 0.01 | 0.01Hz |
| peps | 24 | U16 | 1 | W |
| seps | 25 | U16 | 1 | VA |
| ptogrid | 26 | U16 | 1 | W |
| ptouser | 27 | U16 | 1 | W |
| epv1_day | 28 | U16 | 0.1 | 0.1kWh |
| epv2_day | 29 | U16 | 0.1 | 0.1kWh |
| epv3_day | 30 | U16 | 0.1 | 0.1kWh |
| einv_day | 31 | U16 | 0.1 | 0.1kWh |
| erec_day | 32 | U16 | 0.1 | 0.1kWh |
| echg_day | 33 | U16 | 0.1 | 0.1kWh |
| edischg_day | 34 | U16 | 0.1 | 0.1kWh |
| eeps_day | 35 | U16 | 0.1 | 0.1kWh |
| etogrid_day | 36 | U16 | 0.1 | 0.1kWh |
| etouser_day | 37 | U16 | 0.1 | 0.1kWh |
| vbus1 | 38 | U16 | 0.1 | 0.1V |
| vbus2 | 39 | U16 | 0.1 | 0.1V |
| epv1_all | 40 | U32LE | 0.1 | 0.1kWh |
| epv2_all | 42 | U32LE | 0.1 | 0.1kWh |
| epv3_all | 44 | U32LE | 0.1 | 0.1kWh |
| einv_all | 46 | U32LE | 0.1 | 0.1kWh |
| erec_all | 48 | U32LE | 0.1 | 0.1kWh |
| echg_all | 50 | U32LE | 0.1 | 0.1kWh |
| edischg_all | 52 | U32LE | 0.1 | 0.1kWh |
| eeps_all | 54 | U32LE | 0.1 | 0.1kWh |
| etogrid_all | 56 | U32LE | 0.1 | 0.1kWh |
| etouser_all | 58 | U32LE | 0.1 | 0.1kWh |
| tinner | 64 | I16 | 1 | ℃ |
| tradiator1 | 65 | I16 | 1 | ℃ |
| tradiator2 | 66 | I16 | 1 | ℃ |
| tbat | 67 | I16 | 1 | ℃ |
| max_chg_curr | 81 | U16 | 0.01 | 0.01A |
| max_dischg_curr | 82 | U16 | 0.01 | 0.01A |
| charge_volt_ref | 83 | U16 | 0.1 | 0.1V |
| dischg_cut_volt | 84 | U16 | 0.1 | 0.1V |
| bat_capacity | 97 | U16 | 1 | Ah |
| bat_current_bms | 98 | I16 | 0.01 | 0.01A |
| max_cell_volt_bms | 101 | U16 | 0.001 | 0.001V |
| min_cell_volt_bms | 102 | U16 | 0.001 | 0.001V |
| max_cell_temp_bms | 103 | I16 | 0.1 | 0.1℃ |
| min_cell_temp_bms | 104 | I16 | 0.1 | 0.1℃ |
| bat_volt_sample_inv | 107 | U16 | 0.1 | 0.1V |
| t1 | 108 | I16 | 0.1 | 0.1℃ |
| v_bus_p | 120 | U16 | 0.1 | 0.1V |
| gen_volt | 121 | U16 | 0.1 | 0.1V |
| gen_freq | 122 | U16 | 0.01 | 0.01Hz |
| gen_power | 123 | U16 | 1 | W |
| egen_day | 124 | U16 | 0.1 | 0.1kWh |
| egen_all | 125 | U32LE | 0.1 | 0.1kWh |
| eps_volt_l1n | 127 | U16 | 0.1 | 0.1V |
| eps_volt_l2n | 128 | U16 | 0.1 | 0.1V |
| peps_l1n | 129 | U16 | 1 | W |
| peps_l2n | 130 | U16 | 1 | W |
| seps_l1n | 131 | U16 | 1 | VA |
| seps_l2n | 132 | U16 | 1 | VA |
| eeps_l1n_day | 133 | U16 | 0.1 | 0.1kWh |
| eeps_l2n_day | 134 | U16 | 0.1 | 0.1kWh |
| eeps_l1n_all | 135 | U32LE | 0.1 | 0.1kWh |
| eeps_l2n_all | 137 | U32LE | 0.1 | 0.1kWh |
| terminals | RS-485 |
| wiring notes | Communication method: Universal Asynchronous Transceiver (UART) |
| max registers/read | 40 |
| protocol notes | The inverter software groups the registers into 40 groups of 0-39, 40-79, 80-119 and so on. When querying 40 registers, the starting address must be 0 (0-39), 40 (40-79 ), 80 (80-119), it is not allowed to query registers across groups at the same time. |
| serial register | Hold 2-6 |
| firmware register | Hold 9-10 |
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
Have a device that isn't here? Upload its register map — generation is free, and the connector earns its rung by being proven, not claimed.
Need it proven on your own device? Hardware verification — if it doesn't verify, you don't pay.
Building a platform? License the verified library — machine-readable maps, firmware matrix, API access.