[Custom Integration] Norsup HeatPump

Custom integration for Norsup pool heat pumps using the PC1004 controller (RS485, via an RS485-to-TCP converter — no cloud, fully local).

What it does

  • Climate entity: power on/off, mode (cool/heat/auto), setpoint per mode
  • Sensors: water temperatures, compressor load/frequency, pressure, and more (T01-T19, O06-O09)
  • Silence mode switch

How it works

Reverse-engineered via RS485 bus sniffing (no official API/docs exist for this controller). Talks to the pump through an RS485-to-TCP converter (tested with a USR-DR134) connected to the pump’s CN4 port — no need for the original AquaTemp WiFi module.

Compatibility

Built and tested on a Norsup P26TX/32 with PC1004 controller. Other brands using the same PC1004 board (Fairland, Poolex, etc.) may work too, but this is untested — feedback welcome if you try it.

Installation

Not in the HACS default store (yet) — add it as a custom repository:

  1. HACS → 3-dot menu → Custom repositories
  2. URL: https://github.com/com2it/ha-norsup
  3. Category: Integration

Full details, register map, and release history: GitHub - com2it/ha-norsup: Home Assistant integration for Norsup pool heat pumps with PC1004 controller · GitHub

This is my first custom integration, so feedback and bug reports are very welcome!

Hi Wouter, thanks for building this — the integration installed cleanly and partly works, but I’m hitting a wall with write commands and wanted to report back as you asked.

Setup

  • Norsup P17X with PC1004 controller
  • USR-DR134 RS485-to-TCP converter, connected to the pump’s 485A+ / 485B− / GND terminals
  • Converter: TCP Server, port 502, 9600 8N1
  • EDGE Gateway working mode: Modbus Multi Host Polling (with “Close” nothing works at all)

What works

The integration sets up fine and creates the climate entity, the switches and all sensors. Active Setpoint and Auto Setpoint show correct values that match the pump’s display, so reading works in principle.

What doesn’t work

  1. Writing fails in both directions:
power on niet bevestigd door de warmtepomp na 3 pogingen (adres 1011, waarde 1)
power off niet bevestigd door de warmtepomp na 3 pogingen (adres 1011, waarde 0)

Important detail: the pump does not react at all. I checked the control panel while switching from HA — nothing changes. So it’s not just a missing confirmation, the command doesn’t take effect.

  1. Most sensors stay “Unknown” even while the pump is running — Coil Temperature (T04), Compressor Current, Ambient Temperature and others. Only the setpoints come through.

What I already tried

  • Both A/B wire orientations
  • 9600 and 19200 baud
  • EDGE Gateway: Close, Modbus Simple Protocol Conversion, Modbus Multi Host Polling
  • Poll Timeout 200 ms and 1000 ms
  • Abnormal Response: Close and Open

None of this changed the behaviour.

Question

I’m on a P17X, while you developed on a P26TX/32 — could the smaller model behave differently here? Could it be that on my model the RS485 port is read-only, for example because the original wired controller acts as bus master? Or is there a state the pump needs to be in before it accepts writes? Happy to run any tests or provide sniffing data if that helps.

Hi @unknow24 ,
Thank you for trying this integration !
The Edge Gateway mode should be : modbus simple protocol conversion.
Did you check for the latest firmware for your DSR134 ?
Your Port parameters are correct
Do you use v0.1.28 of the integration ?