Skip to main content

Nibe MQTT integration

MQTT integration for controlling Nibe heatpumps. Supports HomeAssistant MQTT Autodiscovery.

Connection methods

  • RS485 hardwired using NibeGW on Arduino or RPi. NibeGW was developed by Pauli Anttila for Openhab's integration.
  • TCP Modbus for S Models
  • Serial Modbus for Nibe Modbus 40)

Supported heatpump models

F series

  • F370
  • F470
  • F730
  • F750
  • F1145
  • F1155
  • F1245
  • F1255
  • F1345
  • F1355

S series

  • S320
  • S325
  • S330
  • S332
  • S735
  • S1156
  • S1256
  • S2125

SMO series

  • SMO20
  • SMO40

SMOS series

  • SMOS40

VVM series

  • VVM225
  • VVM310
  • VVM320
  • VVM325
  • VVM500

VVMS series

  • VVMS325

Installation

PyPi

It is possible to install directly from PyPi

pip3 install nibe-mqtt

Then you will be able to run the service with command

nibe-mqtt -c config.yaml

Docker

See Docker Hub for available versions (tags)

Run with:

docker run -ti --pull=always --rm -p 9999:9999/udp -v "/Users/myuser/Desktop/config.yaml:/config/nibe-mqtt/config.yaml:ro" yozik04/nibe-mqtt:latest

Basic configuration

With NibeGW:

mqtt:
  host: 192.168.1.2
  port: 1883
  protocol: 5
  username: user
  password: pass
nibe:
  model: F1255
  nibegw:
    ip: 192.168.1.3
  poll:
    coils:
      - bt50-room-temp-s1-40033

For all configuration options lookup in config.py

With Modbus:

mqtt:
  host: 192.168.1.2
  protocol: 5
  username: user
  password: pass
nibe:
  model: F1255
  word_swap: true
  modbus:
    url: tcp://192.168.1.3:502
    slave_id: 1
  poll:
    coils:
      - bt50-room-temp-s1-40033

For all configuration options lookup in config.py

Supported coils

See the list of available parameters here

Writing Registers

See the list of supported coils to find out which registers can be written (set). For setting a register/coil, publish your data under the following topic: [prefix]/[coil]/set. Example: Publish ONE TIME INCREASE to nibe/coils/temporary-lux-48132/set for turning on temporary hot water lux mode.

Word swap

You might need to specify word_swap setting to let underneath library understand how to decode 32-bit integers (mostly counters). For most of the heat pumps with NibeGW connection method it will be auto detected (since nibe-mqtt 1.1.0, nibe 2.1.0).

...
nibe:
  ...
  word_swap: true
  ...

You can find the setting value in you Heat pump service menu 5.3.11 (modbus settings), there is a setting called word swap.

You need to set word_swap setting in yaml to match the setting in the service menu.

Failing to do so will start throwing errors with decoding errors of 32-bit registers.

Disclaimer

Nibe is registered mark of NIBE Energy Systems.

The code was developed as a way of integrating personally owned Nibe heatpump, and it cannot be used for other purposes. It is not affiliated with any company, and it doesn't have commercial intent.

The code is provided AS IS and the developers will not be held responsible for failures in the heatpump operation or any other malfunction.

IMPORTANT: Using this library to control your heatpump is done at your own risk. The developers assume no responsibility for any damage that may occur to your heating system, property, or for any unsafe conditions that may result from improper use. Changing heatpump parameters can potentially damage your equipment or create hazardous conditions. Users should have sufficient knowledge of their heating system before attempting to control it.

Metadata

Release files for nibe-mqtt 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nibe-mqtt 1.0.3
File Size Uploaded
nibe_mqtt-1.0.3.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nibe-mqtt 1.0.3
File Interpreter ABI Platform
nibe_mqtt-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 44.7 kB

Release files / nibe_mqtt-1.0.3.tar.gz

Download URL nibe_mqtt-1.0.3.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
500bf296e390c19d02a883fb620a12509ed33d5590cbad8c480597cbabaed6ac
BLAKE2b-256 checksum
How to use checksums
97304a2b74c96f8929bb4c7ba47fd7a2a9bcdb1fd095f6fc443b58816dca3bc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 2, 2026.

Transparency log

Release files / nibe_mqtt-1.0.3-py3-none-any.whl

Download URL nibe_mqtt-1.0.3-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
969b9e7f481b1193646867997d026ebe263ab038a9f0d757addd2cc15b050668
BLAKE2b-256 checksum
How to use checksums
5717fa052193bd15212812be71abc53fff360130db19a3ace0cbc06862607dff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.1

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page