오늘은 Home Assitant 설정 파일에 대해서 얘기를 해보려고 합니다.
이전에 다룬 방법을 이용하여 FileZilla로 hassbian에 접속하여 HA 설정 폴더로 이동을 합니다.
거기에서 configuration.yaml 파일이 기본 설정 파일입니다. 편집을 해서 Atom으로 열어보세요.
다음과 같은 형식으로 되어 있는데요. ([삭제]는 제 개인 설정이라 지운겁니다.)
저기에 자신의 설정을 입력해주면 됩니다.
# 으로 시작하는 줄은 주석입니다. 실행은 되지 않는 설명을 적는 줄이라고 생각하시면 되요.
여러분들이 원하는 글로 바꾸워도 상관은 없습니다. 물론 지워도 되고요.
그리고 들여쓰기를 지켜주어야 합니다. 들여쓰기로 설정간의 구분을 하기 때문인데요.
예를 들어서 homeassistant: 다음에 들여쓰기가 된 name: 이나 latitude: 는 homeassistant: 설정 내에 존재하는 세부설정입니다.
아래에 위치한 http:는 homeassistant: 와는 별개의 설정을 뜻하죠.
http: 설정에는 api_password:와 base_url:이라는 세부설정이 존재하는 거고요.
이렇게 들여쓰기를 지켜줘야 합니다. 꼭 잊지 마세요.
제일 처음 적히는 애들을 보통 컴포넌트라고 부릅니다.
이제 차근차근 하나씩 알아보죠.
homeassistant 컴포넌트는 HA의 가장 기본이 되는 설정입니다.
세부설정 name 은 Home Assistant를 설치하고 사용하는 집의 이름을 적는 겁니다. 원하는 이름을 적어주세요.
latitude와 longitude는 현재 집의 위치(위도와 경도)를 나타냅니다.
<경복궁 근처 - 구글맵>
이때 주소 및에 적힌 숫자가 위도와 경도입니다.
latitude에 왼쪽 숫자(여기서는 37.576080), longitude에 오른쪽 숫자(여기서는 126.976011)를 입력해줍니다.
elevation은 높이를 나타냅니다. 아파트라면 높이를 따로 지정을 해줄 수 있는데요. 저는 딱히 지정해두진 않았습니다.
unit_system과 time_zone은 각각 단위와 시간 설정인데요. metric과 Asia/Seoul 로 해주면 됩니다.. 딱히 건드릴 필요가 없어요.
customize는 차후에 다룰 예정입니다. 그냥 두세요.
아래에 있는 http 컴포넌트는 HA 홈페이지 접속을 위한 설정입니다.
api_password는 로그인을 하지 않고 암호만을 입력하여 쉽게 접속할 수 있게 해주는 설정입니다.
원하는 암호를 설정해두면 앞으로는 그냥 암호만으로 로그인이 가능합니다. 물론 아이디,패스워드를 이용한 로그인도 됩니다.
base_url은 홈페이지의 기본 접속 주소를 나타냅니다. duckdns를 이용하여 만들어준 주소를 적어주면 됩니다.
test라는 이름으로 8080포트에 만들었다면
http://test.duckdns.org:8080
이러한 식으로 입력해두면 됩니다.
그다음 …으로 표시를 한 곳에 설정들이 있는데 지금은 딱히 건들지 않아도 되어서 그냥 패스하도록 하겠습니다.
좀더 설정을 만지는데 익숙해 지면 그때 다뤄볼까 합니다.
그다음에 sensor,binary_sensor,switch 컴포넌트가 있는데요.
각각 센서와 바이너리센서(켜짐센서), 스위치를 뜻합니다.
센서 컴포넌트는 다양한 상태에 대해서 알려줄수 있는 컴포넌트입니다.
바이너리센서 컴포넌트는 켜짐,꺼짐 두가지 상태만 얘기할 수 있어요. 센서 컴포넌트의 축소형이라고 할 수 있지요.
스위치 컴포넌트는 말그대로 스위치를 뜻합니다. 스위치와 바이너리센서의 차이점은 스위치는 직접 켜고 끌 수 있고
바이너리센서는 어떠한 상황(센서등을 생각해보면 쉬워요)에 따라 켜지고 꺼지고가 됩니다.
여기서 우리가 눈여겨 볼 명령은 !include 와 !include_dir_merge_list 입니다.
각각의 의미가 다릅니다.
우선 !include는 파일을 불러오는 명령입니다. 뒤에 파일이름을 적으면 됩니다.
!include scripts.yaml 이러한 방식으로요.
하지만 센서나 스위치는 한개만 존재하지 않고 여러 개가 존재하는 경우가 많습니다.
HA 설정 파일에 모든 센서와 스위치를 적으면 보기가 불편할 수도 있고 헷깔리는 경우가 생길 수 있습니다.
이럴 경우에 따로 파일을 만들어서 거기에 센서만 따로 입력해 두고 그 파일을 설정 파일에서 !include 명령을 통해 불러들이는 거죠.
다만 센서와 스위치의 갯수가 더 많이 존재한다면 따로 만들어준 파일도 복잡하게 많은 설정들이 적히게 될겁니다.
예를 들어보죠. 방3개의 보통의 아파트의 스위치를 한번 생각해 보겠습니다.
그러면 안방,방1,방2 의 등 스위치가 존재하겠죠 베란다가 있다면 베란다 스위치도 있을거예요.
거실과 부엌, 현관 스위치도 필요할 겁니다. 거기에 화장실도 있을거예요.
이걸 전부다 파일 하나에 입력하면 어떤거가 무엇을 의미하는지 알기가 상당히 어려워집니다.
아직 설명을 하지 하지 않았지만 스위치 하나당 각각 하나씩 설정을 해줘야 되거든요.
그럴 때 헷깔리지 않게 파일을 여러개 쪼개는 방법을 사용합니다.
안방에 해당하는 스위치 파일을 하나 만들어서 안방등, 안방베란다, 화장실, 화장대 이러한 식으로 묶어서 적습니다.
방1에 해당하는거도 파일을 만들고, 거실과 부엌, 현관등은 같이 묶어서 파일을 만들고..
이렇게 파일을 쪼개서 설정을 해둔다면 나중에 보기도 편하고 관리하기도 편할 겁니다.
그럴 때 쓰는 명령이 !include_dir_merge_list 입니다. 이 명령은 해당 폴더에 있는 모든 파일을 불러오라는 명령입니다.
!include_dir_merge_list sensors/
는 sensors 폴더에 있는 모든 파일을 불러오는 명령입니다.
처음 시작할 때는 구매한 기기가 얼마 없어서 include 만으로도 충분히 사용이 가능하지만 갯수가 늘어나면서 점점 설정이 늘어나면
관리가 어려워 질겁니다. 그걸 미리 대비하기 위해서 자주 사용할만한 컴포넌트는 !include_dir_merge_list 를 이용하여
폴더를 미리 지정해 두는게 좋습니다. 물론 서버에도 폴더를 만들어주면 되겠죠?
<HA 설정 폴더>
다음 시간에는 샤오미 로봇청소기 등록방법과 예전에 적어놨던 홈킷 등록방법에 대해서 얘기해보도록 할게요.