Покупал колонку тут: http://alii.pub/6dn72r
На всякий случай резерв: http://alii.pub/6dn780
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Все мы слышали про умную колонку от Яндекс с голосовым помощником Алисой. Довольно удобная колонка. И для русскоязычного народа самый лучший вариант из умных колонок.
Так-же у Яндекса под эту колонку есть своя система умного дома. Ну это и логично. Умная колонка и должна управлять умным домом.
Но одним яндексом “сыт не будешь” и хочется, чтоб Умная колонка Яндекс управляла разными устройствами от разных экосистем умных домов.
В принципе умный дом Яндекс поддерживает много разных производителей и XIaomi и Tuya. Но вот например самодельные на esp32 к примеру. С ними уже будут проблемы.
По этому в этой статье добавим Яндекс колонку в Home Assistant. И научим ее управлять устройствами добавленными в Home Assistant.
Для добавления колонки в Home Assistant служит аддон YandexStation. https://github.com/AlexxIT/YandexStation
Данный Аддон устанавливается через HACS.
Устанавливается он просто, возникнуть проблем не должно. Находим его в HACS и нажимаем “Загрузить этот репозиторий с помощью HACS”.
Далее перезапускаем Home Assistant. И после перезапуска этот аддон YandexStation должен появиться в Интеграциях.
И при добавлении этой интеграции в Настройках->интеграции:
Нам нужно будет авторизировать колонку. Это можно делать несколькими способами предложенными на скрине:
У меня настроена авторизация по одноразовому ключу. ПО этому я выбрал этот способ, но вы можете выбрать любой удобный для Вас. В общем эта авторизация точно такая0же как и обычная авторизация в яндексе.
Ну собственно после авторизации, у Вас появится интеграция YandexStation с одним устройством и объектом.
И собственно после добавления этой колонки, мы уже ей можем управлять. Например включить выключить проигрыватель, управлять громкостью. Выключить колонку.
Так-же Умную колонку Яндекс можно обучать. Например создавать разные сценарии для управления умным домом Яндекс.
Но мы из этого тоже можем получить выгоду и для Home Assistant. Давайте создадим сценарий. Сценарии для умной колонки создаются тут: https://yandex.ru/quasar/iot
В общем переходим на вкладку сценарии и нажимаем “плюсик”
И создадим там сценарий, который будет выполняться когда мы скажем “Алиса температура балкон”. И Алиса выполнит команду “Сделай громче на 0” И колонка собственно должна будет сделать громкость 0 на время.
И так-как мы добавили колонку, теперь мы можем с нее получать статусы. А именно, например когда мы говорим колонке выполнить какое-либо действие, эти действия пишутся в события. И собственно эти события мы можем просмотреть.
Вот собственно на скрине выше, видим что произошло событие “Сделай громче на 0”. И это событие произошло на мою фразу “Алиса температура балкон”. Собственно эта фраза которую мы создали выше.
Ну а теперь отслеживая это событие, мы можем создать автоматизацию. Которая будет при событии “Сделай громче на 0” от яндекс колонки, выводить голос на колонку.
Для этого в automations.yaml напишем следующую автоматизацию.
#Температура на балконе яндекс колонка
- id: yandex_temp_balkon
alias: температура на балконе
trigger:
- platform: event
event_type: yandex_speaker
event_data:
value: Сделай громче на 0 # фраза из Сценария Яндекса (раздел То)
action:
- service: media_player.play_media
target:
entity_id: '{{ trigger.event.data.entity_id }}' # ответить той же колонкой
data:
media_content_type: text
media_content_id: 'Температура на балконе {{ states("sensor.ble_temperature_balkon")|round }} градуса'
mode: single
Собственно тут мы задаем какое событие мы отслеживаем: value: Сделай громче на 0
Ну а тут будет колонка говорить фразу которую мы задаем, а именно “Температура на балконе (и собственно показания с датчика температуры на балконе sensor.ble_temperature_balkon) градуса.”:
media_content_id: 'Температура на балконе {{ states("sensor.ble_temperature_balkon")|round }} градуса'
Естественно фразу можно любую указать и сенсор любой подставить.
Следующим действие давайте сделаем, при котором Яндекс колонка будет включать и выключать освещение.
Для этого создадим сценарий в яндексе:
Собственно теперь мы будем отслеживать команду “Сделай громче на 0?” можно ставить сколько угодно вопросительных и восклицательных знаков. Колонка их напишет в событии, но команда выполнится все так-же корректно и просто громкость сделается 0.
А мы собственно всеми этими вопросительными и восклицательными знаками будем отделять наши события и понимать что же сейчас колонке сказали.
В данном примере колонке будем говорить “Настольная лампа балкон”.
И сделаем автоматизацию при которой будет включаться и выключаться настольная лампа.
#Управление настольной лампой на балконе яндекс колонка
- id: yandex_desk_lamp_balkon
alias: настольная лампа яндекс
trigger:
- platform: event
event_type: yandex_speaker
event_data:
value: Сделай громче на 0? # фраза из Сценария Яндекса (раздел То)
action:
- service: light.toggle
entity_id: light.desk_lamp
Тут автоматизация получилась по короче.
Собственно она ищет событие “сделай громче на 0?” value: Сделай громче на 0?
И если это событие улавливается, то мы либо включаем лампу, если она выключена. Или выключаем, если она была включена:
- service: light.toggle
Ну и собственно название лампы в Home Assistant: entity_id: light.desk_lamp
Для первого раза думаю хватит и этой информации. Ее уже будет достаточно, чтоб колонка Вам говорила состояние датчиков и управляла всякими выключателями умного дома.