연컴의 일기

[ko] Home-Assistant를 활용한 가정자동화 급조 본문

#tech

[ko] Home-Assistant를 활용한 가정자동화 급조

Yeoncomi 2021. 12. 25. 18:56

브리티시 컬럼비아의 하숙방에 있을 적에 Home Assistant를 활용하여 기온/습도 측정을 구축한 일이 있었다.

당시에는 Ti CC2531 동글과 굴러다니는 랩탑, 그리고 샤오미 Aqara 센서를 사용하여, Zigbee를 이용해 외부 온도와, 내부 온도를 재어, 어떤 옷을 입고 나가면 좋을지 정하는데 사용하였다.

이 당시에는 Zigbee가 뭔지도 제대로 이해하고있는게 없었고, 그냥 야매로 사용했다.

갑자기 어느날 센서가 작동을 멈추고, 노트북은 다른 사람에게 넘기게 되었다.

 

당시에는 이게 IP주소가 바깥으로 Exposed된것도 아니었고, Google Home에서 접근가능한거도 아니었으나, 다시 기회가 찾아오게 되었다

 

Nortek 의 GoControl이 오픈박스 세일이 생겨서 저렴한 가격인 단돈 19.95달러에 구매했다.

이 장비의경우 Zigbee 3.0 과 Z-Wave Plus를 동시에 지원하고, Zigbee Home Automation에서도 호환이 가능하여, Zigbee2MQTT의 셋업 필요없이 Plug & Play로 Zigbee 네트워크를 구성 할 수 있다. 모양은 단순한 USB스틱처럼생겼다.

 

프로젝트에 사용된 디바이스및 소프트웨어는 다음과 같다

  • Synology DS920+ (12GB RAM/Celeron J4125, Virtual Machine Station)
  • HassOS 7.0
  • Nortek GoCotnrol HUSBZB-1 Zigbee+Z-Wave combo stick
  • Home Assistant 2021.12.5
  • eWeLink TS01 (2개, 온도/습도) (알리익스프레스)
  • eWeLink DS01(1개, 문열림) (알리익스프레스)
  • Tuya TS011F (1개, 슈코규격 스위치, 전압/전류) (알리익스프레스)
  • Tuya TS0601 (1개, 공기질 모니터, 이산화탄소, 포름알데히드, VOC) (알리익스프레스)

GoContorl, TS01과 DS01은 특별한 설정 없이도 Zigbee Home Automation에서 연동을 시켜주게 되면 별 문제 없이 polling을 시작하고 Lovelace UI에서도 사용 할 수 있게 된다.

 

TuyaTS011F와 같은 경우는 현재 ZHA Quirks의 문제로 인해, 암페어의 divider와, 전압의 divider가 바뀌어, 전압이 0.2V로 나오고, 전류는 mA단위로 나오는 대참사가 일어났으나, Pull request 도 들어간것으로 보니 추후 수정될 것으로 보인다.

Tuya TS0601과 같은 경우는 아직 Home Assistant에 ZHA Quirks가 반영되지않아, custom quirks 를 직접 넣어야한다.

https://github.com/zigpy/zha-device-handlers/issues/1004

 

[BUG] TS0601 _TZE200_yvx5lh6k (Smart Air Box) not finding the quirk · Issue #1004 · zigpy/zha-device-handlers

I purchased a Tuya Smart Air Box with a Zigbee ID of: "_TZE200_8ygsuhe1" and it is working as expected. I purchased a second and it came with a Zigbee ID of: "_TZE200_yvx5lh6k" ...

github.com

다양한 custom card를 활용하여 꾸미면, 이렇게 예쁘장한 대시보드 패널이 탄생한다.

자동화 rule로 만들어 둔 것은 다음과 같았다.

  • 집 구역에 있을 시, 저녁시간대 스마트워치가 70%이하의 배터리로 떨어져있으며, 충전중이 아닐때 알림을 보내 충전을 하게 한다.
  • 집 밖에 있을시, 문이 열리게 되면, 알림을 보내 침입자가 있을 수 있음을 알린다.

여기에 PM2.5/10센서와 같은걸 달아볼까 싶기도 하고, 버튼을 누르면 Find my phone을 트리거하는 버튼이나, 현재 재생중인 미디어의 음량을 조절하는 물리적 다이얼을 구성해볼까싶다.

Comments