craftmetrics / esp32-homie

An esp-idf component for the Homie convention
MIT License
27 stars 9 forks source link

Homie 3.0 #3

Open davidgraeff opened 5 years ago

davidgraeff commented 5 years ago

If time permits, could you have a look at https://homieiot.github.io/ for the latest Homie 3 specification?

This convention version is available for openHAB and Home Assistant already and your library would allow auto discovery for those home automation solutions.

stritti commented 5 years ago

Cool idea I think could be to combine the great work with project esp8266-homie: https://github.com/marvinroger/homie-esp8266/pull/555

trombik commented 4 years ago

in my event_group branch, initial homie 4.0.1 support has been implemented. my OpenHAB2 discovered the device (after deleting mosquitto.db and restarting mosquitto, though). the tree should work with esp-idf 3.2.2, but not tested in real world yet.

https://github.com/trombik/esp32-homie/tree/event_group

tested with esp-idf master, openhab2 2.5.0~M3-1 on Ubuntu 18.04.2 LTS.

trombik commented 4 years ago

the problems are, there are few controller implementations, no reference implementations of clients, and you are not sure the bug is in your code, the spec, or the controller. even the official validator has a bug and there is no validator for old specs. openhab2 has a bug in "set" command handling, which i found in a hard way. and the spec is evolving.

davidgraeff commented 4 years ago

As long as all settles down and works in the end there is no reason to complain I guess. It's all volunteers work. I have hacked together the validator in one day just so that there is at least some tool. Improvements are welcome and that is true for every aspect also client and controller implementations.

lukecyca commented 4 years ago

We have adopted a homie-ish topic layout for our devices but have not implemented the full spec (at any version). Our devices operate on our own MQTT network, so interoperability is nice but not critical. We see homie similarly to HTTP REST, where the concepts can be implemented in various degrees to provide some amount or order, developer familiarity, and interop.

All that to say that we don't have the need (nor resources) to polish this library up to be fully spec-compliant. However we will gladly accept PRs to that end.

davidgraeff commented 4 years ago

We see homie similarly to HTTP REST, where the concepts can be implemented in various degrees

Absolutely. The 4.0 release is actually a simplified 3.0 and 3.0 was a polished 2.0. The spec defines data types, the topic structure and a few must have topics and nothing more.

I guess we can close this issue then. It was just opened for awareness.

trombik commented 4 years ago

just created a PR to support homie 4 at #7

tests would be appreciated.