シャープの太陽光発電リモコンから電気の発電量・使用量データを取得する

スマートホーム
スポンサーリンク

はじめに

東京電力管内では、家に付いている電力計がスマートメータに随時交換されています。スマートメータになると「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は取得できました。ただ、文字化けしている・・・・。

$ 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コマンドで文字コードを変換します。

$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解析してデータを抜き出す事を考慮しているとしか思えません。神対応です。

<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で数字だけ抜けば良いですね。

$ 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

④発電量データの取得

発電量データの取得も考え方は同じです。以下で取得できます。

$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でグラフ表示するなんてことも可能です。

関連記事

記事が参考になったら、ブログランキングに協力(クリック)して貰えると嬉しいです。

昼間はIT企業に勤めてますが、プライベートでは「育児×家事×IoT」をテーマに家のスマートホーム化に取り組んでいます。Androidアプリも作っているので使って下さい。質問・コメントは、↓のコメント蘭でもFacebookメッセンジャーでもどちらでも大丈夫です。
E-mail:naka.kazz.d@gmail.com

naka-kazzをフォローする
スマートホーム開発者向け
スポンサーリンク
naka-kazzをフォローする
スマートホーム×DIY

コメント