Open bggardner opened 4 years ago
I think adding $homie
to that list is fine. A change of the $homie
value – thus, a protocol version change – is a form of re-configuration and should not be performed in any of the ready
states.
However, I believe the intent is that publishing to $homie (regardless of $state) triggers a "re-discovery"
No, the $homie
is there for auto-discovery. As far as I understand it, there is no such thing as "re-discovery". Controllers simply use this property to enumerate all Homie devices. They can then subscribe to the related properties (especially $state
) if they are interested in updates to that device.
In 6d852df the convention was updated with:
However, the convention also states:
My first reaction would be to add
$homie
to the list of device attributes that cannot be changed when a device is in ready, sleeping, or alert state. However, I believe the intent is that publishing to$homie
(regardless of$state
) triggers a "re-discovery" since the protocol version may have changed. In any case, consider adding some clarification to the convention, either in both sections mentioned above, and/or something like: