본문 바로가기

IoT

스마트 홈 구축 - ha-connector 설치 (home-assistant, smartthings 연동)

반응형

홈어시스턴트와 샤오미 스마트 허브를 성공적으로 연동하였고

 

blog.dkz.kr/12

 

스마트 홈 구축 - home-assistant, xiaomi 스마트 허브 연동

샤오미 제품들을 mi connector를 통해 스마트싱스와 연동해서 사용하려 했으나 내가 구매한 샤오미 스마트 허브는 mi connector를 지원하지 않는다. 나와 같은 고생을 하신 분이 계셨는데.... 내가 늦게

blog.dkz.kr

 

이제 홈어시스턴트와 스마트싱스를 연동할 차례다.

 

 

2019년 2월부터 홈어시스턴트와 스마트싱스가 연동이 된다고 하지만

 

스마트싱스 -> 홈어시스턴트만 가능하다고 한다.

 

나는 스마트싱스를 메인으로 사용하려고 하기 때문에

 

스마트싱스 <-> 홈어시스턴트 양방향 연동이 가능하도록

 

ha-connector를 사용하려고 한다.

 

ha-connector 또한 mi-connector와 설치 방식이 동일하다.

 

 

1. Smartthings IDE - [My SmartApps] 혹은 [My Device Handlers] 메뉴에서 [Settings] 선택

 

 

 

2. fison67 / HA-Connector / master 입력

 

 

 

3. [Update from Repo] - [HA-Connector] 선택

 

 

 

4. [New] 이하 모두 체크

    [Publish] 체크 - [Execute Update] 선택

 

SmartApps 항목
Device Handlers 항목

 

 

5. 설정 페이지 접속 - OAuth 설정

 

 

 

6. 홈어시스턴트 장기 액세스 토큰 발급

 

홈어시스턴트에서 더이상 api_password나 auth_providers를 사용하지 않고

 

장기 액세스 토큰을 발급해서 사용하도록 하고 있다.

 

이름은 임의로 입력하고

 

그 후에 나오는 토큰을 복사하여 보관하고 있어야 한다.

 

 

7. 스마트싱스 앱 설정

 

 

[HA Address]에는 내부아이피:8123을 입력하고

 

[HA Token]은 6번에서 발급한 장기 액세스 토큰을 입력하면 된다.

 

설정 완료 후 [Config]를 선택하고

 

화면에 나오는 [app_url], [app_id], [access_token] 을 8번 과정에서 입력해야 한다.

 

 

8. custom_components 파일 추가, 홈어시스턴트 configuration 설정

 

github에서 일부 파일을 받아서 홈어시스턴트 config 폴더에 넣어줘야 하는데

 

한줄 스크립트로 만들어보았다.

git clone https://github.com/fison67/HA-Connector && \
sudo mkdir ~/home-assistant/custom_components && \
sudo mv ./HA-Connector/homeassistant/* ~/home-assistant/custom_components && \
rm -rf ./HA-Connector

 

실행하면 필요한 파일만 이동하고 나머지 폴더는 자동으로 삭제된다.

 

 

홈어시스턴트 config 폴더의 configuration.yaml 파일도 수정해야 한다.

 

포스트 시작부분에 얘기했지만 HA Connector는 양방향을 모두 지원한다.

 

ST -> HA는 공식 지원하는 것도 있고 HA Connector도 있어서

 

두개 중에 원하는대로 골라서 세팅하면 된다.

 

나는 일단 HA -> ST만 필요하기 때문에 해당 부분만 설정할텐데

 

두개 이름만 다르고 똑같이 설정해주면 된다.

 

추가해야 할 내용은 다음과 같다.

homeassistant:
  customize: !include customize.yaml

# HA->ST 
ha_connector: 
  app_url: [본인 app_url] 
  app_id: [본인 app_id] 
  access_token: [본인 access_token] 

# ST->HA 
ha_connector2: 
  app_url: [본인 app_url] 
  app_id: [본인 app_id] 
  access_token: [본인 access_token]
  
switch: !include switches.yaml
sensor: !include sensors.yaml

 

customize.yaml, switches.yaml, sensors.yaml 파일은 내용이 없어도 파일이 존재해야 한다.

 

아래 명령어로 파일을 생성한다.

sudo touch customize.yaml && \
sudo touch sensors.yaml && \
sudo touch switches.yaml

 

 

최종 configuration.yaml

homeassistant:
  customize: !include customize.yaml

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# HA->ST
ha_connector:
  app_url: [본인 app_url]
  app_id: [본인 app_id]
  access_token: [본인 access_token]

# ST->HA
ha_connector2:
  app_url: [본인 app_url]
  app_id: [본인 app_id]
  access_token: [본인 access_token]

switch: !include switches.yaml
sensor: !include sensors.yaml

 

위와 같이 작성했지만 순서는 상관없는 듯 하다.

 

sudo docker exec -it home-assistant python -m homeassistant --config /config --script check_config

 

위 명령어로 config 파일에 문제가 없는지 확인한다.

 

 

 

9. 스마트싱스에 기기 추가

 

[Get HA Devices] - [Add HA Device]를 선택하고

 

원하는 센서 - 종류를 순서대로 선택하면 된다.

 

온습도 센서를 각각 온도, 습도로 두번 추가해주었고

 

스마트싱스 앱에서 정보를 잘 가져오고 있다.

반응형