あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

エアコンリモート操作にタイマー機能をつけてみた

寝る直前にエアコンをつけたいけれど、そのまま寝落ちしたらエアコンが消せない……という問題を解消するために、エアコンリモート操作(Eject)にタイマー機能をつけてみました。
エアコンのタイマー使えよって言われそうですが、Eject用のエアコンのリモコン(他社対応型のやつ)とエアコン付属のリモコンを同時使用すると、エアコンのステータスに齟齬が生じるために使うことが出来ません。あと、今のエアコンは1時間単位でしかタイマーを指定できないので、前のエアコンのように30分くらいの単位で指定したかったのでした。
UIはこんな感じ。

実装は、Linuxのatコマンドを使用しています。atdデーモンのアレですね。調べるまでこれの用途は知りませんでしたが、cronの1回だけバージョンのものでした。便利やん!phpからatコマンドをexecで叩くだけの簡単なものですが、apacheがatコマンドを使ってEjectするにはapacheユーザーがログイン環境な状態である必要があったため、/etc/passwdファイルで/sbin/nologinのところを/bin/bashに書き換えています。
あとは、ローカル用のエアコン操作兼グローバル公開用のAPIスクリプトをまともな感じに手直ししておきました。このスクリプトもどこかに公開したいねえ。
ところで、今週の水曜日に、横浜みなとみらいにてLinuxConferenceにきていた(主に)学生向けに懇親会的なイベントが(うちの会社主催?で)あって、そこでEjectコマンドユーザー会のLTを突発的にやってきました。外人さん(メンテナーの方々?)もいらっしゃったので、ところどころ英語を混ぜたり(英語は話せないので、あくまで単語を混ぜる感じでw)、動画を見せたりして説明しました。苦笑されたり、Cheapなソリューションである点に感動されて「自分だったら……んー思い浮かばないやw(意訳)」とコメントを頂いたり、反応は上々でした。Ejectコマンドユーザー会のグローバル展開はじまったな(ねえよ)!でも、英語版のWebくらい置いていても良いのかもしれないね。