Skip to main content

Home Assistant Control Objects

Project description

haco Home Assistant Control Objects

haco is a to greatly simplify the process of exposing Home Assistant controls (e.g. Pull-down Lists, Number Sliders, Sensors, etc.) from a device - and handling the communication between both sides.

While the current implementation is in Python, the capability definitions for controls are designed to be shared across different languages. Support for additional languages (namely native support for Tasmota Berry) is planned.

Why MQTT?

You might wonder why we use MQTT instead of directly using Home Assistant's APIs. The reason is flexibility: using MQTT allows haco to target any device or environment that has an MQTT client, not just those that can easily make HTTP requests or run a full HA integration. This makes it ideal for lightweight embedded systems and cross-platform utility.

Why Would I Want Such a Thing?

Integrating custom hardware or scripts with Home Assistant often involves a lot of boilerplate: defining MQTT topics, crafting JSON payloads for discovery, and managing state updates. haco handles the heavy lifting, letting you define your device and its controls in clean, declarative Python.

If you're building a custom IoT device, a script to monitor your system, or just want a simpler way to bridge your code to Home Assistant, then you might find haco useful.

How it Works

haco uses MQTT to communicate with Home Assistant. It automatically generates the discovery configurations required for Home Assistant to "see" your device and its entities. All you need to do is define a Device with some Controls and start the ClientHaco.

Documentation

See Documentation

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haco-0.3.4a6.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

haco-0.3.4a6-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file haco-0.3.4a6.tar.gz.

File metadata

  • Download URL: haco-0.3.4a6.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for haco-0.3.4a6.tar.gz
Algorithm Hash digest
SHA256 19dd2e6e9ceba9cc41c962dc5bf69c9c2b6504db134a1d1684cde45d503b4d9d
MD5 0cb1f786d2dba0c22270cf57b6cc2f26
BLAKE2b-256 68969a021f119bcb6598c3a9e8c4f757355f70678a1413704c5a74e3e8f45b94

See more details on using hashes here.

File details

Details for the file haco-0.3.4a6-py3-none-any.whl.

File metadata

  • Download URL: haco-0.3.4a6-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for haco-0.3.4a6-py3-none-any.whl
Algorithm Hash digest
SHA256 9a74be8faa6a8d95f0c8a7edc7fd16471cacd1cab73f2182d26b182a32f2c5ec
MD5 3f0b395f74dce438437412c18917a2c2
BLAKE2b-256 a26ff809c176cb211c3bf750b196eb1a9e750fce7152c7c3e00fe5610bb370eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page