2011/03/27

東京電力電力供給状況APIを使ってPowerShellからデータ出力

久々の投稿です。しばらくPowerShellを扱ってなかったので、リハビリ。

関東では現在計画停電が行われていますが、
有志にて東京電力の電力使用状況APIを公開している方がいます。

東京電力の電気使用状況 API
http://denki.cuppat.net/

これを利用して二日分の電力データをPowerShellにて出力してみます。
Function Get-Data {
    Param($date)
    if ($WebClient -eq $null) {
        $Global:WebClient=new-object System.Net.WebClient
    }
    $results=$webClient.DownloadString("http://denki.cuppat.net/data/$($date).json")
    $Results -match """hours"":\[(?<hour>.*)].*""capability""\:(?<cap>.*)," > $null
    $matches
}

Function Check-Data {
    Param($getdata)

    $Ltime = $getdata.hour -split ","
    $cap=$getdata.cap
    write-host キャパシティ $cap

    0..$(($Ltime.length)-1)|% {

        $p=$ltime[$_]/$cap

        if ($p -ge 0.95) {
            $colorname="red"
        }elseif ($p -ge 0.90) {
           $colorname="darkyellow"
        }else {
            $colorname="black"
        }
       

        $a="{0:00}時:電力{1} {2:00}% {3}{4}|" -F $_,$ltime[$_],$($p*100),$("#"*$($p*50)),$(" "*(50-$($p*50)))
        write-host $a -ForegroundColor $colorname
        }
}

$tdata=Get-Data($(get-date -uformat "%Y%m%d"))
$ydata=Get-Data($(get-date -uformat "%Y%m%d")-1)

check-data($ydata)
check-data($tdata)

実行した結果はこちら。
90%以上の利用率で黄色、95%以上で赤字で出力します。

こうみると、やはり夕方は電力量が上がってますね。
僕も引き続き、節電していきたいと思います。