Nature Remo API で部屋の温度・湿度を取得する

概要

スマートリモコン Nature Remo の公式 API が公開されましたので試してみます。


Nature Remo の詳細はこちら。赤外線リモコンの遠隔操作だけでなく、温湿度など複数のセンサーも搭載した製品です。Google Home や Amazon Echo とも連携できて便利。 nature.global


アクセストークン発行

公式サイトにメールアドレスを入力すると、ログイン用の URL が届きます。

https://home.nature.global/

f:id:yuu2634:20180204161148p:plain


許可される権限は次の通り。センサー情報も取れそうですね。

f:id:yuu2634:20180204161323p:plain


他の連携サービスもここから管理できます。左下のボタンからトークンを作成。

f:id:yuu2634:20180204160944p:plain


トークンは一度しか表示されません。安全な場所に記録しておきます。

f:id:yuu2634:20180131082750p:plain


状態取得 API を叩く

Swagger ドキュメントが公開されています。ひとまず、デバイスの状態を取得する API を実行してみます。

http://swagger.nature.global/#/default/get_1_devices


/1/devices の curl コマンド例を確認

f:id:yuu2634:20180131083525p:plain


先ほど取得したアクセストークンをリクエストヘッダとして末尾に追加します。 形式: -H "Authorization: Bearer <アクセストークン>"

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer gyYP(略)"


結果が JSON で返ってくるため、jq コマンドで整形。
コマンドがない場合は jq play が便利です。(JSON をコピペ後 Filter 欄に . を入力)

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer gyYP(略)" | jq .


無事に取得できました。 .newest_events.te.val が摂氏の気温です。21度。hu.val は湿度ですね。

[
  {
    "newest_events": {
      "te": {
        "created_at": "2018-01-30T15:57:55Z",
        "val": 21
      },
      "hu": {
        "created_at": "2018-01-30T20:50:34Z",
        "val": 30
      }
    },
    "name": "Remo",
    "id": "xxxxxxxxxxxxxx",
    "created_at": "2018-01-11T12:14:09Z",
    "updated_at": "2018-01-30T23:13:07Z",
    "firmware_version": "Remo/1.0.62-xxxxxxxx",
    "temperature_offset": 0,
    "humidity_offset": 0,
    "users": [
      {
        "superuser": true,
        "nickname": "yuu26",
        "id": "xxxxxxxxxxxxxx"
      }
    ]
  }
]


気温だけを取得するため、さらに絞り込みます。

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer gyYP(略)" | jq .[].newest_events.te.val
21


湿度を取得する場合は以下のようになります。

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer gyYP(略)" | jq .[].newest_events.hu.val
30


まとめ

  • Nature Remo Cloud API を呼び出しました
  • 部屋の温度やデバイス状態を取得しました

もちろん、エアコンや家電の操作も可能ですので近いうちに試したいと思います。

→試しました。 blog.yuu26.com

blog.yuu26.com