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

 找回密码
 立即注册
查看: 6331|回复: 0

[经验分享] ha的python环境时区与系统时区不一致时的解决方法

[复制链接]

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24360
金钱
22929
HASS币
290
发表于 2021-7-22 14:05:49 | 显示全部楼层 |阅读模式
本帖最后由 dscao 于 2021-7-22 14:07 编辑

前天提示空间不足了,结果在pve中给磁盘增加大了,但实际磁盘空间也不足扩容。导致io错误,不得已重新安装hassos。
结果还是6月份备份的,近期增加了好几个好有的node-red,折腾了一个下午加一个通宵才重新恢复的差不多。

最后还发现不知道怎么搞得所有插件中涉及到时间全部比现在差了15个小时。
02.jpg
System Health

version: core-2021.7.3
installation_type: Home Assistant OS
dev: false
hassio: true
docker: true
virtualenv: false
python_version: 3.9.5
os_name: Linux
os_version: 5.10.45
arch: x86_64
timezone: Asia/Shanghai


GitHub API: ok
Github API Calls Remaining: 4825
Installed Version: 1.13.2
Stage: running
Available Repositories: 856
Installed Repositories: 26


logged_in: false
can_reach_cert_server: ok
can_reach_cloud_auth: failed to load: unreachable
can_reach_cloud: ok


host_os: Home Assistant OS 6.1
update_channel: stable
supervisor_version: supervisor-2021.06.8
docker_version: 20.10.6
disk_total: 11.1 GB
disk_used: 6.1 GB
healthy: true
supported: true
board: ova
supervisor_api: ok
version_api: failed to load: unreachable
installed_addons: Mosquitto broker (6.0.1), Samba share (9.5.1), RPC Shutdown (2.2), Nginx Proxy Manager (0.11.0), InfluxDB (4.1.1), MariaDB (2.4.0), Node-RED (9.2.1), Traccar (0.13.0), ESPHome (1.20.0)


dashboards: 3
resources: 23
views: 17
mode: storage

系统时区是没有问题的,模板生成的时间都没有问题,就是 custom_components 中的代码生成的时间都差了15个小时,而且不是8小时。
进入hassos中的容器查看
1.jpg

UTC时间也没有问题,而且搜索资料说hassos设计就是用utc时间的。

最后用在插件中输出检查时区信息,发现插件中的时区是PTC,难道是因为科学上网导致的。不管它吧,搜索到解决方法:

程序启动时加两行代码即可:

import os,time

os.environ['TZ'] = 'Asia/Shanghai'
time.tzset()  #Python time tzset() 根据环境变量TZ重新初始化时间相关设置。


于是在 gddr 插件中加入后,重启ha,之后终于恢复正常。其它插件的时间也一起正确了。
03.jpg


正确之后插件中这段代码应该可以删除了。

总结:python环境的时区有可能与系统的时区不一致,如果不一致可通过组件程序中的代码设置。




回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 08:44 , Processed in 0.345437 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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