I've not had a chance to do much more on this but my though's were

All slaves have fixed unique addresses, they also have a broadcast address to listen in to

The master broadcasts a start new discovery command - slaves wait a random time and respond to master with their address

After a period of time the master then attempts to talk to each discovered slave

If the master can talk to the slave the slave address is marked as valid and the slave is given a mute command

The master goes through the remaining discovered slaves as previous step

The master then issues a retry discovery command - only slaves not muted would respond, again at random time delays

The Process then repeats until the master can issue a retry discovery command and get no responce from any slaves - assume all slaves discovered.

Any comments welcolme