Инструменты автоматизации IFTTT и Zapier позволяют создавать автоматизированные рабочие процессы, связывающие различные приложения, сервисы и устройства. Они относительно просты в использовании, но их бесплатные тарифы теперь довольно ограничены, и приходится полагаться на облачные технологии. Huginn — это самостоятельно размещаемая открытая альтернатива IFTTT или Zapier, которая может работать в вашей локальной сети без облачного подключения.
Первую версию проекта выпустил Эндрю Кантино 12 лет назад (в 2013 году), и сейчас он поддерживается расширенным сообществом разработчиков и пользователей. Почему-то я узнал о Huginn только когда XDA Developers написали о нём ранее на этой неделе. Давайте рассмотрим подробнее.
Разработчики описывают Huginn как систему для создания агентов, выполняющих автоматизированные задачи в интернете, и рассматривают его как адаптируемую версию IFTTT или Zapier, размещаемую на сервере пользователя с полным контролем над данными.
Вот некоторые возможности системы:
- Отслеживание погоды и отправка электронного письма при ожидаемых осадках (дождь, снег и т.д.)
- Мониторинг авиабилетов или товарных скидок
- Сканирование и отслеживание изменений на сайтах с уведомлениями по электронной почте
- Отправка и получение WebHooks
- Запуск пользовательских функций на JavaScript или CoffeeScript
- Отслеживание геолокации в динамике
- Интеграция с Adioso, HipChat, FTP, IMAP, Jabber, JIRA, MQTT, nextbus, Pushbullet, Pushover, RSS, Bash, Slack, StubHub, переводческими API, Twilio и Weibo, среди прочих.
- Отслеживание терминов в X с отправкой уведомления при росте частоты их упоминаний (сейчас это сложнее из-за отсутствия бесплатного API X, требующего платной подписки и аккаунта разработчика)

Решение выглядит интересным, так как же начать работу? Самый простой способ — развернуть Huginn через Docker .
sudo apt install docker.io
sudo docker run -it -p 3000:3000 ghcr.io/huginn/huginn
Примерно через минуту контейнер запустится, и дашборд станет доступен по адресу http://localhost:3000/
Для входа используются стандартные учётные данные: имя пользователя: admin; пароль: password.
Смена данных для входа здесь не запрашивается. Это неидеально, но её можно выполнить через меню Account в правом верхнем углу.
В образ Docker предустановлены 7 агентов: для уведомлений об осадках (использует SF Weather Agent), отслеживания изменений на сайте XKCD, мониторинга погоды в Сан-Франциско и других.
При просмотре агента для сайта XKCD Source отображается подобный код:
{
"url": "https://xkcd.com",
"mode": "on_change",
"expected_update_period_in_days": 5,
"extract": {
"url": {
"css": "#comic img",
"value": "@src"
},
"title": {
"css": "#comic img",
"value": "@alt"
},
"hovertext": {
"css": "#comic img",
"value": "@title"
}
}
}
Дополнительные сведения доступны при редактировании агента.
Процесс не совсем интуитивен, и новым пользователям Huginn предстоит крутая кривая обучения. Очевидно, что инструмент не так прост в освоении, как IFTTT или Zapier. Отметим, что данная установка подходит только для тестирования, поскольку изменения не сохраняются в базе данных. Для полноценной работы требуется настройка БД и запуск образа Docker следующим образом:
docker run -it -p 3000:3000 -v /home/huginn/mysql-data:/var/lib/mysql huginn/huginn
Изучение документации на GitHub обязательно, но большая её часть написана в 2013-2014 годах и не обновлялась. Впрочем, проект выглядит активным: фиксации выполняются регулярно, последняя была объединена две недели назад. С другой стороны, крайний официальный релиз датируется августом 2022 года, в очереди находится около 600 задач, а 91 запрос на включение изменений ещё не обработан. Последний из них (ссылка на обмен спамом) был отправлен в феврале — видимо, обработка таких запросов больше не ведётся, что выглядит не лучшим образом…
Есть ли среди читателей CNX Software те, кто использует Huginn или пробовал его? Каковы ваши впечатления?
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.