Nature Remo E lite のデータを API で取得する

Hitoshi Arakawa | 2024/02/05 Mon 03:59

Nature Remo E lite を使い始めたと書いた。

Nature Remo E lite による電力通知
https://www.hitoshiarakawa.com/blogs/2024/2024-02-03_nature-remote-e-lite/

Nature Remote E lite のデータを API で取得することにした。

環境:macOS Ventura 13.5(英語環境)

(1)以下のページでアカウントのメールアドレスを入力すると、ログイン用のリンクが発行される(Nature Remo のアカウントはアカウント作成時もそうだったが、アカウントにパスワードを設定せず、メールでログインリンクを発行する方式のようだ)。アクセストークンの発行にはアプリを開く必要がないので、iPhone/iPad を使わずパソコンでできる。

Home
https://home.nature.global/

「Authorize」をクリック。

「Generate access token」をクリックすると、アクセストークが発行されるのでメモしておく。

Scope が [basic sendir echonetlite.*read] となっているので、データを読むだけの API のようだ。

(2)Mac の Terminal で以下のコマンドを実行すると、Nature Remo E lite のデータを取得できる。見やすいように jq コマンドを併用している。

$ curl -X GET "https://api.nature.global/1/appliances" -k --header "Authorization: Bearer {アクセストークン}" | jq

僕がほしいのは現在の消費電力なので、measured_instantaneous の部分を見ればいい(単位はワット)。

(3)2のコマンドのうち消費電力の数値のみを出力するには以下のコマンドを実行する。

$ curl -X GET "https://api.nature.global/1/appliances" -k --header "Authorization: Bearer {アクセストークン}" | jq -r '.[].smart_meter | .echonetlite_properties | .[5].val'

説明:

  • -r(–raw-output)オプションを付けることで引用符を取り除く。
  • jq コマンドに続けている部分で、smart_meter の echonetlite_properties の6番目の val の値に絞っている(0からカウントするので6番目は5だから、.[5].val)。

数値だけに絞ることで他のコマンドへも渡しやすくなる。

ドキュメントによると API のリクエスト制限は5分間で 30 回までなので、10 秒より短い間隔で実行するのは避けよう。

参考:
Toggl Track の記録を FileMaker に取り込む|荒川仁志
https://note.com/hitoshiarakawa/n/n0812e8c25eed

Nature Remo APIで色々やってみたメモ #curl - Qiita
https://qiita.com/TakSus/items/aeaa090b471b5fb57ece

json - JQコマンドでJSONの特定の値を抽出したい - スタック・オーバーフロー
link

#jq コマンドで #json 配列をスライスする例 #JSON - Qiita
https://qiita.com/YumaInaura/items/3b782d1168d111c00d15

jqコマンドでjsonから必要なデータのみを取得する #Linuxコマンド - Qiita
https://qiita.com/buntafujikawa/items/a769ebabbdd324ff0d6f

curlコマンドでapiを叩く #API - Qiita
https://qiita.com/buntafujikawa/items/758425773b2239feb9a7

awk - How to remove double-quotes in jq output for parsing json files in bash? - Stack Overflow https://stackoverflow.com/questions/44656515/%20%20how-to-remove-double-quotes-in-jq-output-for-parsing-json-files-in-bash

Nature Inc. | Nature Developer Page
https://developer.nature.global/

Amazon.co.jp: Nature 電力モニタリングシステム Nature Remo E lite エネマネ 節電 電気料金の目安を表示 電気使用量を可視化: 家電&カメラ
https://amzn.to/3Sn0PDk