# HAMqtt

This crate is meant to be an easy to go [Home Assistant MQTT](https://www.home-assistant.io/integrations/mqtt/) implementation. It does not use Rust standard library, thus it can be run on bare-metal embedded devices, as well as can be integrated with systems with standard library.
For more details on `no_std` check [the Rust Book](https://docs.rust-embedded.org/book/intro/no-std.html)
# Status
It is in early development stage!
# Motivation
Home Assistant uses MQTT discovery to automatically detect sensors,
switches, lights, and other devices by subscribing to specific
MQTT topics containing JSON configuration payloads. I was not able to
find any easy 2 go crate to generate MQTT autodiscovery topic, so
I have created one.
## Key Concepts
- **Device**: Represents a physical or logical device containing one or
more sensor components. It includes identifying information such as
unique IDs, model, and manufacturer.
- **Component**: Represents an individual sensor entity (e.g., temperature,
humidity) that publishes sensor data on a specified MQTT topic.
Each component is associated with a device.
## Usage
See `examples` folder [in the repository](https://codeberg.org/H4K1/HAMqtt "See the examples")