# 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"
}