homie_dart

An impelementation of the homie convention 4.0 for dart. This package can be used to create devices with nodes and properties in the homie format.

Version 2 of this package includes the core homie_dart library, as well as the homie_legacy_extensions library, which can be used to add device attributes that where removed in homie version 4.0. This is usefull for backwards compatibility. More specific, the Legacy Stats and Legacy Firmware extensions are implemented.

Also included in this package, in the epnw_meta_extension library, is the EPNW Meta extension which can be used to add tags and (nested) key-value pairs to devices, nodes and properties.

To create devices according to the homie convention 3.0.1, use version 1.1.0 of this package instead!

BrokerConnection and MQTT connection

This package does not contain any MQTT logic! Instead it defines an abstract class BrokerConnection. You can either implement it yourselfe or use the package homie_dart_on_mqtt_client, which handles all the mqtt logic.

Missing Features

  • Broadcast channel is not implemented

Example

An example, how to create a device can be found here, and this file shows, how to run it.

Libraries

epnw_meta_extension
This library provides the EPNW Meta extension. The Meta extension can be used to add tags and (nested) key-value pairs to devices, nodes and properties. For more information see the classes and the extension specification found in the extensions section on the homie website.
homie_dart
An implementation of the homie convention version 4.0 in dart. This library does not support the homie broadcast channel. To implement a device extend the Device class and add some Node with Property. [...]
homie_legacy_extensions
Provides the LegacyFirmware and LegacyStats extension. Some attributes that were part of the homie 3.0.1 convention and older versions got removed in version 4.0. These two extensions can be used to add them to devices again. When using both extensions a device can be made backwards compatible. For more information see the classes and the extension specifications found in the extensions section on the homie website.