« Nature Remo Cloud API について(その2) | トップページ | Nature Remo デバイスに登録した電化製品の情報を取得する »

2022.02.06

Nature Remo 3 本体のセンサーの情報を jq で絞り込み取得する

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Nature Remo Cloud API について(その2)」にも記載したように Remo の newest_events の部分が、Nature Remo 3 本体のセンサーの情報で val が値である。

・hu:湿度(humidity)
・il:照度(illuminance)
・mo:人感(motion)
・te:温度(temperature)

jq を使うことでそれぞれの値を絞り込んで取得できます。

湿度センサーの値取得

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

2022/02/13追記 湿度センサーがない Nature Remo mini シリーズでは取得できません。

照度センサーの値取得

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" | jq .[].newest_events.il.val

2022/02/13追記 照度センサーがない Nature Remo mini シリーズでは取得できません。

人感センサーの値取得

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" | jq .[].newest_events.mo.val

2022/02/13追記 人感センサーがない Nature Remo mini シリーズでは取得できません。

温度センサーの値取得

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

補足の追記

▼2022/02/12 追記ここから

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

ちなみに、この記述は Nature Remo 本体を持っていて、かつ、Nature Remo の製品が1つだけのときに湿度だけ出力されます。

Nature Remo の製品が複数あるときにこの記述をすると、こんな出力になります。

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" | jq .[].newest_events.hu.val
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1081 100 1081 0 0 1081 0 0:00:01 --:--:-- 0:00:01 1503
null
47

Nature Remo 3 の湿度センサーの値は47%

それは良いとしてその前のnullは何でしょう?

かげさんの場合、Nature Remo の製品(Nature Remoデバイス)を2つ持っています。

  1. Nature Remo 3
  2. Nature Remo E lite


赤外線リモコンの代わりに、スマホを使って家電を操作できます。外出先からでも家の家電を操作することができるので、家に帰る前にエアコンをつけたりすることができます。Google Home、Amazon Echo、Apple HomePod などのスマートスピーカーと連携させることで、スマート家電ではない家電も音声で操作できるようになります。※スマートスピーカーがなくてもスマホから家電を操作することは可能です。


Nature Remo E liteは、家庭の電力量をリアルタイムにスマホでチェックしたり週、月、年ごとにグラフで比較できる電力モニタリングシステムです。デバイス1つで家全体の消費電力量が確認できます。

Nature Remo Cloud API について(その2)のようにjqによる絞り込みを入れない時は、こうなります。

curl -X GET "https://api.nature.global/1/devices" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1081 100 1081 0 0 1081 0 0:00:01 --:--:-- 0:00:01 1356
[
{
"name": "Remo E lite",
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"created_at": "2022-01-25T14:43:37Z",
"updated_at": "2022-01-25T14:44:04Z",
"mac_address": "XX:XX:XX:XX:XX:XX",
"bt_mac_address": "XX:XX:XX:XX:XX:XX",
"serial_number": "4W1XXXXXXXXXXX",
"firmware_version": "Remo-E-lite/1.3.9",
"temperature_offset": 0,
"humidity_offset": 0,
"users": [
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"nickname": "かげさん",
"superuser": true
}
],
"newest_events": {}
},
{
"name": "Remo",
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"created_at": "2021-06-20T10:07:47Z",
"updated_at": "2022-02-10T14:19:51Z",
"mac_address": "XX:XX:XX:XX:XX:XX",
"bt_mac_address": "XX:XX:XX:XX:XX:XX",
"serial_number": "1W3XXXXXXXXXXX",
"firmware_version": "Remo/1.6.6",
"temperature_offset": 0,
"humidity_offset": 0,
"users": [
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"nickname": "かげさん",
"superuser": true
}
],
"newest_events": {
"hu": {
"val": 41,
"created_at": "2022-02-05T14:06:34Z"
},
"il": {
"val": 64,
"created_at": "2022-02-05T14:10:32Z"
},
"mo": {
"val": 1,
"created_at": "2022-02-05T14:05:42Z"
},
"te": {
"val": 20.4,
"created_at": "2022-02-05T14:09:34Z"
}
}
}
]

name のところを見てもらうと Remo E lite 、Remo の順になっています。そして、Remo E lite の方にある newest_events には hu も val もありません。つまりデータが存在しない = null となります。

湿度取得の curl コマンドの jq の部分だけ見てみます。

jq .[].newest_events.hu.val

後ろの方、.newest_events.hu.val は、newest_events 内の hu 内の val という意味です。

前の方の .[] は、ルート(最上位階層)内の全配列という意味です。

配列番号は 0 から始まります。配列部分は、上述の jq の絞り込みを入れない場合の最上位階層は [ から始まるので、次の階層 { の中が0番目の配列になります。つまり、name が Remo E lite の部分です。同様に1番目の配列は、name が Remo の部分になります。

ということで、かげさんが Nature Remo 3 本体の湿度を取得したい場合は、jq の部分をこのように記述する必要があります。

jq .[1].newest_events.hu.val

hu:湿度センサーの値なので hu の部分を il に変えると照度センサーの値、 mo に変えると人感センサーの値、te に変えると温度センサーの値が取得できます。

▲2022/02/12 追記ここまで

ここまではOKだ



赤外線リモコンの代わりに、スマホを使って家電を操作できます。外出先からでも家の家電を操作することができるので、家に帰る前にエアコンをつけたりすることができます。Google Home、Amazon Echo、Apple HomePod などのスマートスピーカーと連携させることで、スマート家電ではない家電も音声で操作できるようになります。※スマートスピーカーがなくてもスマホから家電を操作することは可能です。


Nature Remo E liteは、家庭の電力量をリアルタイムにスマホでチェックしたり週、月、年ごとにグラフで比較できる電力モニタリングシステムです。デバイス1つで家全体の消費電力量が確認できます。

 このエントリーをはてなブックマークに追加

| |コメント (0)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。