スマートメーターのBルート接続で自宅電力消費量をMuninしてみた

家で日々消費する総電力を監視してみたいなぁと思い、Bルートの申込みを2年前に済ませていたものの、Wi-SUNモジュール(スマートメーターと通信する機器)に2万も出費するのが嫌でずっと放置してた。

上リンク先の記事以降、もう3年近く安定して電力量がモニタリングできてたのに。突如遮られたとい...
東京電力パワーグリッド「Bルートサービス」ページ。東京電力パワーグリッド株式会社は、経済・産業の中心である首都圏エリアで、送配電ネットワークを活用し、電力の供給等を行う送配電事業会社です。

最近になってふとググっていると、「RL7023 Stick-D/IPS」なる製品が1万以下で購入できることが分かり、コレは!と思い飛びついた次第。

この記事は、到着後早速にMuninグラフ化まで設定してみた記録。

メーターとWi-SUNモジュール間はコンクリ隔てて15mほど

自宅のスマートメーターを見ると富士電機製だった。Wi-SUNモジュールまでの距離はMuninが動いてるモニタリングサーバーから下写真のここまで15mほど。メーター設置されてるマンションの玄関隣の場所から、部屋内ベランダ側近くまでの通信となる。最初は通信が安定するか不安だったけれど、結果的にまったく問題なかった。

RL7023 Stick-D/IPSは問題なく自動認識

HEMS用Wi-SUNモジュール:Wi-SUN Route-B 専用 RL7023 Stick-D/DSSのご案内。HEMS コントローラ用920MHz帯通信モジュール。Wi-SUN Route-B プロファイルを搭載。
・HEMSコントローラ用920MHz帯通信モジュール ・Wi-SUN Route-Bプロファイルを搭載 ・Wi-SUNアライアンスの認証取得済み(Route-B) ・HEMSコントローラ用USBインターフェース搭載 ・USBドングルタイプで業界最小サイズ ・USBインターフェースはWindowsのみならず、Linux(...

動かす環境はVM上のUbuntu 18.04 LTS。後に、20.04 LTSにアップグレードしているが問題なく動き続けている(2020年現在)。

# cat /etc/issue Ubuntu 18.04.2 LTS \n \l
#

RL7023 Stick-D/IPSは、ESXiでパススルーした後USBコネクタに刺すだけで次のように認識。/dev/ttyUSB0 として確認できたので、とてもお手軽に事前準備できた。筆者は仮想環境だが、リアルサーバでも同様に認識するはず。

# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 005: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
...........
#

ワット数の取得は、次リンク先有志の方のスクリプトから echonet.py と get-power.py を使わせていただくことにした。ありがとうございます。

電力自由化によって電力会社を選べるようになったものの我が家で契約している半日お得プランよりお得なプランは無さそうシミュレーションも従量制のみで他のプランのシミュレーションは出てこない。。そんな…

変更は、アカウントのrbid、rbpwd はもちろんだけれど、26行目を、

body = str(intPower)

にして、当方環境では時間も不要なため27行目をコメントアウトに。

あとは、59、60行のファイル出力先を、

POWER_FILE_NAME = "power.log" 
WRITE_PATH="/var/log/"

とした程度。デーモンとして動かしておけば定期的に数値を書き出してくれる。

Pythonのシリアル環境がインストールされてなかったのでaptで入れたけれどエラーになった。そのためpip でも入れてみた。

# apt-get install python3-serial 
# apt install python-pip 
# pip install serial

Muninプラグインを作ってみる

Muninプラグインは取りあえず簡単に作って、取得安定するのかしばらくの期間様子見してみることにする。Munin自体の構築は「munin インストール」などでググって有志の記録を参考に。

# cat /etc/munin/plugins/wattage
#!/bin/bash

if [ "$1" = "autoconf" ]; then
echo yes
exit 0
fi

if [ "$1" = "config" ]; then

echo 'graph_title Power wattage'
echo 'graph_args -l 0'
echo 'graph_vlabel wattage'
echo 'graph_scale no'
echo 'graph_category sensors'
echo 'wattage.label Watt'
echo 'wattage.draw LINE'
echo 'graph_info Home wattage'
echo 'wattage.info bp35a1 with smartmater'
exit 0
fi

echo -n 'wattage.value '
cat /var/log/power.log
#

get-power.py 動かしたあとに見てみると、取得値も問題なさそう。

# munin-run 
wattage wattage.value 392 
#

スバラシイ!(^^)

やっぱり、仕事感ハンパないZabbixよりもシンプルなMuninが好きwww

WindowsでエンコードしたりエアコンONにすると電力量上がったりして、その相対関係が分かり見てておもしろい。電気代明細と見比べると、今月は、来月は、などと予想できてきたりもするだろう。

取得異常時はデーモン自動再起動させることにした

その後、2週間程度でプロセスはあるものの数値更新されないことが続いた。そのため、こちらを参考に監視cronを動かすことにした。

ちなみにスクリプトはsystemdでサービス化しているので、プロセス監視をシステム任せにするのがよいでしょう。

# cat /etc/systemd/system/power.service
[Unit]
Description = Power daemon

[Service]
ExecStart = /usr/bin/python /usr/local/bin/bp35/get-power.py
ExecStop = /usr/bin/pkill -SIGTERM /usr/bin/python /usr/local/bin/bp35/get-power.py
Restart = on-failure
Type = simple
RestartSec = 10s

[Install]
WantedBy = multi-user.target

その後

グラフが途切れるようなことはなく、スゴぶる安定! いよいよグラフから月の電気代が予想できるようになりつつあるw

1年以上経過したがド安定でGoood !!

グラフが途切れることは無くなった。

日に2、3回プロセス再起動しているのが分かる。

$ tail /var/log/powercheck.log
2020-06-09 04:30:01 restart
2020-06-09 13:50:01 restart
2020-06-09 22:00:01 restart
2020-06-10 16:00:01 restart
2020-06-10 17:50:01 restart
2020-06-11 18:10:01 restart
2020-06-11 18:20:01 restart
2020-06-12 05:30:01 restart
2020-06-13 09:00:01 restart
2020-06-14 06:50:01 restart
2020-06-14 16:20:01 restart
$
・HEMSコントローラ用920MHz帯通信モジュール ・Wi-SUN Route-Bプロファイルを搭載 ・Wi-SUNアライアンスの認証取得済み(Route-B) ・HEMSコントローラ用USBインターフェース搭載 ・USBドングルタイプで業界最小サイズ ・USBインターフェースはWindowsのみならず、Linux(...
sponsored links