Implementations
Device |
---|
An instance of a physical piece of hardware is called a device. For example, a car, an Arduino/ESP8266 or a coffee machine. It publishes Nodes and Properties to the MQTT broker. |
Controller |
---|
A controller does not announce anything to the MQTT broker, but discovers and interacts with Devices. There can be more than one Controller interacting with the different devices on the same broker. |
Device
Find software libraries and full firmware projects for Devices in this section.
Libraries
A library can be included in your own project to act as a Homie device.
Name | Language | Homie Version | Website/Download | Description |
---|---|---|---|---|
homie-cpp | C++ | 3.0 | GitHub | Homie C++ header only library |
homie-python | Python | 2.1 | GitHub | Homie 3.0 as PR |
Microhomie | µPython | 4.0.0 | GitHub | MicroPython implementation |
homie-ESP32 | C++ | 2.0.1 | GitHub | An esp-idf component for the Homie convention. |
kotlin-homieiot | kotlin | 3.0.1 | GitHub | Kotlin implementation for the Homie convention |
node-red-homie | Node-Red | 2.1 | GitHub | unmaintained |
HomieV3 | Python | 3.0.1 | GitHub | Easily build Homie 3.0 devices |
HomieV4 | Python | 4.0.0 | GitHub | Easily build Homie 4.0 devices |
homie_dart | Dart | 4.0.0 | Pub.dev | Implementation for dart (and flutter) |
LeifHomieLib | C++ | 3.0.1 | GitHub | For ESP8266/ESP32 with Arduino |
node-red-contrib-homie-convention | Node-RED | 4.0.0 | GitHub npm Node-RED |
Homie node with auto discovery for node red forum discussion |
homie-for-esp32 | C++ | 3.0.1 | GitHub | For ESP32 with Arduino. Limitations: Broadcast is not supported. |
homie-device | Rust | 4.0.0 | crates.io | Rust library for building Homie 4.0 devices |
homie-mqtt | Ruby | 4.0.0 | GitHub | Ruby library for building Homie 4.0 devices |
Firmware
A full featured firmware, ready to be flashed on a supported device type.
Name | Language | Homie Version | Website/Download | Description |
---|---|---|---|---|
homie-esp8266 | C++ | 2.0.1 | GitHub | |
homie-esp8266 | C++ | 3.0.1 | GitHub | |
ESPEasy | C++ | 4.0.0 | GitHub | Easy to use Firmware for ESP8266/ESP32. Choose dev builds like ESP_Easy_mega-yyyymmdd_dev_ESP8266_4M1M.bin or build your own |
Software projects
A software application that speaks MQTT/Homie and acts as a Homie Device.
Name | Language | Homie Version | Website/Download | Description |
---|---|---|---|---|
miflora-mqtt-daemon | Python | 3.0 | GitHub | A Linux daemon to fetch and publish data from Mi Flora plant sensors |
MBMD | Go | 4.0 | GitHub | A Linux daemon to fetch and publish data from ModBus devices like power meters and grid inverters |
Somecomfort-Home | Python | 4.0 | GitHub | Homie implementation for Honeywell Total Comfort Thermostats using somecomefort |
ISY-Home-Bridge | Python | 4.0 | GitHub | Homie implementation for Universal Devices ISY994 controller |
mijia-homie | Rust | 4.0 | GitHub | A Linux daemon to fetch and publish data from Xiaomi Mijia v2 Bluetooth temperature and humidity sensors. |
Controller
Find software libraries, administrative tools and home automation projects for Controllers in this section.
Libraries
A library can be included in your own project to act as a Controller for Homie devices.
Name | Language | Homie Version | Website/Download |
---|---|---|---|
Homie-Device | Node JS | 3.0 | npmjs |
homie-cpp | C++ | 3.0 | GitHub |
homie-controller | Rust | 4.0.0 | crates.io |
Administration and utilities
Administrative tools usually allow you to detect, list and interact with Homie devices.
Name | Homie | Download | Implementation notes |
---|---|---|---|
Hodmin | 2.0 | Website | |
Homie-ota | 3.0 + Custom OTA | GitHub | OTA Server for devices running the homie-esp8266 firmware |
HoDD | 3.0.1 / 4.0.0 | GitHub | Browser based device discovery |
FlutterHomie | 3.0.1 | GitHub | A Flutter App used to discover and manage Homie devices. |
homie-influx | 4.0.0 | GitHub | A service to record property value changes to an InfluxDB database, with Homie metadata. |
Home automation
Home automation software in this list allows you to detect and interact with Homie devices and integrate them into your automation plan.
Name | Version | Homie | Download | Implementation notes |
---|---|---|---|---|
openHAB | 2.4+ | 3.0 | Website | No node instances |
HomeAssistant | WIP | 2.0 | Website | Module need to be installed into HA installation |
Node-RED | 0.20+ | 4.0.0 | Node-RED node-red-contrib-homie-convention |
install node-red-contrib-homie-convention node with auto discovery forum discussion |
Works with Homie
We recommendent all projects which are implementing Homie to refer to this convention using our label. Please refer on websites directly to these labels to use always current version.
SVG version
HTML snippet:
<a href="https://homieiot.github.io/">
<object type="image/svg+xml" data="https://homieiot.github.io/img/works-with-homie.svg">
works with MQTT Homie
</object>
</a>
PNG version
HTML snippet:
<a href="https://homieiot.github.io/">
<img src="https://homieiot.github.io/img/works-with-homie.png" alt="works with MQTT Homie">
</a>