Здравья желаю!
В данной статье попытаюсь вкратце рассказать как реализовать управление любым проектом на Arduino , esp8266 ну и тому подобных...
я использовал:
- Яндекс станцию мини
- Домашний сервер с Debian GNU/Linux
- Docker образ с Home Assistant
- Arduino Nano с радио модулем
Подключил к домашней сети Яндекс станцию, проверил на ней наличие интернет соединения (заодно чекнул порты)
Далее развернул Docker образ с Home Assistant
достаточно удобная платформа управления умным домом, есть несколько вариантов установки (я выбрал Docker контейнер)
Home Assistant Installation Manual
(Для тех кому лень читать весь ман по способам установки и различиям, скажу сразу что Docker образ не имеет аддонов с помощью которых можно установить в HA няшный браузерный файловый редактор (File Editor)... так что редактировал файлы конфигурации "configuration.yaml" и "automation.yaml" я по старинке через vim)
После установки и проверки HA , создал в нём новую интеграцию с Яндекс Станцией
Это пользовательская интеграция позаимствованная из данного репозитория
Скачал архив с файлами интеграции, распаковал и закинул в Docker в директорию /config/
далее из веб-морды Home Assistant добавил интеграцию из списка к остальным
Так как у нас нет доступа к контексту голосового сообщения, мы можем отслеживать только выполненные Алисой команды.
Например команда:
Сделай громче на 0
Не повлияет на уровень громкости, Выполнится в фоне , НО результат её выполнения мы отследим в Home Assistant и повесим на неё какое нибудь действие.
Погнали...
Заходим в приложение Умный дом с Алисой и создаём новый сценарий
Сохраняем и идём в HA
Панель разработчика -> События
Подписываемся на событие "yandex_speaker" и озвучиваем команду
Включи подсветку
если всё норм, видим следующие данные:
Отлично.
Дальше я воспользовался компонентом "rest_command" для того чтобы отправить GET запрос из Docker контейнера к своему php скрипту "lol.php" который отправляет команду включения подсветки на Arduino он имеет следующее содержание:
<?php
system('echo "send 12848524" > /dev/ttyUSB0 ');
?>
Принцип работы похож на управление подсветкой показанного мной в этом видео:
Кстати компонент "rest_command" тоже недоступен по умолчанию и его файлы придётся копировать в файловую систему Docker контейнера, отсюда:
https://github.com/home-assistant/core/tree/dev/homeassistant/components/rest_command
Вот сюда:
DockerID:/usr/src/homeassistant/homeassistant/components/rest_command
Затем прописать в "configuration.yaml"
Содержимое "automations.yaml"
И не стоит забывать о перезагрузке конфигурации после каждого редактирования конфигов )
Собственно вот что получилось в итоге:
Если вам нравится материал публикуемый на данном канале, вы можете поддержать меня
Отдельно буду признателен и благодарен вам за лайк, репост или подписку ❤️
P.S. увеличить список отслеживаемых команд можно спец. символами !?!
Например:
"Сделай громче на 0"
"Сделай громче на 0!"
"Сделай громче на 0?!?"
Это всё резные команды ))) которые можно по разному обрабатывать