我有来自门传感器的 influxdb 数据库中的数据。这是一个布尔传感器(门打开(值为false)或关闭(值为true)),表格如下所示:
name: door
--------------
time value
1506026143659488953 true
1506026183699139512 false
1506026751433484237 true
1506026761473122666 false
1506043848850764808 true
1506043887602743375 false
Run Code Online (Sandbox Code Playgroud)
我想计算在给定的时间内门打开的时间。在已播放功能让我接近,但我不知道如何可以(一)限制它,只有那些间隔将初使值false,或(b)从类似的输出确定“开放”的时间间隔select elapsed(value, 1s) from door。
我希望我能做这样的事情:
select elapsed(value, 1s), first(value) from door
Run Code Online (Sandbox Code Playgroud)
但这并没有让我得到任何有用的东西:
name: door
--------------
time elapsed first
0 true
1506026183699139512 40
1506026751433484237 567
1506026761473122666 10
1506043848850764808 17087
1506043887602743375 38
Run Code Online (Sandbox Code Playgroud)
我希望有更多类似的东西:
name: door
--------------
time elapsed first
1506026183699139512 40 true
1506026751433484237 567 false
1506026761473122666 10 true
1506043848850764808 17087 false
1506043887602743375 38 true
Run Code Online (Sandbox Code Playgroud)
没有自己提取数据并在例如 python 中处理它,有没有办法通过 influxdb 查询来做到这一点?
小智 0
我也遇到了这个问题,我想对标志打开的时间持续时间进行求和,这在时间序列库的信号处理中很常见,但 influxdb 似乎并不能很好地支持这一点。我尝试使用值为 1 的标志进行 INTEGRATE,但它似乎没有给我正确的值。最后,我只计算数据源中的间隔,将它们作为单独的字段发布到 influxdb 中并对它们进行求和。这样效果会好得多。
| 归档时间: |
|
| 查看次数: |
2132 次 |
| 最近记录: |