記事一覧

【Kotoshiroヘルプ】機能強化された制御スクリプトの書き方

  • このエントリーをはてなブックマークに追加

配布ページへ
Kotoshiroヘルプ目次


v0.4で、多少スクリプトの仕様変更があり、機能が強化されました。

以前のリモコン制御スクリプトの書き方では、スクリプト内の関数でリモコン番号を返すだけの仕様でしたがv0.4以降は機能を強化し、文字列をエアコン操作コマンドとして返すことで、エアコンの動作を以前よりは思い通りに動作させることができるようになりました。

ただし、この動作させるには、温度・湿度計表示方法で書かれているように機器を取り付け、エアコンの設定を行ってください。(※デフォルトの設定を使っている場合は、設定不要)


エアコン制御関数の仕様

(※注 以前までリモコン番号を返す関数だったので関数名はGetRemoconNoだったのですが、エアコン操作コマンドを返すことも念頭においた違和感のない関数名として、関数名をRemoconControlに変更しました。)

【リモコン制御関数の書き方(JavaScript)】
※エアコン以外の暖房器具には絶対使用しないでください。

処理は必ずfunction RemoconControl(temp, humid)という
関数を作ってその中に書き込んでください。
[引数]
temp = 温度(Double)
humid 湿度(Double)
[戻り値]
return
動作させたいリモコンボタンのリモコン番号を返すと、
登録されているリモコン信号が送信されます。
リモコンを動作させたくない場合は、0を返してください。

<戻り値を文字列で返す場合(大文字小文字関係なし)>
"TempUp" or "tu" or "up" = 現在の運転モードのエアコン設定温度を一段階上げる
"TempDown" or "td" or "down" = 現在の運転モードのエアコン設定温度を一段階下げる
"CoolerUp" or "cu" = 冷房に指定してエアコン設定温度を一段階上げる
"CoolerDown" or "cd" = 冷房に指定してエアコン設定温度を一段階下げる
"HeaterUp" or "hu" = 暖房に指定してエアコン設定温度を一段階上げる
"HeaterDown" or "hd" = 暖房に指定してエアコン設定温度を一段階下げる
"DehumidifierUp" or "du" = 除湿に指定してエアコン設定温度を一段階上げる
"DehumidifierDown" or "dd" = 除湿に指定してエアコン設定温度を一段階下げる

"CoolerMax" or "cmax" = 冷房に登録してある設定温度で一番高いものにします
"CoolerMin" or "cmin" = 冷房に登録してある設定温度で一番低いものにします
"HeaterMax" or "hmax" = 暖房に登録してある設定温度で一番高いものにします
"HeaterMin" or "hmin" = 暖房に登録してある設定温度で一番低いものにします
"DehumidifierMax" or "dmax" = 除湿に登録してある設定温度で一番高いものにします
"DehumidifierMin" or "dmin" = 除湿に登録してある設定温度で一番低いものにします

※"xxxxMax", "xxxxMin" が連続で呼び出されても上限、下限である為
2回目以降は呼び出されません。1時間に10分ごと、6回呼び出しても
最初のものしか実行されません。間に他のエアコンボタンが呼び出された場合は
また呼び出されます。

以前はリモコン番号返すだけの関数でしたが、冷房の温度上げたり下げたり、暖房の温度を上げたり下げたり、除湿の最高設定温度もしくは最低設定温度にする、コマンド含む文字列を返す事ができるようになりました。


使用サンプル(JavaScript)

以下は簡単な使用サンプルです。

//[サンプル]
//温度(temp)と湿度(humid)の情報を元にエアコンを操作する例
//室温を大体27゚Cくらいに保つ例
function RemoconControl(temp, humid){
//設定項目----------------------------------
temp_max = 27.25 //エアコン設定温度を下げる温度
temp_min = 26.75 //エアコン設定温度を上げる温度
//------------------------------------------

//以下実施部サンプル
//デフォルト値 = 0, 何もしないときは0を返すようにする
result = 0

if (temp > temp_max) { //温度がtemp_maxより上の時
result = "TempDown" //エアコン設定温度を一段階下げる戻り値
} else if (temp < temp_min) { //温度がtemp_min未満の時
result = "TempUp" //エアコン設定温度を一段階上げる戻り値
};
return result
}

この制御関数は、部屋の湿度を27.25℃~26.75℃内におさめるコードです。これにより、平均すると室内は大体27℃に保たれます。

スクリプトが何をしているか簡単に説明すると、部屋の温度が27.25℃よりも上になったときに、エアコンの設定温度を1段階下げ、26.75℃未満になったとき、エアコンの設定温度を1段階上げて室温を一定に保つようになっています。

書いたスクリプトの設定やテスト方法は以前と同じです。以下を参考にしてください。
制御スクリプトの設定・テスト方法


複雑なスクリプトを書けば、自分の生活習慣に合ったエアコン制御関数がかけると思います。僕も今、自分の生活に合わせた制御関数を書いているので、ある程度出来上がったら、サンプルとしてブログに載せます。

続き:温度・湿度計表示方法

タグ:Kotoshiro iRemocon

  • このエントリーをはてなブックマークに追加

トラックバック

この記事のトラックバックURL
http://netakiri.net/diary/diary-tb.cgi/519
スポンサーリンク
 

トラックバック一覧