How to Fix the Deye / Sunsynk 65535W Power Error
One of the most reported problems integrating solar hybrid inverters in a SCADA system or Home Assistant is the Deye 65535W power error. Everything looks normal while the system is taking from the grid but as soon as the inverter starts pushing excess solar power to the grid the power reading immediately jumps to a scary 65,535W (or 65,526W).
Register: 86 (Grid Power)
Status: Exporting to Grid
Raw Hex: 0xFFFF
Value: 65535 W (Expected: -1 W)There is nothing wrong with your inverter, and your electrical panel is not surging 65kW. This is a classic Modbus data parsing anomaly called integer underflow, and it happens when your monitoring software is interpreting binary data in an unexpected way.
The Root Cause: Two’s Complement Rollover
Deye and Sunsynk inverters use positive and negative numbers to show the direction of power flow. Positive (e.g. 2000W) is power consumed . Negative (e.g. -10W) is power exported .
In computer science, there is a binary method called Two’s Complement. In a 16-bit register, the decimal number -1 is stored identically to the binary representation of 65535 (which is 1111 1111 1111 1111 or 0xFFFF). If your reading software doesn’t know to look for a negative sign, it just finds the maximum positive value that it can.
The Free Software Fix: Change U16 to S16
To fix this, you must change the data type configuration in your Modbus client (PLC, Node-RED, or Home Assistant) for that specific register.
Change the data type from Unsigned 16-bit (U16 / UINT16) to Signed 16-bit (S16 / INT16). Once configured as a signed integer, the software will correctly interpret the leading binary bit as a minus sign, and 65535 will instantly transform back to the correct -1W.
- In Home Assistant: Ensure the
data_typein your Modbus configuration YAML is explicitly set toint16instead ofuint16. - In Codesys / PLCs: Cast the incoming Modbus
WORDdirectly into anINTdata type.
Managing Parsing at Commercial Scale
If you are monitoring only a single residential inverter, simply changing the type of data in your software interface permanently fixes the bug. But if you are an integrator with commercial solar farms with Deye, Growatt and SMA inverters, you will be dealing with inconsistent data types (U16 vs S16) and negative power representations across hundreds of endpoints, which creates significant software maintenance overhead.
In professional architectures, integrators offload this data normalization to an edge protocol gateway. The gateway acts as a translator at the hardware level. It does the correct S16 signed conversions, byte swapping and scaling factors for each particular inverter model at the edge, and gives clean, consistent data to your SCADA system.
Standardizing mixed-brand solar telemetry?
Don’t code U16 and S16 Modbus register parsers in your dashboard software any more. Valtoris Edge Gateways perform data normalization, Endian swapping and negative integer logic at the edge, providing unified Modbus TCP or JSON payloads directly to your control room.
