Sendspin Bluetooth Bridge
🏠 Лендинг · 📖 Документация · 🚀 Демо · 💜 Поддержать · 🇬🇧 English version
История изменений · Дорожная карта · Участие в разработке · Безопасность
Превратите Bluetooth-колонки и наушники в нативные плееры Music Assistant на протоколе Sendspin.
Sendspin Bluetooth Bridge — это local-first мост для headless-сценариев на Home Assistant, Docker, Raspberry Pi и LXC. Каждое Bluetooth-устройство появляется в Music Assistant как отдельный плеер, а управление, диагностика и настройка доступны через веб-интерфейс.
- Превращает обычные Bluetooth-колонки и наушники в плееры Music Assistant.
- Подключает несколько устройств одновременно: BridgeOrchestrator координирует отдельный изолированный playback-подпроцесс на каждую колонку.
- Даёт веб-интерфейс для настройки, Bluetooth pairing flow, диагностики, логов и бэкапа конфигурации.
- Подсказывает следующие шаги через onboarding checklist, recovery guidance и action-oriented диагностику.
- Поддерживает развёртывание как Home Assistant addon, Docker, Raspberry Pi, Proxmox VE LXC и OpenWrt LXC.
- Позволяет масштабироваться на несколько комнат через несколько bridge-экземпляров против одного MA-сервера.
- Bluetooth-колонка или наушники — подойдёт любое устройство с профилем A2DP.
- Сервер Music Assistant (v2.3+) с включённым провайдером Sendspin.
- Linux-хост с USB или встроенным Bluetooth-адаптером — Raspberry Pi, NUC, Proxmox VM или Home Assistant OS.
Командная строка не нужна. Веб-интерфейс полностью берёт на себя поиск Bluetooth-устройств, сопряжение и настройку Music Assistant.
| Платформа | Оборудование | Аудиосистема |
|---|---|---|
| Home Assistant OS 17+ | Proxmox VM, Raspberry Pi 4/5 | PulseAudio 17 |
| Ubuntu 22.04 / 24.04 | x86_64, aarch64 | PulseAudio / PipeWire |
| Proxmox VE 8.x LXC | x86_64 | PulseAudio |
| OpenWrt 23+ LXC | aarch64, armv7 | PulseAudio |
У проекта теперь есть два практических режима:
- Production mode — реальный Bluetooth, PulseAudio/PipeWire и интеграция с Music Assistant.
- Demo mode — детерминированный UI/test stand для документации, скриншотов и UX-проверок без железа.
Локальный demo запускается из корня репозитория:
DEMO_MODE=true python sendspin_client.pyПосле запуска откройте http://127.0.0.1:8080/. Demo mode поднимает стабильный стенд с девятью устройствами, преднастроенными diagnostics/logs, group state и данными Music Assistant, поэтому UI можно изучать и документировать без живого Bluetooth-окружения.
Самый быстрый путь — установить Home Assistant addon.
- Добавьте репозиторий в Home Assistant.
- Установите Sendspin Bluetooth Bridge через Add-on Store.
- Запустите аддон и откройте веб-интерфейс из боковой панели HA.
- Добавьте Bluetooth-колонки, затем откройте Configuration → Music Assistant, чтобы подключить или перенастроить Music Assistant. Dashboard сам подскажет следующий безопасный шаг через onboarding checklist и recovery guidance.
Полный гайд по Home Assistant: https://trudenboy.github.io/sendspin-bt-bridge/ru/installation/ha-addon/
git clone https://github.com/trudenboy/sendspin-bt-bridge.git
cd sendspin-bt-bridge
docker compose up -dОткройте http://<host-ip>:8080/ и следуйте инструкциям на экране. Полный гайд по Docker: https://trudenboy.github.io/sendspin-bt-bridge/ru/installation/docker/
| Вариант | Для кого | Путь установки | Документация |
|---|---|---|---|
| Home Assistant Addon | Пользователи HAOS / Supervised | Add-on Store | Открыть гайд |
| Docker | Обычные Linux-хосты | docker compose up -d |
Открыть гайд |
| Raspberry Pi | Установки на Pi | Настройка на базе Docker | Открыть гайд |
| Proxmox / OpenWrt LXC | Маршрутизаторы, appliance-сценарии и лёгкие хосты | Bootstrap-скрипт на хосте | Открыть гайд |
- Синхронизированный стриминг — использует протокол Sendspin для передачи lossless-аудио с выравниванием по времени, чтобы сгруппированные колонки играли синхронно в разных комнатах.
- Без командной строки — поиск Bluetooth-устройств, сопряжение и подключение к Music Assistant целиком через веб-интерфейс. Никакого
bluetoothctl, конфигов вручную или SSH. - Глубокая интеграция с Music Assistant — текущий трек, обложка, управление воспроизведением, групповая громкость, shuffle и repeat — всё синхронизируется в реальном времени через постоянное соединение с сервером MA.
- Автоматизации Home Assistant — каждая Bluetooth-колонка становится плеером Music Assistant, видимым в HA. Используйте в автоматизациях, скриптах, сценах, дашбордах и с голосовыми ассистентами.
- Надёжный Bluetooth — автоматическое переподключение, детекция отключений и мониторинг состояния устройств поддерживают связь с колонками без ручного вмешательства.
- Подсказки по настройке и восстановлению — встроенные onboarding/recovery-поверхности и bug report с автоподсказкой по диагностике ускоряют настройку и разбор проблем.
- Стабильный demo-стенд — публичное live demo и
DEMO_MODE=true python sendspin_client.pyдают повторяемую среду для UI-проверок, скриншотов и демонстраций без Bluetooth-железа. - Мультирум — один bridge на комнату или один bridge на несколько колонок. Несколько bridge-экземпляров работают с одним сервером Music Assistant для озвучки всего дома.
- Пять вариантов развёртывания — Home Assistant addon, Docker, Raspberry Pi, Proxmox VE LXC и OpenWrt LXC — один и тот же bridge, один веб-интерфейс, одни и те же функции везде.
- REST API и live-обновления — 60+ эндпоинтов для автоматизации и поток статусов в реальном времени через SSE для кастомных дашбордов и интеграций.
Дорожная карта теперь синхронизирована с v3-волной, которая стартует от уже shipped v2.46.x runtime, а не от старого списка рефакторингов.
- Уже приземлено как baseline: operator guidance/recovery polish, который сделал mature installs спокойнее, а bulk actions — более осознанными.
- Сейчас: положить foundation в виде backend abstraction плюс config schema v2.
- Следующий крупный продуктовый шаг: выпустить USB DAC и wired audio players как первый adjacent backend, а затем добавить custom PulseAudio sink tooling там, где он реально расширяет room layout.
- Потом: добавить audio health visibility, signal path clarity и guided delay tuning, чтобы Bluetooth и wired players имели одну общую observability story.
- После этого: развивать AI-assisted diagnostics и planning развёртывания, а уже потом — централизованное управление несколькими bridge.
Полная англоязычная версия находится в ROADMAP.md, а краткая русская - в ROADMAP.ru.md.
Bridge уже рассматривает несколько runtime-поверхностей как операторские контракты:
- Lifecycle publication — startup и shutdown проходят через явные события
bridge.startup.started,bridge.startup.failed,bridge.startup.completed,bridge.shutdown.startedиbridge.shutdown.completed. Те же фазы отражаются вstartup_progressиruntime_info. - Diagnostics и telemetry —
/api/diagnosticsи/api/bridge/telemetryявляются каноническими endpoint'ами для runtime inspection. Они публикуютstartup_progress,runtime_info, состояние hook delivery иcontract_versionsдля config schema и subprocess IPC protocol. - Runtime hooks —
/api/hooksотдает те же bridge/device events, что питают diagnostics, поэтому автоматики могут подписываться на стабильный event stream, а не парсить логи.
- Onboarding и recovery — header guidance показывает пятишаговый setup checklist, recovery notices и безопасные действия вроде reconnect speaker или reclaim Bluetooth management после release.
- Повторная настройка Music Assistant — раздел Configuration → Music Assistant можно открыть в любой момент, чтобы переподключиться к MA или перевести bridge на другой MA-инстанс. В Home Assistant addon кнопка Sign in with Home Assistant умеет по возможности тихо получить или переиспользовать MA token через Ingress, а при необходимости откатывается к обычному HA login flow.
- Диагностика для support-flow — Submit bug report скачивает masked diagnostics и открывает GitHub issue с предложенным описанием, уже собранным из текущей диагностики, recovery guidance и свежих issue logs.
Полные инструкции и справка живут на docs site:
- Установка
- Конфигурация
- Веб-интерфейс
- Устройства
- API Reference
- Устранение неисправностей
- Архитектура
- Тестовый стенд
- GitHub Issues
- Обсуждение в сообществе Music Assistant
- Тема в сообществе Home Assistant
- Канал в Discord
Если этот мост сэкономил вам время или хорошо лёг в вашу систему — можно поддержать разработку:
- 💚 WhyDonate — разовые и регулярные донаты, карты / iDEAL / SEPA, донор выбирает сумму
- 💜 Boosty — для аудитории СНГ, разовые и регулярные донаты
- 💎 Крипта через NOWPayments — one-click страница доната, 70+ монет, без регистрации
- ⚡ Lightning:
treepersistent936456@getalby.com - ₿ BTC:
bc1qkxj9fgc78288udyn7mu4d3m5t0mvw8qsj8zga8 - 💵 USDT (TRC20):
TYX4TVFNkfJWhSVNLQiJK8o3Yafw8WxAgJ - 💵 USDT / ETH (ERC20 / BSC / Polygon):
0x1ed18de295f3448538d36204dbc156da038046e8
Проект под лицензией MIT и останется бесплатным независимо от донатов — нет premium-тиров и платных функций. Хороший баг-репорт или pull request не менее ценны.
См. полную страницу поддержки с FAQ и дополнительными платёжными сетями.
