Включение/отключение Windows ПК через Home Assistant (Wake-on-LAN + RPC Shutdown)
Создаём единый переключатель в Home Assistant для управления Windows-компьютером. Включение через стандартный Wake-on-LAN, выключение через аддон RPC Shutdown. Инструкция по правке реестра Windows для удалённого выключения.
Понадобилось добавить в Home Assistant возможность удалённого включения и выключения домашнего PC (Windows) для удалённого доступа или просто чтобы выключать компьютер ребёнка голосом через Алису.
Решение:
- Включение: штатный
wake_on_lan. - Выключение: аддон
RPC Shutdown.
1. Настройка Switch в конфигурации
Создаём тумблер, который объединяет обе функции. Пропишите этот код в /config/configuration.yaml:
switch:
- platform: wake_on_lan
mac: "B4:2E:99:F4:23:86" # MAC-адрес вашего ПК
name: "Home_PC"
host: "192.168.88.10" # IP-адрес ПК
broadcast_address: "192.168.88.127" # Широковещательный адрес (см. ниже)
turn_off:
service: hassio.addon_stdin
data:
addon: core_rpc_shutdown
input: Home_PC
Про broadcast_address
Если ваша сеть логически разделена (VLAN или нестандартная маска), укажите правильный широковещательный адрес.
Для обычной сети /24 (маска 255.255.255.0) это чаще всего 192.168.xx.255. В примере автора используется 192.168.88.127 (специфичная маска /25).
2. Настройка выключения (RPC Shutdown)
Для выключения Windows-машины используем официальный аддон RPC Shutdown.
Конфигурация аддона
В настройках самого аддона пропишите список компьютеров:
- address: 192.168.88.10
alias: Home_PC
credentials: user%password
delay: 0
message: >-
Home Assistant is shutting down this PC. This cannot be canceled. Please
save your work!
Важно:
credentials: форматпользователь%пароль.- Работает с Microsoft-аккаунтами (логин — email целиком).
- Внимание: Пароль хранится в открытом виде! Рекомендуется создать отдельную локальную учётку Windows специально для выключения.
3. Настройка Windows (Устранение ошибок)
При попытке выключения часто возникают ошибки доступа.
Ошибка 1: Could not initialise pipe winreg... NT_STATUS_OBJECT_NAME_NOT_FOUND
Решение:
Убедитесь, что служба "Удалённый реестр" (Remote Registry) запущена и стоит в автозапуске.
Ошибка 2: Shutdown... failed result was: WERR_CALL_NOT_IMPLEMENTED
Решение:
Нужно разрешить удалённый доступ для локальных (или админских) учёток через реестр.
- Откройте реестр (
Win+R->regedit). - Перейдите в ветку:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - Создайте параметр DWORD (32 бита) с именем:
LocalAccountTokenFilterPolicy - Установите значение:
1. - Перезагрузите ПК.
Итог
Теперь этот выключатель можно прокинуть в Apple HomeKit или Яндекс Алису.
— "Алиса, выключи компьютер" — отлично работает, когда нужно ограничить игровое время детей.