Блог

Телевизор в Homekit через Нome Assistant. Способ простой - используем SmartIR и Broadlink.

В Home Assistant начиная с версии 0.93  появилась возможность добавить телевизор как телевизор, а не как набор выключателей. Сегодня покажу как сделать это проше всего. А именно используя Broadlink ( либо Xiaomi IR Remote) и кастомный компонент SmartIR MediaPlayer

В первую очередь добавьте вашу платформу (в моем случае Broadlink) в файл configuration.yaml

# Broadlink switch: - platform: broadlink host: IP_ADDRESS mac: 'MAC_ADDRESS'

Теперь нужно установить и добавить кастомный компонент SmartIR MediaPlayer. В этом нет ничего сложного, следуйте инструкциям на github. На сайте уже есть несколько наборов кодов для популярных моделей телевизоров. Мой Samsung UE46F8580 отозвался на код 1060. В итоге получилась такая конфигурация в configuration.yaml

#Кастомный компонент SmаrtIR smartir: #Media Players media_player: - platform: smartir name: Living room TV IR unique_id: samsung_tv_brdlnk device_code: 1060 controller_data: 192.168.0.22 #IP Broadlink power_sensor: binary_sensor.tv_power #откуда считывать состояния устройства, например с умной розетки

А теперь последний штрих, без которого не получиться задуманного. Нам нужно добавить device_class: tv к устройству media_player. Это можно сделать двумя способами: через интерфейс HA (вкладка Configuration, а затем Customization) или напрямую в файле customize.yaml

media_player.living_room_tv_ir: device_class: tv

Не забываем также добавить наш компонент в конфигурацию homekit, в случае если вы используете include. Если вы все сделали правильно, то после следующего перезапуска ХА ваш телевизор должен появиться в HomeKit. 

В следующем блоге расскажу о более изящном способе, а именно использование платформы universal для создания медиа плеера из комбинации различных компонентов, например Apple TV, Samsung TV и  Broadlink. Подписывайтесь чтобы не пропустить ничего интересного, а также ставьте лайки если понравилось, как известно это очень мотивирует. 


Оперативно, с меня как обещал лайк) А пульт появился или только иконка в хк?

Спасибо за лайк. К сожалению пульт не появился, но этот функционал есть. Нужно чтобы платформа (media_player) поддерживала play_pause. Вроде бы он должен быть доступен через SmartIR, но у меня не заработало. Надеюсь в следующем посте с платформой universal все будет чики пуки. В SmartIR не нравиться еще миллион inputов, облагородим и это в следующий раз. 

Тогда пока тв оставлю на бридже)
Ща обновлю на 0.93, удивительно, что на 0.92 не ругается на device_class: tv, просто ничего не происходит) как и говорил тв компонент подъехал только в последней версии
Ща поковыряю smartir, там скорее всего свои коды надо будет добавить, чтоб пульт появился

использовал SmartIR исключительно из простоты, у меня работает и Samsung TV компонент, но он не может включать и выбирать source. Вот поэтому и хочу запилить с помощью universal. Добавлю все в один плеер.

А universal как-то удобно прокидывается в хк? А-то ради управления из ха даже смысла не вижу заморачиватьсч

прокинуть в хк можно любой медиаплеер, если ему задать класс тв, тут ограничений нет. Платформа https://www.home-assistant.io/components/universal/">universal позволяет комбинировать несколко разных платформ, например громкость через Broadlink, а включение через HDMI-CEC и Apple TV например.

А, тогда может выйти что-то дельное, спасибо, тоже поковыряю)

У меня пульт появился сразу же, но работает очень криво, надо разбираться

В случае с webOS TV пульт появился, но не пашет от слова "совсем")

И список инпутов тоже пустой

Добрый день.

Пытаюсь настроить компонент SmartIR для управления телевизором. Сделал все как в статье. В Lovelace добавил карточку так:

- type: entities 

show_header_toggle: false 

entities: 

- entity: media_player.living_room_tv 

name: SmartIR

карточка в интерфейсе появилась, но без кнопок управления...

в чем моя ошибка? подскажите, пожалуйста...

Добрый день!

делаю по инструкции

Ошибка.
Platform error media_player.smartir - cannot import name 'MediaPlayerEntity' from 'homeassistant.components.media_player' (/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/media_player/__init__.py)

что делать?


Вернуться назад
Вернуться назад