Skip to main content

Nibe heatpump MQTT integration

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nibe_mqtt-1.0.3.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nibe_mqtt-1.0.3-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file nibe_mqtt-1.0.3.tar.gz.

File metadata

  • Download URL: nibe_mqtt-1.0.3.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nibe_mqtt-1.0.3.tar.gz
Algorithm Hash digest
SHA256 500bf296e390c19d02a883fb620a12509ed33d5590cbad8c480597cbabaed6ac
MD5 2371621801bc8abe3769618651a22ae9
BLAKE2b-256 97304a2b74c96f8929bb4c7ba47fd7a2a9bcdb1fd095f6fc443b58816dca3bc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nibe_mqtt-1.0.3.tar.gz:

Publisher: python-publish.yml on yozik04/nibe-mqtt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nibe_mqtt-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: nibe_mqtt-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nibe_mqtt-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 969b9e7f481b1193646867997d026ebe263ab038a9f0d757addd2cc15b050668
MD5 5df93dabcb972b245822f76a210ce107
BLAKE2b-256 5717fa052193bd15212812be71abc53fff360130db19a3ace0cbc06862607dff

See more details on using hashes here.

Provenance

The following attestation bundles were made for nibe_mqtt-1.0.3-py3-none-any.whl:

Publisher: python-publish.yml on yozik04/nibe-mqtt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page