フューチャーホームコントローラー(FHC)で実装されている内蔵スクリプトで利用できる
API関数の解説を行います。
FHCには、javascript(V8 engine)を搭載しており、プログラムが開発できます。
プログラムを作るに特別な環境は必要なく、ブラウザ上から開発が行えます。
詳しい使い方は、
会話シナリオ設定、または
コマンド設定のマニュアルをご覧ください。
プログラムの中では、以下のFHC APIを利用することができます。
なお、この機能は、上級者/開発者向けの機能であり、
理解していないと、FHCが使えないわけではありません。
内蔵スクリプトは、理解していると、より楽しめるといった位置づけです。
通常の設定は、
ブラウザで利用できる設定画面から行えます。
イベントAPI
- onvoice
- onvoice(音声認識する文字列, [コールバック関数]);
音声認識イベントを設定します。
家電API
- action
- action(家電名文字列,操作文字列);
家電に命令を送ります。
- elec_getactionlist
- elec_getactionlist(家電名文字列);
登録している家電の動作(アクション)を取得します。
- elec_getlist
- elec_getlist();
登録している家電一覧を取得します。
- elec_getinfo
- elec_getinfo(家電名文字列);
家電の詳細を取得します。
- elec_getstatus
- elec_getstatus(家電名文字列);
家電の状態を取得します。
- elec_setstatus
- elec_setstatus(家電名文字列,設定するステータス);
家電の状態を上書きします。
音声出力API
- play
- play(音楽ファイル名文字列);
音声ファイルを再生します。
- speak
- speak(読み上げる文字列);
合成音声で読み上げを行います。
ネットワークAPI
- execute_remote
- execute_remote(PCのIP文字列,FHCコマンダーのAPIキー,実行するコマンド文字列);
リモートのPCをFHCコマンダーを経由して操作します。
- http_get
- http_get(URL文字列,[ヘッダー連想配列],[タイムアウトミリ秒],[エンコード]);
HTTP GETメソッドを投げて、結果を返します。
- http_post
- http_post(URL文字列,POST文字列,[ヘッダー連想配列],[タイムアウトミリ秒],[エンコード]);
HTTP POSTメソッドを投げて、結果を返します。
- sstp_send11
- sstp_send11(伺かのIP文字列,メッセージ文字列);
SSTP SEND 1.1 で伺かにメッセージを出させます。
- telnet
- telnet(接続するサーバIP:port文字列,ウェイト文字列,送信文字列,接続断ウエイト文字列);
telnetで通信を行います。
- wol_send
- wol_send(起動したいマシンのMACアドレス,[port番号],[ブロードキャストIP]);
WakeupOnLanでマシンを起動します。
- soap_action
- soap_action(URL文字列,SOAPACTION,xml文字列,[ヘッダー連想配列],[タイムアウトミリ秒]);
SOAPコマンドを発行します。
- upnp_search_all
- upnp_search_all(検索したい文字列,[タイムアウトミリ秒]);
UPNP(SSDP)で、特定の全てのデバイスを検索します。
- upnp_search_one
- upnp_search_one(検索したい文字列,[タイムアウトミリ秒]);
UPNP(SSDP)で、特定の一つのデバイスを検索します。
- upnp_search_uuid
- upnp_search_uuid(検索したい文字列,[タイムアウトミリ秒]);
UPNP(SSDP)で、特定のUUIDを持つ一つのデバイスを検索します。
- upnp_search_xml
- upnp_search_xml(SSDPヘッダーから検索したい文字列,XMLから検索したい文字列,[タイムアウトミリ秒]);
UPNP(SSDP)とXMLで、特定の一つのデバイスを検索します。
センサー
- sensor_lumi
- sensor_lumi();
光センサーから明るさの値を取得します。
- sensor_temp
- sensor_temp();
温度センサーから温度の値を取得します。
- sensor_sound
- sensor_sound();
一時間内に発生した音の数を求めます。(0-200が返されます)
FHC内部関数
- callcommand
- callcommand(コマンド名称文字列,引数1 , ...引数N);
FHC内コマンドを実行します。
- config_get
- config_get(取得したいキー文字列,[ディフォルト値]);
ユーザー領域にある設定を読みます。
- config_set
- config_set(設定するキー文字列,設定する値);
ユーザー領域に設定を書き込みます。
- dump / alert / var_dump / print
- dump(出力したい変数);
引数で指定したものをデバッグコンソールに出力します。
すべて dump関数へのaliasです。
- msleep
- msleep(待機するミリ秒);
ミリ秒待機します。
文字列API
- url_baseurl
- url_baseurl(URL);
URLから直前のディレクトリまでを取得します。
- url_hosturl
- url_hosturl(URL);
URLからホスト部分までを返します。
- url_appendparam
- url_appendparam(URL,追加するパラメータ);
URLに引数パラメータを追加します。
- url_changeprotocol
- url_changeprotocol(URL,変更するプロトコル);
URLのプロトコルをすげ替えます。
- base64decode
- base64decode(str);
base64でエンコードされた文字列をデコードします。
- base64encode
- base64encode(str);
base64でエンコードした文字列を返します。
- urldecode
- urldecode(str);
URLエンコードされた文字列をデコードします。
- urlencode
- urlencode(str);
URLエンコードした文字列を返します。
- md5
- md5(str);
文字列からmd5を計算します。
- sha1
- sha1(str);
文字列からsha1を計算します。
- mb_convert_kana
- mb_convert_kana(str,option);
ひらがな・カタカナ、半角・倍角を相互に変換します。
- mb_convert_yomi
- mb_convert_yomi(str);
漢字や英単語から、読みの平仮名を取得します。
HTML文字列API
- html_selector
- html_selector(HTMLを含む文字列,セレクター);
htmlから特定の項目を選択します。XPATHやjQueryのセレクターが使えます。
- html_inner
- html_inner(HTMLを含む文字列);
innerHTMLのように、HTMLのタグ内を取得します。
- html_text
- html_text(HTMLを含む文字列);
innerTextのように、HTMLのタグ内の文字列を取得します。
- html_attr
- html_attr(HTMLを含む文字列,取得したい属性名);
jQueryでいうattrメソッドのように、タグ内の属性を取得します。
トリガーAPI
- setinterval
- setInterval(実行する関数,繰り返し実行する時間);
指定した時間で毎回処理を実行します。
- setTimeout
- setTimeout(実行する関数,実行するまでの時間);
時間になったら一回ポッキリで処理を実行します。
- cleartimeout
- clearTimeout(停止するタイマーリソースID);
タイマー処理をキャンセルします。 clearIntervalとclearTimeoutは同じ処理です。どちらでも使えます。
環境API
- env_version
- env_version();
バージョン番号を返します。
- env_model
- env_model();
FHCのモデル型番を返します。
- env_os
- env_os();
FHCが動作しているOSを返します。
- env_mic_volume
- env_mic_volume([マイク音量0-100]);
マイクのボリュームを取得/設定します。
- env_speaker_volume
- env_speaker_volume([スピーカー音量0-100]);
スピーカーのボリュームを取得/設定します。
マッシュアップAPI
- weather_info
- weather_info(天気を取得する住所);
天気予報APIから情報を取得します。
- wearher_is_rain
- wearher_is_rain(天気を取得する住所);
雨が降っているかどうかを返します。
- wearher_is_rain_soon
- wearher_is_rain_soon(天気を取得する住所);
もうすぐ雨が降るかどうかを返します。
- train_info
- train_info(路線名);
電車遅延APIから電車遅延情報を取得します。
- train_is_delay
- train_is_delay(路線名);
電車が遅延しているかどうかを返します。
補助API
- address_parse
- address_parse(住所);
住所から経緯度を求めます。(現在は都道府県のみ対応)
- time
- time(); time(YYYY,MM,DD); time(YYYY,MM,DD,[HH],[MI],[SS]);
unix時刻を取得します
- time_dayofweek
- time_dayofweek(UNIXタイム);
曜日を求めます
- time_gmt_to_local
- time_gmt_to_local(UNIXタイム);
GMT時刻から現地のローカル時刻に変換します
- time_local_to_gmt
- time_local_to_gmt(UNIXタイム);
現地のローカル時刻からGMT時刻に変換します
- time_is_holiday
- time_is_holiday(UNIXタイム);
祝日かどうかを判定します。
- time_day_info
- time_day_info(UNIXタイム);
その日について詳しい情報を返します。
twitter API
- twitter_tweet
- twitter_tweet(書き込みたい文字列);
twitterに投稿します。
- twitter_user_timeline([ユーザ名])
- twitter_user_timeline();
つぶやきを取得します
- twitter_home_timeline([ユーザ名])
- twitter_home_timeline();
タイムライン(フォローしている人たちのつぶやき)を取得します
複数台連携
- multiroom_list
- multiroom_list();
複数台連携している部屋情報を取得します。
- multiroom_fire()
- multiroom_fire(UUID,家電名,動作);
連携している部屋へ命令を送ります。
FHC KERNEL関数(下手に使うとシステムを破壊します)
- kernel_config_get
- kernel_config_get(取得したいキー文字列,[ディフォルト値]);
すべての設定を読みます。
- kernel_config_set
- kernel_config_set(設定するキー文字列,設定する値);
すべての設定を書き込めます。
- kernel_execute_local
- kernel_execute_local(実行したいコマンド文字列);
FHC端末内でプログラムを実行します。
- kernel_process_list
- kernel_process_list();
プロセス情報を連想配列リストで返します。
- kernel_kill
- kernel_kill();
プロセスIDのプロセスを終了させます。