Режим стены
/wall показывает собственное табло консоли на весь экран для монитора, который
остаётся включённым в комнате. Оно обновляется само и не даёт экрану погаснуть.
Сверху вниз:
- вердикт в нескольких словах («All good», «3 problems») с датой и часами и временем последнего обновления;
- пять показателей обзора: работающие мониторы, доступность за 30 дней, время ответа p95, открытые оповещения и среднее время устранения;
- река состояния, главная картина табло: полоса на монитор, худшие сверху;
- открытые оповещения, самые серьёзные первыми;
- кто дежурит сейчас, с расписанием и концом смены.
Без виджетов: чёрный фон, шрифт консоли, состояния записаны рядом с фигурой и никогда не только цветом. Музыка, если она настроена, занимает небольшую панель внизу правой колонки.
Открытие и выход
Заголовок раздела «Открытие и выход»Откройте его значком Wall mode внизу левого меню, через палитру команд («Wall mode») или вводом URL. ++esc++ или Exit возвращает в консоль. Учётная запись, ограниченная некоторыми командами или клиентами, не получает режим стены, поскольку он показывает весь парк.
Стена использует тёмный вид консоли. Кнопка Фон (справа вверху, рядом с
Exit) может нарисовать один из ночных городов
страниц статуса за вердиктом и часами: Париж, Нью-Йорк,
Токио или Дубай, либо Авто — ближайший к часовому поясу браузера. По
умолчанию он выключен и запоминается для каждого браузера; ?city=paris (или
newyork, tokyo, dubai, none) в ссылке выбирает его только для этого
экрана. Небо следует за панелью: звёзды, когда всё хорошо, облака при
замечании, гроза при предупреждении. На телефоне или в скрытой вкладке город
неподвижен. Сохранённый или указанный в ссылке zermatt теперь ведёт на
Дубай.
Музыка на стене
Заголовок раздела «Музыка на стене»Стена также может играть музыку и показывать, что звучит: вы запускаете плейлист с телефона, слышите его через телевизор и видите с другого конца комнаты. Музыка занимает небольшую панель внизу правой колонки, под часами и дежурством: она никогда не отнимает место у вердикта и проблем и исчезает, когда ничего не играет или ничего не настроено. Панель показывает обложку, название, исполнителя, устройство воспроизведения и тонкую полосу прогресса; если подключённая учётная запись это разрешает, кнопка воспроизведение / пауза ставит на паузу или возобновляет воспроизведение учётной записи, где бы оно ни шло (это может любой вошедший сеанс, включая учётные записи читателей, как и Играть здесь). Плеер общей ссылки и сообщения динамика сворачиваются в маленькую «таблетку» (экран это запоминает). Кнопка Музыка на стене, рядом с «Фон» и «Выход», появляется, когда музыка настроена.
Есть два способа, и вы можете использовать оба.
| Spotify Connect | Ссылка, отправленная на стены | |
|---|---|---|
| Начните с | приложения Spotify на телефоне (Устройства → DumbMonit Wall) | любого экрана DumbMonit, включая телефон (Воспроизвести на стене) |
| Сервисы | Spotify | Spotify, Deezer, YouTube и YouTube Music |
| Требуется | Spotify Premium, собственное приложение Spotify Developer, телефон на той же учетной записи Spotify, стена, обслуживаемая через HTTPS (или localhost) в браузере с DRM | ничего; без входа на стене Spotify и Deezer воспроизводят 30-секундные превью |
| Показывает, что воспроизводится | да, везде, где оно воспроизводится: на стене, в приложении Spotify телевизора, на динамике cast | собственный плеер сервиса |
Подключение Spotify и отправка ссылок - это действия администратора; учетная запись зрителя на стене воспроизводит и показывает все.
Spotify Connect: стена становится динамиком
Заголовок раздела «Spotify Connect: стена становится динамиком»Цель: на телефоне откройте Spotify, коснитесь значка устройств, выберите телевизор — музыка воспроизводится на телевизоре, пока на стене показывается, что воспроизводится. Стена делает это с помощью Web Playback SDK Spotify: браузер стены регистрируется как устройство Spotify Connect. Это работает только, когда все из этого выполняются, и стена подскажет вам на собственном экране, какое из них отсутствует:
| Требуется | Почему | Когда это отсутствует |
|---|---|---|
| Spotify Premium на подключенной учетной записи | Spotify позволяет использовать браузерные динамики только учетным записям Premium | на стене показано требуется Spotify Premium; в Параметрах отображается Premium: No |
| Телефон, вошедший в одну и ту же учетную запись Spotify | браузерный динамик отображается только для учетной записи, которой принадлежит маркер — он не обнаруживается в сети, как умный динамик, и другие члены семейного плана его не видят | телефон просто не отображает стену |
HTTPS (или http://localhost на самом дисплее) | браузеры позволяют защищенные медиа (DRM) только на безопасной странице | на стене показано открыто по простому HTTP |
| Браузер, DRM которого работает (Widevine, PlayReady или FairPlay) | Spotify потоком передает зашифрованный звук | на стене показано этот браузер не может воспроизводить Spotify |
| Одно касание или нажатие клавиши на стене за загрузку страницы | браузеры держат страницу бесшумной, пока кто-нибудь не взаимодействует с ней | на стене показано коснитесь, чтобы включить звук |
Какие браузеры работают: Chrome, Edge и Firefox на компьютере (Firefox: разрешить
Воспроизвести контент, контролируемый DRM), Safari на Mac, Chromium с Widevine на
Raspberry Pi (libwidevinecdm0). Большинство браузеров умных ТВ (Samsung Tizen, LG
webOS), киосковых браузеров и многих сборок Linux Chromium не имеют
работающего Widevine: они не могут быть динамиком Spotify, что бы ни делал DumbMonit. Для
такого ТВ см. Когда браузер телевизора не может воспроизводить Spotify.
Установка
Заголовок раздела «Установка»- Создайте приложение Spotify. Откройте
Панель инструментов разработчика Spotify, создайте
приложение (любое имя), установите флажки Web API и Web Playback SDK, и добавьте
URI перенаправления, который показывает Параметры → Музыка на стене:
- DumbMonit обслуживается через HTTPS:
https://<ваш адрес>/api/music/spotify/callback. Spotify сразу же вернется в DumbMonit после того, как вы одобрите. - DumbMonit обслуживается через простой HTTP:
http://127.0.0.1:8888/callback. Spotify принимаетhttp://только для адреса обратной связи (и неlocalhost), начиная с 2025 года. Ничего не отвечает по этому адресу: после того как вы одобрите, ваш браузер показывает страницу ошибки, адрес которой содержит код — скопируйте его и вставьте обратно в DumbMonit.
- DumbMonit обслуживается через HTTPS:
- Подключение. В Параметры → Музыка на стене вставьте Client ID приложения (нет секрета: DumbMonit использует Authorization Code с PKCE) и выберите Подключить Spotify, затем одобрите на Spotify с учетной записью, которую использует ваш телефон.
- На телевизоре откройте
/wallDumbMonit через HTTPS, вошли (учетной записи зрителя достаточно), и коснитесь экрана или нажмите OK на пульте один раз: любой жест разблокирует звук. Браузер, запущенный с--autoplay-policy=no-user-gesture-required(киоск) не требует касания. - На телефоне в приложении Spotify коснитесь значка устройств и выберите DumbMonit Wall. Звук выходит из телевизора, и стена показывает обложку, название и прогресс.
Параметры → Музыка на стене → Динамик показывает, все ли это работает, не ходя к телевизору: учетная запись, Premium, указывает ли Spotify динамик в числе устройств учетной записи прямо сейчас (и какие устройства оно указывает), и каждую стену, которая сообщила в последние пятнадцать минут — браузер (“Chrome 130 on Linux”), готов ли он, и почему нет. Проверить звук заставляет учетную запись воспроизводиться на динамике (она возобновляет то, что последний раз воспроизводилось); каждая готовая стена имеет собственную Проверку звука. На самой стене панель Музыка имеет Воспроизвести здесь, которая перемещает то, что воспроизводится на учетной записи, на этот дисплей.
Имя. Переименуйте динамик в Параметры → Музыка на стене → Динамик (“Гостиная ТВ”);
каждая стена подхватит новое имя в течение нескольких секунд. Чтобы назвать только одну стену,
добавьте ?speaker=Kitchen к ее адресу — дисплей запомнит это
(?speaker= забывает).
Стена остается включенной дни. Стена запрашивает у DumbMonit свежий маркер при истечении срока действия маркера Spotify (каждый час); когда устройство отключается (Wi-Fi, спящая сетевая карта) и не возвращается в течение тридцати секунд, стена регистрируется снова; временный сбой повторяется сам по себе (15 с, 30 с, … затем каждые пять минут); и если Spotify перестает отображать стену, пока она думает, что она готова, она регистрируется снова. Только то, что ожидание не может исправить — нет DRM, нет Premium — останавливается навсегда, до Повторить попытку.
DumbMonit хранит маркер обновления Spotify зашифрованным с помощью секрета экземпляра и никогда не отправляет его браузеру. Стена получает только краткосрочный маркер доступа для своего плеера, и только через вошедший сеанс (маркер API не может получить его). Отключение забывает учетную запись; чтобы также удалить DumbMonit из вашей учетной записи Spotify, используйте spotify.com/account/apps.
Также хорошо знать:
- Личное приложение Spotify (режим разработки) принадлежит учетной записи Premium и допускает до пяти учетных записей: добавьте других в Управление пользователем в панели инструментов.
- Переподключайтесь каждые шесть месяцев. Spotify заканчивает соединение через шесть месяцев после того, как оно было одобрено; Параметры показывают дату, и стена это говорит, когда это происходит.
Текущее воспроизведение работает без всего этого. Сервер DumbMonit спрашивает Spotify, что воспроизводится на учетной записи каждые несколько секунд (один запрос для всех стен), и стена показывает обложку, название, исполнителя, прогресс и устройство, на котором оно воспроизводится — саму стену, приложение Spotify смартТВ, Chromecast, ваш ноутбук — даже через простой HTTP и в браузере, который не может воспроизводить Spotify. Чтобы использовать только это, отключите Использовать этот дисплей как динамик Spotify в панели Музыка на стене.
Когда браузер телевизора не может воспроизводить Spotify
Заголовок раздела «Когда браузер телевизора не может воспроизводить Spotify»Выберите то, что соответствует вашей установке — в любом случае стена продолжает показывать, что воспроизводится, потому что текущее воспроизведение читает учетную запись, а не динамик:
- На телевизоре есть приложение Spotify, или Chromecast / Google TV / Fire TV stick. Выберите это в списке устройств Spotify; стена показывает “Воспроизводится в гостиной ТВ”. Это самый простой и надежный вариант.
- Небольшой компьютер управляет телевизором (Raspberry Pi, мини ПК, старый ноутбук). Откройте стену в Chrome или Chromium с Widevine на нем: она становится динамиком, как описано выше.
- Вы хотите динамик, который всегда там, даже без браузера. Запустите приемник Spotify Connect на основе librespot (MIT) — например raspotify или spotifyd — на машине, звуковой выход которой достигает телевизора или динамика. Он появляется в списке устройств телефона для всех в сети.
DumbMonit намеренно не поставляет такой приемник: контейнер DumbMonit обычно работает на сервере в шкафу, а не на машине, подключенной к телевизору, поэтому его звук выходил бы из неправильного места; приемник нуждается в звуковой карте хоста и сетевом подключении хоста (multicast DNS), которое мониторящий контейнер не должен иметь; и librespot зависит от неофициальных протоколов Spotify, которые время от времени ломаются. Приемник, установленный на правильной машине рядом с DumbMonit, делает работу лучше.
Ссылка, отправленная на каждую стену
Заголовок раздела «Ссылка, отправленная на каждую стену»В Параметры → Музыка на стене (или собственной панели Музыка стены) вставьте ссылку Spotify, Deezer или YouTube на трек, альбом, плейлист, эпизод или видео и выберите Воспроизвести на стене. Каждая стена воспроизводит это в официальном встроенном плеере сервиса; ссылка, отправленная во время открытия стены, начинает сама по себе, где сервис это позволяет (YouTube, Deezer), как только стена был коснулась. Остановить удаляет ее с каждой стены.
Deezer и YouTube не имеют эквивалента Spotify Connect, который веб-страница может использовать — Deezer больше не принимает новые приложения разработчиков, и его API никогда не раскрывал, что воспроизводится — поэтому ссылка - это способ для них. Встроенные плеры воспроизводят 30-секундные превью, если только браузер стены не вошел в сервис.
Конфиденциальность
Заголовок раздела «Конфиденциальность»Ничего третьей стороны не загружается на стену, пока Spotify не будет подключен или
ссылка не будет установлена. Политика безопасности контента страницы позволяет точно три встроенных
плеера, скрипт плеера Spotify (sdk.scdn.co/spotify-player.js) и его
фрейм, и покрывает с i.scdn.co — ничего больше, и ничего вне веб
интерфейса.
Политика разрешений (Permissions-Policy) интерфейса даёт автовоспроизведение и защищённый контент (DRM) только этим плеерам; публичные страницы статуса не получают ни того, ни другого.
| Маршрут | Кто | Что |
|---|---|---|
GET /api/music/now | любой сеанс или маркер | Что воспроизводится на учетной записи Spotify (кэшировано несколько секунд) и ссылка, которую воспроизводят стены |
PUT /api/music/link {"link": "…"} | администратор | Каждая стена воспроизводит эту ссылку |
DELETE /api/music/link | администратор | Стены останавливают встроенный плеер |
GET /api/music/spotify | любой сеанс или маркер | Подключенная учетная запись: статус, Client ID, дата переподключения — никогда маркер |
POST /api/music/spotify/authorize | сеанс администратора | Начинает соединение: {"client_id", "redirect_uri"} → URL одобрения Spotify |
POST /api/music/spotify/complete {"url": "…"} | сеанс администратора | Завершает соединение обратной связи с адресом, на котором приземлился браузер |
GET /api/music/spotify/callback | браузер администратора | Прямое перенаправление Spotify (установки HTTPS): передаёт код странице настроек, которая завершает подключение в своём сеансе |
DELETE /api/music/spotify | администратор | Отключает и забывает маркеры |
GET /api/music/spotify/token | только сеанс браузера | Краткосрочный маркер доступа для плеера стены |
GET /api/music/speaker | любой сеанс или маркер | Динамик: имя, Premium, устройства Spotify Connect учетной записи, указан ли динамик, что сообщила каждая стена |
PUT /api/music/speaker {"name": "…"} | администратор | Переименовывает динамик (null возвращается к “DumbMonit Wall”) |
POST /api/music/speaker/report | только сеанс браузера | Стена сообщает о своем динамике (отправляется каждую минуту); ответ говорит, указывает ли Spotify динамик |
POST /api/music/speaker/play {"device_id": "…"} | только сеанс браузера | Воспроизводит учетную запись на этом устройстве, или на устройстве с именем, как динамик (“Проверить звук”, “Воспроизвести здесь”) |
POST /api/music/spotify/playback {"playing": false} | только сеанс браузера | Ставит на паузу (false) или возобновляет (true) воспроизведение учётной записи, где бы оно ни шло; can_control в GET /api/music/now говорит, разрешено ли это |