DTSU666 3‑Phase + mbpoll Command Reference 🔌 Standard Communication Settings (DTSU666) Most DTSU666 meters use: Protocol : Modbus RTU Baud Rate : 9600 Data Bits : 8 Parity : None Stop Bits : 2 Mode : Big‑endian Table : Input Registers (FC04) Base communication block used in all commands: -m rtu -b 9600 -P none -s 2 🧠 Critical Flags (Important) Flag Meaning Required? -t 3 Input Registers (Function 04) ✅ Yes :float 32‑bit floating point ✅ Yes -B Big‑endian word order ✅ Yes -0 Zero‑based addressing ✅ Yes -a Slave address ✅ Yes -1 Poll once Optional -l 5000 Poll every 5 seconds Optional 🔹 Phase‑to‑Neutral Voltages (L1‑N, L2‑N, L3‑N) Register:  0x2006 mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x2006 -c 3 \ /dev/ttyUSB0 -a 1 -1 🔹 Line‑to‑Line Voltages (L1‑L2, L2‑L3, L3‑L1) Register:  0x2000 mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x2000 -c 3 \ /dev/ttyUSB0 -a 1 -1 🔹 Phase Currents (L1, L2, L3) Register:  0x200C mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x200C -c 3 \ /dev/ttyUSB0 -a 1 -1 🔹 Total Active Power (kW) Register:  0x2012 mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x2012 -c 1 \ /dev/ttyUSB0 -a 1 -1 🔹 Frequency (Hz) Register:  0x2044 mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x2044 -c 1 \ /dev/ttyUSB0 -a 1 -1 🔹 Total Active Energy (kWh) Register:  0x4000 mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x4000 -c 1 \ /dev/ttyUSB0 -a 1 -1 🔁 Continuous Polling Example (Every 5 Seconds) mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x2006 -c 1 \ -l 5000 \ /dev/ttyUSB0 -a 1 🔢 Change Slave Address (Only One Meter Connected) ⚠ Use Holding Registers (Function 03) for configuration. Register:  0x002E mbpoll -m rtu -b 9600 -P none -s 2 \ -t 4 :int16 -0 \ -r 0x002E \ /dev/ttyUSB0 -a 1 -W -- 5 Changes slave ID from 1 → 5. 🧪 Quick Communication Test Fastest health check: mbpoll -m rtu -b 9600 -P none -s 2 \ -t 3 :float -B -0 \ -r 0x2006 -c 1 \ /dev/ttyUSB0 -a 1 -1 If you see ~230V → communication confirmed. 🚨 Troubleshooting Quick Guide Symptom Likely Cause Timeout Wrong address or wiring 4200+ volts Reading wrong register -8192 values Wrong data type Nonsense numbers Missing  -B No  /dev/ttyUSB0 USB‑RS485 not detected