mqtt-entity


Namemqtt-entity JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://github.com/kellerza/mqtt-entity/
SummaryMQTT client to manage Home Assistant entities via MQTT
upload_time2023-08-07 17:54:05
maintainer
docs_urlNone
authorJohann Kellerman
requires_python>=3.9
licenseMIT
keywords home-assistant mqtt library discovery asyncio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MQTT Entity helper library for Home Assistant
[![codecov](https://codecov.io/gh/kellerza/mqtt_entity/branch/main/graph/badge.svg?token=PG4N1YBUGW)](https://codecov.io/gh/kellerza/mqtt_entity)

A Python helper library to manage Home Assistant entities over MQTT.

Features:
- MQTT entity discovery info (persistent messages)
- Option to remove persistent discovery info
- Availability management
- Manage entities per device
- Entities modelled as classes
- Supported entities:
  - Read-only: Sensor, BinarySensor
  - Read & write: Select, Switch, Number
- Asyncio based

MQTTClient based on paho-mqtt.

## Why?

This MQTT code was included in several of my home Assistant addons (SMA-EM / Sunsynk) and finally decided to extract it in a separate library to leverage recent updates & features like discovery removal.

Alternatives options (not based on asyncio)
- https://pypi.org/project/ha-mqtt-discoverable/
- https://pypi.org/project/homeassistant-mqtt-binding/

## Credits

@Ivan-L contributed some of the writable entities to the Sunsynk addon project

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kellerza/mqtt-entity/",
    "name": "mqtt-entity",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "home-assistant,mqtt,library,discovery,asyncio",
    "author": "Johann Kellerman",
    "author_email": "kellerza@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ee/c3/ef180783791ad241a0d3468c2045158a70e9e2a314630b31063e76be7eb5/mqtt-entity-0.0.4.tar.gz",
    "platform": null,
    "description": "# MQTT Entity helper library for Home Assistant\n[![codecov](https://codecov.io/gh/kellerza/mqtt_entity/branch/main/graph/badge.svg?token=PG4N1YBUGW)](https://codecov.io/gh/kellerza/mqtt_entity)\n\nA Python helper library to manage Home Assistant entities over MQTT.\n\nFeatures:\n- MQTT entity discovery info (persistent messages)\n- Option to remove persistent discovery info\n- Availability management\n- Manage entities per device\n- Entities modelled as classes\n- Supported entities:\n  - Read-only: Sensor, BinarySensor\n  - Read & write: Select, Switch, Number\n- Asyncio based\n\nMQTTClient based on paho-mqtt.\n\n## Why?\n\nThis MQTT code was included in several of my home Assistant addons (SMA-EM / Sunsynk) and finally decided to extract it in a separate library to leverage recent updates & features like discovery removal.\n\nAlternatives options (not based on asyncio)\n- https://pypi.org/project/ha-mqtt-discoverable/\n- https://pypi.org/project/homeassistant-mqtt-binding/\n\n## Credits\n\n@Ivan-L contributed some of the writable entities to the Sunsynk addon project\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MQTT client to manage Home Assistant entities via MQTT",
    "version": "0.0.4",
    "project_urls": {
        "Homepage": "https://github.com/kellerza/mqtt-entity/"
    },
    "split_keywords": [
        "home-assistant",
        "mqtt",
        "library",
        "discovery",
        "asyncio"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b20daf00dbebd5eff61b3b40de8b1d1d1f9c5eb4462387ffcabe8d62ecd04136",
                "md5": "d3b9ccd363438e06ea749029a56ba28c",
                "sha256": "720ab2cd9452ae823038cf59d67f797c5e84613098c91d6c42850f1abbcaf6d4"
            },
            "downloads": -1,
            "filename": "mqtt_entity-0.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d3b9ccd363438e06ea749029a56ba28c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 8613,
            "upload_time": "2023-08-07T17:54:04",
            "upload_time_iso_8601": "2023-08-07T17:54:04.079923Z",
            "url": "https://files.pythonhosted.org/packages/b2/0d/af00dbebd5eff61b3b40de8b1d1d1f9c5eb4462387ffcabe8d62ecd04136/mqtt_entity-0.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eec3ef180783791ad241a0d3468c2045158a70e9e2a314630b31063e76be7eb5",
                "md5": "252ecd7c4372c826bb41492f769a8149",
                "sha256": "c549e19715b60e017954701c24f1b2d0d32b3c05bff312a381fdc47cf468fe9d"
            },
            "downloads": -1,
            "filename": "mqtt-entity-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "252ecd7c4372c826bb41492f769a8149",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 10262,
            "upload_time": "2023-08-07T17:54:05",
            "upload_time_iso_8601": "2023-08-07T17:54:05.563462Z",
            "url": "https://files.pythonhosted.org/packages/ee/c3/ef180783791ad241a0d3468c2045158a70e9e2a314630b31063e76be7eb5/mqtt-entity-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-07 17:54:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kellerza",
    "github_project": "mqtt-entity",
    "github_not_found": true,
    "lcname": "mqtt-entity"
}
        
Elapsed time: 0.10089s