Home Assistant + Yasno Outages: коректне вимкнення Proxmox

Home Assistant + Yasno Outages: коректне вимкнення Proxmox

Нотатка‑інструкція: налаштування SSH‑ключів, команд для вимкнення Proxmox та автоматизації за графіком відключень Yasno.

1. Налаштування SSH‑ключів у Home Assistant

Мета: безпарольний доступ до Proxmox, щоб безпечно виконувати команди вимкнення.

# У терміналі Home Assistant
mkdir -p /config/ssh
ssh-keygen -t ed25519 -f /config/ssh/id_ed25519
# натисніть Enter кілька разів, щоб залишити ключ без пароля

2. Додати публічний ключ на Proxmox

# На Home Assistant
ssh-copy-id -i /config/ssh/id_ed25519.pub root@192.168.1.2

# Якщо ssh-copy-id недоступний:
# 1) Перегляньте вміст публічного ключа:
/config/ssh/id_ed25519.pub
# 2) Додайте його вручну до файлу:
/root/.ssh/authorized_keys  (на Proxmox)

3. Перевірити підключення

ssh -i /config/ssh/id_ed25519 root@192.168.1.2
# Якщо заходить без пароля — все налаштовано.

4. Команда вимкнення Proxmox з Home Assistant

Додайте у configuration.yaml сервіс для коректного вимкнення сервера:

shell_command:
  shutdown_server: "ssh -o StrictHostKeyChecking=no -i /config/ssh/id_ed25519 root@192.168.1.2 'shutdown -h now'"
  • Ключ: використовується /config/ssh/id_ed25519 з Home Assistant.
  • Команда: shutdown -h now коректно завершує систему на Debian/Proxmox.

5. Автоматизація: попередження та вимкнення за 5 хв до outage

Тригер на основі сенсора з інтеграції ha-yasno-outages (sensor.yasno_kiiv_dtek_3_2_next_outage) спрацьовує, коли до відключення ≤ 300 секунд.

automation:
  - alias: Yasno outage warning + Proxmox shutdown
    description: Попередження за 5 хв до відключення світла та вимкнення Proxmox
    trigger:
      - platform: template
        value_template: >
          {% set outage = states('sensor.yasno_kiiv_dtek_3_2_next_outage') %}
          {% if outage not in ['unknown','unavailable','none',''] %}
            {% set diff = (as_datetime(outage) - now()).total_seconds() %}
            {{ diff <= 300 and diff > 0 }}
          {% else %}
            false
          {% endif %}
    action:
      - service: notify.send_message
        data:
          message: "⚡️ Увага! Відключення світла через 5 хвилин!"
        target:
          entity_id:
            - notify.telegram_bot_7771887797_777748687
      - service: shell_command.shutdown_server
    mode: single
  • Точність: тригер спрацює один раз у вікні від 1 до 300 секунд до outage.
  • Гнучкість: щоб зробити 10 хвилин — замініть 300 на 600.

6. Результат

  • Безпека даних: Proxmox встигає коректно завершити роботу перед зникненням живлення.
  • Надійність: ключова авторизація без паролів у конфігах Home Assistant.
  • Інтеграція: Telegram‑попередження та кероване вимкнення в одному сценарії.

Після зміни configuration.yaml перезапустіть Home Assistant, щоб застосувати нові сервіси.

Коментувати

Простий текст

  • Не дозволено жодних HTML теґів.
  • Рядки й абзаци переносяться автоматично.
  • Адреси вебсторінок та адреси електронної пошти автоматично перетворюються у посилання.