fix: фильтрация логов WebSocket — показывать только важные команды

Проблема:
- audio-level спамит 10 раз в секунду
- Не видно других команд (volume, mute, etc.)

Решение:
- Фильтровать audio-level в _broadcast_to_websocket
- Фильтровать audio-level в handle_websocket
- Показывать только важные команды

Результат:
✅ Видны команды: set_volume, mute, unmute, play_sound, etc.
✅ Не видны: audio-level (спам)
✅ Чистые логи для отладки
This commit is contained in:
2026-05-21 20:03:23 +03:00
parent addc15eecc
commit 03748505cd
+8 -1
View File
@@ -60,6 +60,7 @@ except ImportError:
_LOGGER = logging.getLogger() _LOGGER = logging.getLogger()
# Уменьшаем спам в логах от websockets библиотеки # Уменьшаем спам в логах от websockets библиотеки
# Показываем только важные сообщения, кроме audio-level
logging.getLogger('websockets.server').setLevel(logging.WARNING) logging.getLogger('websockets.server').setLevel(logging.WARNING)
_PONG_TIMEOUT: Final = 5 _PONG_TIMEOUT: Final = 5
@@ -1058,7 +1059,9 @@ class SatelliteBase:
command_data = data.get('data', {}) command_data = data.get('data', {})
if command: if command:
_LOGGER.debug(f"Received command: {command}") # Логируем все команды кроме audio-level
if command != "audio-level":
_LOGGER.debug(f"WebSocket RX: {command} {command_data}")
await self.handle_websocket_command(command, command_data) await self.handle_websocket_command(command, command_data)
else: else:
_LOGGER.debug(f"Received message (no command): {data}") _LOGGER.debug(f"Received message (no command): {data}")
@@ -1124,6 +1127,10 @@ class SatelliteBase:
ensure_ascii=False ensure_ascii=False
) )
# Логируем только важные события (не audio-level)
if event.type != "audio-level":
_LOGGER.debug(f"WebSocket TX: {event.type}")
for ws in self._websocket_clients: for ws in self._websocket_clients:
try: try:
await ws.send(message) await ws.send(message)