家庭の太陽光発電システムで発電した電気のうち、本来であれば売電するはずだった余剰電力のみをポータブル電源に自動で充電するシステムを構築しました。
今回は、私が構築したポータブル電源自動充電システムのシステム構成をご紹介します。
なお、このシステムは卒FITを迎えた我が家の、以下の考えに基づくものになります。
- 卒FITして売電単価が下がったため、余剰電力を売るよりは自家消費(蓄電)したかった。
- 自動で余剰電力のみを自家消費(蓄電)したかった。
- 電気が余っていないのに充電のために電気を購入する、ようなことにはしたくなかった。
- 自家消費(蓄電)してもなお電気が余るようであれば、それは捨てるのではなく、単価が安くても売電するようにしたかった。
- 出来るだけ導入費用を抑えて、自家消費(蓄電)する仕組みがほしかった。
- 業者に依頼しないと出来ないような、大掛かりなことはしたくなかった。
- 出来るだけシンプルに、自分で全て把握できるものが理想だった。
そもそも私には電気工事の資格も知識もありませんでしたので、自分(DIY)で蓄電システムを組むようなことは出来ませんでした。
そのかわり、プログラミングの知識と資格はありました。
ですので少し視点を変えて、各機器をプログラムで制御し、それを組み合わせることで、電気の知識がなくても家庭のコンセントにポータブル電源の充電プラグを差し込んでおけば、自動的に余剰電力のみを充電してくれるシステムを構築してみました。
このポータブル電源自動充電システムは、当然ですが我が家では毎日順調に稼働してくれています。
システム構成図
ポータブル電源自動充電システムの構成(全体像)は上記のイメージになります。
以降はそれぞれの機器について、動作や役割について記載します。
いずれもポータブル電源自動充電システムでは必ず必要なものになります。
太陽光発電システム
ソーラーパネル
太陽光発電システムを導入している家には必ず設置されている、屋根上のソーラーパネルです。
当たり前ですが太陽光で発電した電気はパワーコンディショナーに送られます。
新たに買い替える必要はなく、既設のものを利用できます。
パワーコンディショナー
ソーラーパネルと同じく、太陽光発電システム導入時から設置されているパワーコンディショナーになります。
ソーラーパネルから送られてきた直流の電気を交流に変換し、分電盤を経由してコンセントに流します。
こちらも新たに買い替える必要はなく、既設のものを利用できます。
FIT中と同様に余剰電力があれば、電力会社に電気を売電することが出来ます。
スマートメーター
従来のアナログ式の電力メーターと違い、デジタルで買電量、売電量を計測するメーターになります。
通信機能を備えているため、HEMS機器に情報を送ることが出来ます。
ポータブル電源自動充電システムでは、簡易HEMSの Nature Remo E Lite がスマートメーターと通信することで、プログラム上から買電量、売電量を把握できる仕組みです。
アナログ式の電力メーターを利用している場合には、スマートメーターに変更が必要になります。
通信機能を利用するための「Bルートサービス」を管轄の電力会社に申し込むと、ほとんどの場合は無料でスマートメーターに取り替えてもらえます。
ポータブル電源
EcoFlow DELTA 2 MAX
家庭用蓄電池の代わりとして使うポータブル電源になります。
本システムでは、家庭用のAC100vコンセントにポータブル電源の充電プラグを繋ぐことで余剰電力の充電を行います。
(正確にはスマートプラグをコンセントと充電プラグの間に挟み込みます)
本記事で紹介するポータブル電源自動充電システムでは、利用できるポータブル電源は以下のみとなります。
- DELTA PRO
- DELTA 2
- DELTA 2 MAX
この後記載する EcoFlow 開発者プラットフォーム の利用が必須ですが、公式ドキュメントのページを見る限り、本記事執筆時点で EcoFlow 開発者プラットフォーム に対応しているポータブル電源は、上記だけだからです。
EcoFlow 開発者プラットフォーム
EcoFlow Developer Platform(開発者プラットフォーム)はエコフローのポータブル電源をプログラム上から制御するためのサービス(WebAPI)になります。
例えば、以下のような制御が可能です。
- 情報取得系
- バッテリー残量の取得
- 充電しているのか、放電しているのか
- 満充電までの残り時間の取得
- バッテリーが空になるまでの残り時間の取得
- 入力電力量/出力電力量の取得
- バッテリー温度や冷却ファンの状態取得
- などなど…
- 設定変更系
- 充電のON/OFFの切り替え
- 充電スピート(充電電力)の変更
- AC、DC、など各出力のON/OFFの切り替え
- ディスプレイの表示設定変更
- ビープ音のON/OFF切り替え
- などなど…
本システムでは、余剰電力(売電する電気)がある場合にはポータブル電源の充電をONにしたり、逆に電気が足りなくて電力会社から電気を買っている場合にはポータブル電源の充電をOFFするなどの制御に利用します。
開発者プラットフォーム はエコフローのアカウントでログイン後、利用申請を行い、承認されれば無料で利用することが出来ます。
スマートプラグ
SwitchBot プラグミニ
スマートプラグ(SwitchBotプラグミニ)は、スマホアプリ上から(遠隔操作で)家庭用コンセントの通電のON/OFFが出来るものです。
ポータブル電源自動充電システムでは、家庭用コンセントとポータブル電源の間に設置します。
ポータブル電源にはパススルーという機能があります。
家庭用コンセントにポータブル電源のプラグが刺してある状態で、ポータブル電源に繋いだ家電を利用した場合、ポータブル電源(バッテリー)に貯めた電気ではなく、家庭用コンセントから供給された電気が利用されます。
つまりポータブル電源にいくら充電していたとしても、その充電した電気は利用されず、電力会社から電気を買ってしまうということです。
ポータブル電源を家庭用蓄電池の代わりとして利用しようとする今回のケースでは、余剰電力を充電するためポータブル電源のプラグは家庭用コンセントに挿しっぱなしにする必要があります。
このプラグ挿しっぱなしの状態でも、電気を買わずにポータブル電源に貯めた電気を利用するためにスマートプラグ(SwitchBotプラグミニ)を利用します。
基本的にはポータブル電源に充電したい場合にはスマートプラグ(SwitchBotプラグミニ)の通電をONにして充電を行います。
逆に充電を停止している場合にはスマートプラグ(SwitchBotプラグミニ)の通電もOFFにして、電気を買うことなくポータブル電源に貯めた電気を利用して家電を動かします。
SwitchBot API
SwitchBotAPIは、スマートプラグ(SwitchBotプラグミニ)をプログラム上から制御するためのサービス(WebAPI)になります。
自動で充電することを目的としたシステムですので、スマホアプリから手でポチポチ操作するわけには行きません。
SwitchBotAPIを利用することで、プログラム上からスマートプラグの通電ON/OFFが行えますので、このサービスも必須です。
SwitchBotのアカウントを登録すれば、無料で利用できます。
簡易HEMS – Nature Remo
Nature Remo E Lite
家庭のコンセントに設置することで、電力会社から買った電気の量、売った電気の量をほぼリアルタイムにスマホアプリ上から確認できるようになる機器になります。
(電気の見える化を行える簡易的なHEMS機器です)
本システムでは、家の電気がどれだけ余っているのか(余剰電力があるのかどうか)、余っているならその量はどれくらいなのかを取得して、ポータブル電源の充電をON/OFFしたり、充電速度の計算のために利用します。
上述のスマートメーターとNature Remo E Liteが通信を行い、電気の使用量(買電量と売電量)を収集します。
通信機能を利用するための「Bルートサービス」を管轄の電力会社に申し込む必要があります。
Nature Remo Cloud API
Nature Remo Cloud APIは、Nature Remo E Liteが収集した電気の使用量(買電量と売電量)をプログラム上から取得するためのサービス(WebAPI)になります。
ポータブル電源への余剰電力の充電を自動化するためには、このAPIも必須となります。
もちろん無料で利用できます。
充電制御プログラム
Google Apps Script
ポータブル電源への充電制御プログラムを記載して動作させるために利用したのが Google Apps Script(GAS) になります。
あの有名なグーグルが提供しているサービスで、少し語弊があるかもしれませんが、Web(インターネット)上で比較的簡単にプログラムを記載できて、そのプログラムを任意のタイミングで実行することが出来ます。
いちいち自分でプログラムを動かす環境(サーバー)を構築する必要が無く、手軽に利用できるサービスとなっています。
プログラミングの言語もJavaScriptが採用されているので、Web系のプログラミングを経験したことがある人にとっては馴染みやすいものとなっています。
(厳密にはJavaScriptとは少し違うようですが、殆ど同じ感覚でコーディング可能です)
ポータブル電源自動充電システムでは、Google Apps Script(GAS)で記載したプログラムを、一定の間隔(例えば1分ごと)で定期的に実行し、ざっくりですが以下のような充電制御を行います。
- 各種情報の取得
- EcoFlow 開発者プラットフォームを利用して、ポータブル電源の状態を取得する。
- 入力/出力の電力量、充電のON/OFF、充電スピート、など…
- SwitchBotAPIを利用して、スマートプラグ(SwitchBotプラグミニ)の通電ON/OFF状態を取得する。
- Nature Remo Cloud APIを利用して、家の電気の使用量(買電量と売電量)を取得する。
- EcoFlow 開発者プラットフォームを利用して、ポータブル電源の状態を取得する。
- 充電設定の変更
- 家の電気が余っていて(余剰電力があって)、売電しているようならポータブル電源の充電をONにする。
- 同様にスマートプラグ(SwitchBotプラグミニ)の通電もONにして、余剰電力をポータブル電源に供給する。
- すでにポータブル電源へ充電中であれば、家の電気の使用量(買電量と売電量)を元に適切な充電スピードを計算し、設定する。
- 余剰電力が無くなって、充電できない状態であれば、ポータブル電源の充電をOFFにする。
- スマートプラグ(SwitchBotプラグミニ)の通電もOFFにして、ポータブル電源に充電した電気で家電を動かす。
(無駄な電気を買わないようにする)
- スマートプラグ(SwitchBotプラグミニ)の通電もOFFにして、ポータブル電源に充電した電気で家電を動かす。
- 家の電気が余っていて(余剰電力があって)、売電しているようならポータブル電源の充電をONにする。
Google Apps Script(GAS)では、プログラムを定期実行する間隔として設定できるのは最小でも1分間隔となっています。
ですが少し工夫することで1分以内の間隔で動かすこともでき、私は20秒間隔で動作させて充電制御を行っています。
Googleアカウント(GMailのメールアドレス)を持っていれば、誰でも無料で利用できます。
まとめ
以上が、私が考えたポータブル電源自動充電システムのシステム構成と各機器の紹介でした。
ポータブル電源を家庭用蓄電池の代替として利用する、というのがどれだけ需要があるか未知数ですが、導入費用を安く抑えられて、以下3つが実現出来ると思いますので、個人的には一石三鳥かなと思っています。
- 家庭用蓄電池と同様に普段は余剰電力の充電(自家消費)に利用できる。
- 災害時(停電時)の対策として利用できる。
設置型の家庭用蓄電池と違い、移動が可能であるため、車内や避難所に持っていくことも出来る。 - 旅行やキャンプなどの際にも、持ち出して利用できる。