W04 warning — meter address collision (001 / 002)
Symptom: The inverter raises a W04 warning — often right after enabling Grid Tie Meter2, even on a single-meter system — or metering data looks wrong with no warning at all.
W04 is an RS485 Modbus address collision — the inverter sees two devices answering at the same Modbus address (almost always 002) on the meter bus. It commonly appears right after enabling Grid Tie Meter2, and it can appear even when only one physical meter is installed.
Why one meter can trigger W04
Deye expects meter1 at address 001 and meter2 at address 002. The inverter setting “Grid Tie Meter2” is what tells it to look for a meter at 002 — and the way it sets that up is destructive: enabling Grid Tie Meter2 sends an RS485 broadcast that force-changes the address of every meter on the bus to 002.
So if a meter was already connected when Grid Tie Meter2 was enabled, that meter gets bumped from 001 to 002. If two meters were connected, both land on 002 → collision → W04.
⚠️ The meter address does NOT revert on its own. Disconnecting and reconnecting the meter, or power-cycling the inverter, will not put it back to 001. The address is now stored in the meter as 002 and must be actively changed back. Any advice that says “reconnect it and it reverts” is wrong.
How to recover (re-address the meter back to 001)
The correct method depends on the meter model:
| Meter | How to set the address back to 001 |
|---|---|
| SDM630MCT (3-phase) | Press the address button on the meter — works on-site. Valid in both 3-phase and 1P2W mode. |
| SDM120CTM — new version (1-phase) | Press the address button on the meter — works on-site. |
| SDM120CTM — older version (1-phase) | No on-site button. Needs a computer + USB-RS485 adapter running a Modbus tool (e.g. Modbus Poll / QModMaster) at 9600 baud to write the address 002 → 001. If that equipment isn’t available, replace the meter. |
To confirm what address a meter is currently on: read the meter’s own display (3-phase and new 1-phase units show it), or scan the RS485 bus (addresses 1–247, 9600 baud, Modbus RTU) with a USB-RS485 adapter. The Deye inverter UI does not expose a “show current meter address” command.
Avoid it in the first place
- Single meter (no legacy 3rd-party inverter): enable Ex_Meter For CT and select Eastron — and do NOT enable Grid Tie Meter2. On a one-meter system it isn’t needed, and enabling it will bump the meter to 002 (and can silently mis-tag its data — see below).
- Two meters (meter1 + meter2): connect only meter2 first, enable Ex_Meter For CT + Grid Tie Meter2, confirm meter2 is at 002, then connect meter1 (which stays at 001).
- For a 1-phase install that must never get stuck mid-commissioning, use the SDM630MCT in 1P2W mode — you keep on-meter button recovery instead of needing a computer + adapter on site.
The silent version (no W04, worse)
If meter1 alone gets bumped to 002 (for example, someone toggled Grid Tie Meter2 during testing), there is no warning at all — the inverter reads meter1’s data but treats it as meter2. Zero-export and time-of-use logic then act on the wrong signal, and the customer sees wrong consumption/export figures days or weeks later. If metering numbers look wrong after commissioning, check the meter address even if there is no W04.
For the Deye Modbus RTU register map, or help with a stuck older SDM120CTM, contact Suncloud support or the enquiry portal. See also smart meter wiring and SDM120 CT meter ID fix.