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 | 31 |
Tags
- RS-485
- 티스토리챌린지
- 매터
- 힐스테이트 광교산
- Bestin
- 미국주식
- Espressif
- 해외주식
- 나스닥
- Python
- 파이썬
- raspberry pi
- ConnectedHomeIP
- 월패드
- 홈네트워크
- matter
- 현대통신
- Home Assistant
- Apple
- homebridge
- 애플
- 국내주식
- esp32
- 배당
- 오블완
- MQTT
- 공모주
- SK텔레콤
- 퀄컴
- 코스피
Archives
- Today
- Total
YOGYUI
현대통신 월패드 RS-485 통신 프로토콜 - 아울렛(콘센트) 본문
반응형
※ 티스토리 오블완(오늘 블로그 완료) 챌린지용 포스팅
※ 프로토콜 공통 명세 참고 링크: 현대통신 월패드 RS-485 통신 프로토콜 명세 - 공통 사양
1. 현재 상태 조회 패킷 (query)
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
- | - | Checksum | Suffix |
Value | F7h | 0Bh | 01h | 1Fh | 01h | 40h | ?0h | 00h | 00h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치]
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x1F
- Packet Type (Index 4): 0x01
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 장치의 ON/OFF 상태
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 0
- 공간 인덱스 = one-based index
- 첫 번째 방일 경우 값은 0x10, 세 번째 방일 경우 값은 0x30
- 해당 공간에 설치되어 있는 모든 아울렛들의 상태 조회 요청
- Data[2] (Index 7): 0x00 (이 외의 값은 발견하지 못함)
- Data[3] (Index 8): 0x00 (이 외의 값은 발견하지 못함)
- Data[0] (Index 5): 카테고리
2. 상태 변경 명령 패킷 (command)
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
Command | - | Checksum | Suffix |
Value | F7h | 0Bh | 01h | 1Fh | 02h | 40h | ??h | ??h | 00h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치]
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x1F
- Packet Type (Index 4): 0x02
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 장치의 ON/OFF 상태
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 공간/장치 인덱스 = one-based index
- 첫 번째 방의 두 번째 아울렛의 경우 0x12, 네 번째 방의 첫 번째 아울렛의 경우 0x41
- 특정 공간의 단일 콘센트를 타겟으로 On/Off 제어
- Data[2] (Index 7): 명령값
- 0x01: 아울렛 ON
- 0x02: 아울렛 OFF
- Data[3] (Index 8): 0x00 (이 외의 값은 발견하지 못함)
- Data[0] (Index 5): 카테고리
- 예시
- 네 번째 공간(방)의 첫 번째 아울렛 켜기 명령: F7 0B 01 1F 02 40 41 01 00 E0 EE
- 여섯 번째 공간(방)의 두 번째 아울렛 끄기 명령: F7 0B 01 1F 02 40 62 02 00 C0 EE
3. 응답 패킷 (response)
3.1. 명령 응답
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
Command | State | Checksum | Suffix |
Value | F7h | 0Bh | 01h | 1Fh | 04h | 40h | ??h | ??h | ??h | ??h | EEh |
- 통신 방향: [개별 장치] → [월패드]
- 개별 장치는 명령 패킷 수신 후 상태를 변경한 뒤 이에 대한 응답 패킷을 곧바로 송신한다
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x1F
- Packet Type (Index 4): 0x04
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 장치의 ON/OFF 상태
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 명령을 받은 특정 공간의 단일 아울렛의 명령값 및 명령을 받은 후 바뀐 상태값을 데이터에 반영
- Data[2] (Index 7): 명령값
- 0x01: 아울렛 ON 명령
- 0x02: 아울렛 OFF 명령
- Data[3] (Index 8): 상태값
- 0x01: 아울렛이 ON된 상태
- 0x02: 아울렛이 OFF된 상태
- Data[0] (Index 5): 카테고리
3.2. 조회 응답
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | [8:M×9+7] | M×9+8 | M×9+9 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
- | Dev State(s) |
Checksum | Suffix |
Value | F7h | ??h | 01h | 1Fh | 04h | 40h | ?0h | 00h | -- -- -- | ??h | EEh |
- 통신 방향: [개별 장치] → [월패드]
- 개별 장치가 월패드로부터 조회(쿼리) 패킷 수신 후, 현재 장치(들)의 상태를 담은 응답 패킷을 송신
- 쿼리를 요청한 공간(방)에서 제어 가능한 모든 아울렛들의 상태값을 반환
- 공간의 아울렛 개수: M (≥1)
- 패킷 길이: 10 +M × 9
- 아울렛인 한 개일 경우 0x13, 두 개일 경우 0x1C, ...
- 아울렛 1개당 9바이트의 상태값 (이보다 적거나 많은 경우를 아직 발견하지 못함)
- 데이터 길이: 3 + M × 9
- Device Type (Index 3): 0x1F
- Packet Type (Index 4): 0x04
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 장치의 ON/OFF 상태
- Data[1] (Index 6):상위 4비트 = 공간(방) 인덱스,하위 4비트 = 0
- 쿼리 패킷과 내용 동일
- Data[2] (Index 7): 0x00 (다른 값 발견하지 못함)
- Data[3:2+M×9] (Index [8:7+M×9]): 각 아울렛의 현재 상태값 (아울렛 1개당 9바이트로 구성)
- K: 0 ~ M-1
- Data[3+K×9]: 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 공간/장치 인덱스 = one-based index
- Data[4+K×9]: 아울렛의 ON/OFF 상태
- 0x01: 아울렛 ON 상태
- 0x02: 아울렛 OFF 상태
- Data[5+K×9:6+K×9]: 2바이트, 현재 소비전력으로 추정됨
- Data[7+K×9:8+K×9]: 2바이트, 알 수 없음
- Data[9+K×9:10+K×9]: 2바이트, 알 수 없음
- Data[11+K×9]: 대기전력 차단 설정 상태
- 0x01: 자동 차단 설정 상태
- 0x02: 수동 차단 설정 상태
- Data[0] (Index 5): 카테고리
-- 제보를 받습니다 !! --
대기전력 차단 아울렛(콘센트)의 쿼리 응답 패킷의 데이터 구조를 아시는 분께서는 lee2002w@gmail.com으로 정보 공유 부탁드립니다 ㅠ (ON/OFF 상태 및 대기전력 차단 설정 상태 뿐만 아니라 현재 소비전력 등에 대한 정보가 필요함)
반응형
'홈네트워크(IoT) > 힐스테이트 광교산' 카테고리의 다른 글
현대통신 월패드 RS-485 통신 프로토콜 - 난방(보일러) (1) | 2024.11.21 |
---|---|
현대통신 월패드 RS-485 통신 프로토콜 - 가스 밸브 (0) | 2024.11.17 |
현대통신 월패드 RS-485 통신 프로토콜 명세 - 디밍 조명 (0) | 2024.11.10 |
현대통신 월패드 RS-485 통신 프로토콜 명세 - 감성 조명 (0) | 2024.11.09 |
현대통신 월패드 RS-485 통신 프로토콜 명세 - 일반 조명 (1) | 2024.11.08 |