日々ネタを模索する
XS40 の定時メールチェックをトリガに録画予約リストを取得するのは、未だにうまくいったりいかなかったりしているが、処理に少し改善を施して、大体希望通りの処理ができるようになった。
最初は生真面目にローカルに POP サーバ用意して XS40 のアカウント追加して、とやって、それとは別に cron で XS40 に HTTP リクエストを投げていたが、どうもうまく同期できない。だったら POP サーバの変わりに一定時間 sleep する deamon をでっち上げて、POP アクセスが sleep している間に録画リストを get できないか?と考えた上で、よくよく考えれば POP アクセスそのものをトリガにすれば良いことに思い至る(脳みそ寝てる?)。
じゃあ、でっちあげる daemon はどうすんの?と、とりあえず Courier な tcpd を使ってたのでこれを流用する。よくよく考えると tcpserver でも inetd でもいいことに後々気がつくが、まあそれはおいとく。tcpd に port 110 にアクセスしてきたら XS40 に HTTP リクエスト飛ばすスクリプトを登録する。録画予約リストが取得できたらパースして STB 予約用リストを作成する。これで同期が完了する。
XS40 は電源 OFF の状態だと一日3回メールチェックしにいく。今日の午前中のテストでは HTTP リクエストに失敗した模様。やっぱり httpd が動いてないんだろうか?。しかし電源 ON だと任意の定周期にメールチェックに行くので、これを5分とかにしてやっておくと XS40 で録画予約を編集してやってしばらく待っておけば STB 予約リストも同期が取れるようになる。これは確認済み。
これでほぼ全自動で XS40 と STB の予約の同期ができるようになった。あとは赤外線リモコンサーバな Libretto の設置に難ありな事象をクリアすれば完璧、な感じ。