【问题标题】:InfluxQL: Calculate periode of status changeInfluxQL:计算状态变化的周期
【发布时间】:2022-09-24 11:30:14
【问题描述】:

我的 InfluxDB 中有一个用于停车传感器的表格,它发送占用 (1) 和空置 (9) 的状态。 现在我想创建一个查询,显示状态更改之间的时间段,以便我可以创建一个关于停车位被占用和空闲时间的报告。 数据由停车传感器生成,并通过 node-red 插入到 influxdb 中。 数据位于 Ubuntu 20.04 上的 InfluxDB 版本 1.8.10。 表数据实际上具有以下结构:

名称:停车信息 |时间 |状态编号 | | -------- | -------------- | | 1646302488500839186 | 1 | | 1646302488500203666 | 1 | | 1646302488499932866 | 2 | | 1646302488499826263 | 1 |

状态编号:1 = 空置,2 = 占用

有人可以帮我为此创建查询吗? 谢谢!

    标签: influxdb influxql


    【解决方案1】:

    在 InfluxDB 中报告给定状态的总持续时间是可行的,但仅在 Flux 中而不是在 InfluxQL 中(很容易)。 你可以:

    1. 在 v1.8 中启用 Flux 并更改配置 here

    2. 样品通量可能是:

      来自(桶:“yourDatabaseName/autogen”)|> 范围(开始:2022-03-03T00:00:00Z,停止:2022-03-03T23:59:59Z)|> 过滤器(fn:(r)=> r ._measurement == "yourMeasurementName") |> stateDuration(fn: (r) => r._value == 1, column: "state", unit: 1m)

      来自(桶:“yourDatabaseName/autogen”)|> 范围(开始:2022-03-03T00:00:00Z,停止:2022-03-03T23:59:59Z)|> 过滤器(fn:(r)=> r ._measurement == "yourMeasurementName") |> stateDuration(fn: (r) => r._value == 2, column: "state", unit: 1m)

      同样,在 InfluxQL 中仍然无法做到这一点,尽管社区已经等待了一段时间。查看更多详细信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 2021-10-31
      • 1970-01-01
      相关资源
      最近更新 更多