스마트홈 구축기

[스마트홈 구축기 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" file 및 HA의 "configuration.yaml" 파일을 수정해 주는 부분이 남았다.
결론적으로 현재 작업 후의 상황은 모든 RS485 통신 가능한 wallpad 기기를 HA에 전부 연결시키진 못했고, 현재 연결이 끝난 것은 각방 조명과 엘리베이터 호출 정도이다. 연결이 안된 기기는 보일러와 전열 교환기 및 대기전력 차단 콘센트이다.
일단 보일러는 HA에서 제어를 하게 되면 다른 동작은 문제가 없는데 off 명령 패킷을 보낼때만 반복적으로 명령을 계속 보내는 증상이 발견되었고 어느 순간 add-on이 먹통이 돼버렸다.  js file수정에서 오류가 발생하는 것 같고 시간이 많이 걸릴 것 같아서 보일러는 브릿지허브로 임시 쓰기로 했다.
전열교환기와 대기전력 차단 콘센트는 사실 HA와의 연동 필요성을 크게 못느끼기도 했고 보일러 설정 이슈가 발생하면서 후순위로 밀렸다. 그래서 이것들도 일단 브릿지허브에서 제어하기로 했다.
그래서 최종적으로 우리 아파트의 모든 wallpad 기기는 다음과 같이 통합이 되었다. 첫번째로, 브릿지허브에서 스마트싱스와의 연결을 통해 그리고 HA에서 스마트싱스 통합구성요소 설치를 통해 보일러/전열교환기/대기전력 차단 콘센트가 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 초기 실행 시 log 창을 보면 그 과정이 로그로 남아 있다.) 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 file을 뜯어보면 솔직히 거의 이해를 못했지만, 몇 가지 짐작으로 이해한 부분을 아래 정리해 보았다. 파일의 앞부분에는 크게 기기의 현재 상태를 나타내는 패킷 정보와 기기에 명령을 전달하는 패킷 정보가 각 기기별로 포함되어 있고, 파일의 뒷부분에는 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