본문 바로가기

메이커 이야기/홈어시스턴트

홈 어시스턴트 기본설정 (2) configuration.yaml

반응형

홈어시스턴트를 막상 설치했지만.. 그냥 UI만을 둘러보면 뭐부터 해야할지 감이 안잡히네요... 딱히 뭐 부터 배워야 하겠다는것 보다는 그냥 막연히 이걸 설치했는데 뭐하란거지.. 불도 켜고 꺼보고싶고 HA의 막대한 기능을 사용해보고 싶다는 것들이 전부인데.. 어렵네요.

여기저기 찾아보다보니, 홈 어시스턴트의 핵심 기능은 configuration을 잘 다루는게 핵심인것 같아서 이걸 설정하는 것부터 한번 시작해보도록 하겠습니다.

홈어시스턴트 기본 설정하기

1. Home Configuration.yaml

Home Assistant의 핵심은 configuration.yaml 파일입니다. 이 파일은 Home Assistant의 모든 설정을 정의합니다.

설치 

설정 > 에드온 > File editor를 설치해주세요

 

설치를 완료하고, 사이드바에 추가하니 File Editor에 Configuation.yaml파일이 있네요

이제 여기에 무엇인가를 추가하면 되는것인가 봅니다.

 

Home Assistant는 기본적으로 yaml문법을 사용하는데... 사실 처음 접하는 문법입니다. 이게 왜 편리한지 아직은 잘모르겠지만.. 그래도 이 세계에 왔으면 ㅋㅋ 따라야 하지 않겠습니까?

그럼 yaml문법이 무엇인지 살펴보면,,

 


 

YAML의 특징

  1. 가독성 높음
    • YAML은 들여쓰기를 기반으로 하며, 사람이 읽고 쓰기 쉽습니다.
    • JSON과 비슷한 데이터를 표현하지만, 더 간결합니다.
  2. 계층적 구조 지원
    • 데이터를 계층적으로 정리할 수 있어 복잡한 설정을 쉽게 표현할 수 있습니다.
  3. 유연한 데이터 타입 지원
    • 문자열, 숫자, 리스트, 딕셔너리 등 다양한 데이터 타입을 지원합니다.
  4. 들여쓰기 중요
    • 들여쓰기를 통해 데이터의 계층 구조를 표현합니다. 공백이 문법의 일부이므로 반드시 일정한 공백(스페이스)을 사용해야 합니다.

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에서)

  1. 구성 파일 작성이 간편
    Home Assistant에서 설정 파일을 쉽게 읽고 수정할 수 있습니다.
  2. 유연성
    복잡한 데이터를 간단하게 표현할 수 있어, 자동화 스크립트 작성이 용이합니다.
  3. 오픈 표준
    YAML은 여러 프로그래밍 언어와 도구에서 지원되므로 호환성이 뛰어납니다.

 

 

반응형