YandexStation
YandexStation copied to clipboard
yandex_station_response не заработало
не заработало
да список покупок работает, а yandex_station_response нет
alias: Новый скрипт
sequence:
- service: media_player.play_media
data:
media_content_type: question:1
media_content_id: Какие будильники?
target:
entity_id: media_player.XXXX
2024-04-01 02:21:30.343 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Станция Мини Спальня => local | {'command': 'sendText', 'text': 'какие будильники'}
2024-04-01 02:21:30.990 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Response error: 'output_speech'
2024-04-01 02:21:30.993 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_station] Станция Мини Спальня | Empty response on request: 1688
Originally posted by @alexxx113 in https://github.com/AlexxIT/YandexStation/issues/466#issuecomment-2028947907
Не подтверждаю. На первой мини этот пример работает
решил проблему !!!! пока все проверял, все записал
начало тестов:
очень странная история не срабатывает yandex_station_response при запуске скрипта, который выше при обновлении списка покупок не срабатывает yandex_station_response (список обновляет)
как я помню событие смотреть можно: Панель разработчика События Подписаться на событие (вставляем yandex_station_response , жмем подписаться)
2024-04-04 16:17:19.492 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Яндекс Мини => local | {'command': 'sendText', 'text': 'Какие будильники?'}
2024-04-04 16:17:20.488 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Response error: 'output_speech'
2024-04-04 16:17:20.492 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_station] Яндекс Мини | Empty response on request: 1
2024-04-04 16:17:41.645 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Яндекс Мини => local | {'command': 'sendText', 'text': 'Список покупок'}
Home Assistant Core 2024.4.0 Supervisor 2024.03.1
компонент мастер версия скачана и залита руками в папку
подкачена бета в яндексе
проверены колонки: мини 1 мини 2 лайт миди
причем колонки ведут себя странно, после запуска скрипта (отвечают) и у них начинает синим светиться индикация
далее:
отключил бету!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Все работает!!!!!!!!!!!!!!!!!!!!!!
Делам вывод! Бета это зло!!!!!
можно закрывать! оставил весь лог для помощи другим !
Я ещё сам посмотрю с включенной бетой. Пока бета отключена. Мы же про бету GPT?
Спасибо !!!!!! https://yandex.ru/alice/beta Вот она ))))
v3.15.1 в каком-то из обновлений yandex_station_response заработало, а после опять перестало. В момент отправки вопроса в боту, колонка отвечает, но сообщение не перенаправляет в чат. В событиях при подписке на yandex_station_response, ничего не появляется. Колонка продолжает мигать синим, как будто слушает дальше, и так пока не попросишь ее голосом о чем либо.
что и следовало ждать )))) опять не работает, с 10 апреля, все не мог написать )))
2024-05-02 20:03:04.812 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Станция Мини Спальня => local | {'command': 'sendText', 'text': 'какие будильники'} 2024-05-02 20:03:05.419 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_glagol] Response error: 'output_speech' 2024-05-02 20:03:05.419 DEBUG (MainThread) [custom_components.yandex_station.core.yandex_station] Станция Мини Спальня | Empty response on request: 1688
стоят последние обновления, через HA колонка перестала иногда озвучивать сообщения
2024-05-03 22:56:18.446 ERROR (MainThread) [custom_components.yandex_station.core.yandex_glagol] Станция Мини new MAMB | Station connect
Traceback (most recent call last):
File "/config/custom_components/yandex_station/core/yandex_glagol.py", line 101, in _connect
async for msg in self.ws:
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_ws.py", line 312, in __anext__
msg = await self.receive()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_ws.py", line 280, in receive
await self.pong(msg.data)
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_ws.py", line 160, in pong
await self._writer.pong(message)
File "/usr/local/lib/python3.12/site-packages/aiohttp/http_websocket.py", line 709, in pong
await self._send_frame(message, WSMsgType.PONG)
File "/usr/local/lib/python3.12/site-packages/aiohttp/http_websocket.py", line 675, in _send_frame
self._write(header + mask + message)
File "/usr/local/lib/python3.12/site-packages/aiohttp/http_websocket.py", line 702, in _write
raise ConnectionResetError("Cannot write to closing transport")
ConnectionResetError: Cannot write to closing transport
Насколько я понимаю, ошибка проявляется с новыми голосовыми моделями Яндекса, которые отвечают сразу голосом, а не текстом с последующим tts. В ответе resp["voice_response"]={'has_voice_response': True, 'should_listen': True}
, то есть вот эта строчка не срабатывает: https://github.com/AlexxIT/YandexStation/blob/319204f61b5995317dd9b2ac2d9e370ef9a45397/custom_components/yandex_station/core/yandex_glagol.py#L124
Починить это на стороне компонента никак нельзя, можно только попробовать записать голос (если он есть), и пропустить его через stt, или отправлять в тот же телеграм голосовухой. Станция шлёт в HA голос или нет?
UPD: Вроде не шлёт, не вижу нигде.