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 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 GitHubnpmNode-RED Homie node with auto discovery for node red forum discussion

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-Brdige Python 4.0 GitHub Homie implementation for Universal Devices ISY994 controller

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
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

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-REDnode-red-contrib-homie-convention install node-red-contrib-homie-convention node with auto discovery forum discussion