MQTT integration for controlling Nibe heatpumps. Supports HomeAssistant MQTT Autodiscovery.
Uses nibe library which supports connections:
- RS485 communication via NibeGW developed by Pauli Anttila for Openhab's integration
- TCP/Serial Modbus (experimental)
- F1145
- F1155
- F1245
- F1255
- F1345
- F1355
- F370
- F470
- F730
- F750
- SMO20
- SMO40
- VVM225
- VVM310
- VVM320
- VVM325
- VVM500
Additionally, supports some S series through TCP Modbus (experimental)
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
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
mqtt:
host: 192.168.1.2
protocol: 5
username: user
password: pass
nibe:
model: F1255
word_swap: true
nibegw:
ip: 192.168.1.3
poll:
coils:
- bt50-room-temp-s1-40033
For all configuration options lookup in config.py
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
See the list of available parameters here
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.
You need to specify word_swap
setting to let this library understand how to decode 32-bit integers (mostly counters)
There is a setting called word swap
in Nibe service menu 5.3.11 (modbus settings
).
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 about values out of bounds.
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 a 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.