『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 24191|回复: 9

[基础教程] UPS接入群晖并实现ESXI自动关机以及Hassos读取状态

[复制链接]

9

主题

163

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
金钱
1502
HASS币
50
发表于 2020-5-2 09:48:56 | 显示全部楼层 |阅读模式
本帖最后由 jingqinglee 于 2022-11-11 22:35 编辑

1、UPS接入群晖并做基本设置:
网上教程太多,自己详细搜一下,说几个注意的点:见图
群晖端UPS设置说明.png
2、esxi端设置通过群晖读取UPS状态并实现自动关机:此为整合网上教程
  2.1、ESXI打开ssh服务并通过root登录进去。下载相关软件包:NutClient-ESXi-2.1.0.tar.gz
           可以本地下载完了winscp上传。如果esxi可以直接访问外网可以直接wget下载。或者你其他的Linux服务器下载完后scp到esxi。自行选择。
            这个软件包是法国人提供的,原始下载地址是 http://rene.margar.fr/download/1483/
          esxi直接下载,建议下载到tmp目录下  wget http://rene.margar.fr/download/1483/NutClient-ESXi-2.1.0.tar.gz
  2.2安装:
       tar -xvf NutClient-ESXi-2.1.0.tar.gz
       sh upsmon-install.sh     或者 ./upsmon-install.sh
           若提示不允许安装,执行这个:esxcli software acceptance set --level CommunitySupported
       安装结果如下:可能不同版本有些许差别
         [root@LeeEsxi:/tmp] sh upsmon-install.sh
   Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: Margar_bootbank_upsmon_2.7.4-2.1.0
   VIBs Removed:
   VIBs Skipped:

安装完后刷新重启一下相关服务,以便在esxi中生效识别相关进程和服务:
/etc/init.d/hostd restart
执行完后可以通过esxi命令行读取一下数据看看,如果读取失败,则建议重启esxi
/opt/nut/bin/upsc [email protected]   这个ip是你的群晖的地址,且需要在上图中允许的设备中添加上esxi的ip
刷新网页界面(如果软件选项看不到, ESXi 6.7.0 需要重启服务器):
        [root@localhost:/tmp] reboot

3、接着登录 ESXi,打开管理,高级设置,找到 NUT 相关的设置选项:
esxi端设置.png
UserVars.NutUpsName:[email protected](这里的地址填你们群晖的地址)
UserVars.NutUser:monuser
UserVars.NutPassword:secret
UserVars.NutFinalDelay:60
  • UserVars.NutUpsName:NUT 服务器上的 UPS 名称(如 nom_onduleur@nom_ou_ip_serveur)。可以进入多个逆变器,由间隙隔开。在最后一个仍在运行的 UPS 发出关闭命令之前,系统不会关闭。
  • UserVars.NutUser - NUT 服务器的登录帐户的名称
  • UserVars.NutPassword - NUT服务器登录帐户密码
  • UserVars.NutFinalDelay - 收到低电池电量事件以关闭系统后等待的秒数
  • UserVars.NutOnBatteryDelay:UPS 电池开始关闭系统后的延迟(以秒为单位)。如果值为 0,则 NUT 客户端将等待低电池事件关闭系统。默认值为 0,这是保持系统尽可能长时间运行的正常操作。如果UPS在时间结束前恢复主电源,系统将不会关闭。
  • UserVars.NutSendMail:设置为 1,以便 NUT 客户端向每个重要的 UPS 事件发送电子邮件
  • UserVars.NutMailTo:将 UPS 事件发送到的电子邮件地址
  • UserVars.NutMinSupply:用于多逆变器系统。在开始关机之前必须能够为系统供电的逆变器数量。此数字必须小于或等于UserVars.NutUpsName 中定义的 UPS 数量。如果不遵守此约束,客户端将不会启动。对于单个 UPS,请将该值保留为 1。
配置完后在vSphere Client的配置-安全配置文件-服务-NutClient设置与主机一起启动和停止(NutClient是守护进程,要先配置UserVars中的NUT参数再运行NutClient服务。并且每次修改UserVars参数后都要重启NutClient服务才有用)


上述执行完后可以通过ssh命令读取是否可以取到相关ups的数值:/opt/nut/bin/upsc [email protected]
都完成后建议重启esxi
最后验证防火墙设置,执行 esxcli network firewall ruleset list,如果看到 NutServer 为 ture则表示正常,最后在 ESXi 的服务里面设置 Network UPS Tools client 服务随系统启动即可!

理论上只要UPS接入群晖都可以这样操作。

Hassos读取数值:
应用商店安装Network UPS Tools,安装完了启动一下就好,不需在做其他设置。如果UPS通过Hassos接入,则需要做进一步设置以及开机启动等操作,具体的可以百度一下或者找一下群里的帖子。
编辑yaml文件:
其实这个文件我只是用来做登录以及显示中文的,这里面的resource只有有限的几个,其他的需要在集成里面选择,具体见官网文档:
https://www.home-assistant.io/integrations/nut
sensor:
  - platform: nut
    name: ApcUPS
    host: 192.168.2.88
    alias: ups
    port: 3493
    username: monuser
    password: secret
    resources:
      - battery.charge
      - battery.runtime
      - battery.voltage
      - input.voltage
      - ups.load


homeassistant:
  customize:
    sensor.apcups_battery_charge:
      friendly_name: 电池充电电量
    sensor.apcups_battery_runtime:
      friendly_name: 电池运行时间
    sensor.apcups_battery_voltage:
      friendly_name: 电池电压
    sensor.apcups_input_voltage:
      friendly_name: 输入电压
    sensor.apcups_load:
      friendly_name: UPS负载功率
    sensor.apcups_status:
      friendly_name: UPS运行状态
    sensor.apcups_battery_chemistry:
      friendly_name: 电池类型
    sensor.apcups_input_power_sensitivity:
      friendly_name: 输入功率切换灵敏度
    sensor.apcups_low_battery_setpoint:
      friendly_name: 低电量运行阈值
    sensor.apcups_nominal_battery_voltage:
      friendly_name: 额定电池电压
    sensor.apcups_nominal_input_voltage:
      friendly_name: 额定输入电压
    sensor.apcups_nominal_real_power:
      friendly_name: 额定功率
    sensor.apcups_ups_shutdown_delay:
      friendly_name: UPS延迟关机时间


编辑完成后重启一下hassos服务,在集成里面会看到这个:
Hassos-UPS-1.png
点进去编辑可以选择显示的内容,按需选择,因为这个变量有些改变跟官网说明以及命令读取到的数值有偏差,我就偷懒了没在yaml文件里面编辑直接勾选了,yaml里面只有最基础的。
Hassos-UPS-2.png
Hassos-UPS-3.png
在后面添加到那个页面或者怎么显示的逻辑就是很基础的了,也可以选择那个一键添加。
祝各位玩的愉快。

本帖子参考了以下帖子,感谢各位大佬的付出:
https://www.home-assistant.io/integrations/nut
https://bbs.hassbian.com/thread-5526-1-17.html
https://www.mobibrw.com/2019/18598

评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 大神666!

查看全部评分

回复

使用道具 举报

4

主题

294

帖子

3982

积分

论坛元老

Rank: 8Rank: 8

积分
3982
金钱
3688
HASS币
0
发表于 2020-5-2 11:02:30 | 显示全部楼层
我发现,用UPS的很少,ESXI+UPS的更少。。。。
回复

使用道具 举报

9

主题

163

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
金钱
1502
HASS币
50
 楼主| 发表于 2020-5-2 11:13:12 | 显示全部楼层
honry 发表于 2020-5-2 11:02
我发现,用UPS的很少,ESXI+UPS的更少。。。。

嗯呢  现在电力很稳定了。只有因为这个吃过亏的才会想到上一套吧
回复

使用道具 举报

9

主题

527

帖子

2350

积分

金牌会员

Rank: 6Rank: 6

积分
2350
金钱
1823
HASS币
0
发表于 2020-5-2 11:14:37 | 显示全部楼层
用的ups带两台群晖。。。但是没接哈
回复

使用道具 举报

11

主题

359

帖子

2480

积分

金牌会员

Rank: 6Rank: 6

积分
2480
金钱
2121
HASS币
0
发表于 2020-5-2 18:30:39 | 显示全部楼层
esxi真的需要,esxi意外断电win会出问题开不了机,所以我也买了个主动ups当稳压器用,缺点是太吵,功耗高,自身功耗就是40W
回复

使用道具 举报

12

主题

98

帖子

615

积分

论坛积极会员

积分
615
金钱
517
HASS币
0
发表于 2020-5-5 16:10:40 | 显示全部楼层
我有一台UPS是SNMP协议的,我看NUT也支持SNMP协议,我安装之后一直无法运行,我想问一下SNMP协议的NUT的配置文件怎么写?就是HASSIO里那个
回复

使用道具 举报

19

主题

457

帖子

8161

积分

元老级技术达人

云淡风轻近午天

积分
8161
金钱
7704
HASS币
0

教程狂人

发表于 2020-5-6 08:56:21 | 显示全部楼层
我是直接通过群晖的ups服务发送指令给esxi实现停电指定时间后自动关机
回复

使用道具 举报

9

主题

163

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
金钱
1502
HASS币
50
 楼主| 发表于 2020-5-6 09:20:50 | 显示全部楼层
shao190 发表于 2020-5-5 16:10
我有一台UPS是SNMP协议的,我看NUT也支持SNMP协议,我安装之后一直无法运行,我想问一下SNMP协议的NUT的配 ...

这个还真没研究过,思路应该就是:
1、连接UPS
2、读取参数并调用
回复

使用道具 举报

9

主题

163

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
金钱
1502
HASS币
50
 楼主| 发表于 2020-5-6 09:22:27 | 显示全部楼层
luzai 发表于 2020-5-6 08:56
我是直接通过群晖的ups服务发送指令给esxi实现停电指定时间后自动关机

这个是哪个服务?能说一下吗,没用过
回复

使用道具 举报

6

主题

386

帖子

2045

积分

金牌会员

Rank: 6Rank: 6

积分
2045
金钱
1657
HASS币
0
发表于 2020-5-12 00:57:40 | 显示全部楼层
理论上nut可以实现很多终端关机,毕竟插件基本都有适配
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 03:36 , Processed in 0.174625 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表