Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом любой инсталляции Home Assistant являСтся Ρ„Π°ΠΉΠ» configuration.yaml. ИмСнно этот тСкстовый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ слуТит Β«ΠΌΠΎΠ·Π³ΠΎΠ²Ρ‹ΠΌ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌΒ», Π³Π΄Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС настройки, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ вашСй систСмы ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. ПониманиС структуры ΠΈ синтаксиса этого Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ возмоТностям ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, выходящим Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Ρ€Π°ΠΌΠΊΠΈ стандартного интСрфСйса.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ графичСских настроСк, Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ YAML позволяСт Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ слоТныС логичСскиС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ устройств ΠΈ Ρ‚ΠΎΠ½ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ сСнсоров. YAML (YAML Ain't Markup Language) β€” это язык сСриализации Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠΏΠΎΡ€ Π½Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Однако ΠΎΠ½ ΠΊΡ€Π°ΠΉΠ½Π΅ чувствитСлСн ΠΊ отступам, ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ лишний ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ вСсь Home Assistant откаТСтся Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, рассмотрим Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π΅Π³ΠΎ вСдСния ΠΈ научимся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ критичСских ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ настройкС систСмы. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ список устройств Π² ΡΡ‚Ρ€ΠΎΠΉΠ½ΡƒΡŽ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ структуру.

Базовая структура ΠΈ синтаксис YAML

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ любой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ соблюдСниС синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ». Π€Π°ΠΉΠ» configuration.yaml прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», Π³Π΄Π΅ порядок слСдования элСмСнтов ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° отступы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. YAML Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ; для отступов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ считаСтся отступ Π² Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности.

КаТдая сСкция Π² Ρ„Π°ΠΉΠ»Π΅ начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅. НапримСр, для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ истории Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ history:, Π° для Π»ΠΎΠ³Π³Π΅Ρ€Π° β€” logger:. Если Π²Ρ‹ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈΠ»ΠΈ поставитС Π΅Π³ΠΎ с лишним ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ, парсСр выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСгистр Π±ΡƒΠΊΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: Homeassistant ΠΈ homeassistant β€” это Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ для систСмы.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ символы табуляции (Tab) Π² Ρ„Π°ΠΉΠ»Π°Ρ… YAML. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π° автоматичСски Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΈΡ… Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрытый символ табуляции, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сбою ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Home Assistant.

Для обозначСния списков устройств ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ дСфис с ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. Π­Ρ‚ΠΎ позволяСт Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ структуры Π±Π°Π·ΠΎΠ²Ρ‹Ρ… настроСк:

  • πŸ“Œ homeassistant: β€” Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ настройки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния ΠΈ часовыС пояса.
  • πŸ“Œ default_config: β€” Π½Π°Π±ΠΎΡ€ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • πŸ“Œ automation: β€” сСкция для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ добавлСния Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΉ, Ссли ΠΎΠ½ΠΈ Π½Π΅ хранятся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.
  • πŸ“Œ group: β€” логичСскоС объСдинСниС устройств для удобства управлСния.
ΠŸΠΎΡ‡Π΅ΠΌΡƒ YAML, Π° Π½Π΅ JSON?

YAML Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Home Assistant ΠΈΠ·-Π·Π° своСй читаСмости ΠΈ возмоТности добавлСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа #, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для докумСнтирования слоТных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ интСграциями ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ

Основная ΠΌΠΎΡ‰ΡŒ Home Assistant кроСтся Π² Π΅Π³ΠΎ способности ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ устройства ΠΎΡ‚ сотСн Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π’ Ρ„Π°ΠΉΠ»Π΅ configuration.yaml это рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° β€” это ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ устройства (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, свСт, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, сСнсор), Π° интСграция β€” это способ связи с устройством (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Zigbee, Wi-Fi, Bluetooth).

Π§Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ устройство, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Бинтаксис ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΠΊΠ°ΠΊ platform: имя_ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сСкции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, light: ΠΈΠ»ΠΈ switch:. Однако Π² соврСмСнных вСрсиях Home Assistant ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· UI, Π½ΠΎ YAML остаСтся Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ для слоТных сцСнариСв ΠΈ кастомных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ добавлСния статичСского IP-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈΠ»ΠΈ сСтСвого Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π½ΠΎ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя, хост устройства ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ€Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ВсС эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ значСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

πŸ“Š Какой ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅?
  • Zigbee
  • Z-Wave
  • Wi-Fi
  • Bluetooth
  • MQTT

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с мноТСством устройств ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ списки. Π­Ρ‚ΠΎ позволяСт ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ дСсятки Π»Π°ΠΌΠΏΠΎΡ‡Π΅ΠΊ ΠΈΠ»ΠΈ Ρ€ΠΎΠ·Π΅Ρ‚ΠΎΠΊ, Π½Π΅ загромоТдая Ρ„Π°ΠΉΠ» лишними строками. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° entity_id, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ систСма часто Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ автоматичСски Π½Π° основС ΠΈΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ИспользованиС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Packages) для структурирования

Когда Ρ„Π°ΠΉΠ» configuration.yaml разрастаСтся Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сотСн строк, Π΅Π³ΠΎ становится Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ. На ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ концСпция ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Packages). ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ логичСскиС Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, настройки гостиной ΠΈΠ»ΠΈ систСмы бСзопасности) Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .yaml.

Для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ homeassistant: с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ packages:. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. Π­Ρ‚ΠΎ Π½Π΅ просто Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²; ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ сСкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находятся Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ configuration.yaml, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, скрипты ΠΈ настройки ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если Π²Ρ‹ мСняСтС освСщСниС Π² спальнС, Π²Ρ‹ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ» bedroom.yaml, Π½Π΅ рискуя случайно ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ синтаксис Π²ΠΎ всСй систСмС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Ρ€Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ· сообщСства.

  • πŸ“¦ ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ: Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ½Π°Ρ‚Π°ΠΌ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·ΠΎΠ½Π°ΠΌ.
  • πŸ“¦ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ риска синтаксичСских ошибок Π² основном Ρ„Π°ΠΉΠ»Π΅.
  • πŸ“¦ ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСрвСры.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° структуры ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: Template ΠΈ Secrets

Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, API-ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ доступа прямо Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ β€” плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, особСнно Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub. Для этого Π² Home Assistant сущСствуСт Ρ„Π°ΠΉΠ» secrets.yaml. Π’ основном ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ !secret имя_ΠΊΠ»ΡŽΡ‡Π°.

Помимо бСзопасности, ΠΌΠΎΡ‰Π½Π΅ΠΉΡˆΠΈΠΌ инструмСнтом являСтся ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ (Templates). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис Jinja2 Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок {{ ... }}, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ динамичСскиС значСния. НапримСр, имя устройства ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, ΠΈΠ»ΠΈ состояниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСнсора ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π€Π°ΠΉΠ» secrets.yaml Π½Π΅ провСряСтся Π½Π° синтаксичСскиС ошибки Ρ‚Π°ΠΊ ΠΆΠ΅ строго, ΠΊΠ°ΠΊ основной ΠΊΠΎΠ½Ρ„ΠΈΠ³. Одна ошибка Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Home Assistant Π½Π΅ смоТСт ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сСкрСт, ΠΈ интСграция Π½Π΅ запустится.

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π±Π΅Π· написания ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… скриптов Π½Π° Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с показаниями Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строки. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ configuration.yaml ΠΏΠΎ-настоящСму ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ интСрфСйсом.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнт "Template Editor" Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слоТныС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Jinja2 ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… Π² production-ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ YAML. Бамая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ отступов. Если Π²Ρ‹ скопировали кусок ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΡ€ΠΎΠ²Π½ΠΈ влоТСнности ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ структурС. Ошибка Β«IndentationErrorΒ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° это.

Вторая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π’ YAML ΠΊΠ»ΡŽΡ‡ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ словарС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹. Если Π²Ρ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ platform Π² ΠΎΠ΄Π½ΠΎΠΌ спискС, систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, игнорируя ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСпрСдсказуСмому повСдСнию.

Для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС инструмСнты. Π’ интСрфСйсС Home Assistant Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» «Настройки» β†’ «БистСма» β†’ Β«Π–ΡƒΡ€Π½Π°Π»Β» (Logs). Π’Π°ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС ошибки парсинга YAML с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° строки. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² CLI.

Π’Π°Π±Π»ΠΈΡ†Π° Π½ΠΈΠΆΠ΅ summarizes常见 ошибки ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Π’ΠΈΠΏ ошибки Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌ РСшСниС
Invalid indentation HA Π½Π΅ запускаСтся, ошибка Π² Π»ΠΎΠ³Π°Ρ… ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ отступы, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Ρ‹ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹
Unknown variable Π¨Π°Π±Π»ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ пустоту ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² secrets.yaml
Duplicate key НСкоррСктная Ρ€Π°Π±ΠΎΡ‚Π° устройства Найти ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ Π² словарС
Mapping expected БинтаксичСская ошибка ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ двоСточия послС ΠΊΠ»ΡŽΡ‡Π°
πŸ’‘

ИспользованиС VS Code с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Home Assistant YAML позволяСт ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ синтаксичСскиС ошибки Π΅Ρ‰Π΅ Π΄ΠΎ сохранСния Ρ„Π°ΠΉΠ»Π°, экономя врСмя Π½Π° ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ….

Автоматизация ΠΈ скрипты Π² YAML

Π₯отя Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΉ ΡƒΠ΄ΠΎΠ±Π΅Π½, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ… Π² YAML Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ. Автоматизации Π² configuration.yaml (ΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…) ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, условия ΠΈ дСйствия. Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ запускаСт процСсс, условия Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡŽΡ‚ события, Π° дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ (script:) ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ (Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ). Они ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ для создания сцСнариСв «Один ΠΊΠ»ΠΈΠΊΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… устройствах.

ΠŸΡ€ΠΈ написании слоТных Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ дСйствий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ mode: restart ΠΈΠ»ΠΈ mode: queued, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², Ссли скрипт Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ выполнСния. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для управлСния ΠΊΠ»ΠΈΠΌΠ°Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°.

  • πŸš€ Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹: ВрСмя, состояниС entity, события ΡˆΠΈΠ½Ρ‹.
  • πŸš€ Условия: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния, врСмя суток, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ людСй Π΄ΠΎΠΌΠ°.
  • πŸš€ ДСйствия: ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сСрвисов, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°.
Как ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΊ заводской?

Если Π²Ρ‹ Π·Π°ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ Π² ΠΏΡ€Π°Π²ΠΊΠ°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» configuration.yaml ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ. Однако ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму контроля вСрсий (Git), Ссли ΠΎΠ½Π° настроСна, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ вСрсии. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» Π² configuration.yaml.bak ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π½ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ всСх настроСк, Ссли Π½Π΅Ρ‚ бэкапа.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² YAML?

Π”Π°, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символа #. Они ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ парсСром ΠΈ слуТат ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. РСкомСндуСтся Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слоТныС участки ΠΊΠΎΠ΄Π°, особСнно ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Jinja2, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»Π³ΠΎΠ΄Π° ΠΏΠΎΠ½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ?

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация Home Assistant (home-assistant.io) содСрТит Ρ€Π°Π·Π΄Π΅Π» "Configuration", Π³Π΄Π΅ описаны всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π° встроСнная подсказка Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ HA для VS Code.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ: ΠŸΠ΅Ρ€Π΅Π΄ внСсСниСм Π»ΡŽΠ±Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² configuration.yaml всСгда создавайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ„Π°ΠΉΠ»Π°. Одна синтаксичСская ошибка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ вашСго ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° исправлСния.

Π Π°Π±ΠΎΡ‚Π° с configuration.yaml β€” это ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° ΠΊ экспСрту Π² ΠΌΠΈΡ€Π΅ Home Assistant. Освоив этот инструмСнт, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ возмоТности для кастомизации. НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ всСгда Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это с Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΊ дСталям.