Найти тему
Константин Н.

Алиса, включи Spotify на HomePod!

-2

Написанно для себя, потому что в какойто момент это всё перестало помещаться в голове и надо было както структурировать задачи в текст, и чтобы через год когда(если) чтото сломается было где посмотреть...


https://taskernet.com/shares/?user=AS35m8kJKYp5977YUIkcjNHTVyukgPWCIFiiEwuSPsUglqHm3bv6bL9D5mme1LtPP5KjRMog1V%2BP&id=Project%3ASqueeze+json

HomePod без iPhone можно использовать подключив по Airplay к LMS и управлять с телефона через приложение Squeeze Ctrl. Это работает!
Но хочется большего, это сложно каждый раз лазить в приложение, да есть у него виджет, но и он не решает. Недостатки виджета:
- нет быстрого выбора плеера
- не показывает громкость плеера
- нет быстрого выбора избранного
- нет быстрого подключения\отключения плееров
Всё это я реализовал через виджеты Tasker.
Потом хочется сев смотреть кино иметь возможность с пульта твбокса выключить музыку, а потом и включить с пульта что из избранного, и громкость хомпода регулировать пультом.
Для этого действия таскера назначил на кнопки пульта, и вот оно щастье!
А теперь хочеться, без телефона, без пульта, голосом управлять хомподом, тут нужна Алиса с навыком Домовенок Кузя и чутьчуть магии чтоб их подружить с LMS... чтоб пользоваться музыкой, мультирумом, в основном di.fm, Spotify без лазанья по меню приложений Squeeze Ctrl, iPeng, Spotify, сделать виджеты, пульт и голосовое управление музыкой Алисой только, со всеми стримингами и любыми колонками подключающимися к LMS (chromecast, airplay, dlna, squeezelite)
потом когда надоело лазить внутрь Таскера за настройками, пришлось сделать какую-то автоматическую настройку подключения колонок и меню настроек Settings.

ПУЛЬТ

-3

пульт G7V подключен к Mi Box
кнопки на тв пульте -- назначенные действия tasker:
mute -- pause/play, pause all (двойное нажатие), settings (долгое нажатие)
page up -- volume up, preset all hi (долгое нажатие)
page dn -- volume dn, preset all low (долгое нажатие)
1-9 одно нажатие, избранные потоки из %FAV_URLS(1) ... %FAV_URLS(9)
1-9 долгое и двойное нажатие подключить/отключить колонку:
1 - Колонка белая (Гостинная JBL Playlist white)
2 - Колонка хомпод (Спальня HomePod mini)
3 - Колонка в душе (Душ Google mini)
4 - Колонка стерео (Гостинная Mi Box + Behringer ms40)
5 - Колонка черная (Веранда JBL Playlist black)
6 - Колонка переносная (GGMM E2)
7 - Колонка переносная (BBK)

ТЕЛЕФОН и ПЛАНШЕТ

-4

виджеты показывают состояние колонок: громкость, играет, пауза, синхронизирована, в чс, оффлайн краткое состояние всех колонок в одном виджете Minimalistic Text


АЛИСА
Алиса, включи Музыку/Колонку (PLAY/SYNC) (если Алиса и Колонка в одной Комнате)
Алиса, включи Колонку в Душе (если Алиса и Колонка разных Комнатах)
действие в таскер Player Sync %player
Ожидание: в комнате должна включиться какаято музыка, как в других комнатах или последняя игравшая, на приемлемой в это время громкости.
1. если Колонка в черном списке ничего не делать.
2. если Колонка играла то продолжить играть
3. если Колонка не играла, разбудить колонку тишиной, ждать 10 сек, установить громкость из пресета %PRESET.
4.
- синхронизировать с первой найденной играющей колонкой или группой
- если нет играющей, запустить ранее игравшее в этой колонке %path, если %path пуст, то запустить последнее игравшее %LASTPLAYPATH, если нет то первое из избранного %FAV_URLS(1)

Алиса, выключи Музыку (PAUSE) действие таскер Pause All %NAMES() Ожидание: выключиться музыка везде - действие Pause на каждую Колонку из %NAMES()

Алиса, выключи Колонку (UNSYNC) (если Алиса и Колонка в одной Комнате)
Алиса, выключи Колонку в Душе (если Алиса и Колонка разных Комнатах)
действие таскер Player UnSync %player
Ожидание: выключится музыка в этой комнате.
1. если Колонка синхронизирована разорвать синхронизацию Колонки
2. включить паузу на Колонке
3. если колонка была главной, найти и выбрать другую главную Колонку %HEAD, поиск в порядке кнопок на пульте из %BUTTONS(), первую играющую, или не играющую не в черном списке,

Алиса, Музыку/Колонку громче/тише (SET VOLUME) (если Алиса и Колонка в одной Комнате)
Алиса, Колонку в Душе громче/тише (если Алиса и Колонка разных Комнатах)
действие таскер Volume %volume %player %volstep
прибавить или убавить громкость Колонки, учитывая шаг громкости (шаг может быть различным для пульта 2, для алисы 5)

Алиса, пресет/всеколонки громче/тише (SET PRESET)
действие таскер Set vol hi all, Set vol low all
установить значения громкости всех колонок из пресета vol_low или vol_hi

Алиса, канал 3 (PLAY FAVOURITE)
Ожидание: включится канал 3
действие таскер 3, Play Shortcut %FAV_URLS(3) %HEAD
- если колонка играет, включить избранное из %FAV_URLS(3)
- если колонка не играет, разбудить колонку тишиной, установить громкость из пресета %PRESET, включить избранное из %FAV_URLS(3)

Алиса, включи джаз(чиллаут,минимал,техно,транс,...)
запускает канал 3 через сценарий "джаз" Алисы

FEATURES
- управление музыкой через виджеты колонок планшете, телефона
- пультом твбокса
- алисой голосом
- сценарии по времени, кнопкам и датчикам
- виджеты всех колонок с отображением громкости, состояния воспроизведения, синхронизации, названия. Нажатие на виджет - быстрые действия с колонкой: выбрать,подключить, отключить, заблокировать.
- синхронизация настроек, значений громкости, состояний плеров, избранного, пресетов, черного списка, между всеми управляющими устройствами (твбокс, планшет, телефон)
- ярлыки на планшете или на кнопках пульта твбокса для избранных потоков или плэйлистов, di.fm, spotify.
- черный список для блокировки управления колонками из таскера или алисой
- пресеты громкостей для колонок утро, тихо, громко
- плавное повышение громкости в сценарии утро при включении колонок, через заданный промежуток с определенным шагом.
- пробуждение колонок тишиной, ждать 10 сек, установить громкость из пресета до включения музыки, для предотвращения включения музыки на большой громкости.
- Now Playing добавить в избранное одной кнопкой или попросить Алису.
- Spotify transfer ярлык для передачи играющего в спотифай на лмс.
- State Request находясь вне домашней сети получить состояние всех колонок.

КАК ЭТО РАБОТЕТ
на твбокс, планшет, телефон ставим:

  • Tasker и плагины
  • AutoTools - для работы с json и меню
  • AutoRemote - для получения сообщений от Алисы (Кузи) через интернет
  • Join - для синхронизации данных настроек между устройствами
  • ButtonMapper - для переназначения кнопок пульта

для Алисы подключаем навык Кузя https://alexstar.ru/
создаем виртуальные устройства Музыка и Колонки, чтобы Алиса реагировала на обращения типа Алиса, включи Колонку, Алиса, включи Музыку.

-5

-6

-7

виртуальные устройства Колонки соответствуют реальным колонкам в соответствующих комнатах.
виртуальных устройств Музыка у меня два, соответствуют двум Алисам лайт в гостинной и спальне, чтобы она понимала в какой комнате включать музыку.

в Кузе создаем правила для включения, выключения колонок, громкости...

-8

правило будет отправлять message=(текст сообщения) в плагин таскера AutoRemote. URL берем из Join

например:
1s - синхронизировать колонку номер один
pa - пауза все
далее по содержанию сообщеня таскер отправляет команды на ip LMS в домашней сети.

БАГИ
если колонка зависла в состоянии play, сервер lms видит ее как играющую, то некоторые команды и сценарии могут невыполниться потому как имеют условие ничего не делать если музыка уже играет.

мои JBL Playlist имеют свойство иногда долго просыпаться из стендбая при активации воспроизведения на них, могут сами отваливаться от сети, незнаю баг ли это самих колонок или моей сети wi-fi. но втоже время с google mini проблем нет.

ДОБАВИТЬ В БУДУЩЕМ Алиса, я в душ отключить синхронизацию колонки в душе не выбирать колонку душ главной для управления с пульта!!!! установить громкость из пресета vol_hi включить плэйлист Bathroom далее управление с бт пульта в душе или с гуглмини выход, Алиса включи колонку в душе, не выбирать главной!!!

#logitechmediaserver #multiroom #chromecast #airplay #dlna #spotify #homepod #алиса #squeezebox

Apple
384,5 тыс интересуются