So correct me if I am wrong but as I understand the code. The master broadcasts the pin and the brightness (per say), the slaves listen for the broadcast and act accordingly. As I see it the slave is acting on the pin correct?
If I am not correct in my assumption of how this works correct me. Instead of broadcasting the pin maybe setup a network_channel_mapping setting? and have that broadcast instead of pin. My thinking with this is networking could be used for more than just mirroring a show, it could actually be used to extend the show / GPIO. Her is an example that may clarify my thinking.
MASTER PI:
# the master only needs to know about its GPIO
gpio_pins = 0,1,2,3,4,5,6,7
# network channels lists all channels defined in network_channel_mapping across all devices. if the device is a slave it doesn’t need anything defined
networked_channels = 1,2,3,4,5,6,7,100,101,102,103,104,200,201,202,203,204
# custom channel mapping tells the device what channel it needs to act upon, all others it ignores, this should map 1:1 with gpio pins for that device
network_channel_mapping = 1,2,3,4,5,6,7,8
SLAVE PI 1:
gpio_pins = 0,1,2,3,4
# network channels lists all channels defined in network_channel_mapping across all devices. if the device is a slave it doesn’t need anything defined
networked_channels = slave
# custom channel mapping tells the device what channel it needs to act upon, all others it ignores, this should map 1:1 with gpio pins for that device
network_channel_mapping = 100,101,102,103,104
SLAVE PI 2:
gpio_pins = 0,1,2,3,4
# network channels lists all channels defined in network_channel_mapping across all devices. if the device is a slave it doesn’t need anything defined
networked_channels = slave
# custom channel mapping tells the device what channel it needs to act upon, all others it ignores, this should map 1:1 with gpio pins for that device
network_channel_mapping = 200,201,202,203,204
** With these settings the master would base the amount of channels to use based on the total channels defined in the networked_channels list and not the amount of channels defined in the gpio_pins. When the stream starts it would broadcast the channel to act upon based on the network_channels_setting along with its brightness (per say). the program would have logic see the incoming channel, check to see if it is in the network_channel_mapping and map the channel 1:1 if so, otherwise ignore it.
This is a really quick idea on my part and it could def be flawed !!!! I don’t know exactly how the streaming work so Im just putting this out there, please feel free to shoot it down, comment, etc