본문 바로가기

SmartHome. IoT/SmartHome 응용

HA에서의 Local, Cloud, Polling, Push.

728x90
반응형

안녕하세요~ 레이군 입니다.

오늘은 HA를 사용하는데 있어서... 아니, 스마트홈을 사용하는데 있어서 알고 있으면 좋은

연결방식에 대해 알아보겠습니다.

오늘 다뤄볼 내용은, zigbee나 wifi 이런 연결방식이 아닙니다.

흔히 많이 들어보셨을 로컬, 클라우드 이런 내용이예요.

로컬과 클라우드의 구분은 굉장히 단순합니다.

바로 인터넷이 끊겨도 동작이 되느냐 안 되느냐 입니다.

가령 이런식으로 댁 내에 wifi와 zigbee, 블루투스 장치가 있다고 합시다.

모든 장치는 연결을 위한 기준이 되는 장치가 있어야 하죠

WiFi는 WiFi공유기가 있어야 하고, Zigbee는 HA의 Z2M이나 ZHA같은게 있어야 하고...

BT도 휴대폰 이나 스위치봇 허브 같은게 있어야 연결을 할 수 있습니다.

이것들이 댁 내에 있다고 로컬인건 아닙니다.

댁 내에 있는 기기들 중, 제조사의 서버를 거쳐야 동작되는 장비들은 클라우드 장비인거죠.

가장 간단한 확인 방법은, 댁 내로 인입되는 메인 인터넷 라인을 죽여보는겁니다.

모뎀이 있다면 모뎀을 끄고, 직접 랜선으로 공유기랑 연결되어 있다면, WAN포트를 뽑아보는거죠.

인터넷 없어도 제어가 된다 = 로컬, 뽑으면 제어가 안 된다 = 클라우드

간단하죠?

WiFi장치들도 로컬 연결 가능한 장비들이 여럿 있습니다. 이런 장치들은 제조사 서버를 거치지 않기 때문에

서버나 인터넷 라인쪽 이슈에서 매우 자유롭고, 속도 또한 빠릅니다.

Zigbee 장치는 대부분이 로컬에서 동작을 합니다. 자동화를 걸어두면, 내부에 있는 zigbee 코디에서 제어하므로

인터넷이 끊겨도 정상적으로 동작하는 경우가 많습니다.(HA라던지, 샤오미도 되는걸로 알고있습니다)

로컬이나 클라우드는 자세히 설명된 많은 글들이 있으니 궁금하시면 좀 더 찾아보시면 될 것 같습니다!

다음은 폴링와 푸시에 대해 알아보겠습니다.

Polling과 Push는 연결방법이 아니라 명령을 처리하는 방식에 대한 구분이라고 생각하시면 됩니다.

Polling은 일정 시간마다 기기의 상태를 확인합니다.

Push 방식은, 기기에서 값이 변화하면 or 지정된 시간마다 보고하는 방식 입니다.

둘 모두 명령을 내릴때는 바로 반응합니다.

약간 이런느낌 이라고 생각하시면 됩니다.

폴링의 주기는 장치마다 다르기 때문에 10초, 30초, 1분 등 다양할 수 있습니다.

전력량 측정이 가능한 플러그를 예로 들어 설명드리면,

Zigbee2MQTT에 등록되는 Tuya 플러그 중에 TS011F_plug_1 타입과 TS011F_plug_3 타입이 있는데요

1은 Push타입이고, 3은 Polling 타입 입니다.

Push타입인 1은 전력량이 변화하면 즉시 보고를 하고, 전력량이 일정하면 보고하지 않다가 z2m에서 설정한

보고 주기에 따라 현재 값을 보고합니다.

물론 설정에 따라 다르지만, 1초에 몇번 변하고 이런건 보고하지 않고 몇초에 한번 보고하는 형태 이며,

변화랑이 일정수준 이하라면 보고하지 않고 넘어갑니다. 네트워크 부하도 생각해야 하니까요

수동으로 플러그를 켜거나 끄면, 해당 내용은 즉시 HA에 즉시 반영이 됩니다.

Polling 타입인 3은 전력량 변화와 관계없이 설정된 시간마다 보고를 받습니다.

전력량이 급변하더라도, 설정된 시간이 1분이면 1분마다 1번씩 보고를 받고

해당 시간동안 부하량의 변화가 없더라도 현재 값을 보고합니다.

또한, 플러그를 수동으로 켜거나 끄면, 그 값의 반영 또한 보고 시간에 전달하기 때문에

HA에서 반영이 늦을 수 있습니다.

자 이런것들이 왜 필요할까요....?

바로 HA에 연결되는 장치의 종류에 따라 연결방식이 다르기 때문입니다.

HA에 연결되는 모든 장치는 크게 5가지 종류의 연결방식을 지원합니다.

Cloud Polling, Cloud Push, Local Polling, Local Push, 마지막으로 Assumed State 입니다.

Assumed State의 경우 어떤 장치가 이렇게 되는지 모르겠는데...

아마 IR이나 RF 장치가 이렇지 않을까요? 상태값 리턴을 받을 수 없으니까요...

https://www.home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/#classifiers

연결 방식 관련 글은 위 내용을 참조하시면 됩니다.

HA에서 지원하는 장치 및 각종 구성요소를 설정할때 필요한 내용들은

공홈에 있는 integrations 페이지에서 확인할 수 있는데요

https://www.home-assistant.io/integrations/

여기서 아무거나 클릭해서 들어가면, 우측 상단에 언제 추가되었고 어떤 방식인지가 나옵니다.

 

이런식으로 연결 방식이 나오니, 동작 방식에 대한 이해를 먼저 하시는게 좋습니다.

가령, 로컬 푸시 타입인 ESPHome장치들은 상태 반영등이 바로바로 이루어 지지만

로컬 풀링인 IKEA 장치(트로드프리로 연결, Zigbee연결 아님) 의 경우 수동조작 하면 반영이 좀 늦겠죠.

둘 다 인터넷 연결이 끊겨도 동작은 할테지만요.

자 오늘은 로컬과 클라우드, 폴링, 푸시에 대해서 알아보았습니다.

이 부분은 HA뿐만 아니라 스마트홈을 구성할때 기본적으로 이해해야 할 내용이므로

머리 한구석에 넣어두시면 다음에 생각나실거예요!

또 재미난거 들고 올께요~

728x90
반응형