Колонка Маруся в Home Assistant

Установка Маруси с помощью chatgpt

Отлично: колонка Маруся подключена по Bluetooth (Connected: yes, Trusted: yes).
НО! В pactl list short sinks колонка не появилась — у тебя всё ещё только auto_null, а должна быть запись типа bluez_sink.D4_35_38_33_0D_B9.a2dp_sink.

Это значит, что PulseAudio пока не подключил Марусю как аудиовыход. Нужно чуть-чуть донастроить.
Загрузить поддержку Bluetooth в PulseAudio
Выполни команду от своего пользователя (kvictor, без sudo):

pactl load-module module-bluetooth-discover
Если модуль успешно загрузится — появится bluez_sink.* устройство.

kvictor@srvi:~$ pactl load-module module-bluetooth-discover
Произошла ошибка: Не удалось инициализировать модуль.
Я думаю какойто докер забрал управление на себя

ChatGPT сказал:
Ты абсолютно прав: один из контейнеров Docker (скорее всего hassio-audio) захватил управление Bluetooth через PulseAudio или BlueZ, поэтому pactl не может загрузить module-bluetooth-discover в основной системе — уже кто-то использует Bluetooth-ресурсы.
*************************************************************************************************
Что можно сделать
Вариант 1: Отдать управление Bluetooth хост-системе (Debian)
Чтобы Marusya работала в основной системе, а не внутри контейнера:

Останови контейнер, управляющий звуком:

docker stop hassio_audio
Проверить, освободился ли PulseAudio.

pactl load-module module-bluetooth-discover

Подключить Марусю и назначить её default sink.

pactl list short sinks
0 auto_null module-null-sink.c s16le 2-канальный 4410 SUSPENDED

ChatGPT сказал:
Судя по выводу:

Модуль module-bluetooth-discover уже успешно загружен (ID 9),

Но Bluetooth-устройств в списке sink'ов нет — там всё ещё только auto_null.

Это означает, что PulseAudio не видит подключённую колонку, несмотря на то что BlueZ её видит и колонка подключена.

Что делаем дальше:
Проверим, доступен ли модуль module-bluez5-device, который отвечает за конкретные A2DP-соединения:

pactl list short modules | grep bluez5
Если его нет — это проблема. Если он есть — идём дальше.

Попробуй переподключить колонку после загрузки module-bluetooth-discover:

bluetoothctl
disconnect D4:35:38:33:0D:B9
connect D4:35:38:33:0D:B9
или
bluetoothctl connect D4:35:38:33:0D:B9
Затем сразу в другой вкладке/окне терминала выполни:

pactl list short sinks
Ожидаем появление bluez_sink.D4_35_38_33_0D_B9.a2dp_sink.
1 bluez_sink.D4_35_38_33_0D_B9.a2dp_sink module-bluez5-device.c s16le 2-канальный 4410 SUSPENDED

ChatGPT сказал:
Отлично! ?? Колонка Mi Smart Speaker успешно появилась как аудиовыход PulseAudio:
**********************************************************************************************

bluez_sink.D4_35_38_33_0D_B9.a2dp_sink
Теперь можно:
Назначить колонку по умолчанию:
pactl set-default-sink bluez_sink.D4_35_38_33_0D_B9.a2dp_sink

4. Проверить вывод звука
Если всё ок — можно проверить звуковой тест:

echo "Маруся говорит из Linux!" | espeak --stdout | paplay
(если espeak ещё не установлен: sudo apt install espeak)

Шаг 1: Установка VLC в системе на Debian 12:

Чтобы создать Telegram-канал для взаимодействия с Марусей (или другим TTS-ботом в Home Assistant), номер телефона не нужен. Вот как это можно сделать:

Чтоб установить дополнение VLC, Вам нужно зайти в Настройки -> Дополнения -> Магазин дополнений и там найти аддон VLC и установить его. Конфигурация VLC плеера перед

запуском аддона должна быть по умолчанию: 

Запускаем VLC и далее идем в Настройки -> Интеграции 

И тут настраиваем интеграцию новую появившуюся VLC. По сути нужно там нажать просто кнопку “Настроить” и “Готово”. В этой интеграции появится одна служба и один объект.

Для теста, чтоб проверить работу колонки открываем VLC-TELNET –  это служба из интеграции VLC, которую добавили в начале.

В ней нажимаем на кнопку “просмотр медиа”. И там в открывшемся окне выбираем  Text-to-spetch, чтоб прослушать текст.

Если Вы перезагрузили сервер Home Assistant. То колонка сама (если была включена) не приконнектиться. Ее нужно перезагрузить.

ИТОГ: отказался от использования Маруси в Home Assistant

 

Comments powered by CComment