Включение отключение Windows машины с помощью home assistant

Понадобилось мне добавить в Home Assistant возможность включения и выключения домашнего PC, для удаленного подключения.

Для включения используем штатный wake_on_lan.
Конфигурация ниже, готового тумблера с включением через wake_on_lan и выключением через аддон.

прописываем конфигурацию выключателя в /config/configuration.yaml

switch:
  - platform: wake_on_lan
    mac: "B4:2E:99:F4:23:86"
    name: "Home_PC"
    host: "192.168.88.10"
    broadcast_address: "192.168.88.127"
    turn_off:
      service: hassio.addon_stdin
      data:
        addon: core_rpc_shutdown
        input: Home_PC

для выключения быстрое гугление наводит на:

RPC Shutdown, его и используем

страница дополнения addons/rpc_shutdown at master · home-assistant/addons · GitHub

настройки описаны в документации пример моей конфигурации для отключения (прописывать в самом аддоне):

- 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!

Работает и с Microsoft аккаунтами, имя пользователя указывается полностью как адрес электронной почты.

Внимание!! пароль от ПК, т.е. от учетной записи Microsoft храниться в открытом виде, по возможности стоит создать отдельную учетную запись для вкл.\выкл.

при попытке отключения возможна ошибка:

Could not initialise pipe winreg. Error was NT_STATUS_OBJECT_NAME_NOT_FOUND

при настройке windows 10 и выше необходима запущенная служба “удаленный реестр”

  • после возможна ошибка:
Shutdown of remote machine failed
result was: WERR_CALL_NOT_IMPLEMENTED

решилось созданием в ветке реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System параметра типа DWORD_32бита с именем

LocalAccountTokenFilterPolicy и значением 1

У меня данный выключатель прокинут в приложение умный дом от Яндекса, и я удаленно, по необходимости включаю\выключаю ПК.
Ну и прикольно вырубать заигравшемуся ребенку комп фразой -“Алиса, выключи компьютер”

Широковещательный адрес “192.168.88.127” так как сеть логически порезана на части, чаще всего адрес будет /24 255.255.255.0 маски 192.168.88.255