Home Assistant 远程开关群晖及WindowsPC电脑

0
13

实现效果

一、群晖 DSM添加免密码关机配置

群晖 DSM 支持在 /etc/sudoers.d/ 目录下添加用户特定的 sudo 配置文件,无需使用 visudo。这样可以避免直接编辑主 sudoers 文件的风险。

  1. 使用 SSH 登录群晖 NAS

使用您的管理员账户通过 SSH 登录到群晖 NAS。

  1. 创建 sudoers 配置文件

执行以下命令创建一个新的 sudoers 配置文件(以 myhome 用户为例):

echo 'myhome ALL=(ALL) NOPASSWD: /sbin/poweroff' | sudo tee /etc/sudoers.d/myhome_shutdown

如果您的系统未安装 sudo,可以使用 sudo -i 切换到 root 用户后执行:

echo 'myhome ALL=(ALL) NOPASSWD: /sbin/poweroff' > /etc/sudoers.d/myhome_shutdown
  1. 设置正确的权限

确保新创建的文件权限为 0440,以防止未经授权的修改:

chmod 0440 /etc/sudoers.d/myhome_shutdown
  1. 验证配置是否生效

尝试使用以下命令测试免密码关机是否成功:

sudo /sbin/poweroff

如果系统未提示输入密码并成功执行关机,说明配置已生效。

wake_on_lan:

switch:
  - platform: wake_on_lan
    name: "唤醒群晖6400"
    mac: "A8:B8:E0:04:D1:FB"
    host: 10.10.10.39

  - platform: wake_on_lan
    name: "唤醒群晖218+"
    mac: "00:11:32:86:E7:AF"
    host: 10.10.10.167

  - platform: wake_on_lan
    name: "唤醒HomePC"
    mac: "24:4B:FE:48:B5:CA"
    host: 10.10.10.26

shell_command:
  shutdown_nas_1: /usr/bin/ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /config/.ssh/id_rsa -p 50022 myhome@10.10.10.39 'sudo /sbin/poweroff'
  shutdown_nas_2: /usr/bin/ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /config/.ssh/id_rsa -p 50022 myhome@10.10.10.167 'sudo /sbin/poweroff'

三、卡片配置

type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - show_name: true
        show_icon: true
        type: button
        entity: switch.huan_xing_qun_hui_6400
        name: 唤醒群晖 6400
        icon: mdi:server
      - type: button
        entity: switch.huan_xing_qun_hui_218
        name: 唤醒群晖 218+
        icon: mdi:server
      - type: button
        entity: switch.huan_xing_homepc
        name: 唤醒 HomePC
        icon: mdi:desktop-classic
  - type: horizontal-stack
    cards:
      - type: button
        name: 关闭群晖 6400
        icon: mdi:power
        tap_action:
          action: call-service
          service: shell_command.shutdown_nas_1
          confirmation:
            text: 你确定要关闭群晖 6400 吗?
      - type: button
        name: 关闭群晖 218+
        icon: mdi:power
        tap_action:
          action: call-service
          service: shell_command.shutdown_nas_2
          confirmation:
            text: 你确定要关闭群晖 218+ 吗?
      - type: button
        name: 关闭 HomePC
        icon: mdi:power
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.desktop_gurf08h_desktop_gurf08h_shutdown
          confirmation:
            text: 你确定要关闭 Windows 电脑吗?

发布回复

请输入评论!
请输入你的名字