Gravio トリガーマニュアル
目次
- トリガータブの概要
- デバイストリガー
- デバイストリガーの作成
- トリガーの有効時間帯の設定
- トリガーの実行条件の設定
- アクションの設定
- トリガーの有効化
- 設定例
- タイマートリガー
- タイマートリガーの作成
- スケジュールの設定
- アクションの設定
- トリガーの有効化
- トリガー変数とトリガープロパティー
- トリガー変数
- トリガープロパティー
トリガータブの概要
[Trigger]タブでは、センサーの値による条件で起動できるデバイストリガーとタイマーによる定期実行を行うタイマートリガーを設定します。
トリガーを作成する前に、デバイスタブに従ってデバイスを設定し、「アクションの手順」に従って少なくとも1つのアクションを設定してください。
デバイストリガー
デバイストリガーの作成
デバイスとアクションを設定し、デバイストリガーを作成します。
デバイストリガーを作成するには、右上の「+」記号をクリックします。

以下のダイアログが表示されます:

トリガー名で名前を入力して、登録したデバイスのエリアを選択してください。
トリガーの有効時間帯の設定

- 時間タブでは使用するカレンダーを選択します。カレンダーはCoordinatorを使用している場合に選択可能となります。
- 有効時間を指定するにチェックを入れて開始と終了の時間を指定すると、その時間内だけこのトリガー条件は有効となります。
- 間隔はトリガー条件を監視する間隔を指定します。
- 閾値によるトリガーを利用するが選択されている場合は受信データが設定された閾値を超えた場合にのみ再実行されます。
- 実行中ならスキップするを選択すると、トリガーの実行中に新しくトリガー条件が一致した場合は新しいトリガーは実行されません。
トリガーの実行条件の設定

条件タブではキーレイヤー/レイヤーとデバイスIDを選択します。センサーのタイプに応じて、ダイアログボックスの下部にさまざまなオプションが表示されます。
キーレイヤーに加えて複数(最大4つまで)のレイヤーの条件を入力する場合には、AndかOrを指定します。 - Andを指定して場合は「 キーレイヤーの条件 And (レイヤーの条件 And レイヤーの条件 And …)」となり、 - Orを指定して場合は 「キーレイヤーの条件 And (レイヤーの条件 Or レイヤーの条件 Or …)」となります。
キーレイヤーの条件は必ずAndとなります。
条件式のタイプ: - 数値の比較の条件式は 任意の値、 = 、 != 、 > 、 >= 、 < 、 <= 、 範囲 、 式 - 文字列の比較の条件式は 任意の値、 = 、 != 、 次を含む 、 次を含まない 、 次で始まる 、 次で始まらない 、 次で終わる 、 次で終わらない 、正規表現 、 式
式にはトリガー内で使用できる関数を使用することが出来ます。関数はこちらを参照してください。
キーレイヤーにさらに追加をしたレイヤーでは有効期限(ミリ秒)を指定することができます。キーレイヤーの条件を満たした場合で、レイヤーの条件を判断する受信データの有効期限となります。

アクションの設定

アクションタブでは実行するアクションを選択します。
アクションの実行には引数としてトリガープロパティーを複数(最大5つまで)指定することも出来ます。
トリガープロパティーはあらかじめ定義されている下記の3つと任意のプロパティ名を設定することも出来ます。
- tp.KeyAreaName : 選択されたエリア名が設定されます。
- tp.KeyLayerName : 条件で指定した最初のキーレイヤー名が設定されます。
- tp.TriggerName : 実行されるトリガー名が設定されます。
上記3つ以外に任意のプロパティー名と値を指定することで、その値もアクションないで参照することが出来ます。
設定例につきましてはこちらを参照してください。
トリガーの有効化
スイッチを緑色に切り替えることによって、新しいトリガーを有効にすることを忘れないでください。
設定例
トリガーの有効時間帯の設定
間隔の例
デバイストリガーは設定した条件に合致したデータが届いたときに動作しますが、間隔を指定することで前回の実行時刻よりこの間隔だけ経たないと次の実行が行われないように設定することができます。
例: デバイスからデータが2秒に一度届くが、トリガーは10秒ごとに実行したい場合、間隔は9000ms(10秒の10%ほど低い値)を指定します。
このように設定することで2秒毎の受信データは以下のようなタイミングでトリガーが実行されます。 受信データ1(トリガー実行)、受信データ2、受信データ3、受信データ4、受信データ5、受信データ6(トリガー実行)、受信データ7
閾値の例
このパラメータは、常にデータを送信するセンサー(温度センサー、ドア・窓開閉センサー、ワイヤレススイッチなど)に対応するために導入されました。
例1: 温度センサーで閾値によるトリガーに設定がオンの場合でトリガーが >20° に設定されている場合、センサーが20°以上のデータを送信してトリガーが実行された後は一度20°を下回り再度20°以上にならないと実行はされません。閾値によるトリガーに設定がオフの場合は、センサーが20°以上のデータを送信するとトリガーは常に実行されます。
21°, 22°, 18°, 23°とセンサーがデータを送信した場合、閾値によるトリガーが設定されている場合は21°, 23°で実行されますが、設定されていない場合は21°, 22°, 23°で実行されます。
例2: ドア・窓開閉センサーで閾値によるトリガーに設定がオンの場合でトリガーが =close に設定されている場合、センサーがcloseのデータを送信してトリガーが実行された後は一度openにならないと実行はされません。閾値によるトリガーに設定がオフの場合は、センサーがcloseデータを送信するとトリガーは常に実行されます。
close, close. open, closeとセンサーがデータを送信した場合、閾値によるトリガーが設定されている場合はclose, closeで実行されますが、設定されていない場合はclose, close. closeで実行されます。
例3: ワイヤレススイッチで閾値によるトリガーに設定がオンの場合でトリガーが = click に設定されている場合、センサーがclickのデータを送信してトリガーが実行された後は一度click以外のデータにならないと実行はされません。閾値によるトリガーに設定がオフの場合は、センサーがclickデータを送信するとトリガーは常に実行されます。
click, click. double click, clickとセンサーがデータを送信した場合、閾値によるトリガーが設定されている場合はclick, clickで実行されますが、設定されていない場合はclick, click. clickで実行されます。
トリガーの実行条件の設定
キーレイヤーの例
キーレイヤーとは、必ず指定するレイヤーの条件となります。トリガー条件を満たしアクションが実行されるのは、このキーレイヤーのデータを受信し、かつトリガー条件を満たしている場合となります。
例1: キーレイヤーにドア・窓開閉センサーの条件が close と設定されている場合 1. ドア・窓開閉センサーのデータ open を受信 2. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 3. ドア・窓開閉センサーのデータ open を受信 4. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます
例2: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定していた場合(閾値によるトリガーを利用するを選択している場合) 1. ドア・窓開閉センサーのデータ open を受信 2. ドア・窓開閉センサーのデータ close を受信(トリガーは実行されません) 3. 温度センサーのデータ 20.0° を受信 4. ドア・窓開閉センサーのデータ open を受信 5. 温度センサーのデータ 19.8° を受信 6. ドア・窓開閉センサーのデータ close を受信 (トリガーは実行されません) 7. ドア・窓開閉センサーのデータ open を受信 8. 温度センサーのデータ 20.1° を受信 9. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 10. 温度センサーのデータ 20.2° を受信
例3: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定していた場合(閾値によるトリガーを利用するを選択していない場合) 1. ドア・窓開閉センサーのデータ open を受信 2. ドア・窓開閉センサーのデータ close を受信(トリガーは実行されません) 3. 温度センサーのデータ 20.0° を受信 4. ドア・窓開閉センサーのデータ open を受信 5. 温度センサーのデータ 20.1° を受信 6. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 7. ドア・窓開閉センサーのデータ open を受信 8. 温度センサーのデータ 20.2° を受信 9. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 10. 温度センサーのデータ 20.1° を受信
例4: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定、レイヤーに湿度センサーの条件が 30%以上と設定していた場合(Andを選択している場合) 1. ドア・窓開閉センサーのデータ open を受信 2. ドア・窓開閉センサーのデータ close を受信(トリガーは実行されません) 3. 温度センサーのデータ 20.0° を受信 4. ドア・窓開閉センサーのデータ open を受信 5. 温度センサーのデータ 20.1° を受信 6. ドア・窓開閉センサーのデータ close を受信(トリガーは実行されません) 7. ドア・窓開閉センサーのデータ open を受信 8. 湿度センサーのデータ 35% を受信 9. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 10. 温度センサーのデータ 20.1° を受信
例5: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定、レイヤーに湿度センサーの条件が 30%以上と設定していた場合(Orを選択している場合) 1. ドア・窓開閉センサーのデータ open を受信 2. ドア・窓開閉センサーのデータ close を受信(トリガーは実行されません) 3. 温度センサーのデータ 20.0° を受信 4. ドア・窓開閉センサーのデータ open を受信 5. 温度センサーのデータ 20.1° を受信 6. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 7. ドア・窓開閉センサーのデータ open を受信 8. 湿度センサーのデータ 35% を受信 9. ドア・窓開閉センサーのデータ close を受信 << ここでトリガーが実行されます 10. 温度センサーのデータ 20.1° を受信
式の例
式を選択する場合は、その条件が true の場合にトリガーの実行条件が成立します。
例1: 温度センサーの温度が25度以上の場合 式 : tv.Data >= 25
例2: 温度センサーの温度が20度以上25度以下の場合 式 : tv.Data >= 20 && tv.Data <= 25
例3: IVARの顔認識でFR_UNKNOWNを受信した場合 イベントタイプ : 任意のイベント 式 : tv.Data.common.type == "FR_UNKNOWN"
例4: IVARの顔認識でマスクをしていないデータを受信した場合 イベントタイプ : 任意のイベント 式 : tv.Data.iod.mask == "NONE"
キーレイヤーと追加をしたレイヤーのトリガー条件の例
例: CO2が1000ppmを超えた場合で、かつ人感センサーで人がいるときだけトリガーを実行する場合
キーレイヤーではCO2のレイヤーの値が1000ppmを超えた時と条件を指定します。またレイヤーの人感センサーは反応したときだけの条件とします。
その際に、人感センサーは人がいないときにはデータを送信しないため、1時間前に人がいたけれどももういなくなったような場合、直近の値(1時間前のデータ)で条件比較すると、まだ人がいるということになってしまいます。
こういう場合に、レイヤーで「有効期限」に60000ミリ秒(1分)を指定しておくことで、直近1分以内に人感センサーが反応したときだけトリガーを実行することが可能になり、人がいないときにはCO2が1000ppmを超えた場合でもトリガーは実行しない、ということを実現できるようになります。
また、「有効期限」に0(ミリ秒)を指定している場合は、そのレイヤーに有効期限はなく直近の値で条件判断を行います。
タイマートリガー
タイマートリガーの作成
アクションを設定し、タイマートリガーを作成します。
タイマートリガーを作成するには、右上の「+」記号をクリックします。

以下のダイアログが表示されます:

タイマー名で名前を入力してください。
- カレンダーを選択します。カレンダーはCoordinatorを使用している場合に選択可能となります。
- 有効時間を指定するにチェックを入れて開始と終了の時間を指定すると、その時間内だけこのトリガー条件は有効となります。
- 実行中ならスキップするを選択すると、トリガーの実行中に新しくトリガー条件が一致した場合は新しいトリガーは実行されません。
スケジュールの設定

繰り返し条件を選択します。 - インターバルは一定の分ごとの実行となります。 - 1時間ごとは指定の開始時刻(分、秒)ごとの実行となります。 - 毎日は指定の開始時刻(時、分、秒)ごとの実行となります。 - 週次は指定の開始時刻(時、分、秒)で指定の曜日ごとの実行となります。 - 月次は指定の開始時刻(時、分、秒)で指定の日ごとの実行となります。 - カスタムはcronの指定方法により詳細な実行設定が可能となります。
カスタム式は、5つのスペースで区切られたフィールドを使用して回数のセットを表します。
| 分 | 必須 | 許容される値 | 利用できる特殊文字 |
|---|---|---|---|
| 秒 | 必須 | 0-59 | * / , - |
| 分 | 必須 | 0-59 | * / , - |
| 時 | 必須 | 0-23 | * / , - |
| 日 | 必須 | 1-31 | * / , – ? |
| 月 | 必須 | 1-12 or JAN-DEC | * / , - |
| 曜日 | 必須 | 0-6 or SUN-SAT | * / , – ? |
例 : 年に1回1月1日 0:00:00 "0 0 0 1 1 *"
タイマートリガーのアクションの設定

アクションタブでは実行するアクションを選択します。
アクションの実行には引数としてトリガープロパティーを複数(最大5つまで)指定することも出来ます。
トリガープロパティーはあらかじめ定義されている下記の3つと任意のプロパティ名を設定することも出来ます。
- tp.KeyAreaName : 選択されたエリア名が設定されます。
- tp.KeyLayerName : 条件で指定した最初のキーレイヤー名が設定されます。
- tp.TriggerName : 実行されるトリガー名が設定されます。
上記3つ以外に任意のプロパティー名と値を指定することで、その値もアクションないで参照することが出来ます。
タイマートリガーの有効化
スイッチを緑色に切り替えることによって、新しいトリガーを有効にすることを忘れないでください。
トリガー変数とトリガープロパティー
デバイス/タイマートリガーではアクションを実行するときに引数としてトリガープロパティーとトリガー変数を渡すことができます。
トリガー変数
トリガー変数は tv. の変数で、センサーデータの受信によりイベントで駆動されたトリガーで tv. としてアクションに渡されます。
tv.Data : 受信したデータが設定されます。
トリガープロパティー
トリガープロパティー tp. はトリガー設定のダイアログで定義可能で、同一アクションを呼び出してもtp. の値による条件分岐を使用することで動作を変えることができます。
トリガープロパティーはあらかじめ定義されている下記の3つと任意のプロパティ名を設定することも出来ます。
- tp.KeyAreaName : 選択されたエリア名が設定されます。
- tp.KeyLayerName : 条件で指定した最初のキーレイヤー名が設定されます。
- tp.TriggerName : 実行されるトリガー名が設定されます。