Home Assistant Study - sunbang123/Graduation_Project GitHub Wiki
(์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ํด๋ฆญํ์ธ์!)
ESPHome ํตํฉ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ESPHome ๊ธฐ๊ธฐ๋ฅผ ๋ค์ดํฐ๋ธ ESPHome API๋ฅผ ํตํด Home Assistant์ ์ง์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์๋ ESPHome ๊ธฐ๊ธฐ๋ฅผ Home Assistant์ ์ค์ ํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค.
- Home Assistant๊ฐ ์๋์ผ๋ก ESPHome ๊ธฐ๊ธฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
- ๊ธฐ๊ธฐ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด "Discovered"๋ก ํ์๋ฉ๋๋ค.
- ์ฆ์ ์ค์ ์ ์งํํ ์ ์์ต๋๋ค.
์๋์ผ๋ก ๊ฒ์๋์ง ์์ ๊ฒฝ์ฐ, ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ ์๋์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค:
- Home Assistant ์ธ์คํด์ค์ ์ ์ํฉ๋๋ค.
- Settings(์ค์ ) > Devices & Services(๊ธฐ๊ธฐ ๋ฐ ์๋น์ค)๋ก ์ด๋ํฉ๋๋ค.
- ์ฐ์ธก ํ๋จ์ "Add Integration"(ํตํฉ ์ถ๊ฐ) ๋ฒํผ์ ์ ํํฉ๋๋ค.
- ๋ชฉ๋ก์์ "ESPHome"์ ์ ํํฉ๋๋ค.
- ํ๋ฉด์ ์ง์์ฌํญ์ ๋ฐ๋ผ ์ค์ ์ ์๋ฃํฉ๋๋ค.
- ESPHome ๊ธฐ๊ธฐ๋ ๋ชจ๋ Home Assistant ์์ ์ ์ํํ ์ ์์ต๋๋ค.
- ์ด ๊ธฐ๋ฅ์ ์๋ก ๊ตฌ์ฑ๋ ๊ธฐ๊ธฐ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ต๋๋ค.
- ๊ฐ ๊ธฐ๊ธฐ๋ณ๋ก ์ต์ ์ค์ ์ ํตํด ํ์ฑํํ ์ ์์ต๋๋ค.
- Home Assistant ์ธ์คํด์ค์ ์ ์ํฉ๋๋ค.
- Settings > Devices & Services๋ก ์ด๋ํฉ๋๋ค.
- ์ฌ๋ฌ ESPHome ์ธ์คํด์ค๊ฐ ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ค์ ํ๋ ค๋ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
- ํตํฉ์ ์ ํํ ํ "Configure"๋ฅผ ์ ํํฉ๋๋ค.
- ESPHome configuration.yaml์์ friendly_name์ ์ค์ ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
- ์ํฐํฐ ์ด๋ฆ์ ์น์ํ ์ด๋ฆ๊ณผ ๊ตฌ์ฑ์์ ์ด๋ฆ์ ์กฐํฉ์ ๋๋ค.
- ์ํฐํฐ ID๋ ๊ธฐ๊ธฐ ์ด๋ฆ์ด ์์ ์ถ๊ฐ๋ ์ํฐํฐ ์ด๋ฆ์์ ํ์๋ฉ๋๋ค.
์์ ๊ตฌ์ฑ:
esphome:
name: "livingroomdesk"
friendly_name: "Living room desk"
sensor:
name: "Temperature"
๊ฒฐ๊ณผ:
- ์ํฐํฐ ์ด๋ฆ: "Living room desk Temperature"
- ์ํฐํฐ ID: "sensor.livingroomdesk_temperature"
friendly_name์ด ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ์ ์ฉ๋๋ ๋ฐฉ์์ ๋๋ค:
- ์ํฐํฐ ์ด๋ฆ์ ๊ตฌ์ฑ์์ ์ด๋ฆ์ ๋๋ค.
- ๊ธฐ๊ธฐ ์ด๋ฆ์ ์ํฐํฐ ์ด๋ฆ์ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
- ์ํฐํฐ ID๋ ์ํฐํฐ ์ด๋ฆ์์๋ง ํ์๋ฉ๋๋ค.
์์ ๊ตฌ์ฑ:
esphome:
name: "livingroomdesk"
sensor:
name: "Temperature"
๊ฒฐ๊ณผ:
- ์ํฐํฐ ์ด๋ฆ: "Temperature"
- ์ํฐํฐ ID: "sensor.temperature"
- Home Assistant 0.85 ๋ฒ์ ๋ถํฐ ๋์ ๋์์ต๋๋ค.
- ํ์ฑ ์ค์น์ 24.5%์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
- IoT ํด๋์ค: Local Push
- ํ์ง ๋ฑ๊ธ: Platinum
- ๋ก์ปฌ ๋คํธ์ํฌ๋ฅผ ํตํด Home Assistant์ ์๋ํฉ๋๋ค.
- ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ GitHub์์ ์ด์๋ฅผ ํ์ธํ๊ฑฐ๋ ๋ณด๊ณ ํ ์ ์์ต๋๋ค.
- ์์ธํ ๊ธฐ์ ๋ฌธ์๋ ESPHome ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
(์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ํด๋ฆญํ์ธ์!)
MQTT(Message Queuing Telemetry Transport)๋ TCP/IP ๊ธฐ๋ฐ์ ๊ฒฝ๋ ๋ฉ์์ง ํ๋กํ ์ฝ๋ก, IoT ๊ธฐ๊ธฐ๋ค ๊ฐ์ ํต์ ์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. Home Assistant์์ ํตํฉ์ ํตํด ๋ค์ํ IoT ๊ธฐ๊ธฐ๋ค์ ํจ๊ณผ์ ์ผ๋ก ์ ์ดํ ์ ์์ต๋๋ค.
-
์๋ ์ค์ (๊ถ์ฅ)
- Mosquitto Broker ์ ๋์จ ์ค์น
- MQTT ํตํฉ ๊ตฌ์ฑ ์ ์๋์ผ๋ก ์์ ํ ์ฌ์ฉ์๋ช ๊ณผ ๋น๋ฐ๋ฒํธ ์์ฑ
- ์ถ๊ฐ ๋ก๊ทธ์ธ์ Mosquitto ์ ๋์จ ์ค์ ์์ ๊ตฌ์ฑ ๊ฐ๋ฅ
-
์๋ ์ค์
- Settings > Devices & Services ์ด๋
- Add Integration ๋ฒํผ ํด๋ฆญ
- MQTT ์ ํ
- ํ๋ฉด์ ์ง์์ ๋ฐ๋ผ ์ค์ ์๋ฃ
๊ณ ๊ธ ์ค์ ์ ์ ๊ทผํ๋ ค๋ฉด:
- Settings > Devices & Services๋ก ์ด๋
- MQTT ํตํฉ ์ ํ
- Configure ์ ํ ํ Re-configure MQTT ์ ํ
- Advanced options ํ์ฑํ
์ฃผ์ ๊ณ ๊ธ ์ค์ ์ต์ :
- ์ปค์คํ ํด๋ผ์ด์ธํธ ID ์ค์
- ํด๋ผ์ด์ธํธ ์ธ์ฆ์ ์ค์
- ๋ธ๋ก์ปค ์ธ์ฆ์ ๊ฒ์ฆ
- MQTT ํ๋กํ ์ฝ ๋ฒ์ ์ ํ (3.1.1 ๋๋ 5)
- WebSocket ์ ์ก ์ค์
- ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์
- ์ต์ํ์ ์ค์ ์ผ๋ก MQTT ๊ธฐ๊ธฐ ์ฌ์ฉ ๊ฐ๋ฅ
- ๊ฒ์ ํ ํฝ ํ์:
<discovery_prefix>/<component>/[<node_id>/]<object_id>/config
{
"dev": {
"ids": "๊ณ ์ ID",
"name": "๊ธฐ๊ธฐ์ด๋ฆ",
"mf": "์ ์กฐ์ฌ",
"mdl": "๋ชจ๋ธ๋ช
",
"sw": "์ํํธ์จ์ด๋ฒ์ "
},
"o": {
"name": "์ ํ๋ฆฌ์ผ์ด์
์ด๋ฆ",
"sw": "์ํํธ์จ์ด๋ฒ์ ",
"url": "์ง์URL"
},
"state_topic": "์ํํ ํฝ",
"command_topic": "๋ช
๋ นํ ํฝ",
"unique_id": "์ํฐํฐ๊ณ ์ ID"
}
YAML์์ ๋ ๊ฐ์ง ์คํ์ผ๋ก ๊ตฌ์ฑ ๊ฐ๋ฅ:
- ํญ๋ชฉ๋ณ ๋์ด ๋ฐฉ์
mqtt:
- binary_sensor:
name: "์ผ์1"
state_topic: "home/sensor1"
- switch:
name: "์ค์์น1"
command_topic: "home/switch1"
- ๋๋ฉ์ธ๋ณ ๊ทธ๋ฃนํ ๋ฐฉ์
mqtt:
binary_sensor:
- name: "์ผ์1"
state_topic: "home/sensor1"
- name: "์ผ์2"
state_topic: "home/sensor2"
{
"name": null,
"device_class": "motion",
"state_topic": "homeassistant/binary_sensor/garden/state",
"unique_id": "motion01ad",
"device": {
"identifiers": ["01ad"],
"name": "์ ์"
}
}
{
"device_class": "temperature",
"state_topic": "homeassistant/sensor/bedroom/state",
"unit_of_measurement": "ยฐC",
"value_template": "{{ value_json.temperature}}",
"unique_id": "temp01ae",
"device": {
"identifiers": ["bedroom01ae"],
"name": "์นจ์ค"
}
}
automation:
alias: "๋์ฐฉ ์ ๋ฉ์์ง ์ ์ก"
triggers:
- trigger: state
entity_id: device_tracker.me
to: "home"
actions:
- action: mqtt.publish
data:
topic: "home/notification"
payload: "์ง์ ๋์ฐฉํ์ต๋๋ค"
retain: true
logger:
default: warning
logs:
homeassistant.components.mqtt: debug
- ๋ธ๋ก์ปค ์ฌ์ค์น ์ ๋ฐ๋์ ์ถ๊ฐ ๋ก๊ทธ์ธ ์ ๋ณด ๋ฐฑ์
- ์๋ ๊ฒ์ ์ฌ์ฉ ์ ๊ณ ์ ID ์ค์ ๊ถ์ฅ
- ์ํ ํ ํฝ์๋ ๊ฐ๋ฅํ retain ํ๋๊ทธ ์ฌ์ฉ
- ๋ณด์์ ์ํด ํญ์ ์ฌ์ฉ์ ์ธ์ฆ ์ค์
- ESPHome
- Zigbee2MQTT
- Tasmota
- OpenMQTTGateway
- ๊ธฐํ ๋ค์์ ํตํฉ ๋๊ตฌ ์ง์
(์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ํด๋ฆญํ์ธ์!)
Configuration.yaml์ Home Assistant์ ํต์ฌ ์ค์ ํ์ผ์ ๋๋ค. ๋๋ถ๋ถ์ ์ค์ ์ UI๋ฅผ ํตํด ๊ฐ๋ฅํ์ง๋ง, ์ผ๋ถ ํตํฉ ๊ธฐ๋ฅ์ ์ด ํ์ผ์ ์ง์ ํธ์งํด์ผ ํฉ๋๋ค.
-
Home Assistant Operating System ์ฌ์ฉ์
- File editor ์ ๋์จ ์ค์น (์ด๋ณด์ ์ถ์ฒ)
- Studio Code Server ์ ๋์จ ์ค์น (๊ณ ๊ธ ๊ธฐ๋ฅ ํ์ ์)
- Samba ์ ๋์จ ์ค์น (๋ก์ปฌ ํธ์ง๊ธฐ ์ฌ์ฉ ์)
-
Home Assistant Supervised ์ฌ์ฉ์
- File editor ์ ๋์จ
- Studio Code Server ์ ๋์จ
- Samba ์ ๋์จ
-
Home Assistant Container/Core ์ฌ์ฉ์
- ์ง์ ํ์ผ์์คํ ์ ๊ทผ
์ค์น ๋ฐฉ์๋ณ ๊ธฐ๋ณธ ์์น:
- Operating System:
/config
ํด๋ - Container: ๋ง์ดํธ๋ config ํด๋
- Core:
~/.homeassistant
(๊ธฐ๋ณธ๊ฐ)
์ค์ ๋๋ ํ ๋ฆฌ ํ์ธ ๋ฐฉ๋ฒ:
- Settings > System > Repairs ์ด๋
- ์ฐ์ธก ์๋จ ๋ฉ๋ด(์ 3๊ฐ) > System information ์ ํ
- Configuration directory ํญ๋ชฉ ํ์ธ
- ์ค์ ๋ณ๊ฒฝ ํ ์๋์ผ๋ก ๊ฒ์ฌ๋จ
- Home Assistant ์ฌ์์ ์ ์๋ ๊ฒ์ฌ
- ์๋ ๊ฒ์ฌ ๊ฐ๋ฅ (์ค์น ์ ํ๋ณ ๋ฐฉ๋ฒ ์์ด)
- Operating System: ์์คํ ํจ๋์์ ๊ฒ์ฌ
- Supervised: ๊ด๋ฆฌ์ ํจ๋์์ ๊ฒ์ฌ
- Container: Docker ๋ช ๋ น์ด๋ก ๊ฒ์ฌ
- Core: ์ปค๋งจ๋๋ผ์ธ์์ ๊ฒ์ฌ
- Settings ๋ฉ๋ด๋ก ์ด๋
- ์ฐ์ธก ์๋จ ๋ฉ๋ด(์ 3๊ฐ) ์ ํ
- Restart Home Assistant > Quick reload ์ ํ
์ค์ ์ด ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ:
- Settings ๋ฉ๋ด๋ก ์ด๋
- Restart Home Assistant ์ ํ
- ์ฃผ์: ์๋ํ์ ์คํฌ๋ฆฝํธ๊ฐ ์ค๋จ๋จ
- ๊ตฌ๋ฌธ ์ค๋ฅ ํ์ธ
- ๋ค์ฌ์ฐ๊ธฐ ํ์ธ (YAML์ ๋ค์ฌ์ฐ๊ธฐ์ ๋ฏผ๊ฐ)
- ๋ก๊ทธ ํ์ธ
- ๋ฐฑ์ ์ ์ง
# ์ฌ๋ฐ๋ฅธ ์์
light:
- platform: mqtt
name: "๊ฑฐ์ค๋ฑ"
state_topic: "home/light/status"
# ์๋ชป๋ ์์
light:
- platform: mqtt
name: "๊ฑฐ์ค๋ฑ"
state_topic: "home/light/status" # ๋ค์ฌ์ฐ๊ธฐ ๋ถ์ผ์น
ํฐ ์ค์ ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ถํ ํ ์ ์์ต๋๋ค:
# configuration.yaml
homeassistant:
packages: !include_dir_named packages
# ๋ถํ ๋ ์ค์ ํ์ผ๋ค์ packages/ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ
๋ฏผ๊ฐํ ์ ๋ณด๋ ๋ณ๋์ secrets.yaml ํ์ผ์ ์ ์ฅ:
# secrets.yaml
mqtt_password: "your_secret_password"
# configuration.yaml
mqtt:
password: !secret mqtt_password
- ๋ณ๊ฒฝ ์ ํญ์ ๋ฐฑ์
- ์์ ๋จ์๋ก ๋ณ๊ฒฝ ํ ํ ์คํธ
- ์ฃผ์ ํ์ฉํ์ฌ ์ค์ ๋ฌธ์ํ
- ์ ๊ธฐ์ ์ผ๋ก ์ค์ ๊ฒ์ฆ
- ์ค์ ๋ณ๊ฒฝ ์ ์ ์ฒด ์ฌ์์ ๊ถ์ฅ
- YAML ๋ฌธ๋ฒ
- ๋ฐฑ์ ์์ฑ ๋ฐ ๋ณต์
- ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํตํ YAML ์ค์ ๋ฆฌ๋ก๋
- ํ์ผ ์ ๊ทผ ์ค์
- ๋ณด์ ์ค์
(์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ํด๋ฆญํ์ธ์!)
- ์์น: configuration ๋๋ ํ ๋ฆฌ์
home-assistant.log
ํ์ผ - ๋ก๊ทธ ํ์ผ์ Home Assistant ์์ ์ ์ด๊ธฐํ๋จ
- ๋ชจ๋ ๊ฒฝ๊ณ ์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๊ธฐ๋ก๋จ
-
home-assistant.log
ํ์ผ์์ ๊ด๋ จ ์ค๋ฅ ํ์ธ - ์ค์ ํ์ผ์ ๊ตฌ๋ฌธ ์ค๋ฅ ํ์ธ
- ํ์ ์ข ์์ฑ ์ค์น ์ฌ๋ถ ํ์ธ
- Home Assistant ์ฌ์์ ์๋
- UTF-8 ์ธ์ฝ๋ฉ ํ์ธ
- YAML ๊ตฌ๋ฌธ ๊ฒ์ฆ
- ์ค๋ณต ์น์ ํ์ธ
- ํ์ ์ค์ ๋๋ฝ ํ์ธ
# ์ฌ๋ฐ๋ฅธ ๊ตฌ์ฑ ์์
sensor:
- platform: forecast
...
- platform: bitcoin
...
# ์๋ชป๋ ๊ตฌ์ฑ ์์ (์ค๋ณต ์น์
)
sensor:
platform: forecast
...
sensor:
platform: bitcoin
...
# configuration.yaml
light: !include devices/lights.yaml
sensor: !include devices/sensors.yaml
# lights.yaml
- platform: hyperion
host: 192.168.1.98
# sensors.yaml
- platform: mqtt
name: "๋ฐฉ ์ต๋"
state_topic: "room/humidity"
์ ํจํ ๋ฌธ์:
- ์๋ฌธ์
- ์ซ์
- ๋ฐ์ค(_)
์ฃผ์์ฌํญ:
- ๋ฐ์ค๋ก ์์ํ๊ฑฐ๋ ๋๋๋ฉด ์ ๋จ
- ๋ค๋ฅธ ํน์๋ฌธ์ ์ฌ์ฉ ๋ถ๊ฐ
- UI์์ ์๋ ๊ฒ์ฆ๋จ
- Settings > Devices & services ์ด๋
- ๋ฌธ์ ๊ฐ ์๋ ํตํฉ๊ตฌ์ฑ ์นด๋ ์ ํ
- 'Enable Debug Logging' ์ ํ
- ์ค๋ฅ ์ฌํ
- 'Disable Debug Logging' ์ ํํ์ฌ ๋ก๊ทธ ํ์ผ ๋ค์ด๋ก๋
- ํตํฉ๊ตฌ์ฑ ์์ธ ํ์ด์ง์์ ๋ฉ๋ด(์ 3๊ฐ) ์ ํ
- 'Download Diagnostics' ์ ํ
- ์ง๋จ ํ์ผ ์ ์ฅ
๋๋ฒ๊ทธ ๋ชจ๋ ํ์ฑํ:
# configuration.yaml
homeassistant:
debug: true
์ฃผ์: ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ผ๋ฏ๋ก ์ฅ๊ธฐ ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์
- Home Assistant ์ฌ์์
- ๋ก๊ทธ์์ ๊ตฌ์ฒด์ ์ธ ์ค๋ฅ ํ์ธ
- ํ์ํ ํจํค์ง ์๋ ์ค์น
- ์ฌ์์ ํ ์ฌํ์ธ
- ๋๋ฒ๊ทธ ๋ก๊ทธ ํ์ผ
- ์ง๋จ ์ ๋ณด ํ์ผ
- ์ค์ ํ์ผ ๊ด๋ จ ๋ด์ฉ
- ์ค๋ฅ ์ฌํ ๋ฐฉ๋ฒ
- Home Assistant ๋ฒ์ ์ ๋ณด
logger:
default: warning
logs:
homeassistant.components.๋ฌธ์ _์ปดํฌ๋ํธ: debug
์ฌ๊ฐํ ๋ฌธ์ ๋ฐ์ ์ ์์ ๋ชจ๋๋ก ์์ํ์ฌ ๋ฌธ์ ํด๊ฒฐ:
- Home Assistant ์ค์ง
- ์ค์ ํ์ผ ๋ฐฑ์
- ์ต์ ์ค์ ์ผ๋ก ์์
- ๋จ๊ณ์ ์ผ๋ก ์ค์ ์ถ๊ฐ
- ๋ก๊ทธ ๋ชจ๋ํฐ๋ง
- ๋ฆฌ์์ค ์ฌ์ฉ๋ ํ์ธ
- ๋ถํ์ํ ํตํฉ๊ตฌ์ฑ ๋นํ์ฑํ
- ์๋ํ ๊ท์น ์ต์ ํ
(์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ํด๋ฆญํ์ธ์!)
# configuration.yaml ํต์ฌ ๊ตฌ์ฑ
homeassistant:
# Home Assistant ์ธ์คํด์ค ์ด๋ฆ
name: "๋ด ํ์ด์์คํดํธ"
# ์ผ์ถ/์ผ๋ชฐ ๊ณ์ฐ์ ์ํ ์์น ์ ๋ณด
latitude: 37
longitude: 127
# ๋จ์ ์์คํ
('metric' ๋๋ 'us_customary')
unit_system: metric
# ์๊ฐ๋ ์ค์
time_zone: "Asia/Seoul"
# ์ฌ์ฉ์ ์ ์ ์ค์ ํฌํจ
customize: !include customize.yaml
์ฃผ์ ๊ธฐ๋ฅ๋ณ๋ก ํ์ผ ๋ถ๋ฆฌ:
# configuration.yaml
automation: !include automation.yaml
zone: !include zone.yaml
sensor: !include sensor.yaml
switch: !include switch.yaml
device_tracker: !include device_tracker.yaml
4๊ฐ์ง ๊ณ ๊ธ include ์ต์ :
-
!include_dir_list
- ๋๋ ํ ๋ฆฌ์ ๋ด์ฉ์ ๋ฆฌ์คํธ๋ก ๋ฐํ
- ํ์ผ๋ช ์ํ๋ฒณ ์์ผ๋ก ์ ๋ ฌ
# configuration.yaml automation: !include_dir_list automation/presence/
-
!include_dir_named
- ๋๋ ํ ๋ฆฌ ๋ด์ฉ์ ํ์ผ๋ช ๊ธฐ์ค ์ฌ์ ์ผ๋ก ๋ฐํ
# configuration.yaml alexa: intents: !include_dir_named alexa/
-
!include_dir_merge_list
- ์ฌ๋ฌ ํ์ผ์ ๋ฆฌ์คํธ๋ฅผ ํ๋๋ก ๋ณํฉ
# configuration.yaml automation: !include_dir_merge_list automation/
-
!include_dir_merge_named
- ์ฌ๋ฌ ํ์ผ์ ์ค์ ์ ํ๋์ ์ฌ์ ์ผ๋ก ๋ณํฉ
# configuration.yaml group: !include_dir_merge_named group/
# automation/lights/
# turn_light_on.yaml
alias: "์กฐ๋ช
์ผ๊ธฐ"
triggers:
- platform: sun
event: sunset
actions:
- service: light.turn_on
target:
entity_id: light.living_room
# turn_light_off.yaml
alias: "์กฐ๋ช
๋๊ธฐ"
triggers:
- platform: sun
event: sunrise
actions:
- service: light.turn_off
target:
entity_id: light.living_room
# groups/interior.yaml
๊ฑฐ์ค:
name: "๊ฑฐ์ค"
entities:
- light.living_room
- media_player.tv
- climate.living_room
์นจ์ค:
name: "์นจ์ค"
entities:
- light.bedroom
- climate.bedroom
# sensors/environmental.yaml
- platform: temperature
name: "๊ฑฐ์ค ์จ๋"
entity_id: sensor.living_room_temp
- platform: humidity
name: "๊ฑฐ์ค ์ต๋"
entity_id: sensor.living_room_humidity
- ๊ธฐ๋ณธ ๋ค์ฌ์ฐ๊ธฐ: 2์นธ
- ๋ฆฌ์คํธ ํญ๋ชฉ: ํ์ดํ(-) ๋ค์ 1์นธ
- ์๋ชป๋ ๋ค์ฌ์ฐ๊ธฐ๋ ์ค๋ฅ์ ์ฃผ์ ์์ธ
-
.yaml
ํ์ฅ์๋ง ์ง์ -
.yml
์ ์ง์๋์ง ์์
### ์กฐ๋ช
์๋ํ ###############
- platform: light
name: living_room
# ๊ฑฐ์ค ๋ฉ์ธ ์กฐ๋ช
entities:
- light.ceiling
- light.table_lamp
### ์ผ์ ์ค์ ################
- platform: temperature
# ์จ๋ ์ผ์ ์ค์
# configuration.yaml
# ์๋ ์์ฑ ์๋ํ
automation manual: !include_dir_merge_list automations/
# UI์์ ์์ฑํ ์๋ํ
automation ui: !include automations.yaml
- Home Assistant ์ค์ ๊ฒ์ฌ ๋๊ตฌ ์ฌ์ฉ
- YAML ๋ฌธ๋ฒ ๊ฒ์ฌ๊ธฐ ํ์ฉ
- ๋ก๊ทธ ํ์ผ ํ์ธ
- ๋ค์ฌ์ฐ๊ธฐ ๋ถ์ผ์น
- ํ์ผ ๊ฒฝ๋ก ์ค๋ฅ
- ์ค๋ณต๋ ์ค์
- ์๋ชป๋ ์ฐธ์กฐ
- ๋ ผ๋ฆฌ์ ์ธ ํ์ผ ๊ตฌ์กฐ ์ ์ง
- ๋ช ํํ ํ์ผ ์ด๋ฆ ์ฌ์ฉ
- ์ฃผ์์ผ๋ก ์ค์ ๋ฌธ์ํ
- ์ ๊ธฐ์ ์ธ ๋ฐฑ์ ์ ์ง
- ๋ณ๊ฒฝ ์ฌํญ ๋จ๊ณ์ ์ ์ฉ