homieiot/convention

Implementations

The Homie convention differentiates between Devices and Controllers.
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-micropython µPython 2.0.1 GitHub WIP
node-red-contrib-homie Node-Red 2.1 GitHub WIP
homie-ESP32 C++ 2.0.1 GitHub An esp-idf component for the Homie convention.
kotlin-homieiot kotlin 3.0 GitHub WIP Kotlin implementation for the Homie

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 An Arduino for ESP8266 implementation of Homie, an MQTT convention for the IoT.

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
GoSDM Go 3.0 GitHub A linux daemon to fetch and publish data from ModBus devices like power meters and grid inverters

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

Administration

Administrative tools usually allow you to detect, list and interact with Homie devices.

Name Homie Download Implementation notes
Hodmin 2.0 Website

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