created: 2022-06-03T08:38:44.909Z
NatureRemo で家電を curl から操作できるようにする
暑くなってきて、NatureRemoで扇風機をつけたり消したりしたくなった。
トークンを取得
こちらのページからトークンを払い出すことができる。とても簡単で素晴らしいと思った。
appliances(登録して操作できるようになっている機器)を一覧する
curl -H "Authorization: Bearer $NATURE_REMO_TOKEN" \
-H "accept: application/json" \
"https://api.nature.global/1/appliances"
取得したものから目当てのデバイスを見つける
jq で探すと楽。
$ cat /tmp/_.json | jq '.[] | select(.nickname | test("サーキュレーター"))'
{
"aircon": null,
"device": {
"created_at": "2019-12-09T14:08:13Z",
"firmware_version": "Remo/1.0.79-gbbc1234",
"humidity_offset": 0,
"id": "433ba565-d471-1234-900f-ba6c7511fe83",
"mac_address": "2c:f4:32:2d:23:9c",
"name": "リモ",
"serial_number": "1W219090001234",
"temperature_offset": 0,
"updated_at": "2022-06-02T12:23:24Z"
},
"id": "6b72d00d-e906-1234-b0d9-7b257aasdf91a9",
"image": "ico_fan",
"model": null,
"nickname": "ファミリールームサーキュレーター",
"settings": null,
"signals": [
{
"id": "a231c133-6d83-43d6-b5f8-90dasfb037fff",
"image": "ico_on",
"name": "オン"
},
{
"id": "7dc5af79-2f71-4414-9869-0bd9a393asdf79",
"image": "ico_timer",
"name": "タイマー"
}
],
"type": "IR"
}
赤外線を発射するAPIを叩く
赤外線をsendするためのsignal APIを叩く。
パラメータはないがPOSTリクエストにするのに注意。
curl -XPOST -H "Authorization: Bearer $NATURE_REMO_TOKEN" \
-H "accept: application/json" \
"https://api.nature.global/1/signals/${NATURE_REMO_CIRC_SIG_ON}/send"
参考
その他
ちなみに Nature Remo の Local API というのがあるが、これはおそらくだいたいの人が期待するようなものではない。デバッグ的な機能のようだ。
直近に受信した赤外線を返すAPIのようです。永続化はされてないようで、そのうちクリアされて404が返るようになります。