Closed brentru closed 3 years ago
@lorennorman - another issue - do we also need to "lock" the configuration messages? What happens if a pin event arrives after a pin request? Due to the same retransmission issue.
I see your point with the configuration messages, I send all the configs one after another, and then I send all the "last_value"s one after another, but this would seem to be susceptible to the same ordering issue if a config message had a miss and its last_value counterpart hit first...
This is crazymaking. But another simple even for ConfigurationComplete
or whatever wouldn't be too bad, then I could split that part up as well.
MQTT can not guarantee the order of messages. It's possible that the registration response has to re-transmit, but the component configuration message is delivered.
This causes a device to never configure its components:
This pull request proposes
RegistrationComplete
, a message sent from the device to Adafruit IO after the device configures its component. It signals to the broker that its ready to receive configuration messages.