homieiot / convention

🏡 The Homie Convention: a lightweight MQTT convention for the IoT
https://homieiot.github.io/
Other
710 stars 59 forks source link

implementation question #158

Closed mjcumming closed 5 years ago

mjcumming commented 5 years ago

I have a question about how to best do an implementation.

If we have a "device" that is an interface to many other devices, ie a powerline interface that connects to many switches, dimmers, etc. how should the switches and etc be implemented in Homie 3.0. So each switch/dimmer be its own device or a node of the powerline interface device?

Also, in the above scenario, individual switches/dimmers may fail, and there is no "state" option for nodes, so would that influence the previous discussion?

Mike

davidgraeff commented 5 years ago

There was a discussion about those proxy devices. Homie is not well prepared for this scenario as it really targets single devices. We came to the conclusion that it is best to establish multiple connections to the broker, simulating/proxing all those other devices, to solve the $state issue and the last-will topic problem.

mjcumming commented 5 years ago

That was my thought as well. Thank you.

euphi commented 5 years ago

The only problem is the LWT. The states other than "lost" can all be sent via the same broker connection.

So, for convention 4 we could think about some mechanism like a "bridge ID", so a device can say that it's connected via a bridge and the state also depends on that bridge state. Then, the $state of the bridge device can be used as LWT.