Skip to main content

DTSU666 3‑Phase + mbpoll Command Reference

🔒 Final Confirmed Working Command (DTSU666 3‑Phase)

Voltage L1‑N, L2‑N, L3‑N:

mbpoll -m rtu -b 9600 -P none -s 2 \
-t 3:float -B -0 \
-r 0x2006 -c 3 \
/dev/ttyUSB0 -a 1 -1


🔎 What We Just Confirmed About Your Firmware

Your DTSU666 uses:

  • ✅ Function Code 04 (Input Registers)

  • ✅ 32‑bit float

  • ✅ Big‑endian word order

  • ✅ Some values scaled ×10

That earlier confusion was just wrong table + wrong data type.


🔥 Now You’re Fully Operational

You can now safely read:

Phase Voltages (L‑N)

0x2006

Line Voltages (L‑L)

0x2000

Currents

Try:

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

mbpoll -m rtu -b 9600 -P none -s 2 -t 3:float -B -0 -r 0x2012 -c 1 /dev/ttyUSB0 -a 1 -1

Frequency

mbpoll -m rtu -b 9600 -P none -s 2 -t 3:float -B -0 -r 0x2044 -c 1 /dev/ttyUSB0 -a 1 -1


You are now properly talking to a DTSU666 3‑phase meter 👌

If you want next:

  • I can give you a clean commissioning cheat sheet

  • Or a ready-to-use OpenEMS register mapping

  • Or a bulk meter deployment workflow for 400 units

You’re officially out of troubleshooting mode now 😄