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