2017-04-10 1 views
0

私はEsperが新しく、警告システムを実装しようとしています。アイテムの値がしきい値を超えたときにイベントをスローする必要があります。 たとえば、車の場合、プロパティタンクが値40を超えたときにイベントを取得し、この値が40未満に戻ったときに別のイベントを取得したいとします。Esper:値がしきい値を超えたときにイベントをスローする

私はEsperの多くの機能を試しましたが、

私はそのような何かをしたかったが、それは正常に動作しません:

insert into AlertEvt select b from pattern[t=Car while (t.tank > 90) -> b=AlertEvt(type=t.tank, machineName=t.module)] 

は、誰かが私を助けることができると思います。

答えて

0

値が40を超えたこの1つの警告:

select * from Event(value > 40) 

この1つの警報値は一度40を超えた後に40を下回っ:

select * from pattern[Event(value > 40) -> Event(value < 40)] 

あなたはどのくらいの頻度で述べるませんでしたので、 (一度、毎回?)、警告したくないとき(40以上の間に抑制するか?)、私は繰り返しや抑制を加えなかった。ソリューションパターンページは非常に役立ちます。私はあなたが言わなかった要求に答えるのを助けるかもしれない以下のいくつかのリンクを持っています。

http://espertech.com/esper/solution_patterns.php#semantic-window-1

http://espertech.com/esper/solution_patterns.php#semantic-window-2

+0

http://espertech.com/esper/solution_patterns.php#semantic-window-0おかげで、それは便利です。あなたの要求は「終わりの警告」を投げます。私はアラートが始まると1つのイベントを、それが終了すると1つのイベントをスローしようとしています。しかし、値は上限値ですが、私は多くの警告をスローしたくありません。たぶんエスペリアの文脈で。 – Arthur

+0

最初のイベントを取得するには、 "context xyz select * from Event#firstevent"を試してください。さもなければ、コンテキストは行く方法です。 – user650839

関連する問題