62. AI + Appdaemon + Home Assistant = выполнение кода на Python.


Иногда возникают ситуация, когда есть желание получить какю-либо информацию или что-то автоматизировать, но подходящего дополнения или интеграции нет. Конечно же можно выучиться на программиста и самому писать модули. Либо найти того, кто сможет это сделать вместо вас, за "спасибо" т.к. человеку было интересно технически решить задачу, либо за более ощутимое вознаграждение. Однако, благодаря распространению Искусственного Интеллекта, задачи программистов стали заметно легче.

Artificial Intelligence.



ИИ может быть полезен и рядовому пользователю, незнакомому с программированием, и даже максимально от него далёким.

Боты - это программы, которые могут выполнять различные задачи по запросу пользователя.

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

  • Одним из первых пунктов стоит выделить доступность ИИ. Конечно же есть разные ограничения в бесплатных версиях, но для домашнего пользования можно вполне обходиться и базовыми функциями. 
  • На данный момент ИИ выглядит как очень и очень умелый ребёнок, с нескончаемым рюкзаком литературы по всем возможным темам и предметам. Если вкратце, то он обладает знаниями, но совершенно не умеет их применять. Поэтому, чем точнее и подробнее пользователь строит запрос или описывает ситуацию, тем лучше и быстрее чат бот справится с поставленной задачей.
  • При возникновении ошибок в результате работы, не отчаиваться и  точно "скармливать" ему весь текст ошибки, объясняя проверить и/или сделать выводы относительно представленного ранее ответа. После нескольких итераций он придёт к результату.
  • База данных чат бота не всегда пополняется новой и актуальной информацией. Поэтому в отдельных случаях необходимо самостоятельно найти документацию по нужному вопросу и предоставить ему. Рекомендуется делать это с объяснениями, чтобы он "знал" как правильно реагировать на полученные данные.

Python.



Один из самых популярных и простых языков программирования, который используется для разработки разных приложений и сервисов. Кстати, Home Assistant написан именно на нём, и имеет в себе его же функционал. Т.е. все дополнения и адд-оны написаны на нём, и с его же помощью ХА их запускает. 
Для того, о чём пойдёт речь в этой статье, неплохо бы иметь Python установленным на компьютере. Скачать его можно с официального сайта ->тыц.
Для редактирования файлов с кодом так же удобно использовать Visual Studio Code (может быть так же установлен в ХА как дополнение).
Ну или хотя бы старый добрый Notepad++.
Если код работает на компьютере без проблем, то можно перенести его в Home Assistant и запустить его там. Для этого вам нужно установить следующее дополнение.




Не смотря на то, что внутри Home Assistant можно запускать скрипты на питоне, на их выполнение могут действовать различные ограничения. Система может не разрешать выполнение тех или иных функций, блоков кода и т.д. Аппдемон же позволяет создать изолированную среду, внутри которой любой(правильно написанный) код сможет работать. Так же, она позволяет этому коду взаимодействовать с системой.
Сам файл с кодом должен быть в папке /config/appdaemon/apps/.
При этом, в файле /config/appdaemon/apps/apps.yaml должно быть указание на этот файл.
Обо всём этом и что куда писать можно так же узнать у чат бота.

Итог.

Конечно, AI чат бот не может гарантировать, что сгенерированный код будет работать без ошибок или соответствовать всем пожеланиям. Но такой подход с использованием ИИ бота для написания кода на Python позволяет выполнять в Home Assistant разные задачи без знаний программирования. Однако, не стоит полностью доверять боту и не проверять его код. Необходимо тестировать код сначала на компьютере, потом на тестовой машине с Home Assistant, и стоит быть осторожным с тем, что вы просите бота сделать. Некоторые задачи могут быть опасными или незаконными, и бот может отказаться их выполнять или предупредить вас о рисках.
В следующей статье рассмотрим пару примеров кода созданного именно таким образом.

Комментарии