GoodWe inverters support the SunSpec protocol over Modbus TCP, which allows integration with Victron GX devices (like the Cerbo GX) for monitoring PV production. This is the recommended approach if your GoodWe model is compatible. If automatic detection fails or your model lacks full SunSpec support, you can use Node-RED on the GX device as a fallback to create a virtual PV inverter by pulling data via Modbus.
### Prerequisites
- Both the GoodWe inverter and Victron GX device must be on the same local network (e.g., via Ethernet or Wi-Fi).
- GoodWe inverter must have a LAN module or WiFi+LAN module installed (replace the default Wi-Fi module if needed; purchase from GoodWe).
- Victron Venus OS version 3.60 or later (update via VRM or local console for SunSpec support).
- GoodWe firmware: ARM chip version 13+ for high-voltage models or 15+ for low-voltage models.
- No additional hardware is typically needed beyond network connectivity.
### Step 1: Configure the GoodWe Inverter for Modbus TCP
- Power on the inverter and access its settings (via the GoodWe app, web interface, or display menu—refer to your model’s manual).
- Enable Modbus TCP:
-
Set the connection type to “Modbus TCP/IP”.
-
Assign a static IP address on the same subnet as your Victron GX (e.g., if GX is 192.168.1.100, set GoodWe to 192.168.1.101).
-
Set the server port to 502.
-
Confirm and save settings.
- Test connectivity: Ping the GoodWe IP from another device on the network to ensure it’s reachable.
### Step 2: Configure the Victron GX Device
- Access the GX remote console (via local IP or VRM portal).
- Go to **Settings > PV Inverters**.
- Enable PV inverter monitoring if not already on.
- Select **Scan** to automatically detect SunSpec-compatible devices on the network.
- If not detected, add manually:
- The GX will poll the inverter periodically for data like power output, energy yield, voltage, and current.
- Once connected, PV production data will appear in the GX console overview, device list, and VRM portal (e.g., as total PV power, daily yield).
### Troubleshooting
- If no data appears: Verify network connectivity, firewall settings (ensure port 502 is open), and that the GoodWe is responding to Modbus queries. Use a tool like Modbus Poll on a PC to test reading registers from the GoodWe IP.
- Common GoodWe Modbus registers for PV data (for manual verification or custom setups; SunSpec uses standardized ones starting around 40000-40200 for common metrics):
-
PV1 Voltage: Register 768 (U16, scale 0.1 V).
-
PV1 Current: Register 770 (U16, scale 0.1 A).
-
PV1 Power: Register 772 (U16, scale 1 W).
-
Daily Energy Yield: Register 3513-3514 (U32, scale 0.1 kWh).
-
Total Energy Yield: Register 3515-3516 (U32, scale 0.1 kWh).
-
AC Power Output (total): Register 3008-3009 (U32, scale 1 W).
-
Refer to your model’s manual for exact maps, as they vary (e.g., for MT/SMT series).
- If SunSpec doesn’t work (e.g., model-specific issue), proceed to the Node-RED alternative below.
### Alternative: Use Node-RED for Custom Integration
If direct SunSpec integration fails, install the “Large” Venus OS image on your GX device (via VRM > Firmware > Install Large Image) to enable Node-RED. This creates a virtual PV inverter in the Victron system by reading GoodWe data via Modbus and publishing it to the dbus/VRM.
#### Steps for Node-RED Setup
1. **Enable Node-RED**:
-
In GX settings: **Services > Node-RED > Enable**.
-
Access Node-RED editor: Go to GX IP:1880 (e.g., 192.168.1.100:1880) in a browser.
2. **Install Required Palettes (if needed)**:
-
In Node-RED: Menu > Manage Palette > Install tab.
-
Search and install: `@victronenergy/node-red-contrib-victron` (pre-installed on Venus Large).
-
Install `node-red-contrib-modbus` for Modbus reading.
3. **Create the Flow**:
-
Add a “Modbus Client” node: Configure for TCP, host = GoodWe IP, port = 502, unit ID = 1 (or your inverter’s default, often 247).
-
Add “Modbus Read” nodes: Set to read holding registers (function code 03). Poll every 5-10 seconds for key PV registers (e.g., 3008-3009 for AC power, 3513-3514 for daily energy).
-
Add function nodes to process data (e.g., scale values, combine into objects like {power: value, energy: value}).
-
Add a “Victron Virtual Device” node (from contrib-victron palette): Set device type to “PV Inverter”. Map processed data to paths like `/Ac/Power`, `/Ac/Energy/Forward`, `/Yield/Power`.
-
Connect: Inject/Timer > Modbus Read > Function (process) > Virtual Device.
-
Deploy the flow.
4. **Test and Monitor**:
For model-specific details, consult the GoodWe and Victron manuals. If issues persist, check the Victron Community forum for user experiences with your exact inverter model.