トリガーの有効時間帯の設定
間隔の例
デバイストリガーは設定した条件に合致したデータが届いたときに動作しますが、間隔を指定することで前回の実行時刻よりこの間隔だけ経たないと次の実行が行われないように設定することができます。
例: デバイスからデータが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(ミリ秒)を指定している場合は、そのレイヤーに有効期限はなく直近の値で条件判断を行います。
Need more help with this?
Join our slack community for help