스마트홈 구축기

[스마트홈 구축기 21] Home Assistant 코맥스(commax) Wall pad add-on에서 기기 구성하기

시들지 않는 무지개 2023. 12. 3. 13:41
728x90

※ 총 4편(하드웨어 / 애드온 설치 / 조명과 팬 제어 / 보일러 제어) 중  조명 및 팬 제어 편임

 

현재까지 상황을 간단히 정리해 보면, 주방 후드장 위에 HA 기기를 배치해서 자동소방장치의 RS485 단자를 Y형 커플러를 통해 HA-자동소방장치-RS485 포트 연결이 된 상태이다.
 
하드웨어 설치

 

[스마트홈 구축기 19] Home Assistant로 wallpad 제어하기(하드웨어 연결)

최근에 메인 플랫폼을 ST(smartthings, 스마트싱스)에서 HA(homeassistant)로 이사를 했고 여건 상 아직도 ST에 남아 있는 기기들은 wallpad와 연결된 디바이스들 뿐이다. 각 방 조명과 보일러 및 콘센트, 엘

wendysm.tistory.com

 
그리고 HA 운영체제에 'wallpad controller with RS485' add-on 설치했고 mqtt 로그인 정보 및 'USB to RS485 변환기'가 연결된 시리얼 포트 정보를 add-on 설정에 입력까지 한 상태이다.
 
Add-on 설치

 

[스마트홈 구축기 20] Home Assistant에 wall pad 제어 Addon(wallpad controller with RS485) 설치하기

※ '모두의 스마트홈' 네이버 카페에서 보고 읽은 내용들을 참고함. 총 3단계로 진행이 필요한데 첫 번째는 MQTT broker를 설치해야 하고 두 번째는 자기 집의 월패드 제조사에 맞는 addon을 설치하고

wendysm.tistory.com

 
이제 남은 작업은 우리 아파트의 RS485 기기 구성에 맞게 Wallpad Add-on의 “commax_serial_wallpad.js” 파일과 HA의 “configuration.yaml” 파일을 수정하는 것이다.

 

현재 작업 후의 상황을 정리해보면, 모든 RS485 통신 가능한 Wallpad 기기를 HA에 전부 연결하지는 못했고, 현재 연결이 완료된 것은 각 방 조명과 엘리베이터 호출 정도다. 아직 연결되지 않은 기기는 보일러, 전열 교환기, 그리고 대기전력 차단 콘센트다.

 

보일러의 경우, HA에서 제어할 때 다른 동작은 문제가 없었지만, off 명령 패킷을 보낼 때만 명령이 반복적으로 계속 전송되는 증상이 발견되었다. 이로 인해 어느 순간 Add-on이 먹통이 되는 문제가 발생했는데, 이는 js 파일 수정에서 오류가 발생한 것으로 보이고, 해결하는 데 시간이 많이 걸릴 것 같아서 보일러는 임시로 브릿지허브를 통해 제어하기로 했다.

 

전열 교환기와 대기전력 차단 콘센트는 HA와의 연동 필요성을 크게 느끼지 못했고, 보일러 설정 이슈로 인해 후순위로 밀리게 되었다. 그래서 이 기기들도 일단 브릿지허브에서 제어하기로 결정했다.

 

최종적으로 우리 아파트의 모든 Wallpad 기기는 다음과 같이 통합되었다.

 

첫 번째로, 브릿지허브를 통해 ST와 연결하고, HA에서 ST 통합구성요소를 설치하여 보일러, 전열 교환기, 대기전력 차단 콘센트가 HA로 통합되었다. 이 항목들은 클라우드 연결로 이루어져 있어서 외부 서비스에 문제가 발생할 경우 함께 먹통이 될 우려가 있다. 하지만 자주 사용하지 않는 항목들이라 리스크는 상대적으로 적다.

 

두 번째로, 각 방 조명과 엘리베이터는 ‘Wallpad Controller with RS485’ Add-on을 통해 HA에 바로 통합되었다. 이 항목들은 로컬 연결이기 때문에 외부 서비스 상태와는 무관하게 안정적으로 작동한다.

 

이 두 가지 통합 방식은 모두 HA에서 Apple HomeKit Bridge를 통해 Apple HomeKit에 로컬로 연동되었다.


 

 

1단계: "commax_serial_wallpad.js" file 수정하기 

이 파일은 Wallpad Add-on을 처음 실행하면 자동으로 HA의 “share” 폴더 안에 생성된다. Add-on 초기 실행 시 로그 창을 보면 그 과정이 로그로 남아 있다. HA의 “Samba Share”라는 Add-on을 설치한 후, 직접 윈도우나 맥 OS에서 해당 폴더에 접근할 수 있다.

 

Samba Share는 Add-on Store에서 설치할 수 있으며, 설치 후에 Add-on 상단 메뉴의 Configuration에서 HA 기기 접속 계정 정보인 username과 password를 입력하고, save를 눌러 설정을 저장하면 된다.

Samba share의 설정 화면. username과 password부분에 HA접속 계정 정보를 입력해준다.

 
그런 다음 Add-on을 시작(Start) 버튼을 눌러 실행시킨 후, 윈도우나 맥 OS 화면으로 나가서 윈도우 탐색기나 맥 OS Finder를 실행시켜준다. 맥 OS의 경우, Finder를 실행한 후 command + K 단축키를 누르면 팝업이 뜨는데, 여기에서 접속할 smb://HA기기의 내부 네트워크 IP 주소를 입력하고 연결을 눌러준다. 계정 정보 팝업이 뜨면 HA 기기의 username과 password를 입력해준다. 그러고 나서 마운트할 볼륨을 선택하라는 창이 뜨는데, 이때 share 폴더를 선택하면 된다.

command+K 단축키 실행 후 HA기기의 내부 네트워크 IP 주소를 입력한다.
HA 기기 접속할 때 필요한 계정 정보를 입력한다.
share 폴더를 선택한다.
share 폴더안에 js 파일이 보인다. 이것을 수정하면 된다.

 

JS 파일을 뜯어보면서 솔직히 거의 이해하지 못했지만, 몇 가지 짐작으로 이해한 부분을 아래와 같이 정리해 보았다. 파일의 앞부분에는 주로 기기의 현재 상태를 나타내는 패킷 정보와 기기에 명령을 전달하는 패킷 정보가 각 기기별로 포함되어 있고, 파일의 뒷부분에는 HA와 MQTT 서버 간에 상태 및 명령을 제어하는 방법들이 포함되어 있는 듯했다.

 

그래서 Wallpad Add-on 사용자가 먼저 해야 할 일은 파일의 앞부분에서 자신이 사용할 기기에 대해 각 기기별 상태/명령 패킷 정보를 자신의 상황에 맞게 수정하는 것이다. 사용하지 않을 기기는 앞에 “//“를 붙여서 주석 처리해주고, 패킷 정보는 ‘Serialmon’ 등의 툴을 사용해 본인의 Wallpad 패킷을 확인해야 한다.

 

파일의 뒷부분은 현재 내 능력과 상황으로는 이해하기 어려웠고, 이 부분에서 발생하는 오류에 대해서는 더 공부를 하거나 다른 방법을 찾아야 할 것 같다. 내 경우, 보일러 오류가 이와 관련된 문제였던 것 같은데, 상태/명령 패킷 부분은 꼼꼼히 체크했음에도 불구하고 보일러를 off 시키는 동작에서만 오류가 발생하며 Add-on이 먹통이 되었다. 결국, 보일러의 HA 연동을 포기했다.(최종적으로는 연동했고 최종편 참고)

 

<js 파일 본문 내용 중 기기 상태 패킷 관련된 부분>

사용안할 기기들은 앞에 주석처리를 해주고, 16개의 숫자와 영문자로 표시된 패킷 정보 부분은 본인의 wallpad에 맞는 것으로 대체해줘야한다. 내 경우 이미 브릿지허브를 사용하면서 일부 패킷정보를 정리했었는데, 다행히도 js file에 default로 들어간 그것과 동일해서 따로 수정을 하지는 않았다.

 

<js 파일 본문 내용 중 기기 명령 패킷 관련된 부분>

 
이렇게 수정한 js 파일은 Samba share를 통해서 다시 HA의 share폴더에 덮어쓰기를 하고 이 과정을 끝냈다.
 

2단계 : HA의 "configuration.yaml" file  수정하기

MQTT 통합요소에 구성요소를 등록하기 위한 절차는 다음과 같다. 먼저, Add-on Store에서 “File Editor”를 설치해야 한다. 설치 후 “Start” 버튼을 누르고 “OPEN WEB UI”를 눌러주면 윈도우 탐색기와 비슷한 화면이 나타난다. 여기서 좌상단의 폴더 버튼을 누르면 최상위 폴더(/homeassistant)로 들어갈 수 있다. 이곳에서 “configuration.yaml” 파일을 선택하여 수정을 시작한다.

 

<File Editor에서 configuration.yaml을 열고, 아래 내용을 그대로 타이핑하여 추가한 뒤, 저장을 완료한다.>

디바이스 종류는 조명의 경우 "light", 스위치류는 "switch", 보일러는 "climate" 등으로 구분해서 구성요소를 넣어줘야하고 엘리베이터 호출의 경우는 스위치로 했다. 모두의 스마트홈 카페에서 선구자들께서 정리하신 자료를 보고 위의 구문을 토씨 하나 안 틀리고 그대로 적어넣었다.

 
이렇게 configuration.yaml 파일까지 수정한 후에 마지막으로 HA기기를 재부팅해줘야 한다. 재부팅이 되면 wallpad add-on을 start 시켜주면 완료이다.
 
------------------------------------------------

첫번 째 이야기 - 하드웨어 설치 : https://wendysm.tistory.com/78

 

[스마트홈 구축기 19] Home Assistant로 코맥스(commax) wallpad 제어하기(하드웨어 연결)

※ 총 4편(하드웨어 / 애드온 설치 / 조명과 팬 제어 / 보일러 제어) 중 하드웨어 연결 편임 최근에 메인 플랫폼을 ST(smartthings, 스마트싱스)에서 HA(homeassistant)로 이사를 했고 여건 상 아직도 ST에 남

wendysm.tistory.com

 

두번 째 이야기- 애드온 설치 : https://wendysm.tistory.com/79

 

[스마트홈 구축기 20] Home Assistant에 wallpad Addon(wallpad controller with RS485) 설치

※ '모두의 스마트홈' 네이버 카페에서 보고 읽은 내용들을 참고함. 총 3단계로 진행이 필요한데 첫 번째는 MQTT broker를 설치해야 하고 두 번째는 자기 집의 월패드 제조사에 맞는 addon을 설치하고

wendysm.tistory.com

 

네번 째 이야기- 보일러 연동 관련 js file 수정 : https://wendysm.tistory.com/83

 

[스마트홈 구축기 24] Home assistant에서 코맥스(commax) wallpad 제어하기 후속

wallpad add-on 설치 후 기존 상황 [스마트홈 구축기 21] Home Assistant Wall pad add-on에서 기기 구성하기(최종)현재까지 상황을 간단히 정리해 보면, 주방 후드장 위에 HA 기기를 배치해서 자동소방장치의 R

wendysm.tistory.com

 

728x90