за выхи маленько поколдовал с мультирумом через сдм, в общем у меня это реализовано вкратце так. Может кому пригодиться.
домашние у меня все андроиды (звучит то как

поэтому с телефонами не расстаются. Соответственно имеем ходячие вайфай метки. На телефонах стоит мажордроид. В системе прописаны 3 юзера, с определением по хосту - ip телефона юзера, ip постоянный т к зарезервирован именно на этот мак в dhcp.
Далее так как дом у меня ЖБ стены, залитые под личным контролем друзей с юга, то сигналы в нем тухнут прилично, поэтому по точке доступа в каждую комнату полюбому. Переделал все свои точки на разные ссиды с одного одинакового который был ранее, поставил на телефоны таскер, далее в нем создал по профилю на каждую сеть, чтобы при подключении к ней таскер методом post запускал скрипт на сервере мжд. По одному скрипту на каждую вайфай сеть (то бишь читай на каждую комнату). Улица у меня также равна 1 комнате, только канала туда два выведено т к стоит 4ре колонки по углам дома через усил автомобильный. В доме все разведено по два автодинамика в комнате (правда в моно запаралелены), через ямаховский рес восмиканальный.
Скрипт например при выходе на улицу (за код не пинайте я сисадмин а не кодер)
//получаем имя юзера по id
if (context_getuser()==1) $nowuser='admin';
if (context_getuser()==5) $nowuser='Luba';
if (context_getuser()==6) $nowuser='Sonya';
//у каждого юзера добавлены два свойства - номер аудиоканала комнаты где он был до и номер канал куда зашел сейчас
if (gg($nowuser.'.SoundCanal')==56)
{
say (gg($nowuser.'.fullName').'снова на улице ('.context_getuser().')',-1); //если уже был в этой комнате, но по какойто причине отключился от вайфай комнаты - то делать ничего не надо.
}
else
{
sg($nowuser.'.SoundCanalBefore',gg($nowuser.'.SoundCanal')); //запоминаем предыдущий канал
sg($nowuser.'.SoundCanal',56); //каналы 5 и 6 у меня выведены на улицу - сюда пишем свой номер канала у кого какой в каждой комнате
safe_exec(gg('SoundProgram').' -outputchannel:'.gg($nowuser.'.SoundCanal').' -takemusic:'.gg($nowuser.'.SoundCanalBefore')); //переключаем звук с предыдущего канала откуда мы пришли на улицу
say (gg($nowuser.'.fullName').' на улице ('.context_getuser().')',-1); //пишем что такой то юзер вышел на учицу
say ("Перевела звук на улицу",gg($nowuser.'.SoundCanal')); //проговариваем куда перевели звук
}
Еще одна заморочка - чтобы быстро переключался вайфай - поставил прогу Best WiFi с плэй маркета. Она заставляет не ждать телефон пока сигнал от точки дпустится до нуля, быстро а переключает его на ближайшую точку с самым мощным сигналом. Т к телефоны тупят с переключением с точки на точку. Сечас при выходе на улицу звук приходит за мной секунд через 10. В принципе на халяву без коммерческих решений это нормально.
Штатный плеер мжд тоже прикрутил к сдм, но проблема с ним что списком играть никак пока, только по одному треку. и напрягает еще глюк с громкостью в самом сдм.
Для подстраховки также сделал в меню медиа кнопки, которые вызывают теже самые скрипты для ручного переключения звука в комнату.
В общем все работает забавно, особенно когда дети гоняют разные треки по разным комнатам

какафония еще та....
Теперь надо идти дальше - дорабатывать sayhook для индивидуальных сообщений от системы.