Просмотрено
Tag: гибернация

Гибернация компьютера в Home Assistant

Гибернация компьютера в Home Assistant

Гибернация компьютера в Home Assistant

Поскольку я часто использую гибернацией, я решил сделать гибернацию своего ПК через Home Assistant.

Если с выключением компьютера через RPC Shutdown всё понятно, то с переходом в режим гибернации возник вопрос, так как RPC Shutdown не может отправить ПК в этот режим.

Я начал искать варианты и наткнулся на программу под названием Airytec Switch Off. Эта программа позволяет автоматически или удаленно выключать компьютер с любого компьютера или мобильного телефона. Что для меня важно, так это то, что она имеет веб-интерфейс с ссылками на команды, из которых я и получил URL которые я использовал в Home Assistant.

Теперь я расскажу, как я реализовал это у себя. Для начала, нужно скачать и установить саму программу. После установки и запуска, в трее появится иконка. Чтобы получить доступ к настройкам программы, нужно кликнуть правой клавишей мыши по иконке и выбрать пункт Options.

Выбираем пункт Options

Далее переходим во вкладку Remote и ставим галочку Enable web interface. После кликаем по View web interface.

Включаем web интерфейс

Мы попадаем в веб-интерфейс программы, откуда и будем извлекать адрес ссылки для удаленного выключения/перезагрузки/сна/гибернации.

Web интерфейс Airytec Switch Off.

Чтобы получить адрес ссылки для выключения/перезагрузки/сна/гибернации, щелкните правой кнопкой мыши по ссылке и выберите Копировать адрес ссылки. В моем случае, если я хочу перейти в режим гибернации, ссылка будет выглядеть так:

http://localhost:700/?action=System.Hibernate

Чтобы использовать этот адрес, необходимо заменить localhost на локальный IP-адрес вашего компьютера. В моем случае это будет так:

http://192.168.30.68:700/?action=System.Hibernate

Обратите внимание, что эти адреса могут отличаться в зависимости от вашей конфигурации и настроек системы.

В Home Assistant необходимо создать команды Shell. Я сделал это сразу для всех вариантов.

shell_command:
  shutdown_mypc: "curl -k http://192.168.30.68:700/?action=System.Shutdown"
  restart_mypc: "curl -k http://192.168.30.68:700/?action=System.Restart"
  sleep_mypc: "curl -k http://192.168.30.68:700/?action=System.Sleep"
  hibernate_mypc: "curl -k http://192.168.30.68:700/?action=System.Hibernate"

Для включения или гибернации своего ПК я использую переключатель. Вот пример моего переключателя:

switch:
  - platform: wake_on_lan
    name: "Мой ПК"
    mac: XX:XX:XX:XX:XX:XX
    turn_off:
      service: shell_command.hibernate_mypc
      

На этом все. Надеюсь, моя статья кому-то поможет.