Make reactive shutdown orderly
Closed this issue · 1 comments
climategadgets commented
Expected Behavior
Upon receiving a termination signal, the system shuts down all the peripherals and then exits. Shutdown must be executed in this order:
- Disable WebUI and console
- Disconnect unit directors so they can't cause mischief
- Shut off HVAC devices and economizers
- Move dampers to "safe" position
- Disconnect collectors
- Disconnect connectors
- Put switches into "safe" state, if provided
- Cancel sensor streams subscriptions
- Deactivate MQTT and hardware drivers
Actual Behavior
The system relies on old behavior utilizing Autocloseable
with Spring assist which wasn't reliable to begin with, and probably doesn't work at all in reactive branches.
Related Issues
climategadgets commented
#271 contributed to this; the work is not done completely because there are still missing subsystems in reactive branch, but for the practical purposes it is complete.