Thanks Ben! I’d been stewing on this for a few days and had a similar thought: have the primary pull the data from the expanders. I’m making things overly complex by having expander modules push data to a primary, when it’d be easier to have a single-brain orchestrate by pulling instead. Wouldn’t be the first time I overcomplicated something.
And you’re right that the The expander modules do very little work. Read param values, input jacks, set a few lights. Moving all that to have the primary orchestrated pull model is certainly do-able. I wasn’t sure what to do with the non-adjacent expander change, where it isn’t next to the Primary. The subscriber/notification for onExpanderChange this seems like a good solution here. Great to have a zero-latency for this, that’s kind of icing on the cake.
I stumbled on Accessing Expanders… thread from a year ago, looks like @not-things modules do something similar.