法人無料！スマートメーターとIIJのHEMSコントローラを導入して家の電力ログにアクセス

電力小売り完全自由化に伴って、電力メーター界隈がアツくなってきています。
おうちハック的には、その中でも「Bルート」というものが重要です。

# BルートとHEMSコントローラの概要
Bルートってなんでしょう？
一言で説明すると、スマートメーター情報を、宅内から直接アクセスするための通信経路、とでもいったところでしょうか。経産省の資料に、以下のような図がありました。

![http_www.meti_.go_.jp_committee_summary_0004668_pdf_015_03_00.pdf.png](https://qiita-image-store.s3.amazonaws.com/0/125904/313d1f91-81b4-85c3-65c8-0d6c07b5a36f.png)
図は[経産省資料](http://www.meti.go.jp/committee/summary/0004668/pdf/015_03_00.pdf)から

スマートメーターからは、二つの通信経路が出ている模様です。そのうちAルートというのは電力会社に直接つながっていて、30分ごとに値が自動送信されています。Bルートは30分ごとの値も取れるうえ、要請に応じて随時情報も送れるようです。

この30分ごとの値は積算値といって、メーターを設置してからの総電力消費量(単位はkWh)の値です。随時リクエストに応じて取得できるのは瞬時値(単位はW)といって、今の瞬間どれくらい電気を使っているかという値です。数学的には、瞬時値を時間で積分すると積算値になります（実際にはどちらも離散的なサンプルなので、等しくはなりません）。

Bルートは宅内のLANとは違うネットワークなので直接アクセスすることはできません。Bルートにアクセスするための機器が必要で、それがHEMSコントローラと呼ばれるものになります。今回話題のIIJ SA-W1がこの役割を担うことができる装置になります。[SA-W1以外のラインナップ](http://www.sacm.jp/index.html#saw2)もありますが、設定方法の大筋は変わらないと思われます。ちなみに自作もできます。

ラズパイやWindowsやMac http://qiita.com/rukihena/items/82266ed3a43e4b652adb
ラズパイ http://chappnet.hateblo.jp/entry/2015/08/20/024137
Arduino http://d.hatena.ne.jp/NeoCat/20160110/1452407542

電力アクセスの方式には二通りあります。一つには、HEMSコントローラがクラウドに上げたデータを取得する方法です。もう一つには、HEMSコントローラがLAN側にメーターの値を取得する口を用意してくれればそれを用いることができます。SA-W1はそのどちらもサポートしています。しかも現在IIJは法人向けに、HEMSコントローラを無料で貸し出ししているのです！これは使わない手はありませんね。

# 大まかな流れ

では早速チャレンジしてみます。主に３ステップが必要です。
一番時間がかかるのは最初のステップで、状況によってひと月ほどかかることもあります。１と２は同時に進めましょう。それらが完了したら３を実施します。

1. 電力会社（うちは東京電力）に頼んで、家の電力メーターをスマートメーターに代えてもらい、[Bルートサービスに申し込みます](http://www.tepco.co.jp/smartmeter/broute_moushikomi-j.html)。東京電力ではメーターの交換時期が来たらスマートメーターに代えてくれるので、気づかないうちに機器が置き換わっていることもあります（2020年までにはすべての世帯が置き換わることになっています）。もちろんお金はかかりません。それでもスマートメーターにアクセスするパスワード等を取得するために現状ではBルートサービスへの申し込みは必要です。
2. IIJの「[スマートメーターBルート活用サービス　トライアルプログラム](http://www.iij.ad.jp/biz/smart-meter/trial.html)」に申し込みます。現在は、Bルートを利用するサービスなどを企画検討している法人・団体であれば、HEMSコントローラも含めて無償で試用できます。
3. 電力会社からスマートメーターのIDとパスワードが届き、IIJからも機器が届いたらセットアップを行います。

順々に説明します。

# Bルートサービスの申し込み（東京電力）

何はともあれ、家の電力メーターをスマートメーターにしてもらわないことにははじまりません。その申し込みをしましょう。スマートメーターはこんな外観をしています。

![meter.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/fbb6acf8-2db4-2f0c-4bfb-02e99adeb51d.jpeg)

スマートメーターへの入れ替えは電力会社によってどんどん進められているので、気づかないうちに入れ替わっているかもしれません。そんな人は入れ替え工事をしてもらう必要がないのでラッキーです。ただ、メーターの情報を自分で得るためにBルートサービスに申し込む必要はあります。入れ替わっていない人はBルートサービスと同時に工事の申し込みをしましょう。フローは次のようになります。

![flow.png](https://qiita-image-store.s3.amazonaws.com/0/125904/dd23b267-a83f-9894-e207-3a643e34837e.png)
出典：http://www.tepco.co.jp/smartmeter/broute_moushikomi-j.html

申し込みは、東京電力の場合は[こちらから](http://www.tepco.co.jp/smartmeter/broute_moushikomi-j.html)行えます。申し込みに際しては過去に検針時に投かんされていた電気使用量のお知らせを手元に用意しておいてください。そこに記載されている「地点番号」と「ご契約種別」が必要になります。

![1s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/e0f60a86-e94e-6fdc-378b-8b947dcaa0d0.png)

メールアドレスを入力するときにHEMSコントローラを導入する予定かどうか聞かれます。もちろんIIJのSA-W1はHEMSコントローラなのでチェックを入れておいてください。

申し込むと、以下のように工事の調整をするメールが来るので日程を決定し、メーターを付け替えてもらいます。

```
お客さま各位



　日頃より，東京電力をご利用いただき，誠にありがとうございます。

　この度，お申込いただきました［電力メーター情報発信サービス（Ｂルートサービス）］についてご連絡いたします。

本サービスをご利用いただく際は，弊社設置のスマートメーターに対応したＨＥＭＳ機器を，お客さまにご用意いただく必要がありますので，再度ご確認をお願いいたします。

　つきましては，ＨＥＭＳ機器のご用意が整った方（または近日中にＨＥＭＳ機器の設置予定がある方）は，スマートメーターへの取替工事※１が必要となりますので，ご希望の日時※２を当メールアドレスに返信いただきますようお願い申し上げます。
　尚、ご返信頂いた希望の日時について，日程を調整させて頂く場合のみご連絡致します。
当社より連絡が無い場合については，原則として，ご希望の日時にてお伺い致します。
※１　スマートメーターへの取替は停電工事となります。（ご不在時に取替工事を希望される場合は，その旨をご返信いただきますようお願いいたします。）
※２　土日祝祭日を除く，平日の午前９：００～午後１７：００の間で工事にお伺いいたします。
※３　集合住宅などでオートロック設備がある場合はついては，原則としてお立ち会いをお願い致します。
```
工事が終了すると、以下の二つが得られます。
１．「電力メーター情報発信サービス（Bルートサービス）」のパスワード：メールで送られてきます。
２．認証ID：郵送されてきます。

これで電力会社関係の手続きは終了です。

# IIJの「[スマートメーターBルート活用サービス　トライアルプログラム](http://www.iij.ad.jp/biz/smart-meter/trial.html)」への申し込み

メーターの入れ替えとID発行にはそれなりに時間がかかるので、並行してHEMSコントローラを手に入れておきましょう。IIJでは、2016年6月現在「[IIJスマートメーターBルート活用サービス　トライアルプログラム](http://www.iij.ad.jp/biz/smart-meter/trial.html)」を実施しており、Bルートを利用するサービスなどを企画検討している法人であれば無料でHEMS機器を借りることができます。

![trialprogram.png](https://qiita-image-store.s3.amazonaws.com/0/125904/292c57b8-f4ed-45e7-45b2-d1d7319fb45c.png)

このページからフォームを埋めて申し込むと、後日HEMSコントローラー実機と、設定画面のURLやアカウントのID・パスワードが送られてきます。後者は「納品書」の中に書かれてありました。

![2016-06-02 10.40.09s.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/33dc9e0c-56ee-b444-5c5f-b34d4254538c.jpeg)

これで下準備は完了です！

# セットアップ

## SA-W1の設置
さあ、ついにSA-W1の設置です！

箱を開くと、内容物は以下のようになっています。

![2016-06-02 10.44.24s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/16e0d90d-2b3c-b8ac-a146-fbbd9ae09f7a.png)

一番下にあるUSBメモリみたいなのがWi-SUNドングルといって、スマートメーターとBルートを経由して無線通信するためのアイテムです。
説明書通りに組み立てます。なんかガンダムっぽくないですか？

![2016-06-02 10.47.12s.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/1b290e54-c6d8-02cb-fda1-e774cb6db511.jpeg)

家のネットに有線でつなぎ、電源投入します。

![2016-06-02 10.55.28s.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/1fbf1d85-ecad-1f17-3d3a-862d10b10130.jpeg)

電源ランプがオレンジのままの状態になったら完成です。ここから先は、次に説明するクラウドでの設定を行うまで変化がありません。私はなりませんでしたが、もしランプが点滅しだしたらファームアップデート中だそうなので、電源を切ってはいけません。

![2016-06-02 11.00.01s.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/4979e188-fa96-679d-2d3a-fed8f9b7ee6d.jpeg)

## 設定
機器のソフトウェア的な設定は全てクラウドから行います。IIJから送られてきた情報に基づいて設定用のHPを開き、ログインします。

![1s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/328388ce-195f-e33e-7b85-788ff4b89b6d.png)

ログインすると以下のような画面になるので、「新規設定可能」をクリックします。（申し込んだ機器数によって表示内の数は変わります）

![2s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/be24aa2d-2843-ebef-faf8-00c1ff9bbb56.png)

タイプMとタイプWで手続きが違うみたいです。
今はSA-W1の設定をしたいので、タイプWをクリックしますw

![3s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/e5f55a2b-8684-a800-c5e6-1712ab9900f9.png)

すると、「需要家の情報」「端末の動作モード」「無線LAN設定」「機器ID」「スマートメーター認証情報」を入力するよう求められます。

![4s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/48f7d750-7627-2908-81e3-d26a9b53ea69.png)

・需要家っていうとなんかの職業みたいですが、電気を使う需要がある人という意味らしいです。入力しなくても大丈夫なので飛ばしていきます。
・動作モードは「検針のみ」にしておきます。SA-W1って元々WiFiルーターとして販売されているものらしい（近所のうどん屋に置いてあってびっくりしたことがあります）のでルーター機能のONもできるようですが今は使いません。モバイルも差し当たり関係ありません。
・無線LAN設定も「利用しない」でOKです。使いたければ使うこともできます。
・機器IDは、SA-W1本体裏にDistIDとして書かれている英数字列です。すでに入力されているので、複数機器をリクエストした場合は該当するものを選びます。
・スマートメーター認証情報は、東京電力から送られてきたスマートメーターの認証情報です。「BルートID」というのが東京電力で言うところの「Bルート認証ID」（郵送されてくるもの）、「Bルート パスワード」というのが東京電力の言うところの「『電力メーター情報発信サービス（Bルートサービス）』のパスワード」（メールで送られてくるもの）に対応します。

必要な情報が揃ったら「作成する」のボタンの下の文字列が『「設定完了」として作成します。機器が動作できる状態になります。』に変わります。

![5.png](https://qiita-image-store.s3.amazonaws.com/0/125904/4463d0a5-8b56-1b58-0504-8cbeef42904a.png)

さあ作成ボタンを押しましょう！確認が出るので本気で作成ボタンを押します。

すると、端末上の「ステータス」ランプが勢いよく点滅しだします。ドキドキしますね。
しばらくすると点滅は止まり、電源ランプがオレンジになり、やがて緑色になります。設定完了です！

![DSC_1336s.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/f14d733d-f590-de59-8089-f75a75b7ce25.jpeg)

Webの方の画面で機器一覧画面に戻ると、ゲートウェイ：タイプWの新規設定可能数が３から２に減っています。設定できたみたいですね。

![6s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/60e73669-c5ef-8c6e-c7f6-55af31953e3a.png)

では、左側のメニューから「検針データ」を見てみましょう。「機器一覧」のところに、今登録した機器が表示されていることがわかります。

![7s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/392fe0e7-881e-e879-b308-6371c322823d.png)

これをクリックすると、出ました電力量のグラフが！！

![8s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/4a7eb56d-f127-0241-df13-417086073664.png)


この画像は瞬時値つまり30秒ごとの電力使用量です。この下にもグラフが表示されていますが最初は何も埋まっていません。これは定時電力量すなわち30分間隔の積算電力量ですね。直接電気料金と関係してくるのはこちらの値になります。
後日取得したスクリーンショットをつけておきます。

![10s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/e6db1c07-4d47-34f9-6851-a8e632c92b1d.png)

# API等を使って電力データを取得する

最後に、SA-W1を使ってデータを取得する方法が途方もなく簡単なので、軽く言及しておきます。

## クラウドWebAPIを使う方法

IIJのクラウドに上がったデータはWebAPI経由で取得可能です。
まず、Webインターフェースで「検針データ」から「機器一覧」に表示されている機器名を控えておきます。この機器名は「サービスコード」と呼びます。

![7s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/392fe0e7-881e-e879-b308-6371c322823d.png)

次に、「API認証管理」からAccess KeyとAccess Tokenも控えておきます。

![9s.png](https://qiita-image-store.s3.amazonaws.com/0/125904/9b64cc40-88af-b661-5a03-f2e931688b4a.png)

それから、APIのホスト名、これはIIJから送られてくる資料に載っています。

APIの呼び出しは、Basic認証付きの単なるhttps GETアクセスです。
curlを使ってみましょう。

`curl https://[ホスト名]/external_api/v1/fwd_int_power/[サービスコード] -u [Access Key]:[Access Token]`

[]で囲まれたところはご自分の値に書き換えてください（角カッコは入力しません）

すると…

```
[{"measured_at":"2016-06-09T21:00:00.000+09:00","missing":false,"value":562.7},
{"measured_at":"2016-06-09T21:30:00.000+09:00","missing":false,"value":562.9},
{"measured_at":"2016-06-09T22:00:00.000+09:00","missing":false,"value":563.1},
{"measured_at":"2016-06-09T22:30:00.000+09:00","missing":false,"value":563.3},
{"measured_at":"2016-06-09T23:00:00.000+09:00","missing":false,"value":563.4},
{"measured_at":"2016-06-09T23:30:00.000+09:00","missing":false,"value":563.5},
{"measured_at":"2016-06-10T00:00:00.000+09:00","missing":false,"value":563.6},
{"measured_at":"2016-06-10T00:30:00.000+09:00","missing":false,"value":563.7},
{"measured_at":"2016-06-10T01:00:00.000+09:00","missing":false,"value":563.9},
{"measured_at":"2016-06-10T01:30:00.000+09:00","missing":false,"value":564.0},
{"measured_at":"2016-06-10T02:00:00.000+09:00","missing":true,"value":0.0},
{"measured_at":"2016-06-10T02:30:00.000+09:00","missing":true,"value":0.0},
{"measured_at":"2016-06-10T03:00:00.000+09:00","missing":true,"value":0.0}]
```

こんな感じで積算電力値を取得できました！簡単すぎる！！！

というわけでIIJ無双でした。
これで安心して電力アプリが書けますね！！

## ECHONET Liteを使ってSA-W1から直接データを得る方法

クラウドを使わず、直接[ECHONET Lite](http://echonet.jp/)という方式を使ってデータを取得することもできます。SA-W1のLAN側Ethernetポートや、無線機能をONにしたときの無線経由のアクセスで、スマートメーターオブジェクトが出されているので、そこにアクセスすればOKです。Androidに[ソニーCSLのKadecot](http://kadecot.net/)を入れて機器検索すると、スマートメーターオブジェクトができているのがわかります。Kadecot APIも簡単なのでぜひ使ってみてください。

![Screenshot_2016-06-09-21-35-33s.jpg](https://qiita-image-store.s3.amazonaws.com/0/125904/dd497c0a-1a7d-d5b0-55c0-8271d3bcc3ea.jpeg)

スマートメーターはそのうちすべての家に導入されます。ぜひBルートアクセス試してみてください！！