Deye / Sunsynk RS485 Modbus to MQTT Integration
Take back control of your hybrid inverter data. Ditch the slow Solarman cloud logger and stream battery SOC, grid power, and solar generation locally via a Valtoris Edge Gateway.
1. The Problem of Default Deye Loggers
Whether it’s branded as Deye, Sunsynk, or Sol-Ark, these hybrid inverters are powerhouses. However, their factory Wi-Fi loggers only poll data every 5 minutes and then push it all to some remote 3rd party server. For accurate energy management, peak shaving or Home Assistant Integrations, you need reliable local polling via Modbus RTU in less than a second.
2. BMS / RS485 Port Wiring
Most Deye/Sunsynk inverters feature a dedicated RS485 port (often shared with the BMS port or labeled as “Meter/485”). Connect this port to the serial terminals of your Valtoris VT-DTU500 gateway.
| Deye/Sunsynk RJ45 Port | Valtoris VT-DTU500 Terminal | Description |
|---|---|---|
| Pin 7 or Pin 1 | B- (Data-) | RS485 B (Negative) – Pin varies by exact kw model |
| Pin 8 or Pin 2 | A+ (Data+) | RS485 A (Positive) |
| Pin 6 (Optional) | GND | Signal Ground |
💡 Why Do You Need an Industrial Gateway?
CA Raspberry Pi directly connected to a USB-RS485 adapter often causes bus timeouts due to interruptions from the Linux OS. The Valtoris VT-DTU500 handles the raw Modbus polling at the hardware level, parses the hex values, and pushes clean JSON payloads directly to your local MQTT broker.
View VT-DTU500 Gateway3. Deye Modbus Register Map (Key Holding Registers)
Set your Valtoris gateway to Baud Rate: 9600, Data Bits: 8, Stop Bits: 1, Parity: None. Default Slave ID is typically 1. Deye uses Holding Registers (0x03) for most of its metrics:
| Register (Dec) | Data Type | Description | Unit / Scaling |
|---|---|---|---|
| 590 | S16 | Total Grid Power (Negative = Exporting) | 1 W |
| 586 | U16 | Battery SOC (State of Charge) | 1 % |
| 591 | U16 | Battery Voltage | 0.01 V |
| 592 | S16 | Battery Current (Negative = Discharging) | 0.01 A |
| 502 | U16 | Daily PV Generation | 0.1 kWh |
4. Troubleshooting Deye Communication
If you are failing to retrieve data, check these common Deye-specific quirks:
- Slave ID Conflicts: If you are plugging into the same port where the battery BMS communicates, ensure your gateway’s Slave ID does not conflict with the battery protocol.
- Pinout Variations: Deye uses different pinouts across their 5kW, 8kW, and 12kW+ models. If Pins 7/8 yield no data, check the manual for your specific inverter model—it may use Pins 1/2 for external RS485 communication.
- Signed vs Unsigned Integers: Registers like Grid Power (590) can be negative when exporting to the grid. Ensure your gateway is configured to read these as Signed 16-bit integers (INT16), otherwise, you will see a massive random number (e.g., 65530) when exporting.
REQUEST A QUOTE
Tell us about your project requirements and get volume pricing.
