スクリプトリファレンス

FHCでは、javascriptで家をプログラミングできます

FutureHomeController




フューチャーホームコントローラー(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のプロセスを終了させます。