# 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
- VVM500
Additionally, 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/yozik04/nibe-mqtt",
"name": "nibe-mqtt",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "nibe modbus library nibegw mqtt",
"author": "Jevgeni Kiski",
"author_email": "yozik04@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/36/15/4d357221ce229048281181cd59c42fa6cf4473829155d4a2bcf138f622fb/nibe-mqtt-0.5.1.tar.gz",
"platform": null,
"description": "# Nibe MQTT integration\nMQTT integration for controlling Nibe heatpumps. Supports HomeAssistant MQTT Autodiscovery.\n\nUses [nibe](https://github.com/yozik04/nibe) library which supports connections:\n - RS485 communication via NibeGW developed by Pauli Anttila for [Openhab's integration](https://www.openhab.org/addons/bindings/nibeheatpump/)\n - TCP/Serial Modbus (experimental)\n\n#### Supported heatpump models\n - F1145\n - F1155\n - F1245\n - F1255\n - F1345\n - F1355\n - F370\n - F470\n - F730\n - F750\n - SMO20\n - SMO40\n - VVM225\n - VVM310\n - VVM320\n - VVM325\n - VVM500\n\nAdditionally, supports some S series through TCP Modbus (experimental)\n\n## Installation\n### PyPi\nIt is possible to install directly from PyPi\n```bash\npip3 install nibe-mqtt\n```\n\nThen you will be able to run the service with command\n```bash\nnibe-mqtt -c config.yaml\n```\n\n### Docker\nSee [Docker Hub](https://hub.docker.com/repository/docker/yozik04/nibe-mqtt) for available versions (tags)\n\nRun with:\n```bash\ndocker 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\n```\n\n## Basic configuration\n\n### With NibeGW:\n```yaml\nmqtt:\n host: 192.168.1.2\n port: 1883\n protocol: 5\n username: user\n password: pass\nnibe:\n model: F1255\n nibegw:\n ip: 192.168.1.3\n poll:\n coils:\n - bt50-room-temp-s1-40033\n```\n\nFor all configuration options lookup in config.py\n\n### With Modbus:\n```yaml\nmqtt:\n host: 192.168.1.2\n protocol: 5\n username: user\n password: pass\nnibe:\n model: F1255\n word_swap: true\n modbus:\n url: tcp://192.168.1.3:502\n slave_id: 1\n poll:\n coils:\n - bt50-room-temp-s1-40033\n```\n\nFor all configuration options lookup in config.py\n\n## Supported coils\nSee the list of available parameters [here](https://github.com/yozik04/nibe/tree/master/nibe/data)\n\n## Writing Registers\nSee 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.\n\n## Word swap\nYou 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`).\n\n```yaml\n...\nnibe:\n ...\n word_swap: true\n ...\n```\n\nYou can find the setting value in you Heat pump service menu 5.3.11 (`modbus settings`), there is a setting called `word swap`.\n\nYou need to set `word_swap` setting in yaml to match the setting in the service menu.\n\nFailing to do so will start throwing errors with decoding errors of 32-bit registers.\n\n## Disclaimer\nNibe is registered mark of NIBE Energy Systems.\n\nThe 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.\n\nThe code is provided AS IS and the developers will not be held responsible for failures in the heatpump operation or any other malfunction.\n",
"bugtrack_url": null,
"license": "LGPL 3",
"summary": "Nibe heatpump MQTT integration",
"version": "0.5.1",
"project_urls": {
"Bug Tracker": "https://github.com/yozik04/nibe-mqtt/issues",
"Homepage": "https://github.com/yozik04/nibe-mqtt"
},
"split_keywords": [
"nibe",
"modbus",
"library",
"nibegw",
"mqtt"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "851012986bedb70a7cc89a166e1cee91aebb2f1211c2b44c0f9e5ab4d47d8b7e",
"md5": "299b8aa964ae26ba49475bbe187cdc04",
"sha256": "8d71d86f9483081316f37cac6a4e8c5173617d2f26e1850db7e8b0e0f7aa2c5b"
},
"downloads": -1,
"filename": "nibe_mqtt-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "299b8aa964ae26ba49475bbe187cdc04",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 21485,
"upload_time": "2024-02-18T14:27:11",
"upload_time_iso_8601": "2024-02-18T14:27:11.629893Z",
"url": "https://files.pythonhosted.org/packages/85/10/12986bedb70a7cc89a166e1cee91aebb2f1211c2b44c0f9e5ab4d47d8b7e/nibe_mqtt-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "36154d357221ce229048281181cd59c42fa6cf4473829155d4a2bcf138f622fb",
"md5": "b107ee732fe9e93c5dceee72d0b36623",
"sha256": "84b409c7dcf11d320ebc87fb46af747c8a7441ea3c637149ea909ff6ca952d87"
},
"downloads": -1,
"filename": "nibe-mqtt-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "b107ee732fe9e93c5dceee72d0b36623",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 22313,
"upload_time": "2024-02-18T14:27:14",
"upload_time_iso_8601": "2024-02-18T14:27:14.018557Z",
"url": "https://files.pythonhosted.org/packages/36/15/4d357221ce229048281181cd59c42fa6cf4473829155d4a2bcf138f622fb/nibe-mqtt-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-18 14:27:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yozik04",
"github_project": "nibe-mqtt",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "nibe-mqtt"
}