본문 바로가기

IT/IoT

[HA] Zigbee2mqtt에서 OTA를 통한 펌웨어 업데이트 방법

반응형

Zigbee2mqtt는 Zigbee로 통신하는 센서나 스위치 등을 HA에 연결할 수 있게 해 줍니다.

다만 전용 게이트웨이나 허브 등과 연결되지 않기 때문에 펌웨어를 업데이트하기가 어렵습니다.

다행히 Zigbee2mqtt는 몇 가지 제품군에 대해 OTA를 통한 펌웨어 업데이트를 제공합니다.

OTA를 통한 펌웨어 업데이트를 지원하는 디바이스들의 목록은 아래에서 확인 가능합니다.

https://www.zigbee2mqtt.io/information/ota_updates.html

 

OTA updates

📘 Zigbee2mqtt documentation

www.zigbee2mqtt.io

지원 가능 디바이스 중 이케아의 TRÅDFRI 전구의 펌웨어를 업데이트하는 방법을 살펴보겠습니다.

 

먼저 MQTT Explorer라는 툴을 아래 링크에서 다운로드합니다.

http://mqtt-explorer.com/

 

MQTT Explorer

An all-round MQTT client that provides a structured topic overview

mqtt-explorer.com

앱을 실행하고 MQTT가 동작 중인 서버에 연결하기 위한 정보를 입력합니다.

MQTT 연결 설정

설정을 완료하고 우측 하단의 CONNECT 버튼을 누르면 연결됩니다.

MQTT 연결 완료

연결에 성공하면 zigbee2mqtt/bridge가 보이는 것을 확인할 수 있습니다.

업데이트 가능 여부 확인

업데이트 가능 여부는 우측의 Publish 화면을 통해 확인 가능합니다.

Topic과 하단의 Payload는 아래와 같은 형태로 작성합니다.

Topic zigbee2mqtt/bridge/ota_update/check
Payload DEVICE_FRIENDLY_NAME

업데이트할 전구의 실제 frendly_name을 입력하고 PUBLISH 버튼을 클릭합니다.

업데이트 가능

zigbee2mqtt/kitchen_light_3가 추가되었으며 업데이트가 가능하다고 표시됩니다.

업데이트 요청

업데이트 요청을 위해서 다음과 같이 다시 요청을 합니다.

Topic zigbee2mqtt/bridge/ota_update/update
Payload DEVICE_FRIENDLY_NAME

Payload는 처음 요청과 동일하게 장치의 friendly_name이며 Topic만 변경하면 됩니다.

진행 로그

컨테이너 로그에서 업데이트 진행 상황을 확인할 수 있습니다.

Docker 컨테이너 로그는 아래 명령어로 실행 가능합니다.

sudo docker logs -f zigbee2mqtt

약 10분 정도가 소요되고 업데이트 완료 로그가 표시가 됩니다.

이제 장치에 최신 펌웨어가 적용된 상태가 되며 다른 적용 가능한 기기가 있다면 동일하게 진행하면 됩니다.

이것으로 Zigbee2mqtt에서 OTA를 통한 기기 펌웨어 업데이트 방법을 마칩니다.

반응형