|0.2.9||Jan 18, 2023|
|0.2.8||Sep 16, 2022|
|0.2.7||Jun 15, 2022|
|0.2.6||Jan 26, 2022|
|0.1.0||Nov 17, 2020|
#560 in Network programming
37 downloads per month
Homie device InfluxDB logger
homie-influx is a service to connect to an MQTT broker, discover devices following the
Homie convention, and record their property value changes to an
See the main project readme for more details and background.
It is recommended to install the latest release from our Debian repository:
$ curl -L https://homiers.jfrog.io/artifactory/api/security/keypair/public/repositories/homie-rs | sudo apt-key add - $ echo "deb https://homiers.jfrog.io/artifactory/homie-rs stable main" | sudo tee /etc/apt/sources.list.d/homie-rs.list $ sudo apt update && sudo apt install homie-influx
Alternatively, you may install with cargo install, but that will require some more setup:
$ cargo install homie-influx
If you have installed the Debian package, the service will be set up with systemd for you already.
Otherwise, copy the
homie-influx binary to
/lib/systemd/system, create a
homie-influx user to run as, and create
There should be two config files under
homie-influx.tomlcontains the main configuration for the service, such as which MQTT broker and InfluxDB server to connect to. See homie-influx.example.toml for an example of the settings that are supported.
mappings.tomlcontains a map of Homie base topics to InfluxDB databases. By default it will look for devices under the standard
homiebase topic and write to an InfluxDB database called
test. You can add multiple base topics to handle multiple users.
After editing these config files you will need to restart the service:
$ sudo systemctl restart homie-influx.service
You may find it helpful to watch the logs to see whether it is managing to connect:
$ sudo journalctl -u homie-influx.service --output=cat --follow
This service publishes up to six measurements:
color, corresponding to the Homie datatypes. Each message is published as an InfluxDB point with
the appropriate name and timestamp, the value as a
value field, and device / node / property info
included as tags.
In order to support Grafana clients, boolean points also have an additional
value_int field, which
is an integer, 1 for true or 0 for false.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.