如何在 perseo 规则中使用带有时间窗的模式?我按照EsperTech 教程的指示尝试了许多不同的组合,但是,每次我将其发布到 perseo 时,它们都没有成功。时间窗口的任何示例以及如何在该时间段内获得任何值(例如温度)的平均值都将受到高度赞赏。相信我,在询问之前我已经做了很多努力;)对我来说,一个有效的查询如下:
select *,\"temperature_range_XX-YY\" as ruleName, *, ev.temperature? as Temperature, ev.id? as Id, ev.datetime? as DateTime, ev.cid? as CID, current_timestamp as TS from pattern [every ev=iotEvent(cast(cast(temperature?,String),float)>XX or cast(cast(temperature?,String),float)<YY and type=\"sensors\")]
当然,这个查询只返回 XX 和 YY 范围之外的任何温度。我需要的是在特定时间温度超出范围时发出警报,以及在那段时间内所有值的平均值是多少。