history_stats传感器平台通过历史数据库,提供其他组件或平台的快速历史统计
它可以在自定义时间段内跟踪组件处于特定状态的时间长短。
您可以追踪的例子:

  • 你在这个星期多久在家
  • 昨天灯光亮了多久
  • 你今天看电视多久了

详细内容见 https://home-assistant.io/components/sensor.history_stats/

这里提供一个范本,统计今日观看电视的时间,大于5小时在晚上21点播报提示。
直接下载好存于package文件夹内即可。

  1. sensor:
  2. - platform: history_stats
  3. name: Fine weather this week
  4. entity_id: sensor.1hour_weather
  5. state: '晴'
  6. type: time
  7. start: '{{ as_timestamp( now().replace(hour=0).replace(minute=0).replace(second=0) ) - now().weekday() * 86400 }}'
  8. end: '{{ now() }}'
  9. - platform: history_stats
  10. name: How long you watched TV today
  11. entity_id: automation.1hour_pop
  12. state: 'on'
  13. type: time
  14. start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
  15. end: '{{ now() }}'
  16. group:
  17. History_Statistics:
  18. name: "历史统计"
  19. view: yes
  20. icon: mdi:timetable
  21. entities:
  22. - sensor.how_long_you_watched_tv_today
  23. - sensor.fine_weather_this_week
  24. - group.history_stats
  25. history_stats:
  26. - sensor.how_long_you_watched_tv_today
  27. - sensor.fine_weather_this_week
  28. - automation.send_tv_report
  29. homeassistant:
  30. customize:
  31. sensor.how_long_you_watched_tv_today:
  32. friendly_name: 统计今日看电视时间
  33. icon: mdi:television-classic
  34. sensor.fine_weather_this_week:
  35. friendly_name: 统计本周晴天时间
  36. icon: mdi:weather-sunny
  37. automation.send_tv_report:
  38. friendly_name: 播报今日看电视时长
  39. icon: mdi:television-classic
  40. automation:
  41. - alias: Send TV report
  42. initial_state: true
  43. hide_entity: false
  44. trigger:
  45. platform: time
  46. at: '21:00:00'
  47. condition:
  48. condition: numeric_state
  49. entity_id: sensor.how_long_you_watched_tv_today
  50. above: 5
  51. action:
  52. - service: tts.baidu_say
  53. data_template:
  54. entity_id: media_player.vlc_player
  55. message: >
  56. "晚上好!您今天看了{{states.sensor.how_long_you_watched_tv_today.state}}小时的电视,我建议您多运动!"
文档更新时间: 2017-09-10 04:23   作者:Tristan