RegoHeatPump Binding

The Rego heat pump binding supports:

  • Rego 6xx controllers family and
  • Husdata interface.

The Rego 6xx family

The Rego 6xx controllers family is used in many heat pumps such as IVT/Bosch/Autotherm/Carrier and others.

Rego 6xx unit contain an interface marked as service. Header of this interface is close to the control unit. This is 5V (TTL) serial interface and is connected by a 9 pin can/d-sub connector. Pinout:

2 - RxD
3 - TxD
4 - +5V
5 - GND

Serial communication is using 19200 bps, 8 bit, no parity, 1 stop bit.

Thing configuration

Two connection types are supported:

  • TCP/IP and
  • serial (RS232).

TCP/IP connection

A transparent bridge between the serial interface of the heat pump and network (i.e. wifi) is used. This way no additional wires are required between heat pump and computer, running openhab.

There are many existing project providing such functionality, i.e. ser2net.

For my setup, I used a low budget (~5€) circuit, that is integrated into the heat pump and connects to a wifi using an ESP8266 based module.

Board:

board

The code running on the ESP module can be found here. There are other projects providing ESP firmware with similar functionality, i.e. ESP-LINK, but did not test with those.

Configuration of the TCP/IP thing:

  • address: the hostname/IP address of the transparent bridge on the local network - mandatory,
  • tcpPort: the port number to use to connect to the transparent bridge - optional, defaults to 9265,
  • refreshInterval: refresh interval in seconds, used to fetch new values from the heat pump - optional, defaults to 60 seconds.

Example thing definition:

regoheatpump:ipRego6xx:ivtIP [ address="192.168.2.50", tcpPort="9265" ]

Serial connection

In order to connect directly to the rego 6xx controller, one needs to adjust the TTL levels coming from the rego unit to levels used by a RS232 serial port, used within computers, using MAX232 or similar.

Parameters:

  • portName: the name of the serial port on your computer - mandatory,
  • refreshInterval: refresh interval in seconds, used to fetch new values from the heat pump - optional, defaults to 60 seconds.

Example thing definition:

regoheatpump:serialRego6xx:ivtSerial [ portName="COM3" ]

Channels

Below is the list of supported channels, all values are read only:

Channel Type IDItem Type
sensorValues#radiatorReturnTemperature
sensorValues#outdoorTemperature
sensorValues#hotWaterTemperature
sensors#radiatorForwardTemperature
sensorValues#indoorTemperature
sensorValues#compressorTemperature
sensorValues#heatFluidOutTemperature
sensorValues#heatFluidInTemperature
sensorValues#coldFluidInTemperature
sensorValues#coldFluidOutTemperature
sensorValues#externalHotWaterTemperature
status#lastErrorTimestampDateTime
status#lastErrorTypeString
frontPanel#powerLampSwitch
frontPanel#heatPumpLampSwitch
frontPanel#additionalHeatLampSwitch
frontPanel#hotWaterLampSwitch
frontPanel#alarmLampSwitch
controlData#radiatorReturnTargetTemperature
controlData#radiatorReturnOnTemperature
controlData#radiatorReturnOffTemperature
controlData#hotWaterTargetTemperature
controlData#hotWaterOnTemperature
controlData#hotWaterOffTemperature
controlData#radiatorForwardTargetTemperature
controlData#addHeatPowerNumber (%)
deviceValues#coldFluidPumpSwitch
deviceValues#compressorSwitch
deviceValues#additionalHeat3kWSwitch
deviceValues#additionalHeat6kWSwitch
deviceValues#radiatorPumpSwitch
deviceValues#heatFluidPumpSwitch
deviceValues#switchValueSwitch
deviceValues#alarmSwitch
settings#heatCurveNumber
settings#heatCurveFineAdjTemperature
registersettings#indoorTempSettingTemperature
settings#curveInflByInTempNumber
settings#adjCurveAt20Temperature
settings#adjCurveAt15Temperature
settings#adjCurveAt10Temperature
settings#adjCurveAt5Temperature
settings#adjCurveAt0Temperature
settings#adjCurveAtMinus5Temperature
settings#adjCurveAtMinus10Temperature
settings#adjCurveAtMinus15Temperature
settings#adjCurveAtMinus20Temperature
settings#adjCurveAtMinus25Temperature
settings#adjCurveAtMinus30Temperature
settings#adjCurveAtMinus35Temperature
settings#heatCurveCouplingDiffTemperature

The Husdata interface

The Husdata interface bridges the often complex communication methods with a heat pump controller and provides access through a simple standard interface over RS-232.

Supported heat pump models

Heat pump modelsTechnical
IVT Greenline / Optima 900Rego 600 Serial
IVT 490Rego 400 Serial
IVT Premiumline X, Optima/290-AWRego 800, Can bus
IVT Greenline HE/HC/HA+Prem HQ/EQRego 1000, Can bus
NIBE xx45EB100, RS-485
NIBE Fighter seriesStyr 2002, RS-485
Thermia Diplomat series901510, i2c

Above list is informational, please consult with the Husdata interface provider for further details.

Thing configuration

Two connection types are supported:

  • TCP/IP and
  • serial (RS232).

TCP/IP connection

A transparent bridge between the Husdata interface and network (i.e. wifi) is used.

There are many existing project providing such functionality, i.e. ser2net.

Configuration of the TCP/IP thing:

  • address: the hostname/IP address of the transparent bridge on the local network - mandatory,
  • tcpPort: the port number to use to connect to the transparent bridge - optional, defaults to 9265.

Example thing definition:

regoheatpump:ipHusdata:ivtIP [ address="192.168.2.50", tcpPort="9265" ]

Serial connection

One can connect the Husdata interface directly to a computer that runs openHAB.

Parameters:

  • portName: the name of the serial port on your computer - mandatory.

Example thing definition:

regoheatpump:serialHusdata:ivtSerial [ portName="COM3" ]

Channels

Below is the list of supported channels, all values are read only:

H1 IDNameChannel Type IDItem Type
001Radiator ReturnsensorValues#radiatorReturnTemperature
002Radiator ForwardsensorValues#radiatorForwardTemperature
003Heat carrier ReturnsensorValues#heatFluidInTemperature
004Heat carrier ForwardsensorValues#heatFluidOutTemperature
005Brine In / EvaporatorsensorValues#coldFluidInTemperature
006Brine Out / CondensersensorValues#coldFluidOutTemperature
007OutdoorsensorValues#outdoorTemperature
008IndoorsensorValues#indoorTemperature
009Hot water 1 / TopsensorValues#hotWaterTemperature
00AHot water 2 / MidsensorValues#externalHotWaterTemperature
00BHot gas / CompressorsensorValues#compressorTemperature
00EAir intakesensorValues#airIntakeTemperature
011PoolsensorValues#poolTemperature
104Add heat statuscontrolData#addHeatPowerPercentNumber - %
104Add heat statuscontrolData#addHeatPowerEnergyNumber - kW
107Heating setpointcontrolData#radiatorReturnTargetTemperature
108Compressor speedcontrolData#compressorSpeedNumber - %
203Room temp setpointsettings#indoorTempSettingTemperature
204Room sensor influencesettings#curveInflByInTempNumber
205Heat set 1, CurveLsettings#heatCurveNumber
206Heat set 2, CurveRsettings#heatCurve2Number
A01CompressordeviceValues#compressorSwitch
A04Pump Cold circuitdeviceValues#coldFluidPumpSwitch
A05Pump Heat circuitdeviceValues#heatFluidPumpSwitch
A06Pump RadiatordeviceValues#radiatorPumpSwitch
A07Switch valve 1deviceValues#switchValveSwitch
A08Switch valve 2deviceValues#switchValve2Switch
A09FandeviceValues#fanSwitch
A0AHigh PressostatdeviceValues#highPressostatSwitch
A0BLow PressostatdeviceValues#lowPressostatSwitch
A0CHeating cabledeviceValues#heatingCableSwitch
A0DCrank case heaterdeviceValues#crankCaseHeaterSwitch
A20AlarmdeviceValues#alarmSwitch
FF1EL-Meter 1deviceValues#elMeter1Number - pulses
FF2EL-Meter 2deviceValues#elMeter2Number - pulses