홈어시스턴트를 막상 설치했지만.. 그냥 UI만을 둘러보면 뭐부터 해야할지 감이 안잡히네요... 딱히 뭐 부터 배워야 하겠다는것 보다는 그냥 막연히 이걸 설치했는데 뭐하란거지.. 불도 켜고 꺼보고싶고 HA의 막대한 기능을 사용해보고 싶다는 것들이 전부인데.. 어렵네요.
여기저기 찾아보다보니, 홈 어시스턴트의 핵심 기능은 configuration을 잘 다루는게 핵심인것 같아서 이걸 설정하는 것부터 한번 시작해보도록 하겠습니다.
홈어시스턴트 기본 설정하기
1. Home Configuration.yaml
Home Assistant의 핵심은 configuration.yaml 파일입니다. 이 파일은 Home Assistant의 모든 설정을 정의합니다.
설치
설정 > 에드온 > File editor를 설치해주세요
설치를 완료하고, 사이드바에 추가하니 File Editor에 Configuation.yaml파일이 있네요
이제 여기에 무엇인가를 추가하면 되는것인가 봅니다.
Home Assistant는 기본적으로 yaml문법을 사용하는데... 사실 처음 접하는 문법입니다. 이게 왜 편리한지 아직은 잘모르겠지만.. 그래도 이 세계에 왔으면 ㅋㅋ 따라야 하지 않겠습니까?
그럼 yaml문법이 무엇인지 살펴보면,,
YAML의 특징
- 가독성 높음
- YAML은 들여쓰기를 기반으로 하며, 사람이 읽고 쓰기 쉽습니다.
- JSON과 비슷한 데이터를 표현하지만, 더 간결합니다.
- 계층적 구조 지원
- 데이터를 계층적으로 정리할 수 있어 복잡한 설정을 쉽게 표현할 수 있습니다.
- 유연한 데이터 타입 지원
- 문자열, 숫자, 리스트, 딕셔너리 등 다양한 데이터 타입을 지원합니다.
- 들여쓰기 중요
- 들여쓰기를 통해 데이터의 계층 구조를 표현합니다. 공백이 문법의 일부이므로 반드시 일정한 공백(스페이스)을 사용해야 합니다.
YAML 문법
1. 키와 값 (Key-Value)
YAML에서 데이터는 키(key)와 값(value)로 구성됩니다.
name: Home Assistant version: 2024.11.1
2. 계층 구조
들여쓰기를 통해 계층 구조를 표현합니다.
homeassistant: name: My Smart Home location: latitude: 37.5665 longitude: 126.9780 timezone: Asia/Seoul
3. 리스트
리스트는 하이픈(-)을 사용합니다.
devices:
- light
- thermostat
- camera
4. 주석
주석은 #로 시작합니다
# 이 파일은 Home Assistant 설정 파일입니다.
homeassistant: name: My Smart Home # 시스템 이름
5. 문자열
문자열은 따옴표를 사용하거나 생략 가능합니다.
- 특수 문자가 포함된 경우에는 반드시 따옴표를 사용해야 합니다.
greeting: "Hello, World!" # 따옴표 사용
description: Welcome to Home Assistant # 따옴표 생략 가능
6. 복잡한 데이터
리스트와 딕셔너리를 조합하여 더 복잡한 데이터를 표현할 수 있습니다.
automations:
- alias: Turn on the light
trigger:
- platform: time
at: "18:00:00"
action:
- service: light.turn_on
entity_id: light.living_room
- alias: Turn off the light
trigger:
- platform: time
at: "23:00:00"
action:
- service: light.turn_off
entity_id: light.living_room
YAML과 JSON 비교
YAML은 JSON과 비슷하지만, 사람이 읽기 쉽게 설계되었습니다.
특징YAMLJSON
문법 | 간결, 들여쓰기 기반 | 중괄호 {}와 콤마 , 사용 |
가독성 | 사람이 읽기 쉬움 | 사람이 읽기 어려움 |
주석 지원 | #로 주석 작성 가능 | 주석 작성 불가능 |
사용 용도 | 설정 파일, 데이터 직렬화 | 데이터 전송 (API, 웹 등) |
YAML을 사용하는 이유 (Home Assistant에서)
- 구성 파일 작성이 간편
Home Assistant에서 설정 파일을 쉽게 읽고 수정할 수 있습니다. - 유연성
복잡한 데이터를 간단하게 표현할 수 있어, 자동화 스크립트 작성이 용이합니다. - 오픈 표준
YAML은 여러 프로그래밍 언어와 도구에서 지원되므로 호환성이 뛰어납니다.
'메이커 이야기 > 홈어시스턴트' 카테고리의 다른 글
홈 어시스턴트 기본설정 (3) tuya 연동하기 (0) | 2024.11.28 |
---|---|
홈 어시스턴트 설치하기 (1) 라즈베리파이편 (3) | 2024.11.13 |
홈 어시스턴트(HA) 스터디 시작 (1) | 2024.11.12 |