Nature Remo Cloud API を使って赤外線リモコンの信号を送信する
どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)
これまで Nature Remo Cloud API について下記の記事を書きました。
- Nature Remo Cloud API について(その1)⇒ API 概要のページ
- Nature Remo Cloud API について(その2)⇒ アクセストークンの取得とcurl コマンドで Nature Remo Cloud API の使い方
- Nature Remo 3 本体のセンサーの情報を jq で絞り込み取得する
- Nature Remo デバイスに登録した電化製品の情報を取得する
- Nature Remo E lite からスマートメーターの情報を取得する
そしてリモコン操作をする記事を書いてなかった(´・ω・`)
この記事の前提は、下記の通り
- 既にスマートリモコン Nature Remo シリーズの製品でリモコン信号の登録が終わっていること
- アクセストークンを取得していること
アクセストークンを取得していない場合、「Nature Remo Cloud API について(その2)」を参考に取得してください。
リモコン操作する電化製品の情報を取得する
なので「Nature Remo デバイスに登録した電化製品の情報を取得する」で紹介した下記のコマンドで取得する。
curl -X GET "https://api.nature.global/1/appliances" -H "accept: application/json" -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" | jq .
アクセストークンなどをマスクした状態で結果を表示すると、こんな感じになる。
curl -X GET "https://api.nature.global/1/appliances" -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 4114 100 4114 0 0 4114 0 0:00:01 --:--:-- 0:00:01 4968
[
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"device": {
"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
},
"model": {
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"manufacturer": "",
"name": "Smart Meter",
"image": "ico_smartmeter"
},
"type": "EL_SMART_METER",
"nickname": "スマートメーター",
"image": "ico_smartmeter",
"settings": null,
"aircon": null,
"signals": [],
"smart_meter": {
"echonetlite_properties": [
{
"name": "coefficient",
"epc": 211,
"val": "1",
"updated_at": "2022-02-11T21:46:02Z"
},
{
"name": "cumulative_electric_energy_effective_digits",
"epc": 215,
"val": "6",
"updated_at": "2022-02-11T21:46:02Z"
},
{
"name": "normal_direction_cumulative_electric_energy",
"epc": 224,
"val": "475342",
"updated_at": "2022-02-11T21:46:02Z"
},
{
"name": "cumulative_electric_energy_unit",
"epc": 225,
"val": "2",
"updated_at": "2022-02-11T21:46:02Z"
},
{
"name": "reverse_direction_cumulative_electric_energy",
"epc": 227,
"val": "74",
"updated_at": "2022-02-11T21:46:02Z"
},
{
"name": "measured_instantaneous",
"epc": 231,
"val": "934",
"updated_at": "2022-02-11T21:46:02Z"
}
]
}
},
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"device": {
"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
},
"model": {
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"country": "JP",
"manufacturer": "koizumi",
"remote_name": "kaw-12",
"series": "",
"name": "Koizumi AC 001",
"image": "ico_ac_1"
},
"type": "AC",
"nickname": "窓用エアコン",
"image": "ico_ac_0",
"settings": {
"temp": "24",
"temp_unit": "c",
"mode": "cool",
"vol": "2",
"dir": "",
"dirh": "",
"button": "power-off",
"updated_at": "2021-08-10T18:00:01Z"
},
"aircon": {
"range": {
"modes": {
"blow": {
"temp": [
""
],
"dir": [
""
],
"dirh": [
""
],
"vol": [
"1",
"2"
]
},
"cool": {
"temp": [
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29"
],
"dir": [
""
],
"dirh": [
""
],
"vol": [
"1",
"2"
]
},
"dry": {
"temp": [
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29"
],
"dir": [
""
],
"dirh": [
""
],
"vol": [
""
]
}
},
"fixedButtons": [
"power-off"
]
},
"tempUnit": "c"
},
"signals": []
},
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"device": {
"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
},
"model": {
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"country": "JP",
"manufacturer": "koizumi",
"remote_name": "kaw-12",
"series": "",
"name": "Koizumi AC 001",
"image": "ico_ac_1"
},
"type": "AC",
"nickname": "エアコン",
"image": "ico_ac_1",
"settings": {
"temp": "25",
"temp_unit": "c",
"mode": "cool",
"vol": "2",
"dir": "",
"dirh": "",
"button": "power-off",
"updated_at": "2021-09-15T03:48:30Z"
},
"aircon": {
"range": {
"modes": {
"blow": {
"temp": [
""
],
"dir": [
""
],
"dirh": [
""
],
"vol": [
"1",
"2"
]
},
"cool": {
"temp": [
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29"
],
"dir": [
""
],
"dirh": [
""
],
"vol": [
"1",
"2"
]
},
"dry": {
"temp": [
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29"
],
"dir": [
""
],
"dirh": [
""
],
"vol": [
""
]
}
},
"fixedButtons": [
"power-off"
]
},
"tempUnit": "c"
},
"signals": []
},
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"device": {
"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
},
"model": null,
"type": "IR",
"nickname": "13インチディスプレイ",
"image": "ico_tv",
"settings": null,
"aircon": null,
"signals": [
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "電源",
"image": "ico_io"
},
{
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "切り替え",
"image": "ico_forward"
}
]
}
]
例えば 13インチディスプレイの電源をオン/オフする場合
「nickname」が「13インチディスプレイ」になっているところの下の方にある「signals」のブロックの「name」に「電源」が含まれるブロックの「id」に注目する。
上記の例だと 311 行目の id。
これをシグナルIDと呼ぶことにする。
この時の13インチディスプレイの電源をオン/オフする curl コマンドは下記のようになる。(電源オン、電源オフともに同じコマンド)
curl -X POST "https://api.nature.global/1/signals/シグナルID/send" -H "accept: application/json" -H "Authorization: Bearer アクセストークン"
「nickname」が「13インチディスプレイ」になっているところの下の方にある「signals」のブロックの「name」に「切り替え」が含まれるブロックの「id」をシグナルIDとした場合は、上記のコマンドで実行するたびに HDMI1 ⇒ HDMI2 ⇒ USB ⇒ VGA ⇒ HDMI1 と入力切替ができる。
ここまではOKだ
画面サイズ 13.3 インチ
HDMIポート数 2
ハードウェアインターフェイス VGA, USB, HDMI
接続技術 VGA, HDMI
コメント
このブログの新着コメントをRSSリーダに登録する為のxml