Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yozik04/nibe-mqtt
Nibe MQTT integration to use with HomeAssistant MQTT Autodiscovery
https://github.com/yozik04/nibe-mqtt
integration mqtt nibe
Last synced: 5 days ago
JSON representation
Nibe MQTT integration to use with HomeAssistant MQTT Autodiscovery
- Host: GitHub
- URL: https://github.com/yozik04/nibe-mqtt
- Owner: yozik04
- License: gpl-3.0
- Created: 2022-05-01T13:13:02.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-28T15:45:16.000Z (3 months ago)
- Last Synced: 2024-10-04T12:45:13.727Z (about 1 month ago)
- Topics: integration, mqtt, nibe
- Language: Python
- Homepage:
- Size: 88.9 KB
- Stars: 29
- Watchers: 5
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nibe MQTT integration
MQTT integration for controlling Nibe heatpumps. Supports HomeAssistant MQTT Autodiscovery.Uses [nibe](https://github.com/yozik04/nibe) library which supports connections:
- RS485 communication via NibeGW developed by Pauli Anttila for [Openhab's integration](https://www.openhab.org/addons/bindings/nibeheatpump/)
- TCP/Serial Modbus (experimental)#### Supported heatpump models
- F1145
- F1155
- F1245
- F1255
- F1345
- F1355
- F370
- F470
- F730
- F750
- SMO20
- SMO40
- VVM225
- VVM310
- VVM320
- VVM325
- VVM500Additionally, supports some S series through TCP Modbus (experimental)
## Installation
### PyPi
It is possible to install directly from PyPi
```bash
pip3 install nibe-mqtt
```Then you will be able to run the service with command
```bash
nibe-mqtt -c config.yaml
```### Docker
See [Docker Hub](https://hub.docker.com/repository/docker/yozik04/nibe-mqtt) for available versions (tags)Run with:
```bash
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:
```yaml
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:
```yaml
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](https://github.com/yozik04/nibe/tree/master/nibe/data)## 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`).```yaml
...
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 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.