REGZA DBR-M190でキーワード自動録画機能を実現する

先日買ったDBR-M190。この機種には、残念ながらキーワード録画機能がない。

事前にキーワードを指定しておくと、それにマッチした番組を自動で録画してくれる機能。昔使っていたSONYスゴ録にはその機能があったし、そのあとで使っていたDIGAではDiMORAというサイトを利用するとその機能を実現できていた。

DBR-M190にはその機能が無いんだけど、Eメール録画予約機能というのがあって、決まった書式でメールを送ると、録画予約ができる。なので、これを利用して、キーワード録画ができるようにしてみた。

コード

コードはgithubに置いた。

やり方もREADME.mdに書いておいた。

REGZA側の設定は済んでいるとして、さらにプログラム側にもいくつか設定が必要。もろもろの知識がない人には難しいと思うけど、知識がある人にとっては難しいことは何もないので頑張って。

これを適当なサーバーで定期的に動かすようにしておけば、番組検索して、見つかったものをメールでREGZAに送って予約してくれるということになる。

REGZAのEメール録画予約機能について

結構微妙な機能というか、制限が多い。

  • 受信アカウントは、POP3じゃないといけないし、認証の暗号化はAPOPのみ
  • REGZAによるメールチェックは、最大でも2時間おきにしかできない(午前,午後の0,2,4,6,8,10時)
    • だから設定中と開発中にテストをするのが大変だった
  • チャンネル番号の概念がよくわからない
    • リモコン番号とチャンネル番号のマッピングをハードコーディングで持つことで回避した
  • REGZAから結果がメールで送られてくるけど、エラーメッセージが不親切でどこに問題があるのかよくわからない

だいぶ昔に作った機能がアップデートされずに残り続けてるような感じでもある。とはいえ、日時とチャンネルをメールで送るだけという超シンプル仕様で動作してくれるので、プログラムを書く側としてはうれしい。

認証とかもマジメに作ったら色々面倒だけど、POP3アカウントのログインと単純なパスワードだけで実現してるのとかはそういう意味ではいい。

テレビ王国について

これが実現できたのは、すべてはテレビ王国のおかげ。番組を検索することができて、検索結果をRSSで配信してくれている。

素晴らしいサービスだ。ありがとう。

これがサービス停止したらどうしようもない。

こまかい話

日付のファイル

同じ番組を何度も録画しないように、カレントディレクトリに日付のファイルを作って、その中に番組情報のパーマリンクを出力している。毎回そのファイルの中身をチェックして、既に出力されている番組は予約しないように制御している。

そのうちこのファイルがたくさんになると思うので、古いファイルは適当に消していいと思う。逆に、テストのときなど、同じ処理を何度もやりたいなら、このファイルを消せば、もう一度実行できる。

送信元アカウント

現在のコードでは、送信元をGmailに限定しているので、違うアカウントから送信した人はコードを書き直してください。

でもGmailだと、SMTP認証して送ったメールもGmailの「送信済みメール」に記録されるので、どんなメールを送ったのかがあとで確認できて便利。だからGmail使えば良いと思う。

おわり

まだ作ってから1日くらいしか動かしてないので、バグってるかもしれない。そのときはゴメンなさい。自分と違う機種、違う地域とかでうまく動作するか自信ない。

バグを見つけたと連絡もらってもどうしようもないので、自分で直してください。すみません。