[Trigger]タブでは、センサーの値による条件で起動できるデバイストリガーとタイマーによる定期実行を行うタイマートリガーを設定します。
トリガーを作成する前に、デバイスタブに従ってデバイスを設定し、「アクションの手順」に従って少なくとも1つのアクションを設定してください。
デバイスとアクションを設定し、デバイストリガーを作成します。
デバイストリガーを作成するには、右上の「+」記号をクリックします。
以下のダイアログが表示されます:
トリガー名で名前を入力して、登録したデバイスのエリアを選択してください。
条件タブではキーレイヤー/レイヤーとデバイスIDを選択します。センサーのタイプに応じて、ダイアログボックスの下部にさまざまなオプションが表示されます。
キーレイヤーに加えて複数(最大4つまで)のレイヤーの条件を入力する場合には、AndかOrを指定します。
キーレイヤーの条件は必ずAndとなります。
条件式のタイプ:
式にはトリガー内で使用できる関数を使用することが出来ます。関数はこちらを参照してください。
キーレイヤーにさらに追加をしたレイヤーでは有効期限(ミリ秒)を指定することができます。キーレイヤーの条件を満たした場合で、レイヤーの条件を判断する受信データの有効期限となります。
アクションタブでは実行するアクションを選択します。
アクションの実行には引数としてトリガープロパティーを複数(最大5つまで)指定することも出来ます。
トリガープロパティーはあらかじめ定義されている下記の3つと任意のプロパティ名を設定することも出来ます。
上記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 と設定されている場合
例2: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定していた場合(閾値によるトリガーを利用するを選択している場合)
例3: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定していた場合(閾値によるトリガーを利用するを選択していない場合)
例4: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定、レイヤーに湿度センサーの条件が 30%以上と設定していた場合(Andを選択している場合)
例5: キーレイヤーにドア・窓開閉センサーの条件が close と設定されており、レイヤーに温度センサーの条件が20°以上と設定、レイヤーに湿度センサーの条件が 30%以上と設定していた場合(Orを選択している場合)
式を選択する場合は、その条件が 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(ミリ秒)を指定している場合は、そのレイヤーに有効期限はなく直近の値で条件判断を行います。
アクションを設定し、タイマートリガーを作成します。
タイマートリガーを作成するには、右上の「+」記号をクリックします。
以下のダイアログが表示されます:
タイマー名で名前を入力してください。
繰り返し条件を選択します。
カスタム式は、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つと任意のプロパティ名を設定することも出来ます。
上記3つ以外に任意のプロパティー名と値を指定することで、その値もアクションないで参照することが出来ます。
スイッチを緑色に切り替えることによって、新しいトリガーを有効にすることを忘れないでください。
デバイス/タイマートリガーではアクションを実行するときに引数としてトリガープロパティーとトリガー変数を渡すことができます。
トリガー変数は tv. の変数で、センサーデータの受信によりイベントで駆動されたトリガーで tv. としてアクションに渡されます。
tv.Data : 受信したデータが設定されます。
トリガープロパティー tp. はトリガー設定のダイアログで定義可能で、同一アクションを呼び出してもtp. の値による条件分岐を使用することで動作を変えることができます。
トリガープロパティーはあらかじめ定義されている下記の3つと任意のプロパティ名を設定することも出来ます。