Понадобилось мне тут сварганить будильник с использованием телевизора на андроиде. Оказывается у него в Home Assistant есть выбор источника не только по выходам но и по эфирным каналам.
Я просто на днях подключил "рога" и поймал пару цифровых каналов из бесплатного набора, и решил что просыпаться под эфирный бубнеж будет всяко лучше чем под рингтон телефона. Но оказалось что нигде в документациях не прописано как во первых выставить громкость, а во вторых выбрать канал из НА.
Это оказалось нетривиальной задачей.
Во первых приходится управлять телеком с помощью двух компонентов. Стандартного Chromecast и отдельным Sony Bravia TV.
Первый автоопределяется (если конечно у вас телевизор поддерживает Chromecast) а второй надо настраивать, но это очень просто
И говорят работает не только с Sony
В общем у нас появляется два медиаплеера в системе.
Назовем один из них media_player.chromecast (это автоопределяемый в НА вариант) и media_player.sony_bravia_tv
ЗАДАЧА:
включить телевизор с определенной громкостью и на определенном канале
РЕШЕНИЕ:
- service: media_player.volume_set entity_id: media_player.chromecast data: volume_level: "0.35" - service: media_player.turn_on entity_id: media_player.sony_bravia_tv - service: media_player.select_source entity_id: media_player.sony_bravia_tv data: source: "04 НТВ"
Список каналов можно взять из dev-state
ВАЖНО!
Компонентом bravia_tv не регулируется громкость через НА. Только компонентом Chromecast.
Одновременно они не работают, только один из них. То есть когда один из них включается, другой выключается и наоборот. Иногда когда включаешь Chromecast а потом его выключаешь - включается уже bravia_tv плеер.
Chromecast меняет параметры телевизора даже когда он в спящем режиме.
Именно поэтому сначала устанавливается громкость, потом включается телевизор а уже потом выбирается источник.
а как же?