Docker-аддон запускает Node + Puppeteer + bridge.js, подключается по WebSocket к Core. Образ на Debian bookworm-slim: ставится Chromium и при возможности скачивается Google Chrome (.deb arm64/amd64) — без Chrome/Chromium с кодеками Loona часто даёт «no decoded video» и framesDec=0. run.sh сам выбирает google-chrome-stable, если он установился при сборке.
Опционально chrome_path в настройках аддона, если браузер нестандартный.
Состав репозитория:
repository.yaml— метаданные для Supervisor.loona_bridge/— сам аддон (config.yaml,Dockerfile,run.sh, каталогbridge/— копия из интеграции).
После правок в ../bridge/ скопируйте файлы в образ аддона перед сборкой:
cp -R /path/to/custom_components/loona/bridge ./loona_bridge/- Выложите каталог
addon_repository(этот репозиторий) на GitHub/GitLab (корень репозитория должен содержатьrepository.yamlи папкуloona_bridge). - В Home Assistant: Настройки → Дополнения → Магазин дополнений → меню ⋮ → Репозитории.
- Добавьте URL вида
https://github.com/<user>/<repo>и сохраните. - Обновите страницу магазина — появится аддон Loona Agora Bridge.
- Установите аддон. Первая сборка на Raspberry Pi может занять много времени.
Если в логе сборки видно только apt-get и ошибку 127: Supervisor всё ещё берёт старый Dockerfile из Git. Откройте в браузере сырой файл loona_bridge/Dockerfile на GitHub — первые строки должны быть apk add, не apt-get. Затем push на main, в HA: репозиторий → обновить, аддон переустановить (версия 0.1.3+).
npm: not found при сборке: Supervisor подставляет базовый образ без Node — в образе ставятся nodejs и npm из Alpine через apk (с версии аддона 0.1.3).
6. Запуск: Выключено вручную по умолчанию (manual_only) — перед просмотром камеры включите аддон (Старт).
- Установите аддон Samba share (или откройте SSH) и получите доступ к общей папке
addons. - Скопируйте всю папку
loona_bridgeв/addons/loona_bridgeна хосте (рядом появится аддон без отдельного URL репозитория — см. документацию HA по локальным дополнениям). - Проверка: в каталоге должны быть
config.yaml,Dockerfile,build.yaml,run.sh,bridge/. - В магазине дополнений нажмите Проверить наличие обновлений, затем установите и запустите аддон.
(Точное имя шары и путь зависят от версии HA; при сомнениях используйте способ 1.)
- Настройки → Устройства и службы → Loona → Настроить.
- Включите «Видео-бридж вне Core» / Run video bridge outside Core — иначе Core снова запустит свой
bridge.jsи в канале Agora окажутся два клиента. - Сохраните. При необходимости перезагрузите интеграцию или HA.
| Параметр | Смысл |
|---|---|
chrome_path |
Пусто — авто (chromium / google-chrome в образе). Укажите полный путь к браузеру с H.264, если ставили свой пакет. |
fps |
Частота JPEG (по умолчанию 10 — мягче для Pi с 2 ГБ RAM). |
jpeg_quality |
Качество JPEG 0.35–0.95. |
Переменная HA_WS_HOST (не в UI): hostname Core для WebSocket. По умолчанию homeassistant — стандартная DNS-запись в сети Supervisor.
- Включить выключатель камеры Loona в HA.
- Запустить аддон Loona Agora Bridge (если он на
manual_only). - Дождаться превью камеры; при таймауте смотреть логи аддона и Core (
bridge_external_addonдолжен быть включён).
- Образ ставит Chromium из Debian — на части сборок нет нужного H.264 для WebRTC; тогда нужен другой бинарь (Chrome/Brave для arm64, если доступен) и поле
chrome_path. - RAM: на Pi с 2 ГБ возможны OOM при одновременной нагрузке на HA — уменьшайте
fpsи число тяжёлых дополнений.