In the stop() method of the Interface class, MQTT is disconnected before it iterates through the stop() observers. This means the node.stop() methods can't update driver values successfully when the nodeserver is being shutdown, e.g., disconnected flags for hub/bridge/panel/controller devices.
Since the controller node is now primarily used to represent the nodeserver itself and not the actual hub/controller/panel/device, then the stop() methods of the nodes for these hub/controller/bridge devices need to be able to update their own status flags when the nodeserver is disconnecting.
In the stop() method of the Interface class, MQTT is disconnected before it iterates through the stop() observers. This means the node.stop() methods can't update driver values successfully when the nodeserver is being shutdown, e.g., disconnected flags for hub/bridge/panel/controller devices.
Since the controller node is now primarily used to represent the nodeserver itself and not the actual hub/controller/panel/device, then the stop() methods of the nodes for these hub/controller/bridge devices need to be able to update their own status flags when the nodeserver is disconnecting.