2011/07/16

電気アラート

自作ソフトの紹介です。機能としてはとくに目新しいものではありませんが、シンプルにまとめました。

[追記] 新しい情報はSourceForge.jpのプロジェクトサイトにまとめています。

1. 概要

電力の使用状況データを公開している電力会社(東京電力、東北電力、中部電力、関西電力、九州電力)から一定間隔でデータをダウンロードし、その日のピーク時供給量、最新の使用量を見て、最新の使用率とその動きをタスクトレイから色と数字で知らせます。使用率が高くなっている場合はアラートを出します。

タスクトレイにアイコンが出ます。この数字が使用率で、どれぐらい高いかをこの色で直感的に示します。マウスオーバーすると最新の数字と上下動をチェックできます。

色は以下のカラーチャートに従っています。赤くなってきたら使用率が高くなっています。

アップデートしたときに使用率の閾値を超えている場合は、設定に従って音とバルーンメッセージによるアラートを出します。

アラート音として任意のWAVファイルを再生できます。説明を兼ねてフリーのWAVファイルを同梱していますが、これには、Free音素材「音楽室」(http://www.otosozai.com)のva01.wavを使わせていただいてます。

2. 動作環境

Windows XP、Windows 7で動作します。.NET Framework 4.0がインストールされていることが必要です。

3. ダウンロード

以下からダウンロードできます。
4. その他
  • このソフトはオープンソースです。使用条件については同梱のlicense.txtをご覧ください。

  • Visual Basic 2010 Expressで開発しています。単体で動作するWindowsアプリとしては初なもので、ソースは推して知るべしです。「動けば正義」的な。だからこそ、ソースを公開することにためらいがないということもありますが……。

  • 電力会社が公開しているデータファイル(CSVファイル)は、どこも最初に出した東京電力のものがベースになっているので、共通の部分が多いです。TPTPコネクトでは、ピークタイムを取得するアルゴリズムは全部同じで済んでいます。

    ただ、似たような形式でも意味が微妙に違っていたり、データが更新される速さに差があったりします。東京電力を基準とすると、東北電力は同じぐらい。九州電力は公開を開始したのは一番遅かったですが、かなり頑張っています。関西電力も頑張っていますが、更新が少し遅いです。残る中部電力はまだ1時間ごとのデータしか出していない分、遅れていると言わざるを得ません。
[追記1] 電力会社の更新タイミング

関西電力は3分ごとのデータを公開していますが、更新間隔はこれと少しずれていて、かつ遅れ気味ということを見つけたので、自作ソフトを使ってデータを取得してみました。
関西電力の更新時刻
CSVファイルが
更新された時刻
(日付 時:分:秒)
UPDATEに
記載された時刻
(日付 時:分)
新しく追加された
データの時刻
(日付 時:分)
更新された
時刻との差
(分:秒)
2011/7/18 3:00:152011/7/18 2:552011/7/18 2:4218:15
2011/7/18 2:4515:15
2011/7/18 3:05:052011/7/18 3:00--
2011/7/18 3:10:072011/7/18 3:052011/7/18 2:4822:07
2011/7/18 2:5119:07
2011/7/18 3:15:072011/7/18 3:102011/7/18 2:5421:07
2011/7/18 2:5718:07
2011/7/18 3:20:042011/7/18 3:152011/7/18 3:0020:04
2011/7/18 3:0317:04
2011/7/18 3:25:082011/7/18 3:202011/7/18 3:0619:08
2011/7/18 3:0916:08
2011/7/18 3:30:142011/7/18 3:252011/7/18 3:1218:14
2011/7/18 3:1515:14
2011/7/18 3:35:062011/7/18 3:30--
2011/7/18 3:40:062011/7/18 3:352011/7/18 3:1822:06
2011/7/18 3:2119:06
2011/7/18 3:45:082011/7/18 3:402011/7/18 3:2421:08
2011/7/18 3:2718:08
2011/7/18 3:50:062011/7/18 3:452011/7/18 3:3020:06
2011/7/18 3:3317:06
2011/7/18 3:55:052011/7/18 3:502011/7/18 3:3619:05
2011/7/18 3:3916:05
2011/7/18 4:00:092011/7/18 3:552011/7/18 3:4218:09
2011/7/18 3:4515:09
2011/7/18 4:05:052011/7/18 4:00--
2011/7/18 4:10:052011/7/18 4:052011/7/18 3:4822:05
2011/7/18 3:5119:05
2011/7/18 4:15:052011/7/18 4:102011/7/18 3:5421:05
2011/7/18 3:5718:05
2011/7/18 4:20:052011/7/18 4:15--
2011/7/18 4:25:052011/7/18 4:202011/7/18 4:0025:05
2011/7/18 4:0322:05
2011/7/18 4:30:142011/7/18 4:252011/7/18 4:0624:14
2011/7/18 4:0921:14
2011/7/18 4:1218:14
2011/7/18 4:1515:14
(注)2秒間隔で更新をチェックし、更新があればデータを記録していく方式。「CSVファイルが更新された時刻」は自作ソフトを実行中のPCのものなので、誤差があり得る(以下同じ)。

見てのとおり更新時刻の間隔は5分で、UPDATEに記載された時刻の5分後になっています。データは3分ごとなので当然ずれていくわけですが、5分の更新で3分×2のデータを追加するのを基本として、詰まってくるとスキップするようです。

ただ、法則性があまりはっきりしないのと、データが細かい割に更新時刻とのタイムラグがおよそ15~24分と、結構あるのがちぐはぐで、謎仕様です。

他の東京電力、東北電力、九州電力はというと、データもUPDATEに記載された時刻、更新時刻も5分ごとなので、ずれることはありません。東京電力の場合は、
東京電力の更新時刻
CSVファイルが
更新された時刻
(日付 時:分:秒)
5分刻みの
時刻との差
(分:秒)
UPDATEに
記載された時刻
(日付 時:分)
新しく追加された
データの時刻
(日付 時:分)
更新された
時刻との差
(分:秒)
2011/7/18 10:45:550:552011/7/18 10:402011/7/18 10:405:55
2011/7/18 10:51:251:252011/7/18 10:452011/7/18 10:456:25
2011/7/18 10:56:471:472011/7/18 10:502011/7/18 10:506:47
2011/7/18 11:02:132:132011/7/18 10:552011/7/18 10:557:13
2011/7/18 11:08:073:072011/7/18 11:002011/7/18 11:008:07
2011/7/18 11:10:500:502011/7/18 11:052011/7/18 11:055:50

データと更新時刻のタイムラグは5~8分です。

これは東北電力と九州電力と照らし合わせると、データの時刻の表記方法がこれらとは違っていて、5分ずれているかもしれません。例えば10:45のデータは10:40~10:45の5分間ではなく、10:45~10:50の5分間を示すというように。ただ、それにしては早すぎる場合もあるので(差が1桁のときもある)、不明です……。

また、「5分刻みの時刻との差」というのは5分、10分、15分…という5の倍数の時刻との差で、自動アップデートのタイミングを決める参考になります。これは大体2分以内に収まっています。

東北電力の場合は、
東北電力の更新時刻
CSVファイルが
更新された時刻
(日付 時:分:秒)
5分刻みの
時刻との差
(分:秒)
UPDATEに
記載された時刻
(日付 時:分)
新しく追加された
データの時刻
(日付 時:分)
更新された
時刻との差
(分:秒)
2011/7/18 11:12:142:142011/7/18 11:122011/7/18 11:102:14
2011/7/18 11:17:142:142011/7/18 11:172011/7/18 11:152:14
2011/7/18 11:22:132:132011/7/18 11:222011/7/18 11:202:13
2011/7/18 11:27:152:152011/7/18 11:272011/7/18 11:252:15
2011/7/18 11:32:132:132011/7/18 11:322011/7/18 11:302:13
2011/7/18 11:37:152:152011/7/18 11:372011/7/18 11:352:15

規則正しく2分14秒ごとに更新しています。タイムラグも同じく2分14秒です。とても優秀です。

九州電力の場合は、
九州電力の更新時刻
CSVファイルが
更新された時刻
(日付 時:分:秒)
5分刻みの
時刻との差
(分:秒)
UPDATEに
記載された時刻
(日付 時:分)
新しく追加された
データの時刻
(日付 時:分)
更新された
時刻との差
(分:秒)
2011/7/18 11:38:203:202011/7/18 11:352011/7/18 11:353:20
2011/7/18 11:43:203:202011/7/18 11:402011/7/18 11:403:20
2011/7/18 11:47:202:202011/7/18 11:452011/7/18 11:452:20
2011/7/18 11:53:203:202011/7/18 11:502011/7/18 11:503:20
2011/7/18 11:57:202:202011/7/18 11:552011/7/18 11:552:20
2011/7/18 12:02:192:192011/7/18 12:002011/7/18 12:002:19

こちらも2分20秒か、3分20秒ごとに更新しています。タイムラグも同じ時間で、東北電力に次ぎます。

以上のようなことを考慮に入れて、電気アラートでは、5分刻みの時刻に2分30秒を加えた時刻(7分30秒、12分30秒、17分30秒……)に自動アップデートを行うようにしています(ただし、時間の経過とともに少しずれていきます)。

電力会社ごとに細かく合わせるように変更しました(電気アラート(続)参照)。

[追記2] 日またぎ時の再開時刻

深夜0時に日付が変わった後、電力会社のデータは更新がしばらく途切れます。もちろん、この時間帯に途切れても実用上は何の問題もありませんが……。

とにかく、正常なデータの更新が再開する時刻を同じく自作ソフトで調べてみたのが以下です。
東京電力
(時:分:秒)
東北電力
(時:分:秒)
関西電力
(時:分:秒)
九州電力
(時:分:秒)
2011/7/211:05:531:02:081:19:570:08:14
2011/7/221:07:401:02:171:20:070:08:42
  • 東京電力と東北電力は、その日の1回目の更新で前日のデータを全部出した後、更新が止まり、1時過ぎに0時台の1時間のデータとともに、5分ごとのデータの更新が再開します。これも一つの割り切りだとは思います。

  • 関西電力は、更新は止まらないのですが、中身は前日のデータという状態が続き、中身もその日のデータに切り替わるのは1時20分頃です。止まらないのはいいのですが、あまり行けてない感じがします。

  • 九州電力は、1回だけ更新がスキップしますが、その日の2回目のタイミングから更新が再開します。圧倒的に早いです。まあ九州電力は1時間ごとのデータを出してないので、そこが他とは違いますが。
以上のように、九州電力を除いて、0~1時頃の間は正常なデータがリアルタイムで出ていません(その間のデータは再開した時点でまとめて出ます)。電気アラートでは、正常でないデータはスルーするようにしているので、再開するまで前日のデータが表示されたままになります。実用上は問題ないと思いますが、念のため。

0 コメント :