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

 找回密码
 立即注册
查看: 788|回复: 2

[技术探讨] 如何获取数据平均值(Moving average)(解决)

[复制链接]

2

主题

35

帖子

679

积分

高级会员

Rank: 4

积分
679
金钱
644
HASS币
0
发表于 2023-3-21 10:04:50 | 显示全部楼层 |阅读模式
本帖最后由 xybu 于 2023-3-21 14:35 编辑

原因:数据为风向角度,约5分钟更新一次,变化较大,想获取一个平均值。刚好apexcharts-card有这个功能,我设置为40分钟的平均值,如下图及代码。
请教:如何获取到这个平均数(152.4°),我要用于控制家中设备

解决方法在三楼

01.jpg

type: custom:apexcharts-card
locale: zh-cn
apex_config:
  chart:
    height: 300px
graph_span: 12h
header:
  show: false
  title: 风向
  show_states: true
  colorize_states: true
series:
  - entity: sensor.guan_zhou
    name: 官洲
    stroke_width: 2
    group_by:
      duration: 40min
      func: avg
    show:
      in_chart: true
      extremas: true
  - entity: sensor.guan_zhou
    name: 官洲1
    stroke_width: 2
    show:
      in_chart: true
      extremas: true





回复

使用道具 举报

76

主题

1356

帖子

1万

积分

元老级技术达人

积分
18252
金钱
16856
HASS币
290
发表于 2023-3-21 12:45:27 | 显示全部楼层
风向角度用平均值应该不太好吧?
比如北风,在350度至10度之间摆动,平均一下变成180度了,还以为是南风了。哈哈,不知我这理解的对不对呀。
回复

使用道具 举报

2

主题

35

帖子

679

积分

高级会员

Rank: 4

积分
679
金钱
644
HASS币
0
 楼主| 发表于 2023-3-21 13:53:09 | 显示全部楼层
本帖最后由 xybu 于 2023-3-21 14:33 编辑

当然不会只取在最新的两个数据的平均数,如上面设置是40分钟内数据会一起影响,应该是最新数据影响更大吧,我查到一种函数“Moving average”,但是不会用啊!
如果能用Node-red解决也可以!
找到一个官方的: 统计 - 家庭助理 (home-assistant.io)

搞定,代码如下:
  - platform: statistics
    name: "guan_zhou_wind"
    entity_id: sensor.guan_zhou
    unique_id: guan_zhou_wind
    state_characteristic: average_linear
    max_age:
      minutes: 40



回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-23 16:12 , Processed in 1.264709 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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