Norsup Inverter Pool Pump

Hi all,

I’m looking for some guidance integrating a Norsup inverter pool pump into Home Assistant via Modbus, and I’m at the point where I’d appreciate a second set of eyes from anyone familiar with DAB E.Swim–based pumps or Modbus RTU gateways.

Hardware / Topology

  • Pump: Norsup inverter pool pump
    (OEM / rebadged DAB E.Swim–based controller)
  • Comms: RS-485 (Modbus RTU)
  • Gateway: Waveshare RS485 → Ethernet
  • HA install: Home Assistant Core (VM), YAML-based Modbus config

Home Assistant
|
| Modbus TCP
v
Waveshare RS485 ↔ ETH (192.168.1.223)
|
| RS-485
v
Norsup / DAB E.Swim pump

Pump behaviour

  • Pump display shows ADR57 (confirmed on the controller)
  • Timer slots all disabled
  • Display shows T0 flashing
  • Front panel button combos cannot change control mode
  • Pump does not respond to Modbus writes (RPM etc.)

From documentation and behaviour, this appears to be local-priority mode until BUS / external control is accepted.

Gateway status

  • Waveshare web UI reachable
  • Initially TX/RX counters were 0 / 0
  • After fixing HA config, TX and RX counters now increase
    • So Modbus TCP traffic is being forwarded to RS-485
    • Something on the bus is responding (or at least frames are moving)

modbus:

  • name: pool_pump_u57
    type: tcp
    host: 192.168.1.223
    port: 502
    timeout: 5
    unit_id: 57

    sensors:

    • name: Pool Pump Alive Test
      address: 0
      input_type: holding
      data_type: uint16
      scan_interval: 15

    numbers:

    • name: Pool Pump Target RPM
      address: 0
      input_type: holding
      data_type: uint16
      min_value: 800
      max_value: 3000
      step: 100

Current HA log output

I now consistently see messages like:

Pymodbus: pool_pump_u57: Error: device: 57 address: 0 →
Modbus Error: [Input/Output] No response received after 3 retries

So:

  • Correct unit_id is being used
  • Requests are being sent
  • No valid reply from the pump for that register

What I believe is true so far

  • RS-485 wiring is correct (TX/RX activity confirmed)
  • Waveshare gateway is working and forwarding traffic
  • Pump address is definitely 57
  • This is not a Home Assistant initialisation issue anymore
  • Likely causes now:
    • BUS / external control not enabled on the pump
    • Wrong register map / wrong function (read vs write-only)
    • RPM register is not HR0, or is scaled differently
    • Pump only accepts commands once explicitly put into BUS mode

What I’m looking for help with

  1. Has anyone successfully controlled a DAB E.Swim (or OEM Norsup) pump via Modbus?
  2. Does BUS / external mode require a physical DIP switch or installer tool, or does it auto-engage when valid Modbus traffic is detected?
  3. Is there a known Modbus register map for E.Swim-based pumps (RPM, run/stop, status)?
  4. Are RPM values typically:
  • absolute (e.g. 1500)
  • or scaled (e.g. 150 = 1500 RPM)?

I’m happy to test different registers / data types — just want to avoid random guessing if someone already knows the correct approach.

Thanks in advance — and happy to post updates once cracked in case it helps others.

See if the Protocol Wizard can help with troubleshooting.