家庭の電力使用状況を収集・可視化するツールです。
オムロン製太陽光発電計測ユニット "KP-MU1P-M" にアクセスし、 JSON 形式で取得できる電圧・電流・電力のリアルタイムデータを収集します。
収集したデータは、 InfluxDB に蓄積し、 Grafana で可視化します。
Docker Compose が動作し、 KP-MU1P-M と疎通が取れる Linux 環境(WSL も可)で動作します。
本ツールでは以下のデータを収集します。
- 電圧(V)
- Vdc: 太陽電池アレイの直流電圧
- Vu: U相の主幹交流電圧
- Vw: W相の主幹交流電圧
- 電流(I)
- Idc: 太陽電池アレイの直流電流
- Iu: U相の主幹交流電流
- Iw: W相の主幹交流電流
- 電力(P)
- Pconsume: 全消費電力
- Pgen: パワーコンディショナーの発電電力
- Ptrade: 電力会社からの買電(正)または売電(負)電力
- Pu: Ptrade のうちU相に流れた電力
- Pw: Ptrade のうちW相に流れた電力
-
.env
ディレクトリをリポジトリルート直下に作成し、influxdb2-admin-password
,influxdb2-admin-token
,influxdb2-admin-username
の3つのファイルを作成します。 これらのファイルには、ファイル名にしたがって中に適切な文字列を書き込みます。 -
config-sample.json
ファイルをコピーして、 config-sample.json と同じ階層にconfig.json
ファイルを作成します。 config.json ファイルの内容は、環境に合わせて書き換えます。 内容は次のようにします。
{
"influxdb": {
"url": "InfluxDBのURL(Docker Composeで建てる場合は書き換え不要)",
"token": "InfluxDBのアクセストークン",
"org": "InfluxDBのOrganization名",
"bucket": "InfluxDBのBucket"
},
"solarUrl": "KP-MU1P-MのURL",
"fetchIntervalSeconds": "計測値の取得間隔(秒)",
"suppressLog": "計測値の取得成功時のログ出力を抑制するか(falseにするとログが出る)"
}
$ sudo docker compose up -d
を実行すれば起動します。
初回起動時などで、 config.json で指定した名前の Organization, Bucket が InfluxDB 上に存在しない場合、 それらは自動的に作成されます。 前もって Organization, Bucket を手動で作成しておく必要はありません。
ソースコードを書き換えたとき、および config.json を書き換えたときは $ sudo docker compose build
を実行してコンテナをビルドし直してください。
Grafana のデータソースに InfluxDB を設定する際、 URL には http://influxdb2:8086
を指定してください。