---
title: "Nibe F1245"
description: "Nibe F1245 ground source heat pump integrated via Modbus RTU through the MODBUS 40 RS-485 accessory."
url: "https://taphome.com/en/compatibility/nibe-f1245/"
language: en
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","heat-pump","rs485","ground-source","hot-water","modbus-40"]
  questions: ["How to integrate Nibe F1245 with TapHome?","What does the Nibe F1245 TapHome template monitor and control?","How to connect Nibe F1245 via MODBUS 40 RS-485 to TapHome?","How to configure hot water Economy, Normal and Luxury modes on the Nibe F1245?","What is the MODBUS 40 accessory and how does it work with TapHome?","How to monitor compressor status on the Nibe F1245 via Modbus?"]
---

# Nibe F1245

Communication: Modbus RTU

- [Nibe Official Website](https://www.nibe.eu)

The Nibe F1245 is a ground source heat pump that communicates with TapHome via Modbus RTU over RS-485. Communication requires the NIBE **MODBUS 40** accessory — an external RS-485 interface module that plugs into the heat pump's internal bus. The template reads holding registers in the 40xxx range (sensors and status) and writes to the 47xxx range (settings and control), using 9600 baud, 8N1, with a default Slave ID of 1.

The F1145 and F1245 share the same register set and are interchangeable from a Modbus perspective.

## Hardware connection

### MODBUS 40 accessory

The Nibe F1245 does not have built-in Modbus support. An external **MODBUS 40** accessory (sold separately) is required. This module connects to the heat pump's internal communication bus and exposes an RS-485 interface for external Modbus RTU masters such as TapHome Core.

Connect the MODBUS 40 RS-485 terminals to TapHome Core:

- **A+** on MODBUS 40 to **A+** on TapHome RS-485
- **B-** on MODBUS 40 to **B-** on TapHome RS-485
- **GND** to **GND** on TapHome

> [!WARNING]
> The GND wire must be connected between the MODBUS 40 and TapHome Core. Without proper grounding, communication may be unreliable, especially over longer cable runs.

### Communication parameters

| Parameter | Value |
|-----------|-------|
| Protocol | Modbus RTU |
| Baud rate | 9600 |
| Data bits | 8 |
| Parity | None |
| Stop bits | 1 |
| Slave ID | 1 (configurable) |

## Configuration

### Enabling Modbus communication

1. Install the MODBUS 40 accessory into the heat pump according to the NIBE installation guide
2. The accessory should be automatically detected by the heat pump
3. Verify the Slave ID setting — default is 1, configurable if multiple units share the bus
4. In TapHome, add a new Modbus RTU device using the IP address of the RS-485 gateway (if using a TCP-to-serial converter) or configure the direct serial connection

> [!NOTE]
> The S-series heat pumps (S1155, S1255) have built-in Modbus TCP on port 502, activated via menu 7.5.9. The F1245 does **not** have this feature — the MODBUS 40 accessory is the only supported communication path.

> [!TIP]
> If the Slave ID is changed from the default (1), update the corresponding parameter in the TapHome template import settings.

## Device capabilities

### Operating mode control

The template provides full control over the heat pump's operating mode:

- **Mode** — selects between Auto, Manual, and Additive Heating Only. In Auto mode, the heat pump manages heating and cooling demand automatically. Manual mode allows direct control, and Additive Heating Only disables the compressor and relies solely on the auxiliary electric heater.
- **Allow Heating** — enables or disables additive and manual heating
- **Additive Heating (Manual)** — enables or disables the auxiliary electric heater in manual mode
- **Allow Cooling** — permits the heat pump to operate in cooling mode (H:47372)

### Hot water management

Hot water control is the most detailed part of the template, offering three thermostat modes and a mode selector:

- **Hot Water Mode** — switches between Economy (0), Normal (1), and Luxury (2). Each mode has its own temperature setpoints. Service actions allow configuring start and stop temperatures for each mode directly from TapHome (range 5-70 °C).
- **Hot Water Luxury** — thermostat reading the BT6 current hot water temperature and controlling the luxury-mode start/stop setpoints. The Delta service attribute shows the difference between start and stop temperatures.
- **Hot Water Normal** — same as Luxury but for the normal-mode setpoints.
- **Hot Water Economy** — same as Luxury but for the economy-mode setpoints.
- **Hot Water Production** — master switch to enable or disable domestic hot water production entirely.

### Temperature monitoring

The template includes five temperature sensors, all reading from holding registers with automatic divide-by-10 conversion to °C:

- **Outdoor Temperature** — BT1 outdoor sensor, with service attributes for the hourly average and long-term average
- **Supply Temperature S1** — BT2 supply line temperature for climate system S1
- **Return Temperature** — BT3 return line temperature
- **Room Temperature** — BM1 BT50 wireless room temperature sensor
- **Hot Water Economy/Normal/Luxury** — each thermostat also reads the current BT6 hot water load temperature

### Environmental sensors

- **Humidity** — BM1 humidity sensor reading in %RH (values above 100% are filtered as invalid). A service attribute shows the adjusted humidity from the +Adjust accessory.
- **Pressure** — BM1 pressure sensor converted from kPa to bar (values below -30 bar are filtered as invalid)

### Compressor and system status

- **Compressor Status** — binary on/off indicator from the compressor contact. A service attribute provides detailed state information: Stopped (20), Starting (40), Running (60), or Stopping (100).
- **Cooling Status** — indicates whether the system is in cooling mode. A service attribute reports whether freeze protection is currently active.
- **Current Fan Speed** — reads the current fan speed as a percentage
- **Pump HW Speed** — hot water circulation pump speed control (read and write)

### Additional capabilities

The Nibe F1245 exposes a wide range of additional registers not yet included in the template. Key capabilities include brine inlet/outlet temperatures (BT10, BT11) for ground loop monitoring, condenser and hot gas temperatures for compressor health tracking, refrigerant circuit sensors (liquid line, suction gas), wired room temperature (BT50), flow rate measurement (BF1), three-phase current monitoring (BE1-BE3), degree minutes for smart heating control, and energy metering for hot water and heating. These can be added in a future template update.

> [!TIP]
> The Degree Minutes register (H:40940) is a commonly used control parameter for advanced heating automation. It can be added as a custom Modbus device in TapHome using register H:40940, data type s32 (two consecutive registers), with a scale factor of 10.

## Troubleshooting

### No communication with the heat pump

1. Verify that the MODBUS 40 accessory is correctly installed and detected by the heat pump
2. Check RS-485 wiring: A+ to A+, B- to B-, GND connected
3. Confirm communication parameters: 9600 baud, 8N1, Slave ID 1
4. If using a TCP-to-serial converter, verify the converter is online and correctly configured

### Temperature readings show incorrect values

All temperature registers use a scale factor of 10 (raw value divided by 10). If readings appear 10x too high, verify the conversion is correctly configured in TapHome. Some registers also include NaN guards — values outside expected ranges are treated as invalid.

### Hot water setpoints not taking effect

The hot water thermostat writes to paired start/stop registers. Verify the correct Hot Water Mode is selected (Economy, Normal, or Luxury) before adjusting temperatures. The write sets the start temperature directly and calculates the stop temperature using the Delta parameter.

### Register 43xxx values not updating

Some registers in the 43xxx range (compressor status, cooling status, fan speed) are not documented in the official NIBE register map — they are derived from community sources. If these registers return errors, the heat pump firmware version may not support them.

## Available devices

Nibe F1245 Module

Additive Heating (Manual) Switch

Enables or disables the auxiliary electric heater in manual mode

Register: H:47370 Uint16

Values / States: ON · OFF

Allow Cooling Switch

Permits the heat pump to operate in cooling mode

Register: H:47372 Uint16

Values / States: ON · OFF

Allow Heating Switch

Permits additive and manual heating operation

Register: H:47371 Uint16

Values / States: ON · OFF

Compressor Status Reed Contact Read-only

Compressor on/off indicator with detailed state — Stopped, Starting, Running, Stopping

Register: H:43435 Uint16

Service Attributes

|                   |
|-------------------|
| Compressor Status |

Cooling Status Reed Contact Read-only

Cooling mode indicator with freeze protection monitoring

Register: H:43024 Uint16 numeric

Service Attributes

|                   |
|-------------------|
| Freeze Protection |

Current Fan Speed Dimmer Read-only

Register: H:43108 (implicit) Int16 Unit: % numeric

Hot Water Economy Thermostat

Economy-mode hot water thermostat — current temperature and adjustable start/stop setpoints for lower energy consumption

Register: H:40014 → H:47045 Int16 Unit: °C numeric

Service Attributes

|                   |
|-------------------|
| Delta (Max - Min) |

Hot Water Luxury Thermostat

Luxury-mode hot water thermostat — current temperature and adjustable start/stop setpoints for higher comfort

Register: H:40014 → H:47043 Int16 Unit: °C numeric

Service Attributes

|                   |
|-------------------|
| Delta (Max - Min) |

Hot Water Mode Multi-value Switch

Hot water mode selector — Economy (lower energy), Normal, Luxury (higher comfort) with configurable start/stop temperatures per mode

Register: H:47041 Int16 numeric

Values / States: Economy · Normal · Luxury

Service Actions

|                |
|----------------|
| Luxury Set Up  |
| Normal Set Up  |
| Economy Set Up |

Hot Water Normal Thermostat

Normal-mode hot water thermostat — current temperature and adjustable start/stop setpoints

Register: H:40014 → H:47044 Int16 Unit: °C numeric

Service Attributes

|                   |
|-------------------|
| Delta (Max - Min) |

Hot Water Production Switch

Master switch to enable or disable domestic hot water production

Register: H:47387 Bool

Values / States: ON · OFF

Humidity Variable Read-only

Indoor humidity from BM1 wireless sensor module (%RH)

Register: H:40834 Uint16 Unit: % numeric

Service Attributes

|          |
|----------|
| Humidity |

Mode Multi-value Switch

Operating mode selector — Auto, Manual, Additive Heating Only

Register: H:47570 Uint16 numeric

Values / States: Auto · Manual · Additive Heating Only

Outdoor Temperature Temperature Sensor Read-only

Register: H:40004 (implicit) Int16 Unit: °C numeric

Service Attributes

|                                    |
|------------------------------------|
| Average Hourly Outdoor Temperature |
| Outdoor Temperature Average        |

Pressure Variable Read-only

System pressure from BM1 sensor module, displayed in bar

Register: H:40857 Int16 Unit: bar numeric

Pump HW Speed Dimmer

Hot water circulation pump speed control (%)

Register: H:47413 (implicit) Int16 Unit: % numeric

Return Temperature Temperature Sensor Read-only

Register: H:40012 (implicit) Int16 Unit: °C numeric

Room Temperature Temperature Sensor Read-only

Room temperature from BM1 BT50 wireless sensor module

Register: H:40856 (implicit) Int16 Unit: °C numeric

Supply Temperature S1 Temperature Sensor Read-only

Supply line temperature for climate system S1

Register: H:40008 (implicit) Int16 Unit: °C numeric

**Connection:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Possible improvements (16)

- H:40013 Hot Water Top (BT7) — Top of hot water tank temperature — important for hot water status monitoring
- H:40015 Brine In Temperature (BT10) — Ground loop brine inlet temperature — key ground source heat pump metric
- H:40016 Brine Out Temperature (BT11) — Ground loop brine outlet temperature — paired with BT10 for COP estimation
- H:40017 Condenser Out Temperature (BT12) — Condenser output temperature
- H:40018 Hot Gas Temperature (BT14) — Discharge / hot gas temperature — compressor health indicator
- H:40019 Liquid Line Temperature (BT15) — Refrigerant liquid line temperature
- H:40022 Suction Gas Temperature (BT17) — Compressor suction gas temperature
- H:40033 Room Temperature S1 (BT50) — Room temperature from wired BT50 sensor (alternative to BM1 wireless used in template)
- H:40067 BT1 Outdoor Temperature Average — Already used as service attribute on Outdoor Temperature device — could be standalone
- H:40072 Flow Sensor (BF1) — Heating medium flow rate in l/min — useful for COP calculations
- H:40079 Current Phase 3 (BE3) — Electrical current measurement phase 3
- H:40081 Current Phase 2 (BE2) — Electrical current measurement phase 2
- H:40083 Current Phase 1 (BE1) — Electrical current measurement phase 1
- H:40940 Degree Minutes (32 bit) — Degree minutes R/W — main heat demand indicator, commonly used for smart control
- H:42437 Heat Meter - HW Cpr and Add - Total — Hot water energy metering (compressor + additive) — kWh
- H:42439 Heat Meter - Heat Cpr and Add - Total — Heating energy metering (compressor + additive) — kWh

## Sources

- NIBE Modbus S-Series Technical Information (M12676EN)
  
  [assetstore.nibe.se](https://assetstore.nibe.se/hcms/v2.3/entity/document/878103/storage/ODc4MTAzLzAvbWFzdGVy) 2026-03-17
  
  [PDF](https://taphome.com/compatibility/devices/nibe-f1245/manufacturer/Modbus-S-series-EN-M12676EN-1.pdf)
- Nibe Library — F1145/F1245 Register Map (GitHub)
  
  [github.com](https://github.com/yozik04/nibe) 2026-03-17

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

