Has anything changed in the way that the platform is handling online() and offline() commands from the driver? Reason for my question is that lately it seems that setting a device to offline is being ignored. And it seems to be because I’m emitting an event to the device to update a text info field after setting the device status to offline. It seems like the platform is now automatically putting the device back online when it sees any kind of emit event. If this is true, it breaks any driver that uses some kind of field in the device to provide a textual status of the device to the user (timeout, socket closed, connection refused, invalid IP address, etc.)
This didn’t used to be the case (at least on iOS), so am wondering if something was intentionally changed…
The team confirmed that this was the expected behavior, they also comment that you can that it work again by calling device:online() followed by device:offline() when marking a device as offline, this ensures a diff that will cause a sync with the cloud from the hub.
a is that capability events should not be emitted for offline devices