This is hard because it is hardware specific. But:
Each HW genserver (ex. BrickPiState) should, on init
See if priv/data/sensors.json exists and is non-empty
Parse it using JSX.decode
find all of the port configurations for their hw specific ports
and set the port to be that value (call python)
notify the UI to update its button fields and launch a humane.log event
Also, PythonQuerier, on load, should check its appropriate state (BrickPiState, GrovePiState), get the last known args, and pass them to the python modules setup function.
This is hard because it is hardware specific. But:
-When the user changes the port