I've updated the firmware so it is stateless apart from the ID of each module. when the controller boots up and registers on mqtt, it receives a set of configuration that tells it what the modules need in terms of data and what ID they are.
Following a chat with Mike from Mike's electric stuff, I've decided to set the ids by hand on each module. As each module is both input and output this should be no problem - just press and hold a button at power up to enter id set mode. I added a button the lcd module to make this easy.
The knobs board has been fabbed at OSHpark.com and is on the way.
I've got the LCD board ready to send off, after testing the dc/dc boost for the backlight and logic (5v).