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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
500bf296e390c19d02a883fb620a12509ed33d5590cbad8c480597cbabaed6ac
|
|
| MD5 |
2371621801bc8abe3769618651a22ae9
|
|
| BLAKE2b-256 |
97304a2b74c96f8929bb4c7ba47fd7a2a9bcdb1fd095f6fc443b58816dca3bc4
|
Provenance
The following attestation bundles were made for nibe_mqtt-1.0.3.tar.gz:
Publisher:
python-publish.yml on yozik04/nibe-mqtt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nibe_mqtt-1.0.3.tar.gz -
Subject digest:
500bf296e390c19d02a883fb620a12509ed33d5590cbad8c480597cbabaed6ac - Sigstore transparency entry: 788855613
- Sigstore integration time:
-
Permalink:
yozik04/nibe-mqtt@c2d8b7f453e8e02253b180a700bf69f15602276d -
Branch / Tag:
refs/tags/1.0.3 - Owner: https://github.com/yozik04
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c2d8b7f453e8e02253b180a700bf69f15602276d -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
969b9e7f481b1193646867997d026ebe263ab038a9f0d757addd2cc15b050668
|
|
| MD5 |
5df93dabcb972b245822f76a210ce107
|
|
| BLAKE2b-256 |
5717fa052193bd15212812be71abc53fff360130db19a3ace0cbc06862607dff
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nibe_mqtt-1.0.3-py3-none-any.whl -
Subject digest:
969b9e7f481b1193646867997d026ebe263ab038a9f0d757addd2cc15b050668 - Sigstore transparency entry: 788855616
- Sigstore integration time:
-
Permalink:
yozik04/nibe-mqtt@c2d8b7f453e8e02253b180a700bf69f15602276d -
Branch / Tag:
refs/tags/1.0.3 - Owner: https://github.com/yozik04
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c2d8b7f453e8e02253b180a700bf69f15602276d -
Trigger Event:
release
-
Statement type: