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

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

[求助] HA数据库爆大怎么办……

[复制链接]

19

主题

479

帖子

2672

积分

金牌会员

Rank: 6Rank: 6

积分
2672
金钱
2193
HASS币
30
发表于 2023-7-29 19:12:22 | 显示全部楼层 |阅读模式
分配了差不多120个G给它还是不够,目前已用80%,还剩24个G备份文件加起来都没有100MB

用ssh查了查,似乎主要都是mariadb这个数据库占掉的,但是不知道究竟是什么东西的数据占了那么多

configuration里也设置了5天清理一次,可是好像没啥效果,就没见这玩意儿小下去过……
QQ截图20230729190801.png
ha是装在nas里的,nas的空间有很多,但是最近想试试坛友说的Frigate,看了下帖子说最好要有核显编解码
而nas的核显被我直通给jellyfin了,没法再给ha用
所以想把ha转移到N5105的软路由里,把N5105的核显直通给它,但是它这个吃存储的架势,软路由空间不是很大,不敢转过去啊
回复

使用道具 举报

43

主题

1361

帖子

5649

积分

论坛元老

Rank: 8Rank: 8

积分
5649
金钱
4278
HASS币
40
发表于 2023-7-29 23:05:10 | 显示全部楼层
看你日志
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

19

主题

479

帖子

2672

积分

金牌会员

Rank: 6Rank: 6

积分
2672
金钱
2193
HASS币
30
 楼主| 发表于 2023-7-29 23:33:28 | 显示全部楼层
本帖最后由 wdmywm3 于 2023-7-29 23:40 编辑

嘶,大佬一提醒我才想起来去看了眼日志,有一个报错从上次重启至今已经报了38万条了……我再重启了一次清零,但一会儿就一千条了
不过好像不是插件报错,请问大佬能看出来这个是啥吗更新:
我研究了一下,似乎是zigbee2mqtt的某个设备,我用了自定义的converter导致的(直接下载的别人写的),那几个设备上报频率非常高,所以一天就会累计非常多条,不过虽然知道了,但还是不知道咋改
Logger: homeassistant.helpers.template
Source: helpers/template.py:735
First occurred: 下午11:29:19 (1089 occurrences)
Last logged: 下午11:32:29

Template variable warning: 'dict object' has no attribute 'threshold_2_protection' when rendering '{{ value_json.threshold_2_protection }}'
Template variable warning: 'dict object' has no attribute 'threshold_1' when rendering '{{ value_json.threshold_1 }}'
Template variable warning: 'dict object' has no attribute 'threshold_2' when rendering '{{ value_json.threshold_2 }}'


回复

使用道具 举报

23

主题

265

帖子

1579

积分

金牌会员

Rank: 6Rank: 6

积分
1579
金钱
1314
HASS币
0
发表于 2023-7-30 17:44:48 | 显示全部楼层

recorder:
  # 可选项,以下配置表示每2天进行一次数据库“事件表”和“状态表”的清理动作;缺省值为永不清理。
  purge_interval: 1
  # 当配置了purge_interval后配置,以下配置表示在清理数据库历史记录时保留最近5天的记录。
  purge_keep_days: 5
这样格式配置没用了?
回复

使用道具 举报

43

主题

1361

帖子

5649

积分

论坛元老

Rank: 8Rank: 8

积分
5649
金钱
4278
HASS币
40
发表于 2023-7-30 17:54:55 | 显示全部楼层
wdmywm3 发表于 2023-7-29 23:33
嘶,大佬一提醒我才想起来去看了眼日志,有一个报错从上次重启至今已经报了38万条了……我再重启了一次清 ...

除了这个日志你还得看侧边栏哪个日志,哪个设备更新刷新最多
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

1

主题

80

帖子

524

积分

高级会员

陈二狗

Rank: 4

积分
524
金钱
444
HASS币
0
发表于 2023-7-30 20:18:52 | 显示全部楼层
你可以参考一下

#过滤的日志记录
recorder:
  auto_purge: true #启用自动清除
  purge_keep_days: 10 #保留10天
  commit_interval: 1 #日志记录的精准性 秒为单位
  exclude:      #以下为过滤部分
    entities:
      - device_tracker.yeelink_wifispeaker_v1_miioe389  #过滤yeelink的智能音箱
      - device_tracker.rockrobo #过滤扫地机器人
二狗如何解决玄学bug:
————————————————
1:重烧一次程序      2:插紧电线      3:吹一下灰尘
4:玩一会手机         5:放弃
回复

使用道具 举报

16

主题

167

帖子

1369

积分

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1202
HASS币
0
发表于 2023-7-31 14:05:31 | 显示全部楼层
frigate你不开人物识别的话不吃硬件,用n1跑都没问题
回复

使用道具 举报

31

主题

987

帖子

4442

积分

论坛元老

Rank: 8Rank: 8

积分
4442
金钱
3440
HASS币
90
发表于 2023-8-2 15:40:22 | 显示全部楼层
本帖最后由 relliky 于 2023-8-2 15:42 编辑

一般不应该这么大,可以用6楼的方法判断一下是哪个设备导致的。

我有个自动化会平时不开recorder,节省空间和储存寿命(主要是之前用的sd卡数据多了可能会报错,现在用ssd没这个问题),然后需要查错的时候通过一个input_boolean打开recorder,然后24小时内自动关闭recorder。


input_boolean:
  log_enable:
    name: "Log Enable"


input_datetime:
  log_disable_time:
    name: "Log Disable Time"
    has_date: true
    has_time: true

automation:
  # - Starts Log Enable and set timeout
  - alias: Enable/Disable Logging By The State of The Log Enable and Set Timeout for 24 Hours
    id: "1607918439986"
    trigger:
      - platform: state
        entity_id: input_boolean.log_enable
        to:
          - "on"
          - "off"
    action:
      - service: >
          {% if states('input_boolean.log_enable') == 'on' %}
            recorder.enable
          {% else %}
            recorder.disable
          {% endif %}
      # Reset the Timer
      - service: input_datetime.set_datetime
        entity_id: input_datetime.log_disable_time
        data_template:
          datetime: "{{ (now().timestamp())| timestamp_custom('%Y-%m-%d %H:%M:%S', true) }}"
      # IF log_enable is ON
      - condition: state
        entity_id: input_boolean.log_enable
        state: "on"
      # Make the timeout to 1 day later
      - service: input_datetime.set_datetime
        entity_id: input_datetime.log_disable_time
        data_template:
          datetime: "{{ (now().timestamp() + 60*60*24)| timestamp_custom('%Y-%m-%d %H:%M:%S', true) }}"

  - alias: Turn Off Logging By The Timeout
    id: "1607918439987"
    trigger:
      - platform: time_pattern
        minutes: "/5"
    action:
      # Time condition does not work with input_datetime so have to use template to work aorund
      - condition: template
        value_template: "{{now().timestamp() > state_attr('input_datetime.log_disable_time', 'timestamp')}}"
      - service: input_boolean.turn_off
        entity_id: input_boolean.log_enable
      - service: recorder.disable



我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-22 22:46 , Processed in 0.916326 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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