sCloud-API利用方法

2019年3月14日

sCloud API(以降、API)について説明します。

概要

sCloud APIを利用することで、sRemo-Rの温度、湿度、照度情報を取得したり、リモコン制御などを行うことが可能となります。

利用可能な制御

現在、APIで利用できる制御は以下の4種類となります。

(1)温度、湿度、照度情報取得
(2)時間情報取得
(3)制限情報取得(5分間30アクセスまで)
(4)リモコン制御

利用前の注意事項

(1)API処理要求中(応答前)に次の要求を連続すると本体が輻輳しエラーとなる可能性があります。Response受信後に次の処理を実行するようにして下さい。
また、AIスピーカ連携やスマホ操作と処理が競合すると本体にて輻輳が発生する可能性があります。
(2)温度、湿度、照度情報取得はセンサー状態により極稀に取得失敗する場合があります。また、一度計測から5秒以上空けて計測をお願いします。
(3)アカウント単位に5分間で30アクセスまで利用できます。
(4)OAUTH2認証を用いて行い1アカウント1トークンの発行となります。
(5)現在、HTTPSのみ利用可能としています。(HTTPは許容しておりません。)

利用準備(アクセストークン、サーバ取得)

以下のサイトにアクセスし、sRemo-Rアプリと同じメールアカウントとパスワードでログインして下さい。
https://sremo.biz/

ログイン後にメニューから「APIアクセストークン」を選択して下さい。

「新規トークン発行」をクリックし発行して下さい。

発行されるとAPIサーバアクセストークンが表示されますので、コピーして控えて下さい
【※アクセストークンは再表示できません】

API仕様

認証

取得したアクセストークンを全てのアクセス時に、RequestのHTTPヘッダに以下を必ず付加して下さい。また、アクセストークンは利用期限はありません。
Authorization: Bearer {アクセストークン}

エラーコード

エラーコードはHTTPステータスコードに従って返答を行います。(詳細はRFC7231参照下さい)

各アクセスパス

現在、(1)〜(4)の4種類のアクセスパスとなりますので各々について以下の通り説明します。

(1)温度、湿度、照度情報取得

https://{APIサーバ}/user_api/{sRemo識別子}/get_thl
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】
HTTPメソッド:Get
パラメータ:なし

《Response》
{“t”:10,”h”:37,”l”:67}
上記のようにJSON形式で返答されます。t:温度、h:湿度、l:照度となります。

(2)時間情報取得

https://{APIサーバ}/user_api/{sRemo識別子}/get_time
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】
HTTPメソッド:Get
パラメータ:なし

《Response》
{“t”:”2019-03-11 11:08:07″}
上記のようにJSON形式で返答されます。t:sRemo-Rの現在時刻となります。

(3)制限情報取得(5分間30アクセスまで)

https://{APIサーバ}/user_api/{sRemo識別子}/get_limit
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】
HTTPメソッド:Get
パラメータ:なし

《Response》
12
上記のように現在の5分間の処理数が数値で返答されます。

(4)リモコン制御

https://{APIサーバ}/user_api/{sRemo識別子}/send_sig
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】
HTTPメソッド:Get,Post
パラメータ:sig (詳細な利用方法は次項を参照下さい)

《Response》
OK or NG
上記のように、OK,NGで返答されます。OKはsRemo-Rで処理が完了し応答完了を表しています。

パラメータ詳細【(4)リモコン制御】

リモコン制御は以下のリモコン種別によりパラメータのフォーマットが異なりますので該当の種別を参照し利用して下さい。

(a)1〜141ボタン制御
(b)家電専用画面【エアコン】
(c)家電専用画面【照明、TV、DVD、スイッチ】

各々の利用方法を以下に説明します。

(a)1〜141ボタン制御

1〜141ボタン番号を利用する場合は以下の通りパラメータを設定して下さい。
《パラメータフォーマット》
0-{ボタン番号}
フォーマットは「0-」が固定でボタン番号をつけて送信して下さい。

《送信例(Getの場合)》
ボタン10番を送信した場合
https://{APIサーバ}/user_api/{sRemo識別子}/send_sig?sig=0-10
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】

(b)家電専用画面【エアコン】

エアコンの家電専用画面のリモコンを制御する場合は以下の通りパラメータを設定して下さい。
《パラメータフォーマット》
{画面番号}-a-{ON/OFF}-{モード}-{風量}-{風向}-{温度}

画面番号は下図を参照し、1から6を選択して下さい。

その他のパラメータは以下を参照し設定して下さい。

 ON/OFFモード風量風向
パラメータn:ON
f:OFF
1:自動
2:冷房
3:暖房
4:ドライ
5:送風
1:自動
2:弱1
3:弱2
4:中3
5:中4
6:強5
7:静か
1:停止
2:上下
3:左右
4:両方

《送信例(Getの場合)》
画面番号1、冷房ON、風量:自動、風向:両方、温度:22℃の場合
https://{APIサーバ}/user_api/{sRemo識別子}/send_sig?sig=1-a-n-2-1-4-22
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】

(c)家電専用画面【照明、TV、DVD、スイッチ】

エアコンの家電専用画面のリモコンを制御する場合は以下の通りパラメータを設定して下さい。
《パラメータフォーマット》
{画面番号}-{家電種別}-{制御番号}

画面番号は下図を参照し、1から6を選択して下さい。

家電種別と制御番号は以下を参照し設定して下さい。

家電種別照明:l
(小文字エル)
TV:tDVD:dスイッチ:s
パラメータ
(制御番号)
1:点灯
2:消灯
3:全灯
4:常夜灯
5:明るく
6:暗く
7:白く
8:暖かく
9:おやすみ
1:電源
2:地上デジタル
3:BS
4:CS
5:入力切替
6:1
7:2
8:3
9:4
10:5
11:6
12:7
13:8
14:9
15:10
16:11
17:12
18:vol↑
19:vol↓
20:Ch↑
21:Ch↓
22:番組表
23:d
24:↑
25:↓
26:←
27:→
28:決定
29:ミュート
30:メニュー
31:戻る
32:青
33:赤
34:緑
35:黄
36:BS-1
37:BS-2
38:BS-3
39:BS-4
40:BS-5
41:BS-6
42:BS-7
43:BS-8
44:BS-9
45:BS-10
46:BS-11
47:BS-12
48:CS-1
49:CS-2
50:CS-3
51:CS-4
52:CS-5
53:CS-6
54:CS-7
55:CS-8
56:CS-9
57:CS-10
58:CS-11
59:CS-12
1:電源
2:地上D
3:BS
4:CS
5:HDD
6:BD/DVD
7:入力切替
8:早戻し
9:再生
10:早送り
11:|◀◀スキップ
12:一時停止
13:スキップ▶▶|
14:秒戻し
15:停止
16:秒送り
17:録画一覧
18:番組表
19:予約確認
20:d
21:↑
22:↓
23:←
24:→
25:決定
26:メニュー
27:戻る
28:青
29:赤
30:緑
31:黄
32:ChUp
33:ChDwn
1:ON
2:OFF
3:A
4:B
5:C
6:1
7:2
8:3
9:4
10:5
11:6
12:7
13:8
14:9

《送信例(Getの場合)》
画面番号3、TV、ミュートの場合
https://{APIサーバ}/user_api/{sRemo識別子}/send_sig?sig=3-t-29
【HEADに「Authorization: Bearer {アクセストークン}」が必要です】