HomeAssistant 通过 SSH 获取 Intel 主机自己的功耗
需要使用 https://www.home-assistant.io/integrations/command_line 这个 commend line 集成,通过命令行输入数据。
从命令行获取功耗数据
Intel 一直支持通过 RAPL 获取 CPU 自身的耗电量(电能)
1 |
|
这个是 package-0 域的,包含 DRAM、核显,就是整个 SoC 的功耗。
而 Intel Syklake 之后的版本支持 PSYS 域,即 intel-rapl:1
1 |
|
基本上就是全板的功耗了,还包含 SoC 之外设备的功耗(当然不含电源适配器的损耗)
导入 HomeAssistant
HomeAssistant 本身命令行的环境是在容器里,各种麻烦。脱离容器最简单的方法是直接 SSH 连主机。而 ssh
不支持非交互式密码认证,那就是说要密钥认证。
配置好主机的 SSH 密钥认证(这种网上教程太多了,就是 ssh-keygen
)之后,把私钥粘贴到 /config/ssh-key
/homeassistant
基本就是/config
的软链接,但用/config
没有问题
因为 HomeAssistant Commend Line 执行权限的问题,私钥不能拷到
/root/.ssh
下,虽然whoami
是 root,但有各种问题
然后最终就是 configuration.yaml
中添加:
1 |
|
具体参数设置基本比较清楚了
建议获取到单位为焦耳的数据,然后再通过辅助元素,变化率传感器之类的算出功耗。不要直接 bash 输出最终结果