Настройка home assistant телевизор LG

К сожалению, телевизор у меня не «умный» ни разу, в нём не то, что бы SmartTV, вообще никаких интерфейсов нет. Логичным шагом в своё время стала покупка ТВ-бокса с Android на борту. На бокс был установлен медиа-комбайн Kodi, установленный лончером по умолчанию, кроме которого, в общем-то, запускается только YouTube. Вот такой аскетизм.

И вот пришла пора всем этим рулить из HomeAssistant.

Подключение приставки на Android (AndroidTV)

Для управления медиасистемами в HomeAssistant предусмотрена штатная интеграция Media Player . Тем, у кого, например, Philips или Samsung — повезло больше, поскольку созданы отдельные компоненты под телевизоры этих марок, для всех остальных — есть штатная реализация Media Player под Android TV (которая, в общем-то, работает и с обычным Android).

Первое, что нам нужно для подключения — это знать IP-адрес нашей коробочки. Второе — убедиться, что с сервера, на котором крутится HomeAssistant, наша коробочка доступна и слушается через adb:

[Телевизор LG] Как настроить голосовой помощник Google Assistant на телевизоре LG

adb connect 192.168.1.123

Если сервер начнёт ругаться, что не знает команду adb — нужно поставить библиотеки. Для Ubuntu это выглядит так:

sudo apt-get install android-tools-adb

Если соединение прошло успешно — можно настраивать плагин (в configuration.yaml):

media_player:
— platform: androidtv
host: !secret tvbox_ip
adb_server_ip: 127.0.0.1
name: TV BOX
apps:
«kodi»: «Kodi»
«com.liskovsoft.videomanager»: «YouTube»

, здесь tvbox_ip — адрес нашей коробочки, adb_server_ip — адрес сервера, с которого мы подключаемся к боксу через adb, name — название устройства, которое будет отображаться в HomeAssistant, apps — список приложений, названия которых будут отображаться в карточке Media Player (у меня в качестве YouTube используется приложение Smart YouTube TV с телевизионным интерфейсом). Список apps нужен в первую очередь для того, чтобы превратить длинные наименования приложений в короткие и понятные названия, которыми проще будет оперировать при управлении и создании автоматизаций.

После создания конфигурации и перезапуска HomeAssistant можно добавить карточку MediaPlayer к себе на панель управления:

Кроме стандартной карточки проигрывателя есть ещё кастомный плагин Mini Media Player с широкими возможностями. Эти возможности и примеры карточек можно увидеть на странице плагина на GitHub . Я вынес кнопки в отдельную панель и сейчас моя карточка выглядит так:

Подключение Kodi

Интеграция Media Player, кроме управления устройствами, имеет возможность управлять отдельными распространёнными приложениями, : iTunes, Spotify, Plex или Kodi. Все виды интеграций можно посмотреть тут , меня же интересует (пока что) только Kodi .

Чтобы подключить Kodi, нужно активировать в настройках Kodi доступ через веб-интерфейс, а затем прописать доступ в configuration.yaml:

Уведомления на TV (с Android-плеером)

media_player:
— platform: kodi
host: !secret kodi_ip
port: !secret kodi_port

Перезапускаем HomeAssistant и добавляем стандартную карточку:

Или кастомный плагин:

Плейлисты в Kodi

Зачем вообще городить Kodi отдельно от общего Android TV? Плагин для Kodi умеет больше, чем общий плагин для управления боксами — он определяет источник медиа (музыка, сериалы, фильмы), показывает обложки, позволяет синхронизировать медиатеку из HomeAssistant и всякое другое.

Мне в первую очередь от плагина нужен был запуск музыки из панели управления, чтобы не вставать лишний раз в поисках пульта. Делается это с помощью сервиса media_player.play_media.

Поскольку плейлистов у меня организовано никогда не было а музыку я запускал исключительно по исполнителю, то первым моим шагом было создание отдельных папок с исполнителями на диске, откуда играется музыка и вызов сервиса play_media с указанием папки, откуда играть. У такого подхода есть существенный минус — при запуске проигрывателя сначала вся папка сканируется и собирается плейлист, что создаёт большую задержку между нажатием кнопки и, собственно, музыкой.

Я отказался от такого подхода и решил собрать смарт-плейлисты. Вкратце: смарт-плейлисты в Kodi — это фильтры, с помощью которых из всей медиатеки выбирается нужная музыка, например, по исполнителю, по ключевым словам или по любому другому параметру. Недостаток смарт-плейлистов тот же, что и при проигрывании папки с музыкой — чем больше музыки попадает под фильтры, тем больше времени нужно для подготовки плейлиста при каждом запуске.

В итоге я пришёл к старым добрым традиционным плейлистам, в которые я занёс самостоятельно все нужные мне композиции и сохранил в формате m3u.

Подход для запуска любого их вышеперечисленных способов одинаковый: я создал объект input_select c перечнем всех плейлистов и при выборе одного из них передавал название плейлиста в автоматизацию в виде переменной.

Объект input_select создаётся в меню Настройки — Вспомогательное — Выпадающий список:

Еще по теме:  Как настроить канал дискавери на телевизоре

Задаём название, иконку и добавляем опции — названия плейлистов. Важно! Плейлисты надо задавать именно в том виде, в каком они хранятся в хранилище Kodi. Одна неверная буква или лишний пробел — и плейлист запускаться не будет.

Следующий этап: создать автоматизацию запуска плейлиста при выборе одного из значений (в automations.yaml):

— alias: Играть
platform: state
entity_id: input_select.pleilist
action:
service: media_player.play_media
data_template:
entity_id: media_player.kodi
media_content_type: DIRECTORY
media_content_id: «special://profile/playlists/music/>.m3u»

Теперь достаточно добавить на панель в любое удобное место наш выпадающий список:

И готово, при выборе плейлиста он запускается. Аналогичным способом можно запускать любое медиа из файла (подставить нужные пути в media_content_id) или отдельными методами Kodi.

Впрочем, с тех пор как у меня дома поселилась Алиса, я слушаю музыку с Яндекс.Станции, а не через Kodi, так что эта автоматизация у меня тоже теперь закомментирована до лучших времён. Про Алису, разумеется, тоже будет отдельная статья, возможно и не одна.

Автоматизация на основе контента Kodi

Ещё одна причина, по которой стоит отдельно настроить Kodi, если вы его используете — определение типа воспроизведения для создания автоматизации. Например, включение интимного освещения при запуске кино или что-нибудь ещё при включении музыки.

Моя автоматизация для режима «кино» (automations.yaml):

— alias: Время для фильма
trigger:
— platform: state
entity_id: media_player.kodi
to: ‘playing’
condition:
— condition: state
state: ‘below_horizon’
— condition: or
conditions:
— condition: template
value_template: ‘>’
— condition: template
value_template: ‘>’
action:
— service: script.cinema

Тут самое сложное — это разобраться с условиями (conditions). Триггер срабатывает, когда состояние media_player.kodi переходит в playing и выполнены условия: солнце за горизонтом (зачем нам свет включать, если и так светло?) и (media_content_type = tvshow или media_content_type = movie). Условия в HomeAssistant записываются именно так, с этим ничего не поделать. Когда срабатывает триггер — запускается action, в моём случае заранее заданный скрипт (scripts.yaml):

sequence:
— service: remote.send_command
data:
entity_id: remote.broadlink
device: Ceiling
command: Darken
num_repeats: 10

Поскольку у меня пока управлять особо нечем, то режим «кино» подразумевает просто убавление яркости потолочного светильника до минимума. При первой же возможности куплю торшер и переделаю автоматизацию на выключение потолочного светильника и включение торшера. Ну или ещё чего-нибудь.

На этом всё. Шер, лайк, подписки, комментарии. Бложик я веду не ради монетизации, но всё равно приятно знать, что кто-то читает и интересуется.

Источник: dzen.ru

Home Assistant Подключение устройств

Здравия всем! Разберемся с самым главным, как добавлять конечный устройства в Home Assistant, на примере подключения устройств из MQTT брокера.

Содержание скрыть

Введение

Как я уже писал в статье Знакомство с интерфейсом Home Assistant, для подключения любых устройств нужно пройти в Настройки -> Устройства и службы.

Мы попадаем в раздел Интеграции

Разработчики Home Assistant, пытаются перевести добавление устройств в раздел Интеграции. Поэтому функционал этого раздела считается основным, для работы с устройствами.

Добавление MQTT брокера

Для примера возьмем MQTT брокер и добавим его в наш Home Assistant. Для этого нажмем кнопку + Добавить интеграцию

В строке поиска начнем набирать первые буквы MQTT

Откроется окно настройки подключения к брокеру MQTT. Вводим наши настройки, это ip адрес брокера, порт, логин и пароль. Мой брокер стоит локально и настроен очень давно, без авторизации. По этому у меня настройки такие:

После добавления брокера, Home Assistant сразу же подключится к нему и попытается найти устройства:

Такие прошивки, как IOTLink, Tasmota, ESPHome и другие делают топики, в которых Home Assistant самостоятельно находит оборудование, создает для них устройства и объекты

Ручное добавление MQTT устройств

А что делать, если наше устройство не определилось автоматом? Для этого воспользуемся конфигурацией устройств, через конфигурацию YAML.

Подготовка

Для работы с MQTT брокером есть шикарный инструмент MQTT Explorer. Воспользуемся им и проанализируем наше устройство. Есть у меня старый контроллер, который работает на самописной Arduino прошивке.

Топик /myhome/Henhouse2/Relay1 отвечает за статус реле. Значение топика 0 = OFF, значение 1 = ON. А команды контроллер ждет по другому топику /myhome/Henhouse2/Relays1.

Топик /myhome/Henhouse2/Key1 отвечает за датчик сухого контакта.

Топик /myhome/Henhouse2/DS1 отвечает за температурный датчик ds18b20

Для подключения MQTT устройств в конфигурационном файле нужно добавить секцию mqtt

mqtt:

Подключение переключателя switch

Давайте подключим наше реле. Для этого внесем в код следующие изменения:

mqtt: switch: — unique_id: henhouse2_switch name: «Henhouse2 Switch» state_topic: «/myhome/Henhouse2/Relay1» command_topic: «/myhome/Henhouse2/Relays1» payload_on: «1» payload_off: «0»

По правилам YAML, если секция находится в другой секции, нужно сделать отступ. Как понятно из названий в state_topic прописываем топик состояния реле, а в command_topic прописываем топик для изменения состояния.

Тк для Home Assistant стандартным значениями являются ON/OFF, а контроллер работает с 0 и 1, то в настройках мы внесли секции payload_on и payload_off, которые меняют эти значения на заданные.

Еще по теме:  Фильм где девочка вылезает из телевизора

После перезагрузки конфигурации, в интерфейсе Home Assistant появится наше реле

Теперь им можно управлять из меню и в автоматизациях.

Подключение бинарного датчика

По аналогии с переключателем, подключим бинарный сенсор

mqtt: binary_sensor: — name: «Henhouse2 Door» state_topic: «/myhome/Henhouse2/Key1» device_class: door payload_on: «1» payload_off: «0»

Параметр device_class отвечает за класс объекта.

Подробный перечень какие бывают классы у бинарного сенсора, есть в официальной документации Home Assistant

После перезагрузки конфигурации, в интерфейсе Home Assistant появится наш датчик открытия двери

Подключения датчик температуры

Давайте подключим датчик температуры

mqtt: binary_sensor: — name: «Henhouse2 Temperature» state_topic: «/myhome/Henhouse2/DS1» unit_of_measurement: «°C»

Настройка unit_of_measurement отвечает за единицу измерения сенсора.

После перезагрузки конфигурации, в интерфейсе Home Assistant появится наш сенсор температуры

Заключение

Чем хорош Home Assistant, так это тем, что для него есть большой набор интеграций, написанных разработчиками или сообществом, и практически любое умное устройство, тем или иным способом можно подключить к Home Assistant. MQTT брокер, по факту, стал стандартом для общения iot устройств между собой. Поэтому в статье я описал способ подключения устройств, через MQTT брокер.

Добавление других устройств происходит также по аналогии, через раздел Интеграции. Для некоторых устройств нет стандартных интеграций. Но нам поможет сообщество и дополнение HACS. Как его ставить я описывал в статье Установка HACS в Home Assistant. В HACS мы добавляем репозиторий из GitHub и вот Home Assistant может работать с дополнительными интеграциями.

Источник: hserv.su

Делаем безоблачный умный дом на базе Home Assistant

Я ни разу не параноик и никогда не переживал, что мой аккаунт в соцсети взломают злодеи и прочтут всю ту ахинею, которую я пишу друзьям. Но подключение «мозгов» умного дома к облаку, будь то китайское или американское, да хоть русское- это выше моего пофигизма. С другой стороны, сейчас на рынке много доступных предложений по автоматизации, которые достойны внимания, но работают через облака. К примеру, Xiaomi.
В этой статье я покажу, как организовать работу в локальной сети устройств Zigbee от разных производителей без подключения к непонятным облакам

Начинаем, как всегда, с постановки задачи: устройства Zigbee должны работать с Home Assistant локально без доступа к облаку производителя.
Изначально важно понимать, что все производители используют единый стандарт беспроводной передачи данных, поэтому устройство одного производителя может спокойно подключаться к сети Zigbee и обмениваться данными с другими устройствами разных производителей. Все ограничения, как правило, прописываются в шлюзах, приложениях и облаках — тут уж кто на что горазд. Поэтому задача сводится к созданию своего zigbee шлюза.
Для Zigbee-устройств используется в основном 3 вида чипов компании TI (есть и другие, но эти наиболее популярны):
cc2530 — дешевый и проверенный чип с 8Кб памяти
cc2531 — такой же дешевый и проверенный чип с 8Кб памяти, но имеющий контроллер USB на борту
cc2538 — с процессором Cortex-M3 и 32Кб памяти
В целом семейство чипов cc253x привлекательно своей низкой ценой. Поэтому большинство китайских устройств сделано именно на них.
Плавно мы подошли к тому, что можно сделать устройство с чипом cc253x и с помощью него слушать/ посылать в эфир команды по протоколу zigbee. И такие устройства, конечно, есть. Самый популярный вариант Zigbee-стика с подключением в USB порт реализован на чипе cc2531. Его преимущество в том что он продается в готовом для эксплуатации виде (нужно только прошить прошивку). Выглядит так:

Стоит такой стик порядка 350 рублей (без доставки) Ссылка на Aliexpress
Следующий шаг — объяснить чипу, что в этой жизни он будет шлюзом сети Zigbee, другими словами прошить устройство с помощью программатора CC Debugger. Выглядит он так:

Стоит такой порядка 370 рублей (без доставки) Ссылка на Aliexpress
Прошивка zigbee стика
Прошивать будем прошивку с популярного проекта zigbee2mqtt.io Суть заключается в том, что стик, являясь координатором сети Zigbee будет пересылать сообщения из zigbee сети в MQTT и обратно. Стик поддерживает работу одновременно до 25 конечных устройств. Для бОльшего количества потребуется устройство с ролью ретранслятор. Как правило, это устройство, включающееся в розетку.
На момент написания статьи поддерживается 785 устройств от 140 различных производителей! Ссылка на страницу с перечнем устройств
Процесс прошивки (на ОС Windows):
— Скачиваем с сайта TI программное обеспечение SmartRF Flash programmer (НЕ v2). Предварительно попросят зарегистрировать бесплатный аккаунт
— Устанавливаем CC debugger driver
— Соединяем CC debugger —> Downloader cable CC2531 —> CC2531 USB стик

— Вставляем CC2531 USB стик в порт компьютера
— Вставляем CC debugger в порт компьютера
— Если лампочка на CC debugger горит красным — нажмите кнопку reset. Лампочка должна гореть зеленым.
— Скачиваем прошивку CC2531_coordinator_firmware
— Запускаем SmartRF Flash Programmer, устанавливаем настройки, как на картинке и нажимаем «Perform actions». Проверьте, что файл выбран с расширением .hex!

Поздравляю, с железной частью мы закончили.
Настраиваем сервер MQTT.
Если он у вас настроен, то это шаг можно пропустить. Я использую аддон hassio, который называется Mosquitto broker. Для его установки переходим на вкладку Supervisor на закладку ADD-ON STORE и выбираем этот аддон из списка


Настройки брокера описаны на вкладке Documenation. В целом mqtt будет вполне корректно работать с дефолтовыми настройками. После настройки необходимо запустить аддон. Если в логах нет ошибок, то переходим в Настройки -> Люди -> Пользователи (Configuration -> Users) и создаем нового пользователя mqtt.
Переходим в Настройки -> Интеграции (Configuration -> Integrations), выбираем интеграцию MQTT и ставим галочку «Добавлять новые объекты». Это включит автоматическое добавление mqtt устройств в Home Assistant Подробнее тут

Устанавливаем и настраиваем Zigbee2mqtt
Для этого подключаем стик к серверу умного дома Home Assistant. Я использую версию Hassio на Raspberry PI3
Устанавливаем аддон zigbee2mqtt GitHub. Для этого переходим на вкладку Supervisor на закладку ADD-ON STORE и добавляем новый репозиторий

Еще по теме:  Как обновить браузер на телевизоре Сони бравиа

https://github.com/danielwelch/hassio-zigbee2mqtt

и устанавливаем аддон

Для корректной работы аддона необходимо определить путь к нашему свистку. Заходим в закладку System и нажимаем кнопку Hardware. У меня он находится по адресу /dev/ttyACM1. Предварительно настоятельно советую отключить остальные устройства из usb для чистоты эксперимента.

Теперь необходимо настроить аддон zigbee2mqtt. Для этого переходим на вкладку Configuration аддона. Я настраивал секции mqtt (подключение к серверу mqtt) и serial (путь к стику).

data_path: /share/zigbee2mqtt devices: devices.yaml groups: groups.yaml homeassistant: true permit_join: false mqtt: base_topic: zigbee2mqtt server: ‘mqtt://ip:1883’ user: mqtt_user password: mqtt_pass serial: port: /dev/ttyACM1 advanced: pan_id: 6754 channel: 11 network_key: — 1 — 3 — 5 — 7 — 9 — 11 — 13 — 15 — 0 — 2 — 4 — 6 — 8 — 10 — 12 — 13 availability_blacklist: [] ban: [] whitelist: [] queue: <> socat: enabled: false master: ‘pty,raw,echo=0,link=/dev/ttyZ2M,mode=777’ slave: ‘tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5’ restartdelay: 1 initialdelay: 1 options: ‘-d -d’ log: false

Запускаем аддон и переходим на вкладку Log. Проверяем, что аддон запускается без ошибок
Создаем объекты в Home assistant для подключения устройств Zigbee. В файле Configuration.yaml добавляем код

#———————————————————Объекты input_boolean: zigbee_permit_join: name: Allow devices to join initial: off icon: mdi:cellphone-wireless timer: zigbee_permit_join: name: Time remaining duration: 600 # Updated this to the number of seconds you wish #——————————————————Датчики sensor: #———————————————-Состояние моста MQTT-ZigBee — platform: mqtt name: Bridge state state_topic: «zigbee2mqtt/bridge/state» icon: mdi:router-wireless

В файл automations.yaml добавляем код
#—————————————————Автоматизация automation: — id: enable_zigbee_join alias: Enable Zigbee joining hide_entity: true trigger: — platform: state entity_id: input_boolean.zigbee_permit_join to: ‘on’ action: — service: mqtt.publish data: topic: zigbee2mqtt/bridge/config/permit_join payload: ‘true’ — service: timer.start data: entity_id: timer.zigbee_permit_join — id: disable_zigbee_join alias: Disable Zigbee joining trigger: — entity_id: input_boolean.zigbee_permit_join platform: state to: ‘off’ action: — service: mqtt.publish data: payload: ‘false’ topic: zigbee2mqtt/bridge/config/permit_join — service: timer.cancel data: entity_id: timer.zigbee_permit_join hide_entity: true — id: disable_zigbee_join_timer alias: Disable Zigbee joining by timer hide_entity: true trigger: — platform: event event_type: timer.finished event_data: entity_id: timer.zigbee_permit_join action: — service: mqtt.publish data: topic: zigbee2mqtt/bridge/config/permit_join payload: ‘false’ — service: input_boolean.turn_off data: entity_id: input_boolean.zigbee_permit_join

Добавляем на основной экран (Lovelace) объекты » Allow devices to join «, Time remaining, и Bridge state.

Теперь для запуска режима подключения нового устройства достаточно перевести переключатель Allow devices to join в положение «Включено»
Подключение устройств Zigbee к шлюзу cc2531
Сделаем подключение на примере Xiaomi Aqara Window Door Sensor

— Включаем Allow devices to join в Home Assistant. Шлюз включит режим сопряжения устройств на 10 минут

— Открываем лог аддона ZigBee2MQTT
— Нажимаем кнопку сопряжения на Aqara Window Door Sensor где-то на 3 сек. Синий огонек начнет мигать.
— Ждем появления записей об подключении в логе аддона ZigBee2MQTT
В итоге у вас появляется устройство binary_sensor._contact

В интерфейсе у меня датчик контролирует открытие окна. Выглядит следующим образом:


Аналогично подключаются и другие устройства Zigbee, указанные в списке поддерживаемых устройств

В итоге, решение поддерживает локальное подключение zigbee устройств от порядка 140 производителей без подключения к интернету и не подконтрольным облакам.

В заключение нельзя не упомянуть об еще одной возможности интеграции Zigbee устройств в Home Assistant — ZHA. Это библиотека Python с открытым исходным кодом, реализующая стек Zigbee. На момент написания статьи библиотека поддерживает семейство стиков CC253х экспериментальном режиме. К достоинству этого решения можно отнести отсутствие моста zigbee-mqtt, но, судя по отзывам на форумам, решение еще относительно сырое. Планирую его попробовать на тестовом стенде.

Добавить в избранное Понравилось +163 +271

  • 22 мая 2020, 21:21
  • автор: cpsskipper
  • просмотры: 114621

Источник: mysku.club

Оцените статью
Добавить комментарий