nibe-mqtt


Namenibe-mqtt JSON
Version 0.5.1 PyPI version JSON
download
home_pagehttps://github.com/yozik04/nibe-mqtt
SummaryNibe heatpump MQTT integration
upload_time2024-02-18 14:27:14
maintainer
docs_urlNone
authorJevgeni Kiski
requires_python>=3.9
licenseLGPL 3
keywords nibe modbus library nibegw mqtt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 2.04742s