【Nature Remo】気温をスマホの通知バーに表示する例|Taskerで条件設定

Nature RemoはWi-Fi機能の付いた赤外線リモコンデバイス。そして、AndroidアプリのTaskerは、設定した条件によって、スマートフォンにさまざまな命令をできるアプリ。

今回は、TaskerとNature Remoを連携させて、指定した条件によってスマホの通知バーに現在の気温を表示する例となります。

Nature RemoとTaskerを利用し、部屋の気温を指定した時間に通知する例

Nature Remoアプリでも自動操作は行なえますが、Taskerを使用することで、より複雑な条件でのNature Remoの操作や、その他のスマホ設定変更も同時に自動で行えます。

Taskerで実行するタスクの流れ

例で作成するTaskerのタスクの流れは以下となり、その作成したタスクを18:50時時点で外出している場合に実行させます。

  1. Nature Remo の Cloud APIを使い、Nature Remo本体がもつ情報を取得
  2. 取得したデータをJavaScriptで処理をして、気温が28.0度以上または10.0度以下の場合に気温のデータを返す
  3. 気温のデータが返された場合に、通知バーに気温を表示

TaskerでNature Remo本体がもつ情報を取得する方法

TaskerからNature Remo本体がもつ情報を取得するためにCloud APIを利用するため「アクセストークン」が必要となります。

アクセストークンを発行する方法は以下のリンク先を参考にしてみてください。

気温をセットするユーザ定義変数を追加

例では、気温をセットするTaskerのユーザ定義変数を「%RemoTe」として、以下の手順で追加します。

  1. 「変数」タブを選択します。
  2. 「変数」タブ内の右下にある「+」ボタンをタップします。
    Taskerアプリ下部の画像
  3. 変数名を入力するダイアログが表示されるので、変数名を「%RemoTe」としてユーザ定義変数を追加します。
    変数名を入力するダイアログの画像
    変数名を入力するダイアログ。変数名を入力後、右端の「チェック」アイコンをタップ

取得したデータから気温を取り出すJavaScriptを作成

次に以下のJavaScriptファイルをスマホ内のストレージに用意します。

JavaScriptファイルでは、Cloud APIで取得したデータから気温を取り出し、気温が28.0度以上または10.0度以下の場合に、ユーザ定義変数の %RemoTe に取得した気温をセットします。それ以外の気温の場合には空文字をセットします。

また、Cloud APIのレスポンスコードが200以外の場合には「エラー」の文字列を%RemoTe にセットします。

const response = http_response_code;
let result = 'エラー';

if(response == '200'){
	const data = JSON.parse(http_data);
	const te = data[0]['newest_events']['te']['val'].toFixed(1);
	if(te > 27.9 || te < 10.1 ){
		result = te + '°';
	}else{
		result = '';
	}
}

setGlobal ('RemoTe', result);

Taskerの変数をJavaScriptからアクセス

Taskerの変数は、Taskerで扱うJavaScriptからでもアクセスできます。上記例では以下のTaskerの変数を利用しています。

  • %http_response_code
  • %http_data
  • %RemoTe

%http_response_code と%http_dataは、後述する「HTTPリクエスト」アクションが返す情報となり、%http_response_code はレスポンスコード、%http_dataはレスポンスデータが文字列で格納されています。

Taskerの変数については以下のリンク先を参考にしてみてください。

Taskerで扱うJavaScriptで利用できる関数

setGlobal()はTaskerで扱うJavaScriptで利用できる関数となり、Taskerのグローバル変数に値をセットできます。第1引数にはグローバル変数名、第2引数にはセットする値を指定します。

Taskerで扱うJavaScriptで利用できる関数は他にもあります。詳しくは文末の参考サイトを確認してみてください。

気温を表示する通知バーのタスクを作成

次に、気温を表示する通知バーを以下のようにタスク・アクションで設定します。

タスクを作成

  1. 「タスク」タブを選択します。
    Taskerアプリで「タスク」タブを選択した状態の画像
  2. 「タスク」タブ内の右下にある「+」ボタンをタップします。
    Taskerアプリ下部の画像
  3. タスク名を入力するダイアログが表示されるので、タスク名を「Remo 気温」として新規タスクを作成します。
    タスク名を入力するダイアログの画像
    タスク名を入力するダイアログ。タスク名を入力後、右端の「チェック」アイコンをタップ

タスクのアクションを追加

新規タスクを作成すると「タスク編集」画面に移行するので、画面の右下にある「+」ボタンから、以下の順番でアクションを追加・設定します。
「タスク編集」画面下部の画像

また、1つのアクションを設定し終えたら「戻る」ボタンで「タスク編集」画面に戻り、次のアクションを追加します。

  1. カテゴリー「ネット」>「HTTPリクエスト」アクションを追加して以下を設定します。
  2. HTTPリクエスト設定画面で、「方式」にGETを指定、「URL」に「https://api.nature.global/1/devices」を入力、「ヘッダー」には以下を入力します。また、XXXXXXXXの箇所には上記で発行したアクセストークンを指定します。
    Accept:application/json
    Authorization:Bearer XXXXXXXX
    HTTPリクエスト設定画面の画像
  3. 次にカテゴリー「コード」>「JavaScript」アクションを追加して以下を設定します。
  4. JavaScript設定画面の「パス」へ上記JavaScriptファイルのパスを指定します。また、「パス」の右側にある虫眼鏡アイコンから、ストレージ内のファイルパスを検索し指定できます。
    JavaScript設定画面の画像
  5. 次にカテゴリー「アラート」>「通知を出す」アクションを追加して以下を設定します。
  6. 通知を出す設定画面の「タイトル」に「自宅の気温」、「文字」に「%RemoTe」を入力し、「優先度」を5 に設定します。
    通知を出す設定画面の上部の画像
    通知を出す設定画面。「文字」右端にあるボタンをタップすると変数一覧から変数を選択できます
  7. 「通知を出す」設定画面の「カテゴリー」の右側にある虫眼鏡ボタン押して「ユーザー通知」を選択し、「If」に「%RemoTe」を入力し「値あり」を選択します。
    通知を出す設定画面の下部の画像
    通知を出す設定画面。「If」右側にあるボタンをタップすると変数一覧から変数を選択できます

以上がタスク・アクションの設定となります。

Nature Remo本体がもつ情報を取得できるCloud API

上記のタスクで利用したNature Remo本体がもつ情報を取得できるCloud APIについては、以下のリンク先を参考にしてみてください。

タスクの動作確認

作成したタスクが正常に動作するかを確認するには、「タスク編集」画面の左下にある「再生ボタン」をタップすることで確認できます。

タスク内(Task Edit)画面の下部
「タスク編集」画面の下部。タスクの動作確認は、左端の「再生ボタン」をタップ

その他のタスクのアクションについて

例のタスクは、Nature Remoを操作するだけですが、Bluetoothの接続・切断、画面の明るさ変更など、タスクのアクションは豊富にあり、上記アクションに追加できます。

タスクのアクション例については以下のリンク先を参考にしてみてください。

「自宅」「外出」の判断について

後述のプロファイルでは、「自宅」と「外出」によって値を変更するユーザー定義変数 %MYLOC を利用して帰宅を判断しています。

そのため、 %MYLOC の値を切り替えるプロファイルを以下のページ内の手順どおり作成します。

指定した実行条件のプロファイルを作成

最後に、上記のタスク「Remo 気温」を指定した時間に実行させるプロファイルを、以下の手順で作成します。今回の例では18:50時時点で外出している場合にタスクを実行させます。

18:50時を条件とするプロファイルを作成

まずは、18:50時を条件とするプロファイルを次のように作成します。

  1. 「プロファイル」タブを選択します。
    「プロファイル」タブを選択した状態の画像
  2. 「プロファイル」タブ内の右下にある「+」ボタンをタップします。
    「プロファイル」タブの下部の画像
  3. コンテキストが表示されるので「時間」を選択します。
  4. 時刻編集画面となるので、「開始」と「ここへ」の値を「18:50」に設定し「戻る」ボタンを押します。
    時刻編集画面の画像
  5. タスクを選択する画面が表示されるので、作成したタスク「Remo 気温」を選択します。

プロファイルを修正し自宅以外の条件を追加

「自宅」と「外出」を判断するプロファイルを作成すると、帰宅時にユーザー定義変数 %MYLOCの値に0がセットされます。

その変数を利用して上記で時間を設定したプロファイルを、次のように修正します。

  1. 「プロファイル」タブに、上記の時間を設定したプロファイルがあるので選択します。
  2. コンテキストの時間「18:50」が表示されるので長押しします。
  3. メニューが表示されるので「追加」を選択します。
  4. コンテキストが表示されるので、「状態」>「変数」>「変数の値」を選択します。
  5. 変数の値の設定画面で、「条件」を「%MYLOC !=0」と設定します。

以上の設定により、TaskerとNature Remoを連携させて、指定した条件によってスマホの通知バーに気温を表示できます。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは、項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

Twitterで返信する場合はこちらから。