타이틀에는 일반 Zigbee 플러그라고 적어두었지만, Smartthings Zigbee 플러그의 전력사용량 리포팅을 확인해보고자 한다.
Smartthings Hub와는 궁합이 잘 맞아(당연한 얘기) 기본 DTH로도 전력사용량이 세밀하게 리포트 된다고 한다. 하지만 Hubitat에서는 다르게 동작한다.

지난 글의 그래프를 다시 가져와본다.
Hubitat에 Smartthings Zigbee Plug를 연결하여 리포팅받은 그래프이다. 연결된 기기는 iPad Pro USB-PD 충전기이다. 세밀하게 리포팅된다고 느껴진다.

하지만...

Hubitat의 내장된 Driver의 첫 번째 설정이 Enable automatic power reporting값인데, 자동으로 리포팅하려는 전력사용량 변화값이다. 어떠한 이유인지는 모르겠지만 전력이 1W 이상 변경될 경우부터 이벤트가 발생하도록 되어있다. (Local로 동작하는 만큼 Hub의 로드가 높아질 걸 대비하여 제한을 둔 것일지도)

iPad 충전기보다 훨씬 더 적은 전력을 쓰는 LED 전자벽시계를 연결해보았다. 네XX에서 검색하면 바로 찾을 수 있는 플라이토 벽시계이다. [Link]
전력 소모량이 1W 내외인 저전력 제품이다. (최대 밝기로 해두면 1W 소모한다)

기본 Driver로 연결한 경우이다. 제품을 끄고 켤 때 잠깐 1W가 되는 것말고는 계속 1W보다 아래여서 전력량이 업데이트되지 않는다. 심지어 0W로 리포팅하고 있다.
디버깅 로그를 보면 전력량은 리포트 되고 있다.

이미지의 첫 번째 로그가 Cluster가 0B04, attribute id가 050B의 value가 0007이다. 0.7W 사용 중인 것이다. 하지만 Driver에서 0W로 리포팅을 하고 있어 연결된 기기가 사용 중인 것으로 판단할 수 없다.

이처럼 최대전력소모량이 1W밖에 안되는 저전력기기인 경우엔 기본 Driver는 0과 1W만 기록이 될 것이고, 고정적인 소비전력이 있는 상황에서 변화량이 1W이하인 경우 20W와 21W사이에서 지속적으로 변동이 있어도 전력량은 20W와 21W만 기록이 될 것이다.

Smartthings Hub에 연결해보면 1W 미만인 경우에도 정상적으로 이벤트를 발생시키고 있다.

기기에서 리포팅이 안되어서 문제가 발생하는 건 아니고, Driver에서 1W미만인 경우에 이벤트를 발생시키지 않는 문제이기 때문에 Driver만 수정해주면 문제해결이다. 그러던 중 Hubitat 포럼에 Enhanced Smart Plug Driver라고 올라온 글을 보았다.
Iris 플러그 Driver인데 Smartthings plug에도 테스트가 되었다. (ZHA 표준에 따랐다면 다 될 것 같다.) 이 Driver를 사용하면 좀더 세밀한 리포트와 Voltage와 AC주파수를 정보도 받을 수 있다. 최소/최대 리포팅 주기도 지정할 수 있다.

그래프의 양상이 Smartthings Hub에 연결했을 때와 동일하게 나타난다.

이렇게까지 저전력 리포팅을 찾아봤던 것은 LED 시계를 밤에는 끄고 싶은데, 플러그를 끄는 것 말고 IR리모트로 LED를 Off할 수도 있어 KuKu Harmony에서 쓰기 위해서이다. 저전력 기기를 연결해서 쓰는 것이 아니라면 내장된 Driver를 사용해도 문제없다.