Z-Wave Devices


디바이스, 노드, 엔티티가 뭔가요?

디바이스는 하드웨어를 뜻합니다. 또한 노드나 노드가 가진 모든 엔티티들을 언급하기도 합니다. 디바이스에는 3가지 종류가 존재합니다:

  • 콘트롤러 - 모든 지웨이브 네트워크는 하나 또는 두개의 콘트롤러(a primary and a secondary)가 필요합니다.
  • 센서 - 주위 환경에 대해 정보를 알려주는 기기입니다. 누수 센서나 모션 센서, 온도 센서 등이 이에 해당합니다.
  • 액터와 액츄에이터 - 제어를 담당하는 기기입니다. 예를 들어 라이트 스위치, 디머, 온도조절기가 이에 해당합니다. 이들 중 상당수는 센서의 역할도 같이 갖고 있습니다.

많은 센서와 액터는 association이란 능력을 통해 다른 기기들을 직접 콘트롤 합니다. 자동화 없이 routing slaves로 간단한 제어들이 가능한데 모션이 감지되면 불을 켠다거나 모션 감지가 끝나면 불을 끄는 등의 동작을 할 수 있습니다.

노드는 지웨이브 망에서 나타난 기기를 가리키는 명칭입니다. 기기를 홈어시스턴트에 등록하면 해당 기기는 지웨이브에 연결되며 노드를 entity_id로 표현합니다.

엔티티는 노드의 개별 구성요소입니다. 그것은 정보를 받는 센서이거나 동작을 수행하는 제어 기기 일 수 있습니다. 노드는 제어나 센서 기기에 따라 적어도 하나의 엔티티가 있으며 엔티티는 기기가 제공하는 Command Class에 따라 생성됩니다.

Z-Wave, Plus, Security 2

지웨이브 프로토콜엔 두가지 확장 버전이 있습니다. 콘트롤러가 이들 버전의 방법을 제공하면 사용가능하며 기기는 구버전 호환성을 갖추고 있습니다.

Z-Wave Plus

주요 개선 사항:

  • 배터리 성능 개선(50% 절약)
  • 모든 기기들이 지웨이브 플러스를 지원하면 접속 범위가 확장됩니(50% 향상)
  • 모든 기기들이 지웨이브를 지원하면 대역폭 개선과 전파 노이즈가 줄어듭니다.
  • 자가 정비(self-healing) 능력과 오류 개선(fault tolerance) 향상

Z-Wave Security 2

2017년 4월 새롭게 출시하는 모든 지웨이브 기기들은 시큐리티 2(S2) 프레임워크를 적용해야 한다고 공표했습니다. 현재(2019년 10월) 오픈지웨이브 프로토콜은 S2 프레임워크를 지원하지 않습니다(따라서 HA도 지원하지 않습니다).

Device Power

지웨이브 메쉬 네트워크는 상시 전원 기기와 함께 만들어지며 다른 노드들과 통신하며 네트워크를 구성합니다. 이들 기기는 항상 깨어있으며 다른 기기들과 정보와 변경 사항들을 주고받습니다.

배터리로 동작하는 기기는 대부분의 시간에 잠들어 있고 어떤 정보도 교환하지 않습니다. 하지만 기기가 스스로 변화를 감지하거나 일정 시간이 지나면 특정 인터벌마다 잠에서 깨어 정보를 송신하거나 합니다. 인터벌에 대한 상세 내용이나 기기를 강제로 잠에서 깨우는 방법(기기가 제공한다면)은 각 기기의 매뉴얼을 살펴보세요. 도어락이나 온도조절기 같은 몇몇 배터리 기기들은 원격으로 잠에서 깨우는 beaming 기능(Beam command class)을 제공합니다. 이 경우 콘트롤러와 비밍을 지원하는 기기상의 통신을 중계하는 기기들은 비밍 커맨드를 책임감 있게 전달해줘야 합니다.

지웨이브 기기의 라우팅 기능은 통신을 중계한다는 뜻은 아닙니다. 실제로는 리모콘이나 스위치에 이런 라우팅 표시가 있으며 실제로는 다른 기기를 콘트롤 한다는 의미입니다.

상태 반영

구버전의 지웨이브 기기는 Lutron Electronics사의 특허로 인해 Instant Status (상태반영)을 지원하지 못했습니다(Hail command class). 몇몇 제조사들을 이 기능을 사용하기 위해 특허료를 지불했지만 대부분은 현재 기기의 상태를 전달하는 기능을 기기에 적용하지 않았습니다. 이 특허는 2016년에 만료됐고 새로운 기기들은 점차 지원하고 있습니다.

Hail 또는 그와 비슷한 Controlled Command Class를 다루는 기기 리스트에 있는 제품들은 상태가 바뀌면 즉시 상태 정보를 전달합니다. Controlled Command Class 를 포함한 Central Scene 명단에 등록된 기기들도 이론적으로는 이 기능을 지원하며 OpenZWave 역시 Central Scene class를 제공합니다. 이 기능을 원한다면 Z-Wave alliance 사이트를 방문하여, Command Classes 링크에서 Controlled Command Classes 섹션을 참고하세요.

Polling

상태가 바뀌었는데도 기기가 콘트롤러에게 자신의 상태를 업데이트 하지 않으면 폴링(Polling)을 사용하여 개선할 수 있습니다. 폴링은 콘트롤러가 기기에게 센서와 상태를 업데이트하도록 요청하는 것입니다. 이 과정은 네트워크에서 많은 트래픽을 유발할 수 있습니다. 따라서 기기의 상태를 빨리 반영하고 싶은 마음에 너무 많은 요청을 기기들에게 보내면 지웨이브 네트워크 자체가 망가질 수 있습니다. 폴링은 다른 개선방법이 없을 때 사용해야 하며 가능한 요청 인터벌을 길게 설정해야 합니다. 폴링을 사용하기 보다 문제가 있는 기기 자체를 다른 제품으로 바꾸는 것이 보다 이상적입니다.

예를 들어, polling_interval=60000(기본값)으로 설정하고 10개의 기기가 있다고 가정할 때, 각각의 폴링 응답(request/response)에 1초가 걸린다면 폴링이 끝나기까지 10초가 걸릴 것입니다. 그럼 50초가 남게 되는데 이것은 일반적인 지웨이브 정보를 주고 받는 시간이 됩니다. 많은 장치를 더 짧은 인터벌로 폴링하면 정보를 주고받는 대역폭이 더욱 줄어들게 됩니다.

폴링은 기기마다 설정할 수 있고 기기의 polling intensity로 작성합니다. 자세한 내용은 노드 관리 문서를 참고하세요.

자세한 폴링 설정은 HA네이버카페 하얀가지님 글을 참고하세요

Central Scene support

Central Scene command class는 OpenZWave에서 아직 제공하지 않습니다(지금 열심히 지원을 준비중입니다 ) 홈어시스턴트는 0.53버전부터 일부 기능을(change 9178) 제공합니다. 자세한 내용은 문서를 참고하세요.

내 기기를 지원하나요?

내 기기를 OpenZWave가 지원하는지 확인하려면 OpenZWave 1.4 github을 참고하세요. 목록에서 확인하더라도 홈어시스턴트에서 동작한다고 보장할 수는 없습니다. 오픈지웨이브와 홈어시스턴트 사이의 개발 속도가 다르고 몇개월 늦게 홈어시스턴트가 지원할 수도 있습니다.

목록에 없는 기기라 하더라도 해당 기기가 지웨이브 표준을 지원하도록 제작됐다면 정상 동작할 수도 있습니다. 여러분의 기기가 목록에 없다면 OpenZWave wiki에서 you can add support를 통해 기기 등록을 요청해보세요.