Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 월패드
- 티스토리챌린지
- Espressif
- Python
- 미국주식
- esp32
- 홈네트워크
- SK텔레콤
- 국내주식
- 나스닥
- 코스피
- 해외주식
- raspberry pi
- 파이썬
- Apple
- 공모주
- 오블완
- Home Assistant
- ConnectedHomeIP
- cluster
- 애플
- 현대통신
- RS-485
- matter
- Bestin
- 배당
- MQTT
- 매터
- homebridge
- 힐스테이트 광교산
Archives
- Today
- Total
YOGYUI
현대통신 월패드 RS-485 통신 프로토콜 - 일괄소등 스위치 본문
반응형
※ 티스토리 오블완(오늘 블로그 완료) 챌린지용 포스팅
※ 프로토콜 공통 명세 참고 링크: 현대통신 월패드 RS-485 통신 프로토콜 명세 - 공통 사양
일괄소등 스위치는 다른 기기들과는 달리 스위치에 조명 전원 / 가스 밸브 개폐 상태 / 엘리베이터 호출 상태 / 복도등 상태 등 현재 상태를 나타내기 위한 LED가 장착되어 있는데, 이를 켜고 끄기 위해 월패드에서 스위치로 패킷을 보낼 때 일괄소등 기능 뿐만 아니라 다른 기기들의 상태를 함께 패킷에 실어서 보낸다
이 글에서는 일괄소등 기능에 대한 명령과 그에 대한 응답만 다루며, 다른 기기들의 상태값에 대해서는 무시하도록 한다
1. 현재 상태 조회 패킷 (query)
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
- | ? | - | ? | - | Checksum | Suffix |
Value | F7h | 0Eh | 01h | 2Ah | 01h | 40h | 10h | 00h | 19h | 00h | 1Bh | ??h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치] (확실치 않음)
- 일괄소등스위치의 경우 다른 기기들과는 특이하게 월패드가 조회 패킷 전송 시에 가스밸브 상태, 엘리베이터 호출 상태, 복도등 ON/OFF 상태 등을 기기로 보낸다 (스위치의 상태 LED ON/OFF를 위한 것으로 추정됨)
- 패킷 길이: 14 (= 0x0E)
- 데이터 길이: 7
- Device Type (Index 3): 0x2A
- Packet Type (Index 4): 0x01
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 일괄소등 스위치
- Data[1] (Index 6): 0x10 (일괄소등 스위치가 여러 개일 경우 다른 값이 쓰일 것으로 예상됨)
- Data[2] (Index 7): 0x00 (이 외의 값은 발견하지 못함)
- Data[3] (Index 8): 0x19 (엘리베이터 혹은 복도 조명 혹은 다른 기기의 현재 상태값으로 추정됨)
- Data[4] (Index 9): 0x00 (이 외의 값은 발견하지 못함)
- Data[5] (Index 10): 0x1B (엘리베이터 혹은 복도 조명 혹은 다른 기기의 현재 상태값으로 추정됨)
- Data[6] (Index 11): 현재 주방 가스 밸브의 개폐 상태
- 0x03: 가스 밸브가 닫혀있음
- 0x04: 가스 밸브가 열려있음
- Data[0] (Index 5): 카테고리
2. 상태 변경 명령 패킷 (command)
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
Command | - | - | Checksum | Suffix |
Value | F7h | 0Ch | 01h | 2Ah | 02h | 40h | 11h | ??h | 19h | 00h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치] (확실치 않음)
- 패킷 길이: 12 (= 0x0C)
- 데이터 길이: 5
- Device Type (Index 3): 0x2A
- Packet Type (Index 4): 0x02
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 일괄소등 스위치
- Data[1] (Index 6): 0x11 (일괄소등 스위치가 여러 개일 경우 다른 값이 쓰일 것으로 예상됨)
- Data[2] (Index 7): 일괄소등 상태 변경 명령값
- 0x01: 일괄소등 기능 ON
- 0x02: 일괄소등 기능 OFF
- 일괄소등 기능이 ON되면 집안의 모든 조명이 '꺼지며', 일괄소등 기능을 해제하기 전까지는 개별 조명의 전원이 켜지지 않는다!
- Data[3] (Index 8): 0x19 (다른 기기의 명령값으로 추정됨)
- Data[0] (Index 5): 카테고리
3. 응답 패킷 (response)
3.1. 명령 응답
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
Command | - | State | Checksum | Suffix |
Value | F7h | 0Ch | 01h | 2Ah | 04h | 40h | 11h | ??h | 19h | ??h | ??h | EEh |
- 통신 방향: [개별 장치] → [월패드] (확실치 않음)
- 명령 패킷 수신 후 상태를 변경한 뒤 이에 대한 응답 패킷을 곧바로 송신
- 패킷 길이: 12 (= 0x0C)
- 데이터 길이: 5
- Device Type (Index 3): 0x2A
- Packet Type (Index 4): 0x04
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 일괄소등 스위치
- Data[1] (Index 6): 0x11 (일괄소등 스위치가 여러 개일 경우 다른 값이 쓰일 것으로 예상됨)
- Data[2] (Index 7): 명령값
- 0x01: 일괄소등 기능 ON 명령
- 0x02: 일괄소등 기능 OFF 명령
- Data[3] (Index 8): 0x19 (다른 기기의 명령값 혹은 상태값으로 추정됨)
- Data[4] (Index 9): 현재 상태값
- 0x01: 일괄소등 기능이 활성화되어 있음
- 0x02: 일괄소등 기능이 비활성화되어 있음
- Data[0] (Index 5): 카테고리
3.2. 조회 응답
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
- | ? | State | ? | Gas Valve | Checksum | Suffix |
Value | F7h | 0Eh | 01h | 2Ah | 04h | 40h | 10h | 00h | 19h | ??h | 1Bh | ??h | ??h | EEh |
- 통신 방향: [개별 장치] → [월패드] (확실치 않음)
- 패킷 길이: 14 (= 0x0E)
- 데이터 길이: 7
- Device Type (Index 3): 0x2A
- Packet Type (Index 4): 0x04
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 일괄소등 스위치
- Data[1] (Index 6): 0x10 (일괄소등 스위치가 여러 개일 경우 다른 값이 쓰일 것으로 예상됨)
- Data[2] (Index 7): 0x00 (이 외의 값은 발견하지 못함)
- Data[3] (Index 8): 0x19 (엘리베이터 혹은 복도 조명 혹은 다른 기기의 현재 상태값으로 추정됨)
- Data[4] (Index 9): 일괄소등 기능의 현재 상태값
- 0x01: 일괄소등 기능이 활성화되어 있음
- 0x02: 일괄소등 기능이 비활성화되어 있음
- Data[5] (Index 10): 0x1B (엘리베이터 혹은 복도 조명 혹은 다른 기기의 현재 상태값으로 추정됨)
- Data[6] (Index 11): 현재 주방 가스 밸브의 개폐 상태
- 0x03: 가스 밸브가 닫혀있음
- 0x04: 가스 밸브가 열려있음
- Data[0] (Index 5): 카테고리
일괄소등 스위치의 경우 다른 기기들과는 달리 패킷 분석에 심혈을 기울이지 않아(?) 부정확한 부분이 있을 수 있음
잘못된 부분에 대한 제보: lee2002w@gmail.com
반응형
'홈네트워크(IoT) > 힐스테이트 광교산' 카테고리의 다른 글
현대통신 월패드 RS-485 통신 프로토콜 - 전열교환기(환기) (0) | 2024.11.24 |
---|---|
현대통신 월패드 RS-485 통신 프로토콜 - 시스템 에어컨 (0) | 2024.11.23 |
현대통신 월패드 RS-485 통신 프로토콜 - 난방(보일러) (1) | 2024.11.21 |
현대통신 월패드 RS-485 통신 프로토콜 - 가스 밸브 (0) | 2024.11.17 |
현대통신 월패드 RS-485 통신 프로토콜 - 아울렛(콘센트) (1) | 2024.11.16 |