SuSu DaDDy

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

활동하기