メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

React アプリ

React はThingHTTPおよび MATLAB® Analysis アプリと連携して、チャネルデータが特定の条件を満たしたときにアクションを実行します。たとえば、モバイル アプリで緯度と経度を ThingSpeak™チャネルに報告することができます。自分の位置が家から一定の距離以内になったら、 ThingHTTPでリビングルームの照明をオンにします。

メモ

Bulk-Write JSON Data を使用するときに、Test FrequencyOn Data Insertion に設定して React アプリを使用すると、一括更新要求ごとに React が 1 回トリガーされます。Condition が複数回一致した場合でも、ConditionConditionType と一致するとトリガーされます。

React を特定の Condition Type を持つ特定の Test Frequency で実行するように設定する場合は、React がどのようにトリガーされるかに注意してください。データは時間の経過とともに収集され、バッチとして更新されるようになり、React をトリガーする Condition Type は単一のデータ バッチ内で変化する可能性があります。

チャネルデータへの反応を定義する

  1. AppsReactを選択します。

  2. New Reactをクリックします。

  3. 選択:

    • Condition Type

    • Test Frequency

    • アクション

    • Options

  4. Save Reactをクリックします。

条件の種類

ThingSpeakチャネルは、数値センサー データ、テキスト、文字列、ステータス更新、および地理的位置情報をサポートします。これらの条件タイプを使用して、チャネルデータに基づいて反応をトリガーする条件を指定します。

String

この条件は、ThingSpeakチャネルフィールド内の ASCII 文字を含むテキスト文字文字列をテスト。たとえば、「チャネル1、フィールド 1 が青に等しい場合は、ライトを青に設定します。」

文字列をテストするときは、次の制約でデータをチェックします。

  • 含む

  • で始まる

  • 終わりは

  • 等しい

  • 等しくない

ステータス

この条件は、チャネル内の ThingSpeak ステータスをテスト。ステータスで単語を検索し、テスト条件が満たされたときにThingHTTP要求を送信できます。

ThingSpeakチャネルのステータスをテストするときは、次の制約に従ってデータをチェックします。

  • 含む

  • で始まる

  • 終わりは

  • 等しい

  • 等しくない

数値

ThingSpeakチャネルのフィールドにセンサー データまたは数値データがある場合は、数値条件を使用します。 ThingHTTP を使用して、HTTP要求を受け入れる別のサービスまたはデバイスに制御コマンドを送信できます。

ThingSpeakチャネルフィールド内の数値をテストするときは、次の制約に従ってデータをチェックします。

  • より大きい

  • より大きいか等しい

  • より小さい

  • 以下

  • 等しい

  • 等しくない

地理的位置

この条件は、ThingSpeakチャネル内の位置データをチェックします。たとえば、緯度と経度を ThingSpeakチャネルに報告するモバイル アプリがあれば、自分の位置が家から一定の距離以内にあるときにリビングルームのライトをオンにすることができます。

ThingSpeakチャネルの位置情報のテストを行うときは、次の制約に従ってデータをチェックします。

  • 以内です

  • より遠い

データチェックなし

この条件は、ThingSpeakチャネルが指定された間隔でデータを受信しているかどうかを確認します。指定された時間範囲内にデータの更新が行われない場合、React アプリで選択されたアクションがトリガーされます。たとえば、停電によってデバイスが中断され、チャネルが更新されなくなった場合に、アクションをトリガーできます。アクションをトリガーする前に、チャネルが新しいデータを受信しない時間を指定します。

テスト頻度

指定された条件をテストできる頻度を選択します。

  • On Data Insertion:データが挿入されるたびにテスト。まったく同じ条件で、On Data Insertion を使用して複数の React を設定することはできません。

  • Every 10 minutes:時計に従って 10 分ごとにテスト。たとえば、午前 10 時 8 分に作成された React は、午前 10 時 18 分、午前 10 時 28 分、その後 10 分ごとにトリガーされます。

  • Every 30 minutes:時計に従って 30 分ごとにテスト。

  • Every 60 minutes:時計に従って1時間ごとにテスト。

アクション

MATLAB Analysis または ThingHTTPアクションをトリガーできます。

交換用キー

置換キーを使用してアプリにデータを渡すことができます。次の表は、使用できる標準およびカスタムの置換キーをまとめたものです。最後の列に示されているように、一部のキーは特定のタイプの要求に固有です。

キー説明使用方法
%%YOUR_CUSTOM_LABEL%%ThingHTTP は、このカスタム置換値を、トリガー要求内のラベル「YOUR_CUSTOM_LABEL」を持つデータに置き換えます。field1=%%YOUR_CUSTOM_LABEL%%
POSTデータ: YOUR_CUSTOM_LABEL=1234.
RESULT: field1=1234.
要求があれば
%%channel_CHANNEL_ID_
field_FIELD_NUMBER%%
指定されたチャネルとフィールドの最後の値。ThingHTTP要求と同じユーザーが所有していないプライベートチャネルへの置換要求は、空白の値を返します。The latest value is %%channel_12_field_1%%.
RESULT:The latest value is 2.5
要求があれば
%%datetime%%TimeControlまたは React が実行された完全な日時。The date and time the event occurred is %%datetime%%.
RESULT:The date and time the event occurred is 2014年9月24日午後5時32分
TimeControlまたはReact
%%day%%TimeControlが実行された曜日の名前。The day the event occurred is %%day%%.
RESULT:The day the event occurred is 水曜日
TimeControl
%%day_index%% 日曜日から始まる曜日のゼロベースのインデックス。The number of days used this week is %%day_index%%.
RESULT:The number of days used this week is 3
TimeControl
%%hour%%TimeControlが実行された時刻。The hour that the event occurred is %%時間%%.
結果:The hour that the event occurred is 5
TimeControl
%%minute%%TimeControlが実行された時刻の分。The minute the event occurred is %%分%%.
RESULT:The minute the event occurred is 30
TimeControl
%%trigger%%React をトリガーした値。It is way too hot in here at %%トリガー%% C.
結果:It is way too hot in here at 40 C
React
%%channel_id%%React をトリガーしたチャネル ID。The channel that triggers is %%channel_id%%.
RESULT:The channel that triggers is 1256
React

オプション

  • Run action only the first time the condition is met:条件が以前は偽で現在は真である場合にアクションをトリガーします。

  • Run action each time condition is met:条件が真になるたびにアクションをトリガーします。

MATLAB 解析コードエラーを使用した React アプリ

React を使用する MATLAB 解析コードがある場合、MATLAB 解析コードに連続してエラーが発生すると、React の実行が停止します。MATLABAnalysis アプリでボックス Notify me via email if this MATLAB Analysis fails when triggered by TimeControl or React をチェックすると、電子メールでアラートを受信するように選択できます。