멀티브릿지 설정
이 섹션에서 무엇을 해결하나요?
- 멀티브릿지의 개념과 다중 RS485 장치 관리 방법을 이해합니다.
- 환경변수를 통한 명시적 설정과 자동 탐색 로직의 차이를 확인합니다.
portId충돌 시 자동 수정 동작을 파악합니다.
멀티브릿지란?
멀티브릿지는 하나의 Homenet2MQTT 인스턴스에서 다수의 RS485 장치(브릿지)를 동시에 관리하는 방식입니다. 예를 들어, 거실과 침실에 각각 별도의 RS485 게이트웨이가 있는 경우, 멀티브릿지 설정을 통해 하나의 웹 UI에서 모든 기기를 제어할 수 있습니다.
브릿지 추가 방법
1. Web UI를 통한 추가
웹 UI 우측 상단의 브릿지 선택 영역에서 + 버튼을 눌러 새로운 브릿지를 추가할 수 있습니다. 설정 마법사를 통해 추가된 브릿지는 자동으로 default_n.homenet_bridge.yaml (단, n은 2부터 시작) 형식으로 저장됩니다.
2. 환경변수를 통한 추가
Docker나 Home Assistant Add-on의 환경변수 CONFIG_FILES를 사용하여 로드할 파일 목록을 명시할 수 있습니다.
- 예:
CONFIG_FILES: bridge_livingroom.yaml, bridge_bedroom.yaml - 쉼표(
,)를 구분자로 사용하며, 지정된 파일들만 로드됩니다.
설정 파일 로딩 로직 (Technical)
Homenet2MQTT 서비스는 시작 시 다음 우선순위에 따라 설정 파일을 탐색하고 로드합니다.
- 명시적 지정: 환경변수
CONFIG_FILES(혹은CONFIG_FILE)가 설정되어 있다면, 해당 목록에 있는 파일들만 로드합니다. - 자동 탐색: 환경변수가 비어있는 경우(권장), 설정 디렉토리(
CONFIG_DIR) 내의 모든.yaml및.yml파일 중 최상위 키가homenet_bridge인 파일을 동적으로 스캔하여 모두 로드합니다.
Port ID 중복 처리
여러 개의 설정 파일을 로드할 때, 각 설정 내의 serial.portId가 중복되면 통신 혼선이 발생할 수 있습니다. 시스템은 이를 다음과 같이 처리합니다.
- 중복된
portId가 발견되면, 자동으로 뒤에 숫자를 붙여(예:myport->myport_2) 고유한 ID를 생성합니다. - 변경된 내용은 원본 설정 파일에 즉시 저장되며, 변경 사항을 적용하기 위해 시스템이 자동으로 재시작을 요청하거나 수행합니다.