はじめに
東京電力管内では、家に付いている電力計がスマートメータに随時交換されています。スマートメータになると「Nature Remo E lite」などを使って、電力の使用量や太陽光の発電量を取得できるようになります。
ただ、実際に値段を見てみると、定価1万5000円と、結構高い!
しかし、うちには既に太陽光発電用のリモコンとしてシャープ製の「JH-RWL2」というものが設置されています。このリモコンから使用量・発電量の情報が取得できないか調査しました。
調査の結果、このリモコン自体がWebサーバの機能を持っており、使用量・発電量の情報をWebブラウザから見えるようになっています!入居した時には誰も教えてくれなかったぞー、説明書をちゃんと読めば書いてあるのかな?

IPアドレスを調査
太陽光発電用リモコンもインターネットを通じて発電量情報をシャープのサイトに送っているのでIPアドレスを持っています。まずは、リモコンのIPアドレスを調査します。
①設定画面の表示
太陽光発電用リモコンのトップ画面から「設定」を選択します。実際には設定の位置にある丸いボタンを押します。

②ネットワーク通信画面の表示
設定メニューが表示されたら「ネットワーク通信」を選択します。

③現在の設定状況
ネットワーク通信画面で「現在の設定状況」を選択します。

④IPアドレスの確認
すると見つけましたIPアドレス‼️このIPアドレスをメモします。

太陽光発電用リモコンにWebアクセス
IPアドレスが分かったので、太陽光発電用リモコンにWebアクセスしてみます。
①リモコンにアクセス
PCのWebブラウザから「http://<<IPアドレス>>/PC/」にアクセスします。すると現在の消費量・発電量・売電量が表示されます!!すごい!

本日の発電・消費の様子なども見れます。

年間の状況も分かりやすくグラフで表示されます。

消費量・発電量データを取得
残念ながらWebAPIやJSONでデータを取得できるインタフェースは無いようですが、HTMLで情報が取得できるので、HTMLを解析すれば必要な情報を抜き出せます。
①curlでHTMLを取得
まずは、curlコマンドでHTMLを取得してみます。HTMLは取得できました。ただ、文字化けしている・・・・。
1 2 3 4 5 6 7 8 9 |
$ curl -s http://192.168.2.203/pc/ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <!-- ?I?v?V????M2?w??̏ꍇ?͂???????o?͂??? --> <!-- ?I?v?V????M2?w??̏ꍇ?͂????܂ŏo?͂??? --> <!-- ?I?v?V????M2?w?肵?Ȃ??ꍇ?͂???????o?͂??? --> ・・・・以下省略・・・・ |
②文字コードを変換
HTMLの文字コードがShift_JISのようなので、nkfコマンドで文字コードを変換します。
1 2 3 4 5 6 7 8 9 |
$curl -s http://192.168.2.203/pc/|nkf -w <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <!-- オプションM2指定の場合はここから出力する --> <!-- オプションM2指定の場合はここまで出力する --> <!-- オプションM2指定しない場合はここから出力する --> ・・・・以下省略・・・・ |
③消費量データの取得
取得したHTMLを眺めていくと以下のようにHTMLに「ここから消費量表示」「ここまで消費量表示」とコメントが入っているではないですか!この間に挟まっている数字こそが、欲しかった消費量データの数値です。このHTMLを設計した人は、こうやってHTML解析してデータを抜き出す事を考慮しているとしか思えません。神対応です。
1 2 3 4 |
<tr><td align="right" width="95"><span class="data_top"> <!-- ここから消費量表示 -->1.60<!-- ここまで消費量表示 --></span></td> <td align="right" width="28"><img src="kw.gif" width="28" height="32" alt="kW"></td> |
取得する情報が分かったら、抜き出すコマンドを考えます。awkで数字だけ抜けば良いですね。
1 2 3 |
$ curl -s http://192.168.2.203/pc/|nkf -w|grep "消費量表示"|awk 'match($0,/[0-9]*\.[0-9]*/){print substr($0, RSTART, RLENGTH)}' 1.66 |
④発電量データの取得
発電量データの取得も考え方は同じです。以下で取得できます。
1 2 |
$curl -s http://192.168.2.203/pc/|nkf -w|grep "発電量表示"|awk 'match($0,/[0-9]*\.[0-9]*/){print substr($0, RSTART, RLENGTH)}' 1.62 |
おわりに
今回は、シャープの太陽光発電用リモコンから、電力の消費量と発電量の情報を取得することをやってみました。これなら、高いスマートメータ対応機器を購入しなくても0円で、情報を取得することができます。
情報さえ取得できてしまえば、煮るなり、焼くなり加工して、Home Assistantでグラフ表示するなんてことも可能です。

関連記事


コメント