안녕하세요, 남두오성입니다.


오늘은 네이버 스마트싱스 까페 스탭이신 "아기나무집" 님이 개발하신


HA-connector 를 설치하는 법을 알아보도록 하겠습니다.


이걸 설치하면...HA에 있는 장치들을 ST에서 조작 / 센서값 조회가 가능하며,


반대도 가능해 집니다. 양쪽이 서로 보완되니 더할나위 없지요.



까페 공식 배너를 아래에 깔아 둡니다. 항상 도움 많이 받는 고마운 곳이라 ^^






사전 준비물


가장 기본적인게....스마트싱스와 홈어시스턴트를 연결하는 것이니 만큼..


양쪽이 준비가 되어야 겠지요??


1. 스마트싱스 (ST)


- 스마트싱스를 준비합니다.


       ( 이전 포스팅 : http://hospital82.tistory.com/27 )



2. 홈어시스턴트 (HA)


- HA도 설치가 완료되어 있어야 합니다.


  ( 이전포스팅 : http://hospital82.tistory.com/64 )





1. 스마트싱스 IDE에 스마트앱 / DTH 설치하기


1. 스마트싱스 IDE에 git을 추가해 줍니다.


스마트앱 탭에서 settings 버튼을 클릭하고, 





Owner : fison67

Name : HA-Connector

Branch : master


git을 추가해 줍니다.





Update from Repo 를 클릭하여 HA-Connector를 열어 줍니다.




이 Repository 에서 스마트앱과 DTH를 전부 다 깔아 주세요.



HA-connector 를 Publish 해주시고, OAuth 도 눌러서 활성화 시켜 주세요.




2. HA Config 폴더에 설정 파일들 넣어 주기



이제, HA가 설치되어 있는 config 폴더로 갑니다.


1. config 폴더에 "custom_components" 폴더를 하나 만들어 주시고,


그 안에 두 개의 파이썬 파일을 넣어 줍니다. (ha_connector.py / ha_connector2.py)



2. 이 폴더에 또 하위 폴더로 "switch" 폴더를 만들어


stswitch.py 파일을 넣어 주시고



3. custom_components 폴더에 하위폴더로 "sensor" 폴더를 만들어


stsensor.py 파일을 넣어 줍니다.





ha_connector.py

ha_connector2.py

stsensor.py

stswitch.py



※ 해당 파일은 모두 아기나무집님 git 에 있습니다.

( git 링크 : https://github.com/fison67/HA-Connector)




3. 스마트싱스 앱 안에서 ha-connector 설치하고, HA 연결하기



이제 스마트싱스 앱으로 갑니다.


Automation >> SmartApps >> Add a smartApp 으로 갑니다.





"스마트 앱 나의" (메뉴 이름 참...번역도 이쁘게도 했다 삼성아...)




에 들어가서 HA Connector를 클릭해 줍니다.




HA connector에 HA의 내부 IP 주소 / API 비밀번호를 입력해 줍니다.


(HA의 API 비밀번호 설정하기 : http://hospital82.tistory.com/65)




그리고 바로 SAVE 버튼을 눌러 주세요.





그리고 다시 HA 커넥터로 진입해서, Get HA Devices 메뉴를 클릭!!



이제 커넥터 앱이 HA에 API를 찔러서 데이터가 제대로 들어오는지 체크합니다.


HA 주소와 PASSWORD가 옳다면, OK 신호가 곧 옵니다.






4. ST에 HA 장치 가져오기






이제 Add HA Device 를 클릭해보면, HA에 있는 센서/장치 리스트가 쭈르르르 올라와 있습니다.



ST에 추가하고 싶은 장비를 체크해 주세요.






체크를 하고 나면, 해당 장비가 어떤 DTH를 적용할 것인지 물어봅니다.


알맞는 DTH를 클릭해서 적용해 주시면, ST에 HA 장비가 추가 되어 있습니다.





아직 끝이 아닙니다!!


데이터가 계속 ST로 넘어오게 하기 위하여, HA의 스크립트를 수정해 줘야 합니다.



5. HA 스크립트 수정하기



스마트싱스 앱 안의 HA connector 를 클릭해서 config 를 클릭해 줍니다.



여기에서


app_url / app_id / access_token 을 복사해 주세요.



그리고, HA의 configuration.yaml 파일을 열어서 위 에서 복사한 내용으로


아래 처럼 스크립트를 채워 주세요





그리고, HA config 폴더에 세가지 파일이 있어야만 합니다.


(이게 굉장히 중요!! 전 이게 없어서 한참을...에러에 고생했었네요 ㅎㅎ 아기나무집 님께서 잡아 주셨음)



sensors.yaml / switchs.yaml / customize.yaml


세 가지는 "내용이 비어 있다고 하더라도" 파일은 있어야만 합니다.



그리고, configuration.yaml 파일에도


sensor: !include sensors.yaml

switch: !include switchs.yaml


스크립트 넣어 주세요.


(customize: !include customize.yaml 는 HA 헤드쪽 스크립트에 이미 있습니다)


이렇게 까지 하고, HA를 재부팅 해주면 커넥터 작동 완료!!!





P.S. 제가 이걸 하는 이유는 딱 하나, ASUS 공유기를 재실센서로 활용하여

( 이전 포스팅 참조 : http://hospital82.tistory.com/66 )

ST의 웹코어에 트리거로 사용하기 위해서 입니다.


ST에는 Wifi 재실센서 기능이 없거든요.....

BELATED ARTICLES

more

COMMENT

  • 라즈베리파이사용자 2019.07.10 00:16 HA 0.92.0 이상의 상위 버젼에서는 작동이 안됩니다.