In this post I will try to share the details about how to communicate with Wattsonic inverters using modbus protocol. Understanding the connection details and list of registers is very useful if you want to get live data from the inverter directly, not relying only on the cloud app. This is essential thing if you want to connect your solar inverter into any smarthome solution, which then allows you to properly balance the load, manage your energy consumption and export, and minimize the need to purchase additional energy from the grid. Also, there is the ability to control some of the functions of the inverter using that modbus connection.

In this (three page long) list below you will find groups of registers with the brief description. You won’t find this in the user manual. But, I strongly recommend to consult the user manual for additional details, especially to better understand inverter working modes and other settings, that might be available in the app and you will be able to read and also (in cases of RW registers) write into the device.

Now there is a warning. First, the Wattsonic Cloud App and its back-end hosted somewhere in Hong-Kong is not expecting that changes will be done via Modbus directly to the inverter. So in case you do write a change, that will not become instantly visible in the Wattsonic App. I spent quite a while investigating why the Operating modes do not change, until I went to see the inverter myself and saw that changes are happening and are just not propagating back to the cloud. So, some of the updates between cloud and the inverter are just one directional, but this is probably a small design flaw. Second, there could certainly be some inaccuracies in the lists below as well caused by multiple factors, so if you see that something has changed or does not work as described, it would be great to leave comment so that we can keep the tables up-to date. I am using it with 3rd generation of Wattsonic 3P 10K inverter. It could (potentially) work with other models, but I have not been testing it.

How to connect

I have connected the Wattsonic inverter with my Loxone smarthome using Loxone Modbus extension, which is extra piece of HW I had to purchase. But these settings below are applicable for any other master system of your choice.

Now, if you want to establish Modbus connection between Loxone Modbus extension and Wattsonic Hybrid inverter you need to know the following:

  1. Wattsonic inverter uses Modbus RTU for communication with Loxone. Some people posted elsewhere that they use ModbusServer and Modbus over TCP, and in my opinion this was just a photo mock-up, completely misleading and wrong. So Loxone Modbus Extension is the right way to go. There might be other ways how to convert Modbus to TCP, but I have not tested this.
  2. The wiring between Loxone Modbus extension and Wattsonic inverter needs to be done using separate twisted pair and it must be connected to PIN 13 and 14. [PIN 14 = A, PIN 13 = B]. It cannot be on the same bus with the SmartMeter (this was my initial mistake!).
  3. The Modbus line settings are 9600 baud, No parity, Stop 1.
  4. Not all values that come with the template from official Loxone library are being populated by live data. Try to use this updated template (below).
  5. The terminating 120 Ohm resistor (supplied with the Loxone Modbus extension) is not needed in this case, the terminating resistor is already built-in to the Wattsonic Multi-function communication connector. You need to switch it on using small screwdriver (see detailed view).
All communication ports are in the multifunction communication Port at the bottom of
inverter which including Meter port, CAN port, BMS port, EMS port, RLYOUT port, DRED
port.
Multi-function communication port pin assignment
Wattsonic multi-function port connector

Disclaimer

I take absolutely no responsibility for any damages you cause as a result of the use of any material shared on this site. It is for development purposes only.

You must accept that You and You alone are responsible for your safety and safety of others in any endeavor in which you engage. While the material on smarthome.exposed is provided in hopes that you build or tweak your own smarthome system, You are responsible for verifying its accuracy and applicability to your project. You are responsible for knowing your limitations of knowledge and experience. If you do any work with “main power” such as 240 or 400 VAC power wiring, you should consult a Licensed Electrician. Same applies for any high voltage circuits related to battery storage which I strongly recommend to not touch at all!

The following tables are showing the Modbus registers that can be used when communicating with Wattsonic Inverters. Please note that there might be some changes over time. This list was built for Third Generation of Wattsonic hybrid inverters. With any updates happening after that milestone some inaccuracy might be introduced. Use with caution.

So after the obligatory warnings, here are the lists of Modbus registers for 3rd gen. of Wattsonic hybrid inverters:

Read Only registers

IDRegisterBytesDescriptionData TypeUnitAccuracyNote
1100008Inverter SNSTRN/A1Read Bytes to string
 ……    
2100081Equipment InfoU16N/A1Please refer to table Equipment info
3100112Firmware VersionU32N/A1Read Bytes
 10012    
4101001Date: Y/MU16N/A1Continuous read
5101011Time: D/HU16N/A1
6101021Time: M/SU16N/A1
7101041Grid RegulationU16N/A1
8101051Inverter Running StatusU16N/A10:wait, wait for on-grid
1:check, self-check
2:On Grid
3:fault
4:flash, firmware update
5.Off Grid
9101122Fault FLAG1U32N/A1Please refer to table Fault registers
10113     
10101142Fault FLAG2U32N/A1
10115     
11101202Fault FLAG3U32N/A1
10121
12109942Phase A Power on MeterI32kW1000
10995     
13109962Phase B Power on MeterI32kW1000
10997     
14109982Phase C Power on MeterI32kW1000
10999     
15110002Total Power on MeterI32kW1000
11001     
16 110022Total Grid-Injection Energy on MeterU32kWh100
11003     
17 110042Total Purchasing Energy from Grid on MeterU32kWh100
11005     
18110061Grid Lines A/B VoltageU16V10
19110071Grid Lines B/C VoltageU16V10
20110081Grid Lines C/A VoltageU16V10
21110091Grid Phase A VoltageU16V10
22110101Grid Phase A CurrentU16A10
23110111Grid Phase B VoltageU16V10
24110121Grid Phase B CurrentU16A10
25110131Grid Phase C VoltageU16V10
26110141Grid Phase C CurrentU16A10
27110151Grid FrequencyU16Hz100
28110162P_ACI32kW1000
11017
29110182Total PV Generation on that dayU32kWh10
 11019     
30110202Total PV Generation from InstallationU32kWh10
 11021     
31110222Total PV Generation Time from InstallationU32H1
 11023    
32110282PV Input Total PowerU32kW1000
 11029    
33110321Temperature Sensor 1I1610
34110331Temperature Sensor 2I1610
35110341Temperature Sensor 3I1610
36110351Temperature Sensor 4I1610
37110381PV1 VoltageU16V10
38110391PV1 CurrentU16A10
39110401PV2 VoltageU16V10
40110411PV2 CurrentU16A10
41110622PV1 Input PowerU32kW1000
11063   
42110642PV2 Input PowerU32kW1000
11065
43180002ARM Fault FLAG1U32N/A1Please refer to table Fault registers
18001
44302001Backup_A_VU16V10AC Voltage
45302011Backup_A_IU16A10AC Current
46302021Backup_A_FU16Hz100Frequency
47302042Backup_A_PI32kW1000AC Active Power
30205
48302101Backup_B_VU16V10AC Voltage
49302111Backup_B_IU16A10AC Current
50302121Backup_B_FU16Hz100Frequency
51302142Backup_B_PI32kW1000AC Active Power
30215
52302201Backup_C_VU16V10AC Voltage
53302211Backup_C_IU16A10AC Current
54302221Backup_C_FU16Hz100Frequency
55302242Backup_C_PI32kW1000AC Active Power
30225
56302302Total_Backup_PI32kW1000AC Active Power
30231
57302362Invt_A_PI32kW1000Phase A Active Power
30237
58302422Invt_B_PI32kW1000Phase B Active Power
30243
59302482Invt_C_PI32kW1000Phase C Active Power
30249
60302541Battery_VU16V10DC Voltage
61302551Battery_II16A10DC Current
62302561Battery_ModeU16N/A10:discharge;1:charge
63302582Battery_PI32kW1000Battery Power
30259
64310001Grid Injection Energy on that day[Meter]U16kWh10
65310011Grid Purchasing Energy on that day[Meter]U16kWh10
66310021Backup Output Energy on that dayU16kWh10
67310031Battery Charge Energy on that dayU16kWh10
68310041Battery Discharge Energy on that dayU16kWh10
69310051PV Generation Energy on that dayU16kWh10
70310061Loading Energy on that dayU16kWh10
71310081Energy Purchased from Grid on that dayU16kWh10
72311022Total Energy injected to gridU32kWh10
31103
73311042Total Energy Purchased from Grid from MeterU32kWh10
31105
74311062Total Output Energy on backup portU32kWh10
31107
75311082Total Energy Charged to BatteryU32kWh10
31109
76311102Total Energy Discharged from BatteryU32kWh10
31111
77311122Total PV GenerationU32kWh10
31113
78311142Total Loading Energy consumed at grid sideU32kWh10
31115
79311182Total Energy Purchased from Grid at inverter sideU32kWh10
31119
80320001Battery TypesU16N/A1
81320011Battery stringsU16N/A1
82320021Battery protocolU16N/A1
83320031Software VersionU16N/A1
84320041Hardware VersionU16N/A1
85320051BMS Charge ImaxU16A10
86320061BMS Discharge ImaxU16A10
87330001SOCU16%100
88330011SOHU16%100
89330021BMS StatusU16N/A1
90330031BMS Pack TemperatureU1610
91330081Max Cell Temperature IDU16N/A1
92330091Max Cell TemperatureU1610
93330101Min Cell Temperature IDU16N/A1
94330111Min Cell TemperatureU1610
95330121Max Cell Voltage IDU16N/A1
96330131Max Cell VoltageU16V1000
97330141Min Cell Voltage IDU16N/A1
98330151Min Cell VoltageU16V1000
99330162BMS ERROR CODEU32N/A1
33017
100330182BMS WARN CODEU32N/A1
33019

Read-Write registers continue on the next page…

3 Comments

  • Hey
    Thanks, great information, very helpful.
    I’m owning an M-Tec system (the same, just different badge) and I’m currently trying to decipher some of the values and there are two that confuse me, maybe you got some more experience and you can help.
    What is Invt_A_P (And B and C of course)? In total it’s always up to 100 W above the sum of PV power and battery power. PV power and battery power are matching the values in the official dashboard, so I do trust them, at least as far as you can trust companies and their dashboards. Might it be the inverter power including heat losses? The inverter has a big heat sink and it is still above 40 °C, so that might match. I’ wouldn’t be surprised at all if the company hides the system losses in its dashboard. What’s your experience, do you think that might be right?
    Second items isn’t that important, just confusing: Backup power is always something like 60 W, though the backup line isn’t even connected. I guess that’s a measurement error, probably tolerances on the current sensors, plus maybe something like a tolerance compensation to be sure to never get a measurement below the real value. Do you see something similar?
    Hm, while writing this, I begin to wonder if the things might be related, with the system pulling it’s own power demand from the backup line.

    Cheers,
    Holger

    • Hi Holger,
      Invt_A_P (And B and C of course) translates to Inverter_L1_Power, Inverter_L2_Power and Inverter_L3_Power in Germany and is simply the english naming convention for the three phases in use. It represents the AC output power of the inverter per phase and is not directly related to either PV power nor battery power.
      You don’t find these values on the overview page of the app or webpage, but you can see it under Devices -> realtime information in the “inverter AC parameters” block

      Regards,
      Martin

  • Hi, thank you, this site helped a lot. I also wanted to connect via Modbus TCP, this worked for me at the end (i just used QModMaster):
    Slave-IP: IP of the Inverter (device “espressif” on the router)
    TCP-Port: 502
    Modbud Mode: TCP
    Unit ID: 255
    Read Holding Registers (0x03)
    Start Address: e.g. 33001 for the charging state (you must add 1 to the register number)

    This should word on Wattsonic inverters Gen3, M-Tec Gen3 and some other brands with the same inverter inside.

Leave a Reply

Your email address will not be published. Required fields are marked *