안녕하세요~ 레이군 입니다.
자동화 알아보기 기초단계, 거의 끝까지 왔습니다!
이번시간엔 자동화 구성을 진행할때 알고있으면 유용한 도구 몇가지를 소개해 드리겠습니다.
우선 자동화란, 필수 요소 2개와 그 사이에 들어가는 선택적 요소 1개로 이루어져 있습니다.
필수 구성요소는, 자동화의 시작지점을 결정하는 '트리거' / 그리고 '동작' 입니다.
이 사이에 '조건' 값을 필요에 따라 추가할 수 있습니다.
실생활에서 가장 많이 볼 수 있는 자동화인 센서등을 예로 들어보겠습니다.
움직임이 감지되면 -> 불을 켜라
매우 간단하죠?
켜졌다면, 끄기도 해야겠죠.
움직임이 감지되지 않으면 -> 불을 꺼라
이렇게 2가지 자동화는 일반적인 센서등의 기본 자동화 입니다.
조금 더 해볼까요?
움직임이 감지될때 -> 주변이 어두우면 -> 불을 켜라
이렇게 트리거 / 조건 / 동작을 모아서, 우리가 평소에 자주 접하는 자동화를 만들어 보았습니다.
자 그런데... 이게 자동화 구성시 필요한 도구 설명이랑 무슨 관계인가?
그것은 자동화의 기본 구성을 알아야 도구를 제대로 쓸 수 있기 때문이죠.
이 자동화 구성에 유용한 도구들은, 충분히 익숙하고 제대로 구현된 자동화라면 사용할 필요조차 없습니다.
하지만 좀 복잡하거나 수치의 결정이 애매한 자동화를 구성한다면, 매우 유용하게 사용할 수 있을겁니다.
필수와 옵션을 모두 합해, 자동화의 구성을 3단계로 나눠보면
트리거가 발생했을때 -> 조건을 만족하면 -> 동작을 실행해라
라고 할 수 있습니다.
그러면 혹시 자동화가 제대로 동작되지 않는다면 어떻게 해야 할까요?
당연히 이 3단계를 점검해야 합니다.
트리거의 포인트는 명확한지, 조건은 제대로 만족하는지, 동작에 이상은 없는지 를 확인해야죠.
트리거의 포인트는 명확한지
내가 설정한 트리거가 잘 동작되는지 확인을 해야 합니다.
센서등을 예로 들면, 내가 움직이는데 모션이 감지가 되는지를 봐야겠죠.
모션센서라고 해도, 센서마다, 설치 각도에 따라, 거리에 따라 감지하는게 달라지겠죠?
그래서 테스트를 해봐야 합니다.
![](https://blog.kakaocdn.net/dn/CRnf1/btrBYcjgACj/rGYncyfjyKIlN4ouSIErKk/img.gif)
트리거 지점을 input_boolean.test_1 의 on 상태일때를 기준으로 잡으면,
해당 boolean 값을 off -> on 으로 바꿀때 자동화의 트리거 항목 위에 '트리거됨' 이라는 표시가 뜹니다.
조건을 조금 바꿔서, 경과시간을 3초로 넣으면 off -> on 으로 변경되고 3초 후 '트리거됨' 이라고 표시되죠.
모션센서라면, 휴대폰에서 자동화 편집화면에 들어가서 원하는 위치를 서성거려보면 되겠죠?
이렇게 해서 자동화의 1번 조건인 트리거의 정상동작 유무를 확인할 수 있습니다.
조건은 제대로 만족하는지
자 트리거를 확인했으면 이제 조건값을 봐야겠죠.
![](https://blog.kakaocdn.net/dn/cj8AUT/btrBXu5zNe7/hioDj6oP3jkM6KkWNqFRZk/img.gif)
input_boolean.test_1 의 값이 on 일때를 조건으로 넣어봤습니다.
조건 우측 상단에 테스트 부분을 누르면, 조건이 만족하지 않으면 빨간색 느낌표, 만족하면 녹색 체크가 뜹니다.
매우 심플하죠?
조도라던가, 습도라던가.. 여러가지 조건이 있을때도 이 테스트 버튼 하나로 확인이 가능합니다.
다만, 조건이 여러개(A/B/C/D)가 있다면, 이건 각각 테스트 해야 합니다.
and/or/not 등 다중조건을 걸었다면, 그 아래 조건을 각각 테스트 할 수 있고
다중조건 자체를 테스트해서 만족여부를 확인할수도 있습니다.
동작에 이상은 없는지
동작이 원하는대로 되어야 비로소 자동화의 마무리라고 할 수 있습니다.
해당 동작의 우측 상단 3점을 눌러, 동작 실행을 눌러보세요.
![](https://blog.kakaocdn.net/dn/2j5Dp/btrBYrmXtmD/9eX9iFji4H5qPiYAIQAFR0/img.gif)
위 예시는 input_boolean.toggle 서비스로 input_boolean.test_1 을 호출하였습니다.
토글메뉴이기 때문에, 동작을 실행할때마다 test_1이 on / off 로 변경되는걸 볼 수 있습니다.
이 동작의 실행은 단일 동작에 대해서만 확인이 가능하기 때문에, 자동화 전체의 동작을 보기는 어렵습니다.
![](https://blog.kakaocdn.net/dn/85Zra/btrBWRzVVGC/Au6nMZKQITMx8ectP3xOvk/img.png)
예시로 구성을 해보았습니다.
input_boolean.toggle 서비스로 test_1을 호출하고
delay를 2초 준 다음
input_boolean.toogle 서비스로 test_2를 호출합니다.
그러면 test_1이 토글되고, 2초를 대기후 test_2를 토글해야 하는데...
동작 메뉴에서 동작 실행을 해본다고 이 순서대로 진행이 되지 않습니다.
![](https://blog.kakaocdn.net/dn/rvW5m/btrBYDU1xLS/Rk3Iwb3r2hkrfyjP6Tklk0/img.png)
그럴때 사용하는게, 자동화 기본구성 항목에 있는 '동작 실행' 메뉴 입니다.
이걸 실행하면, 자동화 동작에 있는 워크플로우를 그대로 실행하게 됩니다.
![](https://blog.kakaocdn.net/dn/oblNa/btrBSNEPYK0/K8Um8VD7VG4gkBLK8SOei0/img.gif)
이런식으로 말이죠.
물론 이게 동작되지 않는 경우도 몇가지 있습니다.
가령, 동작의 조건으로 트리거ID가 들어가 있다던가, 템플릿으로 trigger.to_state 같은게 들어가 있다면
그건 자동화의 트리거를 기반으로 동작을 진행해야 하기 때문에 동작 실행으로는 테스트가 불가능 합니다.
이 경우는, 트리거와 조건값을 테스트 하여 정상 동작이 되는지 확인한 다음
추적 표시하기(자동화 디버깅) 메뉴를 통하여 로그를 봐야 합니다.
이 부분은 전에 살짝 다룬적이 있습니다.
https://blog.naver.com/ray0412/222430090574
위 링크의 중간정도에 보시면, 자동화 디버깅의 대략적인 내용을 확인할 수 있습니다.
다음시간엔 기초강좌 마지막 시간으로, 자동화 구성시 주의해야할 점들에 대해 이야기 해보겠습니다.
'SmartHome. IoT > SmartHome 응용' 카테고리의 다른 글
Home Assistant 에서 자동화 실행 중 종료하기 (0) | 2022.05.29 |
---|---|
HomeAssistant의 자동화를 알아보기 - 6.자동화 구성(스압주의) (0) | 2022.05.12 |
HomeAssistant의 자동화를 알아보기 - 4.동작 (0) | 2022.05.12 |
[HA] 3D Floor Plan 적용하기 #4.5_영역 토글(ios가능, 다른방법) (0) | 2022.03.10 |
[HA] 3D Floor Plan 적용하기 #4_영역 토글 (0) | 2022.03.10 |