我的 influxdb 数据库中有来自门传感器的数据。这是一个布尔传感器(门是否打开(值为false
)或者它被关闭(值为true
)),表格如下所示:
name: door
--------------
time value
1506026143659488953 true
1506026183699139512 false
1506026751433484237 true
1506026761473122666 false
1506043848850764808 true
1506043887602743375 false
我想计算在给定时间内门打开了多长时间。这ELAPSED https://docs.influxdata.com/influxdb/v1.3/query_language/functions/#elapsed函数让我接近,但我不确定如何(a)将其限制为仅初始值为的那些间隔false
,或(b)从类似的输出中识别“开放”间隔select elapsed(value, 1s) from door
.
我希望我能做这样的事情:
select elapsed(value, 1s), first(value) from door
但这并没有给我带来任何有用的东西:
name: door
--------------
time elapsed first
0 true
1506026183699139512 40
1506026751433484237 567
1506026761473122666 10
1506043848850764808 17087
1506043887602743375 38
我希望能有更多类似的东西:
name: door
--------------
time elapsed first
1506026183699139512 40 true
1506026751433484237 567 false
1506026761473122666 10 true
1506043848850764808 17087 false
1506043887602743375 38 true
缺少自己提取数据并在例如中进行处理。 python,有没有办法通过 influxdb 查询来做到这一点?
我也遇到了这个问题,我想对标志打开的时间持续时间进行求和,这在时间序列库的信号处理中很常见,但 influxdb 似乎并不能很好地支持这一点。我尝试使用值为 1 的标志进行 INTEGRATE,但它似乎没有给我正确的值。最后,我只计算数据源中的间隔,将它们作为单独的字段发布到 influxdb 中并对它们进行求和。这样效果会好得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)