이전에 샤오미 로봇청소기 1세대에 대한 홈킷 등록에 대해서 다루었는데요.
오늘은 청소기에 문제가 있을 때 알려주는 작업을 해보려고 합니다.
우선 사용할 것은 바이너리 센서(binary sensor)입니다.
바이너리 센서는 간단하게 온오프 만 알려주는 센서인데요.
모션, 재실, 빛, 가스 등 있다,없다를 알려주는 센서 컴포넌트입니다.
자세한 설명은 HA 홈페이지를 참고하세요.
우리가 사용할 건 바이너리 센서의 problem 클래스 입니다.
사실 problem이 아니고 그냥 일반 다른 센서로 선택해도 큰 상관은 없을거 같아요.
홈킷이 바이너리 센서를 딱히 세세히 분류를 안하는거 같더라고요.
그냥 단순히 켜지면 "작동됨"이라는 글이 올라 올 뿐입니다.
물론 아직 많이 실험을 해보지 않아서 다를지도 모르겠지만 우선 재실(presence) 클래스하고는 별 차이가 없더라고요.
configuration.yaml 파일에 다음을 추가합니다.
- platform: template
sensors:
vacuum_problem:
device_class: problem
friendly_name: "청소기 문제발생"
value_template: "{{ not (is_state('vacuum.xiaomi_vacuum_cleaner','docked') or is_state('vacuum.xiaomi_vacuum_cleaner','cleaning') or is_state('vacuum.xiaomi_vacuum_cleaner','returning'))}}"
value_template 부분은 한줄이에요.
대략적인 설명은 docked, cleaning 또는 returning 상태가 아니면 센서를 켜라는 명령입니다.
docked는 독에서 충전 혹은 대기중인 상태, cleaning은 청소 중, returning은 독으로 돌아가는 상태죠.
이렇게 해두면 저 3가지 상태가 아닐때 센서가 켜지게 됩니다.
그런데 켜지는거 까지는 좋은데 푸시 알림을 안해주더라고요.
직접 켜야되는 모양입니다.
홈 앱을 실행해 봐요. 그리고 왼쪽 위에 집모양 아이콘을 클릭해서 홈 설정으로 들어가세요.
알림 쪽에 센서가 있죠? 그걸 클릭하면 우리가 만들어둔 센서가 있을겁니다.
그걸 키면 센서가 켜질때 푸시로 알려주게 됩니다.
나름 괜찮죠?
사실 문제알림은 필요가 없을 수도 있어요. 왜냐면 미홈앱이 푸시를 해주니까요.
하지만 저희집 상황처럼 저 혼자만 미홈앱을 쓰고 와이파이님은 홈앱으로 컨트롤을 한다면 문제가 생긴걸 저밖에 알 수가 없으니까
그게 좀 불편하지 않을까 싶어 만들어 봤습니다.