Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志

Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志

2026-02-20 22:23:25 1点赞 0收藏 0评论

折腾 Home Assistant 的尽头是啥?是永无止境地跟各种奇葩的底层 Bug 斗智斗勇。

最近刚给家里的服务器搞定了 Macvlan 旁路由,彻底打通了智能家居的网络任督二脉。本以为终于可以安逸地享受全屋智能了,结果无意间点开 HA 的历史日志,好家伙,直接被 Xbox 给刷屏了。

Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志

抓包案发现场

满屏都是极其离谱的状态切换,一分钟内能在可用和不可用之间反复横跳十几次:

顺手去 Core 日志里扒了一下底层报错,发现了大量这样的 Timeout: Error fetching xbox data: Failed to connect to Xbox Network due to a connection timeout

Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志

作为习惯了看 Log 找 Bug 的人,第一反应肯定是本地网络出了问题。但我的旁路由 DNS 劫持和透明代理稳如老狗,终端里连 GitHub 都是秒回 200 状态码,绝对不是本地网络问题。那到底是谁在作妖?

溯源排错:微软 API

去 GitHub 的 Home Assistant 官方源码仓库和 Reddit 上一搜,瞬间破案。原来这不是我们自己配置的锅,而是官方 Xbox 集成的出名老毛病。

罪魁祸首在于微软 Xbox API 极其严格的速率限制和令人堪忧的连接稳定性。Home Assistant 为了获取你的实时游戏状态,会频繁向微软服务器发起轮询。只要网络出现哪怕一两秒的微小波动,或者请求稍微多了一点,微软的 API 就会直接把你的请求掐断。

HA 这边一断连,立刻就把你 Xbox 相关的十几项传感器全部标记为不再可用;等下一秒重新连上,又瞬间把这十几项数据全部更新一遍。一天来回这么折腾几次,你的数据库日志不爆炸才怪。

Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志

眼不见为净的解决方案

既然是上游 API 的体质问题,死磕网络是没有意义的。我们只需要保留 Xbox 集成的核心开关状态(用于做灯光联动等自动化),至于那些烦人的头像变更、在线状态变更,直接从数据库层面拦截记录,既能让面板清净,还能极大节省 NAS 硬盘的无谓读写损耗。

打开你的 HA 配置文件 /config/configuration.yaml,直接加上这两段:

# 把 metricclock5308 换成你自己的 Xbox ID

# 屏蔽掉特定实体的数据库写入

recorder:

exclude:

entity_globs:

- "sensor.metricclock5308*"

- "binary_sensor.metricclock5308*"

# 屏蔽掉特定实体的日志簿显示

logbook:

exclude:

entity_globs:

- "sensor.metricclock5308*"

- "binary_sensor.metricclock5308*"

保存文件,去系统设置里重启一下 Home Assistant 核心。

Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志Home Assistant每天几百条日志?教你优雅屏蔽 Xbox 的刷屏日志

再次进入系统,你的 Xbox 依然能完美触发自动化,但那个疯狂刷屏的日志已经彻底消失了。世界清净。

如果你也在折腾 Home Assistant,遇到这种上游管杀不管埋的日志刺客,善用 recorder 绝对是保平安的最佳策略。

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松