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가 평소처럼 실행합니다. 추가할 도커 컨테이너도 없고, 유지해야 할 데이터베이스도 없으며, 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.에서 다시 열 수 있습니다: 두 시스템이 동일한 소스를 편집합니다.

Home Assistant에 C.A.F.E. 설치하기 (HACS를 통해)

추천하는 방법은 HACS를 통해 진행하며, 사용자 지정 리포지토리를 추가하는 것입니다. 공식 README는 절차를 안내합니다: HACS에서 통합 섹션으로 가서, 점 세 개의 메뉴에서 “사용자 지정 리포지토리”를 선택한 후 https://github.com/FezVrasta/cafe-hass를 통합으로 추가합니다.

그 후, HACS에서 C.A.F.E.를 찾아 설치(다운로드)합니다.

Home Assistant를 재시작한 다음, 설정 → 장치 및 서비스 → 통합 추가를 통해 C.A.F.E. 통합을 추가합니다.

설치 후, C.A.F.E.는 Home Assistant의 사이드바에서 패널 형태로 나타납니다. 이는 Lovelace “대시보드”가 아니라 사이드바의 입력입니다.

설치 없이 테스트하고 싶으신가요?

원거리에서 Home Assistant에 접근할 수 있는 경우, C.A.F.E.를 설치하지 않고 시도해볼 수 있습니다.

실제로는, Home Assistant를 인터넷에 노출하는 경우 안전하게 진행해야 합니다(Nabu Casa, 리버스 프록시, 인증 등). 가능하지만, 스마트 홈과 관련하여 “요로” 모드는 피하는 것이 좋습니다.

Home Assistant에 접근하고 싶지 않다면(완전히 이해할 수 있는 부분입니다), 무너뜨리지 않고 테스트할 수 있도록 몇 주 동안 제공해온 Home Assistant 실험 서버에 C.A.F.E.를 설치해 두었습니다. 이를 통해 귀하의 환경에서 손상시키지 않고도 테스트할 수 있습니다.

사용 방법: 일상에서 사용하기

C.A.F.E.에 들어가면 인터페이스는 매우 “흐름 편집기” 같습니다: 왼쪽에는 노드 팔레트(트리거, 조건, 동작, 지연, 대기 등), 중앙에는 블록을 배치하는 큰 캔버스, 오른쪽에는 각 노드를 구성하는 속성 패널이 있습니다. 확대하고 이동할 수 있으며, 복잡한 자동화에서 탐색을 위해 미니 맵을 사용할 수 있습니다.

전형적인 시나리오는 다음과 같습니다: “움직임 감지” 트리거를 놓고, “어두운 경우” 조건을 추가한 후, “복도 조명 켜기”와 같은 행동을 추가하고 모두 연결합니다. 그런 다음 각 노드를 열어 엔티티와 서비스를 선택합니다. C.A.F.E.는 Home Assistant 측의 엔티티의 지능(자동 완성, API를 통한 상태 인식)을 사용하여 사용자 정의 ID를 수동으로 입력하지 않도록 합니다.

매우 유용한 점: 기존 자동화를 열어 캔버스에 “올려놓을” 수 있으며, 블록을 이동시켜 명확히 보고 수정한 후 Home Assistant에 저장할 수 있습니다. 편집하고 저장하여 기본 에디터에서 자동화를 다시 찾을 수 있으며, 메타데이터로 풍부해진 YAML을 포함합니다!

가져오기, 내보내기, 디버깅

C.A.F.E.는 기존 자동화를 가져오고 YAML 또는 JSON도 임포트할 수 있으며, 흐름을 JSON으로 내보낼 수 있습니다. 이는 “도식”을 공유하거나 복잡한 논리를 재구성하기 전에 버전을 아카이브하는 데 유용합니다.

디버깅 측면에서는 간단한 아이디어입니다: 실행의 명확한 해독을 유지하는 것입니다. 단계별로 진행하는 디버깅 모드가 제공되며, 조건 결과를 시뮬레이션할 수 있는 옵션이 있어 자동화에서 경로를 시각화할 수 있습니다.
또한 프로젝트 측면에서 Home Assistant의 Trace View와의 통합은 발표된 주요 장점 중 하나입니다: 발생한 내용을 분석하기 위해 공식 도구 내에 남아 있습니다.

C.A.F.E.가 정말로 차이점을 만드는 구체적인 예

저녁 조명 자동화를 현실적으로 고려해 보세요. 트리거: 일몰 직전. 조건: 특정 시간 전에만 (그렇지 않으면 너무 늦음, 필요 없음). 동작: 특정 조명을 켜지만, 시간에 따라 다르게 밝기를 조절합니다. YAML에서는 종종 “choose”가 중첩되고 서로 교차하는 조건이 발생합니다. C.A.F.E.에서 이러한 논리는 로드맵처럼 변모하여 분기점을 보고 경로를 확인하며 숨을 쉴 수 있습니다. 그리고 이는 전사에서 보여준 정확한 예입니다.

또 다른 매우 말하기 쉬운 사례: 변수를 사용하는 시나리오입니다. 간단한 예: 정보를 반환하는 스크립트를 호출하고(온도, 요금, 요약 상태 등) 응답을 변수에 저장한 다음 후속 동작에서 Jinja 템플릿을 통해 이 변수를 재사용합니다. README는 “script responses” (response_variable)의 메커니즘과 Jinja에서 {{ variable.champ }}의 사용을 다음 노드에서 설명합니다.

설치자나 고급 사용자에게: 루프, 되돌리기, 비선형 논리에 대해 이야기하면, C.A.F.E.는 필요한 경우 “최적화된” 컴파일을 발표하여 “상태 머신” 유형의 구조를 생성할 수 있으며, Home Assistant와 100% 호환성을 유지합니다.

제한 사항 및 주의사항 (왜냐하면 네, 베타 버전입니다)

이 프로젝트는 “비파괴적”이라고 소개되지만 여전히 베타 버전이며, 자주 수정됩니다. 첫 번째 규칙: 중요한 사항을 수정하기 전에 자동화의 백업을 만드십시오.

두 번째 규칙: 중요한 자동화(경보, 난방, 보안)에서는 점진적으로 진행하십시오. 간단한 자동화에서 먼저 테스트하고, YAML을 전후로 비교한 다음, 트레이스를 확인하고 복잡하게 진행하십시오. 이는 “모든 벽을 한 번에 부수며 집을 리노베이션하지 않는다”는 방법과 유사합니다(미래의 안도감을 위해 감사합니다!).

세 번째 규칙: 자동 레이아웃과 비주얼 재구성이 매우 수공예적인 YAML에서는 100% 완벽하지 않을 것이라는 아이디어를 수용하십시오. 프로젝트에서 인정합니다: 복잡한 수동 YAML의 가져오기에는 괴리가 있을 수 있습니다.

지금 도입할까요?

기본 에디터에 능숙하고 자동화가 간단하다면, C.A.F.E.는 “필수가” 아닙니다. 그러나 각기 다른 시나리오로 나아가거나, 긴 YAML 문서를 읽는 것을 싫어하거나, Node-RED의 비주얼 편안함을 좋아하지만 두 번째 엔진을 원하지 않는다면, C.A.F.E.는 많은 요소를 충족시킵니다: 비주얼, 기본 상태, 오버헤드 없음, 그리고 장기적인 함정이 없으므로 Home Assistant 표준 자동화에 남아 있습니다. 여기서는 이미 사용하고 있습니다!

Pour information, cet article peut contenir des liens affiliés, sans aucun impact sur ce que vous gagnez vous même ou le prix que vous pouvez payer pour le produit. Passer par ce lien vous permet de me remercier pour le travail effectué sur le blog chaque jour, et d'aider à couvrir les dépenses du site (hébergement, frais de port pour les concours, etc.). Ca ne vous coute rien, mais ca m'aide beaucoup ! Merci donc à ceux qui joueront le jeu !

Inscrivez vous à notre newsletter !

Ne ratez plus aucun article, test de produit ou guide, grâce à un mail dans votre boite chaque vendredi !
Nous n'avons pas pu confirmer votre inscription.
Votre inscription est confirmée.
이 기사에 대해 어떻게 생각하시나요? 의견을 남겨 주세요! 예의를 지켜주세요: 인사말과 감사의 말은 비용이 들지 않습니다! 우리는 건설적인 토론을 하기 위해 여기에 있습니다. 트롤은 삭제됩니다.

Leave a reply

18 − 12 =

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