자동화의 마법: 홈 어시스턴트로 일상을 스마트하게 변화시키기

홈어시스턴트를 사용하는 가장 메인 기능이기도 한 것이 바로 ‘자동화’ 입니다. 초기의 홈어시스턴트의 자동화는 스크립트를 직접 이해하고 절차에 따라 코드를 작성해야했으나, 이젠 UI를 통해서 설계하도록 업그레이드가 되었다는 것입니다.

홈어시스턴트의 자동화의 장점은 기존 IoT 서비스의 경우, 특정 브랜드 회사의 어플리케이션 내에서만 상호작용이 되었다면, Home Assistant의 경우에는 연결된 모든 회사의 제품 간에 상호 작용이 가능하다는 것입니다. A사에서 개발, 판매된 온/습도 센서의 결과에 따라서 B사의 제품의 기능을 동작 시킬지 처리하거나, C사의 제품과 함께 동작처리하도록 하는 작업이 가능해집니다.

기본적인 개념과 용어, 절차에 대해서 소개하도록 하겠습니다.

용어에 대한 소개

트리거(Triggers)

동작을 유발 시키기 위한 원인이 되는 상황을 말합니다.
예를 들면, 온도가 몇도가 되었을 떄, 누군가 어디에 들어올때, 누군가 어디에 나갈때, 어떤 기기의 수치값이 얼마동안 얼마의 값이 되었을 떄… 이런 이벤트가 발생되기 시작하는 상황을 선언하는 것이 트리거 입니다. 하나의 자동화 설정에는 여러개의 트리거를 걸 수 있습니다.

<동작이 시작되는 계기를 선택합니다.>

기기, 구성요소, 시간 및 위치, 기타 트리거 등 상태가 변경된 것을 감지하여 자동화를 실행하도록 시작하는 설정을 선택할 수 있습니다.

트리거에 대한 자세한 옵션 정보 링크: https://www.home-assistant.io/docs/automation/trigger/

조건 (Conditions)

트리거가 발생하면, 이를 다음 동작으로 계속 진행할지 말지를 선택할 때, 이 조건을 설정하도록 합니다. 이것이 매우 중요한 것이 아래 간단한 예를 들도록 하겠습니다. 화장실에 조명이 있는데, 이 조명이 10분 후에 꺼지도록 하는 트리거를 걸었다고 합시다. 10분이 지나는 시점에 트리거는 이벤트를 발생 시킵니다. 조명을 끄기 위해서 조건을 살펴보는데, 조건으로 재실을 감지하는 센서가 감지중일 경우, 꺼지 않도록 합니다. 재실 감지가 안되는 경우, 다음 단계로 넘어갈 수 있는거죠.

<동작이 수행되어야 할 조건을 설정합니다.>

조건은 And 와 Or , Nor조건으로 다중의 조건을 실행할 수 있습니다. 다중 조건일 경우, “조건 추가하기” 대신에 “블록 구축 추가”를 선택하게 되면, 블록안에서 And , Or 또는 Nor의 조건을 설정할수 있도록 화면이 만들어집니다.

<다중의 조건을 설정하여 실행 환경을 설정합니다.>

설정된 여러 조건이 다 만족되면, 다음 단계로 넘어가길 원하면 And 로 조건을 모두 연결해야 합니다.
설정된 여러 조건 중에 하나라도 만족되면, 다음 단계로 넘어가도록 해야 한다면, Or로 조건들을 나열하면 됩니다. 이 중에 하나라도 조건에 해당하면 다음 단계로 넘어갑니다.

조건에 대한 자세한 옵션 정보 링크 : https://www.home-assistant.io/docs/automation/condition/

동작(Actions)

트리거와 조건을 모두 통과하면 드디어 디바이스를 지정하고, 동작을 명령할 수 있습니다. 켜거나, 끄거나, 알리거나, 설정을 변경하거나 지정된 기기에게 직접 명령을 내릴수 있게 되는 것입니다.

<최종의 수행할 동작을 선택합니다.>

제가 주로 수행하는 것은 구글 스피커를 통해서 이벤트 수행에 대한 결과를 내보내거나, Slack과 같은 메시지로 결과를 문자로 발송하는 것들을 합니다. 특히 메시지를 통해서 기록을 남겼을 경우, 이벤트를 못보더라도 수행여부에 대해 확인할수 있으니 좋은 것 같습니다.

동작에 대한 자세한 옵션 정보 링크: https://www.home-assistant.io/docs/automation/action/

화면소개

자동화 설정은 과거 코드 레벨에서 작성하였지만, UI 를 통해서 자동화 설정이 가능하도록 하였습니다.

<주로 우리 집에서 사용하는 자동화 입니다.>
<야간에 움직이 있을때 조명을 더 환하게 켜는 자동화 예시입니다.>
<Step1. 트리거로 움직임 해제 상태에서 감지가 되었을 떄로 설정합니다.>
< Step2. 조건으로는 야간시간대(00:00~08:00), 조명이 약하게 켜져있을 때입니다.>
<Step3. Brightness를 100%로 환하게 켜도록 수행합니다.>

사용 예시

  • 화장실에 사람의 존재여부에 따라 화장실등과 환풍기를 On/Off
    • 트리거
      • 재실감지가 되면
    • 컨디션
      • 화장실 스위치가 꺼져있다면
    • 동작
      • 화장실 스위치 켜기
    • 트리거
      • 재실감지가 안된지 5분이 지나면
    • 컨디션
      • 화장실 스위치가 켜져있다면
    • 동작
      • 화장실 스위치 끄기
  • 화장실의 습도가 80% 이상이면 환풍기를 On , 80%이하면 환풍기를 Off
    • 화장실 스위치가 IoT
    • 습도 센서
  • 야외 등이 일몰 후 켜지고, 일출 후 꺼지기
    • 야외 등 스위치가 IoT
    • HA 주야간 센서
  • 이산화탄소 수치가 4000ppm이 넘어가면, 환풍기 스위치 On, 1500ppm 밑으로 내려가면 환풍기 스위치 Off
    • 환풍기 스위치가 IoT
    • 이산화탄소 센서
  • 정해진 시간에 일기예보 정보 구글 스피커로 알려주기
  • 정해진 시간에 그날 사용된 전력, 가스, TV 시청시간 알려주기
  • 정해진 시간에 출근길 예상 시간 문자로 알려주기

결론

홈 어시스턴트를 이용하게 되면서 가장 좋은 점은 자동화를 통해서 사람의 일이 획기적으로 줄어들수 있다고 생각합니다. 우리가 스위치를 끄고 켜는 단순한 결정 뒤에는 미리 고려된 상황이 있고, 이에 따라 결정하게 됩니다. 이러한 과정에 수동으로 제어가 되는 것에 대한 피로감을 줄일 수 있는 것이 이 자동화 기능입니다. 최소한 우리 아이들에게 사용하지 않는 불끄고 다니라는 잔소리는 더이상 안해도 되니까 말이죠.

다음에는 장면, 스크립트, 블루프린트 에 대한 포스트도 준비하도록 하겠습니다.

우리 모두 스마트한 홈 만들어 보아요~


게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다