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
- homebridge
- 배당
- 미국주식
- 빅데이터분석기사
- matter
- esp32
- 해외주식
- 공모주
- 매터
- MQTT
- 현대통신
- 파이썬
- Bestin
- 나스닥
- 홈네트워크
- raspberry pi
- 주식
- 애플
- 국내주식
- cluster
- 힐스테이트 광교산
- 월패드
- RS-485
- 엔비디아
- Home Assistant
- Espressif
- Apple
- 라즈베리파이
- ConnectedHomeIP
- Python
Archives
- Today
- Total
YOGYUI
현대통신 월패드 RS-485 통신 프로토콜 명세 - 감성 조명 본문
반응형
※ 티스토리 오블완(오늘 블로그 완료) 챌린지용 포스팅
※ 프로토콜 공통 명세 참고 링크: 현대통신 월패드 RS-485 통신 프로토콜 명세 - 공통 사양
※ '감성 조명' 장치 타입은 개인적으로 직접 테스트해본 적은 없으며, 제보(?)를 통해 코드만 구현
※ 관련 글 링크: 현대통신 월패드 '감성조명' 제어 기능 추가 (HA 애드온)
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 | 15h | 01h | ??h | ??h | 00h | 00h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치]
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x15
- Packet Type (Index 4): 0x01
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 장치의 ON/OFF 상태
- 다른 값일 경우 밝기/색상 등을 담당할 것으로 추측되나, 패킷을 발견하지 못함
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 공간/장치 인덱스 = one-based index
- 첫 번째 방의 첫 번째 조명의 경우 0x11, 두 번째 방의 첫 번째 조명의 경우 0x21
- 감성 조명의 경우 특정 공간에 2개 이상의 조명이 설치된 경우는 아직 발견하지 못함 (하위 4비트가 1인 패킷만 발견)
- 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 | 15h | 02h | ??h | ??h | ??h | 00h | ??h | EEh |
- 통신 방향: [월패드] → [개별 장치]
- 패킷 길이: 11 (= 0x0B)
- 데이터 길이: 4
- Device Type (Index 3): 0x15
- Packet Type (Index 4): 0x02
- Data
- Data[0] (Index 5): 카테고리
- 0x40: 장치의 ON/OFF 상태
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- 공간/장치 인덱스 = one-based index
- Data[2] (Index 7):
- Data[0]가 0x40일 경우 조명 ON/OFF 명령
- 0x01: 조명 ON
- 0x02: 조명 OFF
- Data[0]가 0x40일 경우 조명 ON/OFF 명령
- Data[3] (Index 8):
- Data[0]가 0x40일 경우 값은 0x00
- Data[0]가 0x40이 아닐 경우 밝기/색상 등 다른 명령값이 사용될 것으로 추측됨
- Data[0] (Index 5): 카테고리
- 예시
- 첫 번째 공간의 첫 번째 조명 전원 ON 명령: F7 0B 01 15 02 40 11 01 00 BA EE
- 세 번째 공간의 첫 번째 조명 전원 OFF 명령: F7 0B 01 15 02 40 31 02 00 99 EE
3. 응답 패킷 (response)
3.1. 조회 응답
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | [8:10] | 11 | 12 |
Content | Prefix | Length | - | Dev Type |
Packet Type |
Category | Dev / Room |
- | State | Checksum | Suffix |
Value | F7h | 0Dh | 01h | 15h | 04h | ??h | ??h | 00h | -- -- -- | ??h | EEh |
- 통신 방향: [개별 장치] → [월패드]
- 패킷 길이: 13 (= 0x0D)
- 데이터 길이: 6
- Device Type (Index 3): 0x15
- Packet Type (Index 4): 0x04
- Data
- Data[0] (Index 5): 카테고리
- Data[0]가 0x40일 경우 조명 ON/OFF 상태 (아직 파악되지 않은 다른 상태값도 포함되어 있긴 함)
- Data[1] (Index 6): 상위 4비트 = 공간(방) 인덱스, 하위 4비트 = 장치 인덱스
- Data[2] (Index 7): 0x00 (다른 값 발견하지 못함)
- Data[3] (Index 8):
- 0x01: 조명이 ON된 상태
- 0x02: 조명이 OFF된 상태
- Data[4:5] (Index [9:10]): 밝기/색상 등의 정보로 추측됨
- Data[0] (Index 5): 카테고리
3.2. 명령 응답
지금까지 발견된 바로는 명령 응답과 조회 응답의 구조는 차이가 없음 (ON/OFF 제어 한정)
※ 일반 조명은 조회 시 공간에 존재하는 모든 조명들의 상태를 한꺼번에 패킷에 담으나, 감성 조명은 현재까지 발견된 바에 따르면 공간당 1개씩밖에 존재하지 않으며 조회 패킷에서도 해당 장치 인덱스를 특정해서 상태를 조회함
추후 새로운 유형의 패킷 발견 시 업데이트 예정
'감성 조명'은 단순 조명 ON/OFF 뿐만 아니라 hue, saturation 등 조명의 밝기나 색상을 제어 가능한 것으로 추정된다
블로그 독자 중 현대 통신의 '감성 조명'의 밝기/색상 제어 관련 기능을 IoT에 연동하고 싶거나 패킷 구조를 알고 계신 분들의 제보를 기다립니다
(이메일: lee2002w@gmail.com)갑분 그것이 알고싶다
반응형
'홈네트워크(IoT) > 힐스테이트 광교산' 카테고리의 다른 글
현대통신 월패드 RS-485 통신 프로토콜 명세 - 디밍 조명 (0) | 2024.11.10 |
---|---|
현대통신 월패드 RS-485 통신 프로토콜 명세 - 일반 조명 (1) | 2024.11.08 |
현대통신 월패드 RS-485 통신 프로토콜 명세 - 공통 사양 (1) | 2024.11.07 |
현대통신 월패드 주방 비디오폰 세대현관문/공동현관문 자동 열림 기능 추가 (3) | 2024.10.24 |
현대통신 월패드 '디밍조명' RS-485 응답 패킷 유형 추가 (깃허브) (0) | 2024.09.03 |