C.A.F.E. в Home Assistant: автоматизации в стиле Node-RED… без Node-RED

C.A.F.E. (Редактор Комплексных Автоматизационных Потоков) является интеграцией, которая добавляет в Home Assistant визуальный редактор «в потоке», немного в духе Node-RED, но с одной важной разницей: C.A.F.E. не является движком выполнения. Home Assistant остается единственным, кто выполняет ваши автоматизации. C.A.F.E. просто преобразует вашу визуальную схему в 100% соответствующий YAML и хранит его непосредственно в системе Home Assistant.

Проще говоря, вы рисуете логику с помощью блоков, соединенных стрелками, а затем сохраняете… и Home Assistant выполняет, как обычно. Никаких контейнеров Docker, чтобы добавить, никаких баз данных, которые нужно поддерживать, никаких дополнений, которые становятся слабым звеном, как это бывает с Node-RED. Это именно то, что обещает проект «нулевое нагрузка».

Почему это интересно для Home Assistant

Если вам нравится YAML, вы уже знаете почему: он надежен, нативен, предсказуем… но как только автоматизация становится более сложной, мы быстро сталкиваемся с стеной текста. C.A.F.E. нацелен именно на тот момент, когда «это становится тарелкой спагетти». Он может читать существующую автоматизацию и восстанавливать визуальную карту, что очень удобно для аудита, понимания и переработки.

Если вы пришли из Node-RED, успокаивающая сторона заключается в следующем: вы получаете логику в виде узлов, но без переноса выполнения за пределы Home Assistant. C.A.F.E. изменяет интерфейс, а не движок, и вы всегда можете вернуться к родному редактору в любое время.

Существуют также два «бонуса», которые понравятся многим:

  • C.A.F.E. лучше управляет переменными на уровне визуального интерфейса, тогда как родной визуальный редактор Home Assistant часто заставляет влезать в YAML для подобного рода вещей.
  • C.A.F.E. интегрируется со следом Home Assistant: цель — сохранить отладку в официальных инструментах, без создания параллельной вселенной.

Умное решение: нет блокировки, нет экзотического формата

Это, вероятно, самое успокаивающее утверждение: если вы удалите C.A.F.E., ваши автоматизации продолжат работать. Вы в основном теряете только визуальную компоновку (позиции блоков), но не логику, так как она остается стандартным YAML.

И для сохранения этой компоновки C.A.F.E. хранит метаданные (позиции узлов и т.д.) в «безобидном» объекте внутри блока variables автоматизации. Вы можете редактировать автоматизацию в Home Assistant, а затем открыть ее в C.A.F.E.: оба редактируют один и тот же источник.

Установка C.A.F.E. в Home Assistant (через HACS)

Рекомендуемый способ — через HACS, с добавлением пользовательского репозитория. Официальный README дает порядок действий: в HACS, разделе Интеграции, в меню с тремя точками, «Пользовательские репозитории», затем добавьте https://github.com/FezVrasta/cafe-hass в качестве интеграции.

Далее ищем C.A.F.E. в HACS и устанавливаем (скачиваем).

Перезагрузка Home Assistant, затем добавление интеграции C.A.F.E. через Настройки → Устройства и службы → Добавить интеграцию.

Как только все настроено, C.A.F.E. появится в боковой панели Home Assistant в виде панели. Это не «дашборд» Lovelace, это именно пункт в боковой боксе.

Хотите протестировать без установки?

Можно попробовать C.A.F.E. без установки через веб-интерфейс, если вы имеете удаленный доступ к Home Assistant.

На практике помните, что выставлять Home Assistant в Интернет следует аккуратно (Nabu Casa, обратный прокси, аутентификация и т.д.). Это возможно, но лучше избегать режима «юло», когда речь идет о домашней автоматизации.

Если вы не хотите предоставлять доступ к вашему Home Assistant (что совершенно понимаемо), я установил C.A.F.E. на тестовом сервере Home Assistant, который я предоставил вам несколько недель назад, что позволит вам протестировать в условиях, не разрушая вашу систему и не требуя удаленного доступа;-)

Основы: как это используется в повседневной жизни

Оказавшись в C.A.F.E., интерфейс очень «редактор потоков»: палитра узлов слева (триггеры, условия, действия, задержки, ожидания…), большой центральный холст, на который помещаются блоки, и панель свойств справа для настройки каждого узла. Вы можете зумировать, перемещаться и даже использовать мини-карту для навигации по сложным автоматизациям.

Типичный сценарий выглядит так: вы помещаете триггер (например, «обнаружено движение»), добавляете условие (например, «ночь»), затем действие (например, «включить свет в коридоре») и соединяете все это. Затем вы открываете каждый узел, чтобы выбрать сущности и службы. C.A.F.E. полагается на интеллект сущностей со стороны Home Assistant (автозаполнение, знание состояний через API), чтобы избежать ввода идентификаторов вручную.

Очень удобный момент: вы можете открыть существующую автоматизацию, увидеть, как она «отображается» на холсте, перемещать блоки для лучшего понимания, редактировать, а затем сохранять в Home Assistant. Вы редактируете, сохраняете, и возвращаетесь к автоматизации в родном редакторе, с YAML, дополненным метаданными компоновки!

Импорт, экспорт, отладка

C.A.F.E. может импортировать существующую автоматизацию, а также он может импортировать YAML или JSON, а затем экспортировать поток в JSON. Это полезно для обмена «схемой» или архивирования версии перед переработкой немного сложной логики.

Что касается отладки, идея проста: сохранить ясное представление о выполнении. Есть режим отладки с индикатором «по шагам» и опциями для симуляции результатов условий, чтобы визуализировать путь, пройденный в автоматизации.
А что касается проекта, интеграция с Trace View Home Assistant является одной из сильных сторон: вы остаетесь в официальных инструментах, чтобы анализировать, что произошло.

Конкретные примеры, где C.A.F.E. действительно делает разницу

Возьмите автоматизацию «вечерние огни» с достаточно реалистичными параметрами. Событие: за несколько минут до заката. Условие: только если мы до определенного времени (иначе слишком поздно, бесполезно). Действие: включить определенные лампы, но с различной яркостью в зависимости от временного окна. В YAML это часто заканчивается вложенными «выборами» и пересекающимися условиями. В C.A.F.E. такая логика становится картой: мы видим развилки, видим пути, можем дышать. И это именно тот тип примеров, показанный в транскрипции.

Другой наглядный случай: сценарии с переменными. Простой пример: вы вызываете скрипт, который возвращает информацию (температура, стоимость, сводное состояние), вы сохраняете ответ в переменной, а затем снова используете эту переменную в следующих действиях через шаблоны Jinja. README объясняет механизм «ответов скрипта» (response_variable) и использование в Jinja {{ variable.champ }} в следующих узлах.

А для установщиков или продвинутых пользователей: как только речь заходит о циклах, возвратах, нелинейной логике, C.A.F.E. обещает «оптимизированную» компиляцию, которая может генерировать структуру типа «машины состояния», когда это необходимо, оставаясь полностью совместимой с Home Assistant.

Ограничения и предостережения (потому что да, это бета)

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

Второе правило: в критических автоматизациях (сигнализация, отопление, безопасность) действуйте постепенно. Сначала протестируйте на простой автоматизации, сравните YAML до/после, проверьте след, затем повышайте сложность. Это немного как метод «не реновируй дом, ломая все стены сразу» (и ваше будущее спокойствие скажет вам спасибо!).

Третье правило: примите мысль о том, что авторазметка и визуальное восстановление не будут идеальными на 100% для очень ручного YAML. Проект это признает: импорт сложного ручного YAML может иметь неровности.

Стоит ли его принимать сейчас?

Если вы уверены в родном редакторе и ваши автоматизации остаются простыми, C.A.F.E. не является «обязательным». Однако, если у вас есть сценарии, которые выходят за рамки, если вы ненавидите перечитывать длинный YAML как день без Wi-Fi, или если вам нравится визуальный комфорт Node-RED, но без второго движка, C.A.F.E. отмечает много пунктов: визуально, нативно, без нагрузки и без ловушек на долгий срок, так как мы остаемся на стандартных автоматизациях Home Assistant. Здесь, по крайней мере, его приняли!

Для вашего сведения, эта статья может содержать партнерские ссылки, не влияющие ни на ваш заработок, ни на цену, которую вы можете заплатить за товар. Перейдя по этой ссылке, вы можете поблагодарить меня за работу, которую я делаю в блоге каждый день, и помочь покрыть расходы сайта (хостинг, почта для конкурсов и т. д.). Вам это ничего не стоит, а мне очень помогает! Так что спасибо всем, кто играет со мной!
Что вы думаете об этой статье? Оставьте нам свои комментарии! Пожалуйста, оставайтесь вежливыми: приветствие и благодарность ничего не стоят! Мы здесь для того, чтобы вести конструктивные дискуссии. Тролли будут удаляться.

Leave a reply

14 − одиннадцать =

Maison et Domotique
Logo
Compare items
  • Casques Audio (0)
  • Sondes de Piscine Connectées (0)
  • Smartphones (0)
Compare