HC3 <-> HA 연동
by SuSu Daddy안녕하세요,
HC3로 메인 플랫폼을 변경하면서 기존에 사용하던 디바이스 및 센서를 사용하기 위해 HC3 <-> HA의 연동을 진행하였습니다.
[연동 방법]
- HA 디바이스의 상태 변경
. HA 디바이스 상태 변경 이벤트가 발생하면 HC3에 생성한 메인 디바이스로 변경 이벤트를 전달
. 전달 받은 이벤트를 분석하여 하여 HC3의 디바이스에게 상태 변경하도록 요청
- HC3 화면에서 상태 변경
. HC3 화면에서 디바이스의 상태 변경을 하게되면 HA로 상태 변경 명령을 전달.(이때 HC3의 상태를 변경하진 않음)
. HA에서 정상적으로 상태가 변경되면 'HA 디바이스의 상태 변경' 이벤트에 따라 다시 한번 HC3로 상태 변경 이벤트를 전달
[설치]
- HA
. 첨부된 hc3.py 파일을 HA의 custom_components에 업로드
. configuration.yaml 수정
* hc3_url: http://hc3 ip/api/devices/{ha_메인디바인스 아이디}/action/
* hc3_access_token: hc3 swagger에서 확인 가능한 접속 토큰 (Authorization: Basic XXXXX )
hc3:
hc3_url: !secret hc3_url
hc3_access_token: !secret hc3_access_token
target_devices:
- climate.kocom_livingroom_thermostat
- climate.kocom_room1_thermostat
- climate.kocom_room2_thermostat
- climate.kocom_room3_thermostat
- climate.kocom_room4_thermostat
- climate.nolibang_eeokeon
- climate.seojae_eeokeon
- climate.siseutem_eeokeon
- climate.suminbang_eeokeon
- fan.kocom_wallpad_fan
- switch.geosil_gonggiceongjeonggi
- light.kocom_livingroom_light1
- light.kocom_livingroom_light2
- light.kocom_livingroom_light3
- cover.0x04cf8cdf3c73b9a7_cover
- binary_sensor.0x286d9700010a73b8_occupancy
- HC3
1) 첨부된 HA_Connector.fqa 파일 설치
추후 자신이 등록한 디바이스의 정보만 수정 필요.
....
_DEVICE ={
{ DEVICE_ID = 107, ENTITY_TYPE = 'light', ENTITY_ID = 'light.kocom_livingroom_light1' },
{ DEVICE_ID = 110, ENTITY_TYPE = 'light', ENTITY_ID = 'light.kocom_livingroom_light2' },
{ DEVICE_ID = 111, ENTITY_TYPE = 'light', ENTITY_ID = 'light.kocom_livingroom_light3' },
{ DEVICE_ID = 112, ENTITY_TYPE = 'switch', ENTITY_ID = 'switch.kocom_wallpad_elevator' },
{ DEVICE_ID = 114, ENTITY_TYPE = 'fan', ENTITY_ID = 'fan.kocom_wallpad_fan' },
{ DEVICE_ID = 116, ENTITY_TYPE = 'cover', ENTITY_ID = 'cover.0x04cf8cdf3c73b9a7_cover' },
{ DEVICE_ID = 127, ENTITY_TYPE = 'switch', ENTITY_ID = 'switch.geosil_gonggiceongjeonggi' },
{ DEVICE_ID = 129, ENTITY_TYPE = 'binary_sensor', ENTITY_ID = 'binary_sensor.0x286d9700010a73b8_occupancy' }
}
....
2) light 등록
(1) Light_Switch.fqa 파일을 설치
(2) HA에서 토큰을 발급받아 수정
_SETTING_DATA ={
TOKEN = "Bearer {INPUT_TOKEN}",
COTENT_TYPE = "application/json"
}
* HA 토큰 발급은 http://HA IP/profile 화면 하단에 장기 액세스 토큰에서 발급 가능
(3) 디바이스 변수 수정
. ENTITIY_ID: HA의 ENTITY_ID
. END_POINT: HA 주소/api
(4) 디바이스 상태 초기 가져오기
.1)에서 등록한 HA_Connector 스위치를 누르게되면 HA에서 상태값을 가져와 초기화를 진행 (3초 후 자동으로 꺼짐)
[마침]
- 위의 설정으로 조명, 환풍기, 공기청정기(삼성), 커튼, 엘레베이터 호출을 사용하고 있습니다. 개인적으로 사용을 위해 지극히 개인화된 소스임을 알아주세요.
- 설명을 친절하고 길게 작성하고 싶었으나 많이 부족한 것 같아 추후 상세하게 작성하여 보도록하겠습니다.
[프로그램은 수정이 많이되어 잠시 내렸습니다]
'Home IOT' 카테고리의 다른 글
beacon을 이용한 현관문 자동화 (0) | 2021.05.02 |
---|---|
UNIFI 제품으로 홈 네트워크 변경 (0) | 2021.05.01 |
[HC3] EnerTalk 연동 (0) | 2020.03.15 |
[FIBARO HC3] 도어락 연동(gateman)_ FIBARO Implant (0) | 2020.03.11 |
[FIBARO HC3] Awair 연동 (1) | 2020.03.10 |
블로그의 정보
SuSu Daddy
SuSu Daddy