『Nature Remo』は赤外線リモコン対応のあらゆる家電を操作できる学習型のネットワーク対応スマートリモコンです。先日のアップデートでiPhoneのウィジェットから操作する機能が消えてしまったようなのでWorkflowアプリを使って復活させてみました。
Nature Remoは例えばこんな感じでリビングのTV台に、もう一台のNature Remo-miniは自室に設置しています。
公式アプリです。家電にはエアコン、TV、シーリング照明を登録しています。
ウィジェットがなくなったため家電操作には、①このアプリを開く、②家電を選択、③電源などの操作、という3ステップを要しますが、これをウィジェットからカンタンに操作できるようになります。
Nature Remoはこのデバイスが計測するセンサーの値を読み取ったり、赤外線信号の送信するなどのアクションが可能なAPIが公開されており(公式サイト API概要 https://developer.nature.global)、これを自動化アプリのWorkflowと組み合わせて実現します。
まずAPIを使うためのアクセストークンを取得
こちら(https://home.nature.global)からNature Remoのアカウントでログインし、アクセストークンを取得します。取得方法は先日のエントリを参考にしてください。すでに取得済みの場合は同じトークンを利用しても結構です。
家電情報の取得
ここから少し面倒になります。先ほど取得したアクセストークンを使って自分のNature Remoに学習させた家電の情報を取得します。
Macならターミナルから以下のコマンドを入力します。{アクセストークン}の部分は先ほど取得した自分のトークンにしてください。
1 |
$ curl -X GET "https://api.nature.global/1/appliances" -H "Authorization: Bearer {アクセストークン}" -H "accept: application/json" > curl.txt |
Windowsの場合は、まずこちらを参考にcurlコマンドを導入。次にcurlコマンドを解凍したフォルダを開き、アドレスバーに「cmd」と入力してEnterキーを押下しコマンドプロンプトを起動します。
ここで上記のコマンド($ curl – X GET 〜(以下略))をコマンドプロンプトに貼り付けて実行します。
これでcurl.txtにはRemo(複数台設置している場合はその全て)に登録されている家電の信号情報が格納(実行時と同じフォルダ)されました。
このファイルをメモ帳などで開き、全てコピーして次のJSON形式の整形・判定サイトに貼り付けます。
家電の信号IDを確認する(エアコン以外のトグルスイッチ)
ここからウィジェット経由で操作したい家電を探します。見分けるポイントは以下の通りです。
- RemoとRemo-miniは「firmware_version」で識別可能です。
- Remoに設定した名称(リビング、ダイニングなど)は、「device」の直下にある「name」で確認できます。
- 対象家電は「nickname」で探します。
以下はRemoの名称「リビング」に登録した「TV」機器の「電源」の例です。この電源はオンもオフも同じ赤外線信号を出すトグルスイッチ(現時点がオフであればオンになり、オンであればオフになる)を例にしています。
「signal」が「name」の信号「id」になります。このidの値(上記例では「ead7a686-・・・(略)」の部分)をメモしておきます。
家電の信号IDを確認する(エアコン以外のスイッチ)
電源のオンとオフが異なる赤外線信号である場合、Remoには別々に登録しているはずですから、以下のようになります。
このシーリング照明は、電源オン、電源オフ、全灯の3種類を登録してあるため信号IDが3つ表示されます。自分が操作したい信号の「id」の値をメモしておきます。
エアコンの電源スイッチの信号IDを確認する
Nature Remoの最大の特徴の一つは、初期作業時のリモコンの電源ボタンを押しただけでメーカーや型式も含めたリモコン情報(電源、動作モード、風量、温度調整など)を全て登録してくれることです。
そのため他の家電とは取得した情報が少し違って表示されます。
登録しているエアコン名称が「model」にある「manufacturer」にあるはずですのでそれを目安に検索します。
「リビング」の上にある「id」が登録されているエアコンの機器IDです(この例では「672b1770-・・・(略)」です)。これをメモしておきましょう。
これで必要な信号・機器IDは揃いました。次からWorkflowアプリのレシピを設定していきます。
Workflowアプリのレシピを設定
Workflowアプリのインストールは必須です。
Workflow
カテゴリ: 仕事効率化
販売元: DeskConnect, Inc.(サイズ: 113.0MB)
全てのバージョンの評価: 4.5(526件の評価)
次に家電をコントロールするためのレシピを、ご自身の操作したい機器に合わせて以下のリンクから取得します。
TV電源 照明 |
エアコン以外のスイッチ用 |
エアコン | 電源ON用 電源OFF用 |
電源オンとオフの赤外線信号が同じ場合は「TV電源」レシピを開きます。先ほど取得した信号IDとアクセストークンを「YourSignalID」「your_access_token」と入れ替えます。タイトル「TV電源」は機器に合わせて任意に変更してください。
上記の照明スイッチのように電源オンとオフの赤外線信号が違う場合は、オンとオフの両方のボタンが必要になります。「TV電源」レシピを複製して 機器名称とタイトルを変更するなどで修正してください。
エアコンは電源オンとオフの場合にレシピが異なりますので、両レシピを取得した上で設定を変更します。修正箇所はTV電源と同じで「YourAirConID」「your_access_token」をそれぞれ入れ替えます。
最後にWorkflowアプリのウィジェットへの追加を設定して終了です。
(おまけ)複数の家電を一括操作する
Nature Remoには「ただいま」「おやすみ」などのシーンを登録して家電を一括操作することができます。これもWorkflowのレシピを使ってウィジェット化することができます。
以下のレシピを取り込み操作したい家電の信号IDを設定してください。
シーン機能
https://workflow.is/workflows/400c3cf7c90548c6b0023961f3c20d21
このレシピのURLに含まれる「YourSignalId1」「YourSignalId2」「your_access_token」を変えてください。
とりあえず2つだけ設定できるようにしていますが、Actionの「URL」「Get Contents of URL」を追加して繰り返すことで操作できる家電をもっと増やすことができます。
ただし、使用上の制約としてリクエスト制限が5分間に30回となっていますので留意が必要です(公式サイト API概要 https://developer.nature.global)
IFTTTとか他の方法もありますが
Nature RemoはIFTTTにもサービス提供しているため、IFTTTアプレットを作る方が、上記の操作よりはカンタンだと思います。
ただ上記で紹介する方法は直接Nature RemoのAPIを叩きに行っているので構成としてはシンプルで確実に命令を伝えることができます。
再現性がないのでわかりませんが、IFTTTアプレットだと稀に無反応な場合があり、かつ家電の反応まで少しラグがあるように感じます。上記で紹介したWorkflowレシピはあくまでサプルですし、カスタマイズは無限にできます。
(そういえば)iOS12の『Siriショートカット』機能
次期OSのiOS12で新たに実装される『Siri Shortcut』を使うと、WorkflowのレシピをSiriにトリガーとなる音声を登録することで起動できるようになるようですので、音声でコントロールできるようになるかもしれません。
(ちなみに)Nature Remoのセンサー値の通知
Nature Remoは温度、湿度、照度も計測可能で、その値を取得して通知センターへ表示することも可能です。興味のある方は先日の記事をご参考ください。