본문 바로가기

지이노/ReView & Using

HomeAssistant 네트워크 맵 확인하기(Zigbee)






지난 글에서 HomeAssistant(이하 HA)에 Z-Wave(이하 Z웨이브)와 Zigbee(이하 지그비)모듈을 


등록하여 사용하였다.


[리뷰] HUSZBZ-1, Zigbee & Z-Wave USB Stick


[설치] HomeAssistant(HA)에 Zigbee(지그비) 추가하기


[설치] HomeAssistant(HA)에 Z-Wave(Z웨이브) 추가하기


작업을 진행하면서 내가 가지고 있는 지그비 장치들 중에 리피터 기능을 가지고 있는 녀석들이


정상적으로 리피팅 기능을 하고 있는지, 장치들이 잘 연결은 되어 있는지 궁금해졌다.


문득 작년에 카페에서 SmartThings(이하 ST)의 지그비 네트워크 맵 관련 게시글을 보았던 기억이 떠오른다.


플루님께 게시글을 참고하여 HA에서 네트워크 볼 수 있도록 수정하여 글을 작성해도 되는지 여쭈어보고 이 글을 작성한다.







1. 준비


우선 네트워크 맵을 보기 위해 준비물이 필요하다.


첫 번째, 지그비 USB 동글


두 번째, XCTU 프로그램


우선 플루님의 글에 따르면 지그비 USB 동글이 굳이 같은 제품일 필요는 없다고 한다.


다만 경험이 없거나 네트워크 맵만 보고 싶은 사람은 DIGI zigbee USB 동글을 권장하신다고 한다.


물론 나도 동일한 제품을 구했다.


 

( https://kr.mouser.com/ProductDetail/XU-Z11)?R=0virtualkey0virtualkeyXU-Z11 )


제품의 앞면에 XStick이라고 적혀있는데 구매처에 가보면 XU-Z11 이라는 명칭으로 불리운다.


XU-Z11 데이터시트


난 순수히 네트워크맵이 궁금했고 HA에 HUSBZB-1이 꼽혀있기 때문에 더이상의 지그비 스틱은 필요가 없었다.


다음으로 준비해야 하는 XCTU 프로그램이 있다.



https://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu )


위 링크로 접속하면 XCTU를 다운 받을 수 있는 페이지로 이동 할 수 있다.


페이지를 보면 간략한 설명이 적혀있으므로 참고가 필요하다면 번역.


스크롤을 아래로 내리면 다운로드 링크를 확인 할 수 있다.



여러 개의 링크 중에서 자신의 OS에 맞는 프로그램을 다운로드 한다.


내가 테스트 해볼 환경은 Windows x64 이므로 해당되는 링크를 클릭하여 프로그램을 다운받았다.


XStick을 PC에 장착한 뒤 설치한 XCTU를 실행한다.


* XStick이 정상적으로 인식되지 않는다면 드라이버를 수동 설치해준다.

 ( http://ftp1.digi.com/support/driver/Digi_USB_RF_Drivers.exe )






2. 장치 연결


모든 준비가 완료 되고 난 후 XCTU를 실행한다.



위 사진에 표시된 Discover 버튼을 클릭한다.


앞선 준비를 모두 완료한 상태이고 XStick이 장치관리자에 COM포트를 정상적으로 할당받았다면 


사용자가 연결한 XStick이 검색된다.




COM 포트는 PC마다 다르게 할당되므로 주의할 필요는 못 된다.


주의할 점은 자신의 XStick이 할당받은 COM 포트가 정확히 맞는지 확인해야 한다.


이미 COM 포트를 사용해 시리얼 통신을 하고 있는 장비가 있다면 주의 할 것.


사용할 장치의 체크박스를 체크하고 Next 버튼을 클릭한다.



통신속도 (Baud Rate) = 9600


패러티 (Parity) = None


데이터 비트 (Data Bits) = 8


스탑 비트 (Stop Bits) = 1


흐름제어 (Flow Control) = None


으로 설정해준다.


업무상 485로 모드버스 통신하던 설정과 동일하여 어색하지 않다.


설정을 마치고 Finish 버튼을 클릭하여 준다.



통신설정을 마치자 본격적으로 XStick과 연결을 시작한다.


정상적으로 연결이 완료 되었으므로 체크박스를 체크하고 Add Selected Devices를 클릭하여 연결된 XStick을 추가한다.


플로님의 글에 따르면 만약 장치를 찾지 못한다면 이전 단계에서 통신속도 38400을 체크하고 다시 시도해보라고 한다.


나는 바로 진행되었으므로 통과한다.






3. 장치 설정 업데이트


장치가 연결되었으니 설정을 업데이트 해주어야 한다.


내 장치는 처음 등록 될 때 R(Router)가 아니라 C(Coordinator)로 되어 있었다.


변경이 필요하다.


사진이 누락되었는데 



위 사진의 붉은색 표시된 곳 아래에 연결된 장치의 리스트가 표기된다.


업데이트를 해야 하는데 연결된 장치를 누르면 다음과 같은 팝업이 뜬다.



선택한 디바이스에서 펌웨어를 찾을 수 없다고 한다.


라이브러리에서 업데이트하는 것을 원하냐고 물어보는데 Yes 라고 대답하자.



어디에서 펌웨어를 찾을 것인지 물어보는데


이 부분에 대해서는 플루님 글에서 찾을 수 없어서 임의대로 진행해 보았다.


이것저것 해보았는데 install legacy firmware package 를 클릭하고 OK 하면 진행된다.



난 이 부분을 진행하면서 업데이트되어 변경된 것인가 싶었는데


아닌것 같기도 하다.


우선 최대한 맞춰보기 위해 XB24-ZB에 있는 Router API를 선택했다.


나는 이것을 선택하면 플루님이 진행하신 업데이트를 따로 안해도 되는 줄 알았다.


하지만 OK를 해도 내 장치는 코디네이터로 표기된다.


업데이트를 진행하자.



위 이미지를 보면 펌웨어를 업데이트 했지만 내 장치는 코디네이터 (C)로 표기된다.


내 장치를 클릭하고 오른쪽을 보면 붉은색으로 표시한 것 처럼 업데이트 버튼이 있다.


업데이트 버튼을 클릭하자.



다시한번 XB24-ZB의 Router API를 선택하고 23A7을 선택한다.


위 이미지와 동일하게 선택 한 뒤 Update 버튼을 클릭한다.


드디어 정상적으로 라우터(R) 로 표기된다.


이제 HA를 위한 설정으로 변경할 때이다.



프로파일을 선택하고 Load를 선택한다.


xStick_for_HomeAssistant.xml


위의 파일을 다운받아서 Load 해주자.


이 파일은 플루님의 글에서 다운받은 것을 수정한 것이다.


플루님의 파일은 ST와의 연결을 위한 설정이었고 내가 HA와의 연결을 위한 설정으로 변경하였다.



Write 버튼을 클릭하여 프로파일을 써주자.


해당 프로파일을 로드하면 모든 준비가 완료되었다.






4. 스캔


길고 긴 모든 준비가 끝이 났다.


HA에서 zha.permit 서비스를 사용하여 XStick을 페어링한다.


[설치] HomeAssistant(HA)에 Zigbee(지그비) 추가하기


위 링크는 HA에서 zha.permit 사용하는 방법을 모를 경우 참고.



HA와 XStick의 페어링이 완료되었다면 위 사진에 화살표로 표시한 버튼을 클릭한다.


버튼을 클릭하면 그 아래 페이지가 변경된다.



Scan 버튼을 클릭하면 대망의 네트워크 맵 확인이 가능하다.


앞선 작업이 모두 정상적으로 이루어졌다면 Scan 버튼을 누르는 순간 모든 연결이 검색되고 이미지로서 표기된다.



현재 테스트 중인 장치들의 연결이 이미지 형식으로 표시되었다.


PC에서 사용중인 XStick이다.

R(Router) 장비로 표기된다.


HA에 연결되어 있는 HUSBZB-1이다.

C(Coordinator) 장비로 표기된다.


테스트용으로 연결한 eZEX 벽스위치 이다.

R(Router) 장비로 표기된다.


테스트용으로 연결한 다원DNS 지그비 플러그이다.

E(End Device) 장비로 표기된다.

펌웨어 업데이트를 받지 않은 초기 제품이므로 라우터 기능을 하지 못하고 있다.


테스트용으로 연결한 샤오미 온습도 센서이다.

E(End Device) 장비로 표기된다.


위에 정리한 내용을 보면 알겠지만 장치의 종류에는 세가지가 있다.


C (Coordinator) : 네트워크를 관리하는 메인. 이 경우 HA가 코디네이터 장비이다.


R (Router) : 중계기 역할을 하며 같은 네트워크상 범위내의 장치들을 중계해주는 장비이다.


E (End Device) : 중계 능력이 없는 네트워크 가장 마지막에 있는 장치이다.

                     중계 기능이 없기 때문에 연결된 중계기 또는 코디네이터 이외의 연결은 없다.






5. 마치며


처음 시작은 ST에서 HA로 이전하는 작업이었다.


HA에 지그비와 Z웨이브를 옮기기 시작하면서 대공사가 되어버렸고


신뢰성을 보장받고 싶었다.


특히 가장 많이 사용하는 지그비 장치에 대한 신뢰성이 가장 필요했다.


테스트를 위해 연결하면서도 라우터가 라우터로서 기능을 못하면 어쩌지? 라는 걱정이 계속 나를 방해했다.


플루님의 글을 참고하여 테스트하면서 꽤나 신뢰를 얻었고 이대로 진행하면 될 듯한 기분이다.


좋은 정보글로 도움을 주신 플루님께 감사한다.


참고자료. 

[팁]smartthings zigbee 네트워크 맵 보는 방법