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

 找回密码
 立即注册
查看: 3462|回复: 7

[技术探讨] 虚拟环境安装的ha ,command类的指令都无法执行及临时解决...

[复制链接]

2

主题

199

帖子

3379

积分

论坛元老

Rank: 8Rank: 8

积分
3379
金钱
3180
HASS币
0
发表于 2019-4-5 12:19:34 | 显示全部楼层 |阅读模式
按照Mirukuteii大的方法《【暗度陈仓】如何在斐讯N1上安装homeassistant 》用N1在虚拟环境中安装的ha,但是想把N1的CPU温度接入HA,使用ha官方组件command line sensor组件,配置如下  - platform: command_line
    name: CPU Temperature
    unit_of_measurement: "°C"
    command: "cat /sys/class/hwmon/hwmon0/temp1_input"
    unit_of_measurement: "°C"
    value_template: '{{ value | multiply(0.001) | round(1) }}'

总是无法执行成功,而切换到homeassistant的虚拟环境直接执行 cat /sys/class/hwmon/hwmon0/temp1_input则成功。
后来爬官方论坛找到解决方法是在cat前添加/bin/ 则执行成功。但是不知道原因,感觉像是虚拟环境中的ha找不到shell执行程序。个人尝试给ha用户指定shell好像也没成功。恳求各位大大怎么想想怎么从根本上解决这个问题。
回复

使用道具 举报

6

主题

198

帖子

1535

积分

金牌会员

Rank: 6Rank: 6

积分
1535
金钱
1337
HASS币
0
发表于 2019-4-5 12:33:26 | 显示全部楼层
我也在烦恼这个问题,问了很多人,无解。。。
回复

使用道具 举报

27

主题

2102

帖子

8544

积分

论坛元老

Rank: 8Rank: 8

积分
8544
金钱
6437
HASS币
30

论坛元老

发表于 2019-4-5 12:48:53 | 显示全部楼层
权限问题吧,hassio很多能执行的,ha就不行
回复

使用道具 举报

2

主题

199

帖子

3379

积分

论坛元老

Rank: 8Rank: 8

积分
3379
金钱
3180
HASS币
0
 楼主| 发表于 2019-4-5 13:34:21 | 显示全部楼层
情非殇 发表于 2019-4-5 12:48
权限问题吧,hassio很多能执行的,ha就不行

确实hassio执行没问题,ha执行不了。开始也怀疑权限问题,但是在切换账号到ha账户下执行shell命令也没问题,应该不是账号权限的问题。
回复

使用道具 举报

27

主题

2102

帖子

8544

积分

论坛元老

Rank: 8Rank: 8

积分
8544
金钱
6437
HASS币
30

论坛元老

发表于 2019-4-5 16:25:45 | 显示全部楼层
yingzaiha 发表于 2019-4-5 13:34
确实hassio执行没问题,ha执行不了。开始也怀疑权限问题,但是在切换账号到ha账户下执行shell命令也没问 ...

不是账号权限,我是怀疑是docker权限,hassio和ha本体的权限问题,
回复

使用道具 举报

10

主题

270

帖子

2251

积分

超级版主

Rank: 8Rank: 8

积分
2251
金钱
1961
HASS币
61

教程狂人

QQ
发表于 2019-4-5 16:57:59 | 显示全部楼层
hassio 是一个虚拟容器,它并不知道真机实际硬件情况。所以你想通过这个方式来获取物理机的设备情况应该是行不通的,除非给容器开启特权模式,但是没必要,也麻烦。你看看  ha 的 system monitor 组件挺不错的。
回复

使用道具 举报

2

主题

199

帖子

3379

积分

论坛元老

Rank: 8Rank: 8

积分
3379
金钱
3180
HASS币
0
 楼主| 发表于 2019-4-5 17:30:16 | 显示全部楼层
893399065 发表于 2019-4-5 16:57
hassio 是一个虚拟容器,它并不知道真机实际硬件情况。所以你想通过这个方式来获取物理机的设备情况应该是 ...

同样的command sensor组件hassio没问题,可以获取N1 CPU温度,反而是python虚拟环境安装的ha无法执行command命令。
回复

使用道具 举报

2

主题

199

帖子

3379

积分

论坛元老

Rank: 8Rank: 8

积分
3379
金钱
3180
HASS币
0
 楼主| 发表于 2019-4-5 20:11:23 | 显示全部楼层
本帖最后由 yingzaiha 于 2019-4-5 20:13 编辑

最后找到问题根源了,原来原因是Mirukuteii大《【暗度陈仓】如何在斐讯N1上安装homeassistant 》中的/etc/systemd/system/home-assistant@homeassistant.service 文件中Environment=PATH="$VIRTUAL_ENV/binPATH",没有添加usr/bin等路径
[Unit]Description=Home AssistantAfter=network.target[Service]Type=simpleUser=homeassistantEnvironment=PATH="$VIRTUAL_ENV/binPATH"ExecStart=/srv/homeassistant/homeassistant_venv/bin/hass -c "/home/homeassistant/.homeassistant"[Install]WantedBy=multi-user.target
改成
[Unit]Description=Home AssistantAfter=network.target[Service]Type=simpleUser=homeassistantEnvironment=PATH="$VIRTUAL_ENV/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/binPATH"
ExecStart=/srv/homeassistant/homeassistant_venv/bin/hass -c "/home/homeassistant/.homeassistant"[Install]WantedBy=multi-user.target

就可以了

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-14 14:48 , Processed in 0.084626 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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