WebAPI設定

WebAPIを使うと、FHCの機能を外部プログラムから呼び出すことができます

概要
WebAPIを利用することで、FHCの機能を外部プログラムから扱えるようになります。
WebAPIが届く範囲は LAN内です。インターネット経由からの操作はできません。

WebAPIでは、家電の情報の取得、操作、センサーの値の取得ができます。
通信は、HTTP GETでおこない、結果は、jsonで返されます。
文字コードは、UTF-8 になります。

WebAPIは、正常に実行されると、"result": "ok" の後に値が返されます。
失敗すると、 "ok" 以外の値になります。また、失敗時は、 code と message という値にエラーの状態が格納されます。

成功時の例:
{"result": "ok", "list": ["エアコン","照明","扇風機","プロジェクタ"] }
失敗時の例:
{"result": "error", "code": "20004", "message": "エラーメッセージ"] }

家電名一覧の取得
設定されている家電名一覧を返します。

URL
http://192.168.x.x/api/elec/getlist?webapi_apikey=SECRET

引数
1.webapi_apikey
APIKEYの値を入れます

戻り値
家電の名前が返されます。
{"result": "ok", "list": ["エアコン","照明","扇風機","プロジェクタ"] }

result
成功したら ok を返します。
list
家電名が配列で入ります。

現在、「"エアコン","照明","扇風機","プロジェクタ"」になっていますから、
今登録されている家電は、「エアコン」「照明」「扇風機」「プロジェクタ」の4つがあることがわかります。

家電のアクションの取得
設定されている家電のアクション(動作)一覧を返します。

URL
http://192.168.x.x/api/elec/getactionlist?webapi_apikey=SECRET&elec=家電名

引数
1.webapi_apikey
APIKEYの値を入れます
2.elec
家電の名前を入れます

戻り値
家電のアクション(動作)一覧が返されます。
{ "result": "ok","list":[ "つける","けす"] }

result
成功したら ok を返します。
list
家電のアクション(動作)が配列で入ります。

現在、「"つける","けす"」になっていますから、
この家電はアイコンは、「つける」動作と「けす」動作の2つがあることがわかります。


家電の情報の取得
設定されている家電の詳細情報を連想配列で返します。
ver1.58以降からはインターネット経由から呼び出せるremote webapiが利用できます。

URL
http://192.168.x.x/api/elec/getinfo?webapi_apikey=SECRET&elec=家電名

(remote) https://fhc.rti-giken.jp/api/elec/getinfo?webapi_apikey=SECRET&user=USERMAIL&elec=家電名

引数
1.webapi_apikey
APIKEYの値を入れます
2.elec
家電の名前を入れます

戻り値
家電の詳細情報が連想配列で返されます。
{"result": "ok", "elecicon": "elec.png","order": "2","showremocon": "1","status": "つける","type": "照明"}
result
成功したら ok を返します。
elecicon
家電のアイコンの名前を返します。
FHCでは、以下の場所にアイコンが格納されています。
"http://192.168.x.x/user/elecicon/"

現在、「elec.png」になっていますから、
この家電はアイコンは以下のURLから取得できるということになります。
"http://192.168.x.x/user/elecicon/elec.png"
order
リモコン画面での家電の並び順です。
リモコン画面で、左から何番目にあるかを表します。
一番左にある最初のアイコンは 1番目です。

現在、「2」になっていますから、
この家電はリモコン画面の2番目に表示されています。
showremocon
表示/非表示の設定です。
1だと表示。0だと非表示になります。

現在、「1」になっていますから、
この家電をリモコン画面から操作できます。
status
家電の現在の状態です。

現在、「つける」になっていますから、
今だと、この照明家電は点灯しているようです。
type
家電の種類です。

現在、「照明」になっていますから、
この家電は、照明器具のようです。


家電に関するすべての情報の取得
家電について設定されている詳細データを取得します。

URL
http://192.168.x.x/api/elec/detaillist?webapi_apikey=SECRET

引数
1.webapi_apikey
APIKEYの値を入れます

戻り値
大量の情報が返されます。
FHCのリモコン画面は、このJSONから生成していますので、この値を使うとFHCと同じ物が作れます。
{ "result": "ok" ,"elec_5_elecicon": "aircon.png","elec_5_order": "1","elec_5_showremocon": "1","elec_5_status": "暖房普通","elec_5_type": "エアコン","elec_5_action_3_actiontype": "冷房普通","elec_5_action_3_actionvoice_command_1": "エアコンつける","elec_5_action_3_actionvoice_command_2": "エアコンふつう","elec_5_action_3_actionvoice_command_3": "エアコンつけて","elec_5_action_3_actionvoice_command_4": "","elec_5_action_3_actionvoice_command_5": "","elec_5_action_3_exec_command": "iremocon.js","elec_5_action_3_exec_command_args1": "192.168.10.2:51013","elec_5_action_3_exec_command_args2": "13","elec_5_action_3_exec_command_args3": "","elec_5_action_3_exec_command_args4": "","elec_5_action_3_exec_command_args5": "","elec_5_action_3_exec_ir": "1353033559_1745223924","elec_5_action_3_exec_macro_1_action": "操作を行わない","elec_5_action_3_exec_macro_1_after": "次のコマンドへ","elec_5_action_3_exec_macro_1_elec": "操作を行わない","elec_5_action_3_exec_macro_2_action": "操作を行わない","elec_5_action_3_exec_macro_2_after": "次のコマンドへ","elec_5_action_3_exec_macro_2_elec": "操作を行わない","elec_5_action_3_exec_macro_3_action": "操作を行わない","elec_5_action_3_exec_macro_3_after": "次のコマンドへ","elec_5_action_3_exec_macro_3_elec": "操作を行わない","elec_5_action_3_exec_macro_4_action": "操作を行わない","elec_5_action_3_exec_macro_4_after": "次のコマンドへ","elec_5_action_3_exec_macro_4_elec": "操作を行わない","elec_5_action_3_exec_macro_5_action": "操作を行わない","elec_5_action_3_exec_macro_5_after": "次のコマンドへ","elec_5_action_3_exec_macro_5_elec": "操作を行わない","elec_5_action_3_execflag": "赤外線","elec_5_action_3_order": "1","elec_5_action_3_showremocon": "1","elec_5_action_3_tospeak_mp3": "","elec_5_action_3_tospeak_select": "文字列","elec_5_action_3_tospeak_string": "","elec_5_action_4_actiontype": "暖房普通","elec_5_action_4_actionvoice_command_1": "だんぼうつけて","elec_5_action_4_actionvoice_command_2": "","elec_5_action_4_actionvoice_command_3": "","elec_5_action_4_actionvoice_command_4": "","elec_5_action_4_actionvoice_command_5": "","elec_5_action_4_exec_command": "iremocon.js","elec_5_action_4_exec_command_args1": "192.168.10.2:51013","elec_5_action_4_exec_command_args2": "16","elec_5_action_4_exec_command_args3": "","elec_5_action_4_exec_command_args4": "","elec_5_action_4_exec_command_args5": "","elec_5_action_4_exec_ir": "1352210632_1270950244","elec_5_action_4_exec_macro_1_action": "操作を行わない","elec_5_action_4_exec_macro_1_after": "次のコマンドへ","elec_5_action_4_exec_macro_1_elec": "操作を行わない","elec_5_action_4_exec_macro_2_action": "操作を行わない","elec_5_action_4_exec_macro_2_after": "次のコマンドへ","elec_5_action_4_exec_macro_2_elec": "操作を行わない","elec_5_action_4_exec_macro_3_action": "操作を行わない","elec_5_action_4_exec_macro_3_after": "次のコマンドへ","elec_5_action_4_exec_macro_3_elec": "操作を行わない","elec_5_action_4_exec_macro_4_action": "操作を行わない","elec_5_action_4_exec_macro_4_after": "次のコマンドへ","elec_5_action_4_exec_macro_4_elec": "操作を行わない","elec_5_action_4_exec_macro_5_action": "操作を行わない","elec_5_action_4_exec_macro_5_after": "次のコマンドへ","elec_5_action_4_exec_macro_5_elec": "操作を行わない","elec_5_action_4_execflag": "赤外線","elec_5_action_4_order": "2","elec_5_action_4_showremocon": "1","elec_5_action_4_tospeak_mp3": "","elec_5_action_4_tospeak_select": "文字列","elec_5_action_4_tospeak_string": "","elec_5_action_2_actiontype": "けす","elec_5_action_2_actionvoice_command_1": "エアコンけして","elec_5_action_2_actionvoice_command_2": "","elec_5_action_2_actionvoice_command_3": "","elec_5_action_2_actionvoice_command_4": "","elec_5_action_2_actionvoice_command_5": "","elec_5_action_2_exec_command": "iremocon.js","elec_5_action_2_exec_command_args1": "192.168.10.2:51013","elec_5_action_2_exec_command_args2": "14","elec_5_action_2_exec_command_args3": "","elec_5_action_2_exec_command_args4": "","elec_5_action_2_exec_command_args5": "","elec_5_action_2_exec_ir": "1353033520_1517227312","elec_5_action_2_exec_macro_1_action": "操作を行わない","elec_5_action_2_exec_macro_1_after": "次のコマンドへ","elec_5_action_2_exec_macro_1_elec": "操作を行わない","elec_5_action_2_exec_macro_2_action": "操作を行わない","elec_5_action_2_exec_macro_2_after": "次のコマンドへ","elec_5_action_2_exec_macro_2_elec": "操作を行わない","elec_5_action_2_exec_macro_3_action": "操作を行わない","elec_5_action_2_exec_macro_3_after": "次のコマンドへ","elec_5_action_2_exec_macro_3_elec": "操作を行わない","elec_5_action_2_exec_macro_4_action": "操作を行わない","elec_5_action_2_exec_macro_4_after": "次のコマンドへ","elec_5_action_2_exec_macro_4_elec": "操作を行わない","elec_5_action_2_exec_macro_5_action": "操作を行わない","elec_5_action_2_exec_macro_5_after": "次のコマンドへ","elec_5_action_2_exec_macro_5_elec": "操作を行わない","elec_5_action_2_execflag": "赤外線","elec_5_action_2_order": "3","elec_5_action_2_showremocon": "1","elec_5_action_2_tospeak_mp3": "","elec_5_action_2_tospeak_select": "文字列","elec_5_action_2_tospeak_string": "","elec_2_elecicon": "elec.png","elec_2_order": "2","elec_2_showremocon": "1","elec_2_status": "つける","elec_2_type": "照明","elec_2_action_2_actiontype": "けす","elec_2_action_2_actionvoice_command_1": "(でんき|あかり|しょうめい)けして","elec_2_action_2_actionvoice_command_2": "","elec_2_action_2_actionvoice_command_3": "","elec_2_action_2_actionvoice_command_4": "","elec_2_action_2_actionvoice_command_5": "","elec_2_action_2_exec_command": "iremocon.js","elec_2_action_2_exec_command_args1": "192.168.10.2:51013","elec_2_action_2_exec_command_args2": "21","elec_2_action_2_exec_command_args3": "","elec_2_action_2_exec_command_args4": "","elec_2_action_2_exec_command_args5": "","elec_2_action_2_exec_ir": "1352210732_743745694","elec_2_action_2_exec_macro_1_action": "操作を行わない","elec_2_action_2_exec_macro_1_after": "次のコマンドへ","elec_2_action_2_exec_macro_1_elec": "操作を行わない","elec_2_action_2_exec_macro_2_action": "操作を行わない","elec_2_action_2_exec_macro_2_after": "次のコマンドへ","elec_2_action_2_exec_macro_2_elec": "操作を行わない","elec_2_action_2_exec_macro_3_action": "操作を行わない","elec_2_action_2_exec_macro_3_after": "次のコマンドへ","elec_2_action_2_exec_macro_3_elec": "操作を行わない","elec_2_action_2_exec_macro_4_action": "操作を行わない","elec_2_action_2_exec_macro_4_after": "次のコマンドへ","elec_2_action_2_exec_macro_4_elec": "操作を行わない","elec_2_action_2_exec_macro_5_action": "操作を行わない","elec_2_action_2_exec_macro_5_after": "次のコマンドへ","elec_2_action_2_exec_macro_5_elec": "操作を行わない","elec_2_action_2_execflag": "赤外線","elec_2_action_2_execute_command": "","elec_2_action_2_execute_ir": "","elec_2_action_2_order": "1","elec_2_action_2_run_voicereco": "","elec_2_action_2_runflag": "","elec_2_action_2_showremocon": "1","elec_2_action_2_tospeak_mp3": "","elec_2_action_2_tospeak_select": "文字列","elec_2_action_2_tospeak_string": "でんきけします","elec_2_action_1_actiontype": "つける","elec_2_action_1_actionvoice": "0","elec_2_action_1_actionvoice_command_1": "でんきつける","elec_2_action_1_actionvoice_command_2": "ひかりあれ","elec_2_action_1_actionvoice_command_3": "","elec_2_action_1_actionvoice_command_4": "","elec_2_action_1_actionvoice_command_5": "","elec_2_action_1_exec_command": "iremocon.js","elec_2_action_1_exec_command_args1": "192.168.10.2:51013","elec_2_action_1_exec_command_args2": "4","elec_2_action_1_exec_command_args3": "","elec_2_action_1_exec_command_args4": "","elec_2_action_1_exec_command_args5": "","elec_2_action_1_exec_ir": "1352210787_1825245","elec_2_action_1_exec_macro_1_action": "操作を行わない","elec_2_action_1_exec_macro_1_after": "次のコマンドへ","elec_2_action_1_exec_macro_1_elec": "操作を行わない","elec_2_action_1_exec_macro_2_action": "操作を行わない","elec_2_action_1_exec_macro_2_after": "次のコマンドへ","elec_2_action_1_exec_macro_2_elec": "操作を行わない","elec_2_action_1_exec_macro_3_action": "操作を行わない","elec_2_action_1_exec_macro_3_after": "次のコマンドへ","elec_2_action_1_exec_macro_3_elec": "操作を行わない","elec_2_action_1_exec_macro_4_action": "操作を行わない","elec_2_action_1_exec_macro_4_after": "次のコマンドへ","elec_2_action_1_exec_macro_4_elec": "操作を行わない","elec_2_action_1_exec_macro_5_action": "操作を行わない","elec_2_action_1_exec_macro_5_after": "次のコマンドへ","elec_2_action_1_exec_macro_5_elec": "操作を行わない","elec_2_action_1_execflag": "赤外線","elec_2_action_1_order": "2","elec_2_action_1_showremocon": "1","elec_2_action_1_topeak": "0","elec_2_action_1_tospeak_mp3": "","elec_2_action_1_tospeak_select": "文字列","elec_2_action_1_tospeak_string": "ひかりあれ","elec_2_action_1_useapi": "1","elec_2_action_1_useinternet": "1","elec_8_elecicon": "fan.png","elec_8_order": "3","elec_8_showremocon": "1","elec_8_status": "けす","elec_8_type": "扇風機","elec_8_action_2_actiontype": "つける","elec_8_action_2_actionvoice_command_1": "せんぷうきつけて","elec_8_action_2_actionvoice_command_2": "バギクロス","elec_8_action_2_actionvoice_command_3": "","elec_8_action_2_actionvoice_command_4": "","elec_8_action_2_actionvoice_command_5": "","elec_8_action_2_exec_command": "","elec_8_action_2_exec_command_args1": "","elec_8_action_2_exec_command_args2": "","elec_8_action_2_exec_command_args3": "","elec_8_action_2_exec_command_args4": "","elec_8_action_2_exec_command_args5": "","elec_8_action_2_exec_ir": "1354585230_596665130","elec_8_action_2_exec_macro_1_action": "操作を行わない","elec_8_action_2_exec_macro_1_after": "次のコマンドへ","elec_8_action_2_exec_macro_1_elec": "操作を行わない","elec_8_action_2_exec_macro_2_action": "操作を行わない","elec_8_action_2_exec_macro_2_after": "次のコマンドへ","elec_8_action_2_exec_macro_2_elec": "操作を行わない","elec_8_action_2_exec_macro_3_action": "操作を行わない","elec_8_action_2_exec_macro_3_after": "次のコマンドへ","elec_8_action_2_exec_macro_3_elec": "操作を行わない","elec_8_action_2_exec_macro_4_action": "操作を行わない","elec_8_action_2_exec_macro_4_after": "次のコマンドへ","elec_8_action_2_exec_macro_4_elec": "操作を行わない","elec_8_action_2_exec_macro_5_action": "操作を行わない","elec_8_action_2_exec_macro_5_after": "次のコマンドへ","elec_8_action_2_exec_macro_5_elec": "操作を行わない","elec_8_action_2_execflag": "赤外線","elec_8_action_2_order": "1","elec_8_action_2_showremocon": "1","elec_8_action_2_tospeak_mp3": "","elec_8_action_2_tospeak_select": "文字列","elec_8_action_2_tospeak_string": "","elec_8_action_3_actiontype": "けす","elec_8_action_3_actionvoice_command_1": "せんぷうきけして","elec_8_action_3_actionvoice_command_2": "","elec_8_action_3_actionvoice_command_3": "","elec_8_action_3_actionvoice_command_4": "","elec_8_action_3_actionvoice_command_5": "","elec_8_action_3_exec_command": "","elec_8_action_3_exec_command_args1": "","elec_8_action_3_exec_command_args2": "","elec_8_action_3_exec_command_args3": "","elec_8_action_3_exec_command_args4": "","elec_8_action_3_exec_command_args5": "","elec_8_action_3_exec_ir": "1354585371_806181107","elec_8_action_3_exec_macro_1_action": "操作を行わない","elec_8_action_3_exec_macro_1_after": "次のコマンドへ","elec_8_action_3_exec_macro_1_elec": "操作を行わない","elec_8_action_3_exec_macro_2_action": "操作を行わない","elec_8_action_3_exec_macro_2_after": "次のコマンドへ","elec_8_action_3_exec_macro_2_elec": "操作を行わない","elec_8_action_3_exec_macro_3_action": "操作を行わない","elec_8_action_3_exec_macro_3_after": "次のコマンドへ","elec_8_action_3_exec_macro_3_elec": "操作を行わない","elec_8_action_3_exec_macro_4_action": "操作を行わない","elec_8_action_3_exec_macro_4_after": "次のコマンドへ","elec_8_action_3_exec_macro_4_elec": "操作を行わない","elec_8_action_3_exec_macro_5_action": "操作を行わない","elec_8_action_3_exec_macro_5_after": "次のコマンドへ","elec_8_action_3_exec_macro_5_elec": "操作を行わない","elec_8_action_3_execflag": "赤外線","elec_8_action_3_order": "2","elec_8_action_3_showremocon": "1","elec_8_action_3_tospeak_mp3": "","elec_8_action_3_tospeak_select": "文字列","elec_8_action_3_tospeak_string": "","elec_7_elecicon": "project.png","elec_7_order": "4","elec_7_showremocon": "1","elec_7_status": "けす","elec_7_type": "プロジェクタ","elec_7_action_2_actiontype": "つける","elec_7_action_2_actionvoice_command_1": "プロジェクタつけて","elec_7_action_2_actionvoice_command_2": "","elec_7_action_2_actionvoice_command_3": "","elec_7_action_2_actionvoice_command_4": "","elec_7_action_2_actionvoice_command_5": "","elec_7_action_2_exec_command": "iremocon.js","elec_7_action_2_exec_command_args1": "192.168.10.2:51013","elec_7_action_2_exec_command_args2": "8","elec_7_action_2_exec_command_args3": "","elec_7_action_2_exec_command_args4": "","elec_7_action_2_exec_command_args5": "","elec_7_action_2_exec_ir": "1354586018_1359245329","elec_7_action_2_exec_macro_1_action": "操作を行わない","elec_7_action_2_exec_macro_1_after": "次のコマンドへ","elec_7_action_2_exec_macro_1_elec": "操作を行わない","elec_7_action_2_exec_macro_2_action": "操作を行わない","elec_7_action_2_exec_macro_2_after": "次のコマンドへ","elec_7_action_2_exec_macro_2_elec": "操作を行わない","elec_7_action_2_exec_macro_3_action": "操作を行わない","elec_7_action_2_exec_macro_3_after": "次のコマンドへ","elec_7_action_2_exec_macro_3_elec": "操作を行わない","elec_7_action_2_exec_macro_4_action": "操作を行わない","elec_7_action_2_exec_macro_4_after": "次のコマンドへ","elec_7_action_2_exec_macro_4_elec": "操作を行わない","elec_7_action_2_exec_macro_5_action": "操作を行わない","elec_7_action_2_exec_macro_5_after": "次のコマンドへ","elec_7_action_2_exec_macro_5_elec": "操作を行わない","elec_7_action_2_execflag": "赤外線","elec_7_action_2_order": "1","elec_7_action_2_showremocon": "1","elec_7_action_2_tospeak_mp3": "","elec_7_action_2_tospeak_select": "文字列","elec_7_action_2_tospeak_string": "","elec_7_action_2_useapi": "","elec_7_action_2_useinternet": "","elec_7_action_3_actiontype": "けす","elec_7_action_3_actionvoice_command_1": "プロジェクタけして","elec_7_action_3_actionvoice_command_2": "","elec_7_action_3_actionvoice_command_3": "","elec_7_action_3_actionvoice_command_4": "","elec_7_action_3_actionvoice_command_5": "","elec_7_action_3_exec_command": "iremocon.js","elec_7_action_3_exec_command_args1": "192.168.10.2:51013","elec_7_action_3_exec_command_args2": "11","elec_7_action_3_exec_command_args3": "11","elec_7_action_3_exec_command_args4": "","elec_7_action_3_exec_command_args5": "","elec_7_action_3_exec_ir": "","elec_7_action_3_exec_macro_1_action": "けすボタンを一回","elec_7_action_3_exec_macro_1_after": "500ミリ秒待ってから次へ","elec_7_action_3_exec_macro_1_elec": "プロジェクタ","elec_7_action_3_exec_macro_2_action": "けすボタンを一回","elec_7_action_3_exec_macro_2_after": "次のコマンドへ","elec_7_action_3_exec_macro_2_elec": "プロジェクタ","elec_7_action_3_exec_macro_3_action": "操作を行わない","elec_7_action_3_exec_macro_3_after": "次のコマンドへ","elec_7_action_3_exec_macro_3_elec": "操作を行わない","elec_7_action_3_exec_macro_4_action": "操作を行わない","elec_7_action_3_exec_macro_4_after": "次のコマンドへ","elec_7_action_3_exec_macro_4_elec": "操作を行わない","elec_7_action_3_exec_macro_5_action": "操作を行わない","elec_7_action_3_exec_macro_5_after": "次のコマンドへ","elec_7_action_3_exec_macro_5_elec": "操作を行わない","elec_7_action_3_execflag": "マクロ","elec_7_action_3_order": "2","elec_7_action_3_showremocon": "1","elec_7_action_3_tospeak_mp3": "","elec_7_action_3_tospeak_select": "文字列","elec_7_action_3_tospeak_string": "","elec_7_action_4_actiontype": "けすボタンを一回","elec_7_action_4_actionvoice_command_1": "","elec_7_action_4_actionvoice_command_2": "","elec_7_action_4_actionvoice_command_3": "","elec_7_action_4_actionvoice_command_4": "","elec_7_action_4_actionvoice_command_5": "","elec_7_action_4_exec_command": "","elec_7_action_4_exec_command_args1": "","elec_7_action_4_exec_command_args2": "","elec_7_action_4_exec_command_args3": "","elec_7_action_4_exec_command_args4": "","elec_7_action_4_exec_command_args5": "","elec_7_action_4_exec_ir": "1354586098_1526428419","elec_7_action_4_exec_macro_1_action": "操作を行わない","elec_7_action_4_exec_macro_1_after": "次のコマンドへ","elec_7_action_4_exec_macro_1_elec": "操作を行わない","elec_7_action_4_exec_macro_2_action": "操作を行わない","elec_7_action_4_exec_macro_2_after": "次のコマンドへ","elec_7_action_4_exec_macro_2_elec": "操作を行わない","elec_7_action_4_exec_macro_3_action": "操作を行わない","elec_7_action_4_exec_macro_3_after": "次のコマンドへ","elec_7_action_4_exec_macro_3_elec": "操作を行わない","elec_7_action_4_exec_macro_4_action": "操作を行わない","elec_7_action_4_exec_macro_4_after": "次のコマンドへ","elec_7_action_4_exec_macro_4_elec": "操作を行わない","elec_7_action_4_exec_macro_5_action": "操作を行わない","elec_7_action_4_exec_macro_5_after": "次のコマンドへ","elec_7_action_4_exec_macro_5_elec": "操作を行わない","elec_7_action_4_execflag": "赤外線","elec_7_action_4_order": "3","elec_7_action_4_showremocon": "0","elec_7_action_4_tospeak_mp3": "","elec_7_action_4_tospeak_select": "文字列","elec_7_action_4_tospeak_string": "","sensor_temp": "25.2324","sensor_lumi": "788","httpd__url": "http://192.168.10.3:80"}


家電操作
家電を操作します。
ver1.58以降からはインターネット経由から呼び出せるremote webapiが利用できます。

URL
http://192.168.x.x/api/elec/action?webapi_apikey=SECRET&elec=家電名&action=操作名

(remote) https://fhc.rti-giken.jp/api/elec/action?webapi_apikey=SECRET&user=USERMAIL&elec=家電名&action=操作名

引数
1.webapi_apikey
APIKEYの値を入れます
2.elec
家電の名前を入れます
3.action
家電の操作名(アクション)を入れます

戻り値
{ "result": "ok" }


センサー
センサーの値を取得します。

URL
http://192.168.x.x/api/sensor/get?webapi_apikey=SECRET

引数
1.webapi_apikey
APIKEYの値を入れます

戻り値
センサーの値が連想配列で返されます。
{ "result": "ok" ,"temp": "25.1222","lumi": "193","tempday": {"1354961339": 2413,"1354964939": 2337,"1354968539": 0,"1354972139": 2305,"1354975739": 2457,"1354979339": 2534,"1354982939": 2578,"1354986539": 2545,"1354990139": 2512,"1354993739": 2534,"1354997339": 2501,"1355000939": 2501},"lumiday": {"1354961339": 774,"1354964939": 777,"1354968539": 0,"1354972139": 789,"1354975739": 790,"1354979339": 790,"1354982939": 790,"1354986539": 788,"1354990139": 789,"1354993739": 792,"1354997339": 792,"1355000939": 789},"tempweek": {"1353967739": 2943,"1354054139": 2908,"1354140539": 3002,"1354226939": 2932,"1354313339": 3002,"1354399739": 2735,"1354486139": 0,"1354572539": 0,"1354658939": 0,"1354745339": 0,"1354831739": 2359,"1354918139": 2793},"lumiweek": {"1353967739": 266,"1354054139": 14,"1354140539": 244,"1354226939": 250,"1354313339": 294,"1354399739": 293,"1354486139": 0,"1354572539": 0,"1354658939": 0,"1354745339": 0,"1354831739": 300,"1354918139": 300}}
result
成功したら ok を返します。
temp
現在の温度の値を返します
(多少ぶれる時があります。数字は目安としてのみ利用してください。)
lumi
現在の明るさの度合いを 0 ~ 300 で返します。
0に近づけば暗く、300に近づけば明るいことを意味します。
(多少ぶれる時があります。数字は目安としてのみ利用してください。)
tempday および lumiday
一日の温度/光を2時間ごとの12点取得します。
連想配列のキーは unixtime です。
tempweek および lumiweek
温度/光を1日ごとの7点取得します。
連想配列のキーは unixtime です。


合成音(ver1.03より対応)
合成音声で文字列を読み上げます。
キャッシュにない初めて読み上げる音声は、合成音を生成するため数秒の時間がかかります。

URL
http://192.168.x.x/api/speak?webapi_apikey=SECRET&str=読み上げる文字列&noplay=読み上げないかどうか&async=非同期にするかどうか

引数
1.webapi_apikey
APIKEYの値を入れます
2.str
合成音で読み上げる文字列を入れます。
誤読を避けるために、ひらがな・カタカナで入れることをおすすめします。

キャッシュにない読み上げを行うと、合成音を生成するのに数秒かかります。
3.noplay
読み上げを行うかを選択します。(ディフォルトは読み上げます) 有効にすると、読み上げを行いません。
音声を読みあげなくても、キャッシュは作成されるので、キャッシュ作成などに利用してください。
(ディフォルトはnoplay=0で、読み上げを行います。)
4.async
同期/非同期を選択します。(ディフォルトは同期です) 有効にすると、すぐに結果を返し、裏側で非同期に並列して読み上げを行います。
有効にしないと、読み上げが終わるまで結果を返しません。
(ディフォルトはasync=0で、同期処理を行い、読み上げが終わるまで結果を返しません。)

戻り値
{ "result": "ok" }

音楽ファイルの再生(ver1.06より対応)
wav/mp3ファイルを再生します。

URL
http://192.168.x.x/api/play?webapi_apikey=SECRET&name=再生するファイル名&async=非同期にするかどうか

引数
1.webapi_apikey
APIKEYの値を入れます
2.name
再生したいmp3/wavファイル名を入れます。
3.async
同期/非同期を選択します。(ディフォルトは同期です) 有効にすると、すぐに結果を返し、裏側で非同期に並列して読み上げを行います。
有効にしないと、読み上げが終わるまで結果を返しません。
(ディフォルトはasync=0で、同期処理を行い、読み上げが終わるまで結果を返しません。)

戻り値
{"result": "ok"}

登録されている音声認識ワード(ver1.06より対応)
登録されている音声認識ワード一覧を返します。
(正規表現はプレーンな文字列に展開されます)

URL
http://192.168.x.x/api/recong/list?webapi_apikey=SECRET

引数
1.webapi_apikey
APIKEYの値を入れます

戻り値
{"result": "ok" , "list": ["こんにちわ","きょうのてんきわ","せんぷうきつけて","せんぷうきけして" ... ,"プロジェクタつけて" ] }

音声認識ワードの文字列呼び出し(ver1.06より対応)
登録されている音声認識ワードに関連付けられている処理を実行します。

URL
http://192.168.x.x/api/recong/firebystring?webapi_apikey=SECRET&str=実行したい音声認識文字列

引数
1.webapi_apikey
APIKEYの値を入れます
2.str
実行したい音声認識文字列を入れます。
呼びかけワードはあってもなくてもどちらでも大丈夫です。

戻り値
{"result": "ok"}

環境情報(ver1.04より対応)
システムの環境情報を取得します。

URL
http://192.168.x.x/api/env?webapi_apikey=SECRET

引数
1.webapi_apikey
APIKEYの値を入れます

戻り値
{"result": "ok", "version": "1.04", "model": "fhc_beaglebone", "os": "linux"}

WebAPIキー
webapiのキーです。
このキーを使って、webapiを呼び出します。
キーが一致しなければ、呼び出すことはできません。
また、キーは自由に変えることができます。

ご覧のように、webapiは様々な機能を呼び出すことができます。
逆に、セキュリティのリスクを抱えることにもなります。
キーを大切に保管してください。


jsonp
WebAPIは、"&callback=関数名" というパラメータを渡すと、jsonpでの呼び出しになります。
通常のプログラム言語から呼び出す場合は、callbackをつけないもので影響はありませんが、
javascript経由で呼び出す場合は、クロスドメインになってしまうため、"&callback=関数名" をつけて、jsonpにしないといけません。