申し訳ありません。お使いのブラウザーはJavaScriptをサポートしていません。
サインイン

シミュレーターの紹介

リポジトリ: IAMMETER-simulator

ご意見・ご感想はこちらでお聞かせください。Integrate a virtual 3-phase energy meter (open source) into HA,use it to optimize your solar pv system

はじめに

このシミュレーターの開発を始めるきっかけとなったのは、こちらの投稿です。https://imeter.club/topic/320

お客様の一人が、Home Assistant を使って太陽光の余剰出力を最適に活用しようと試みています。IAMMETER のエネルギー・メーターで太陽光の余剰出力を監視し、Home Assistant で Tesla の充電を制御します(余剰太陽光をできるだけ多く利用します)。

私たちもこのプロジェクトに参加し、制御ロジックを一緒に最適化したいと考えています。しかし、現在オフィスには Tesla とインバーターがありません。そこで、このような作業を実現するためのシミュレーターを開発するというアイデアが生まれました。

このシミュレーターを通じて、シミュレートされた WEM3080T を入手できます。

A 相は太陽光インバーター出力の測定結果です(この結果はシミュレーターで完全にシミュレートすることも、実際のエネルギー・メーターから取得することもできます)。

負荷プロファイルはシミュレーター内で設定され、さまざまな負荷モデル(固定、タイマー、設定可能)があります。

そしてシミュレーターは、太陽光の測定結果(シミュレートまたは実測)と負荷(シミュレート)プロファイルからグリッド消費量を自動的に計算し、その結果を B 相に出力します。

シミュレーターの仮想設置

主な機能

このシミュレーターを使うと、次のような興味深い作業ができます。

  • 負荷制御戦略の最適化: 負荷プロファイルを作成し、負荷の制御ロジックを変更して、どのロジックが太陽光発電(PV)システムから最大のリターンを得られるかを試します(太陽光発電システムの自家消費率を向上させます)。
  • 設置前の太陽光発電収益の予測: 太陽光発電出力をシミュレートし、シミュレートされた太陽光データと実際の電力消費データを使って、太陽光発電の節約額と収入を計算します。

シミュレートされた三相エネルギー・メーターは、実際のハードウェアと同じように Home Assistant や IAMMETER に追加することもできます。

image-20221021135930204

動作の仕組み

このシミュレーターは「ASP.NET Core」で開発されており、オープンソースです。

IAMMETER-simulator リポジトリ

このコードを実行すると、次のように三相エネルギー・メーター(WEM3080T)が設置されているものと見なされます。

太陽光システムの配線図

シミュレーターは、実際の三相エネルギー・メーターと同様に「monitorjson」API もサポートしています。

シミュレーターの A 相のデータは、完全にシミュレートされたデータ(シミュレートされたインバーターの最大電力を設定できます)、実際のエネルギー・メーター(WEM3080T)、または何らかのプラットフォーム(PVoutput など)の API 戻り値から取得できます。

image-20221021102257501

このシミュレーターの負荷モデル

image-20221021141939391

負荷モデルは実際の電力消費をシミュレートするために使用され、現在サポートされている負荷モデルは次の 3 種類です。

  • 手動で切り替えられる固定電力値の負荷。
  • 特定の電力範囲内で、固定の時間範囲で動作する負荷。
  • API で制御できる負荷(オン/オフ、または Tesla 充電器のような特定の電力出力)。

このシミュレーターに独自の制御ロジックを導入して、このような負荷モデルを制御できます。 例えば、オフピーク料金の時間帯に大きな負荷を動作させたり、太陽光の余剰出力をできるだけ多く利用したりできます。

もちろん、実際の状況をシミュレートできる負荷モデルを提供することは簡単なことではありません。 このコードをオープンソース化した後、このプロジェクトに興味がある皆さんが協力して負荷モデルを改善し、実際の状況に近づけられることを願っています。

使用方法 1:このシミュレーターで完全にシミュレートされたデータを使用する

この使用方法では、すべてのデータはこのシミュレーターによってシミュレートされます。太陽光発電出力と負荷プロファイルの両方が、設定に応じてシミュレートされます。

シミュレーターは PV 出力をシミュレートし、そのデータを A 相に出力します。 シミュレートされた負荷プロファイルを出力します。 シミュレートされた A 相の PV データとシミュレートされた負荷プロファイルからグリッド出力を計算し、B 相に出力します。

太陽光発電出力のシミュレート

太陽光インバーター出力のシミュレート

負荷プロファイルのシミュレート

負荷プロファイルのシミュレート

シミュレーターからデータを読み取り、Home Assistant に統合する

実際のエネルギー・メーターがサポートするのと同じ API(「monitorjson」)を使用して、シミュレーターからデータを取得できます

ローカル API を使用してシミュレートされたエネルギー・メーターからデータを取得

シミュレーターを Home Assistant に統合

シミュレートされたエネルギー・メーターを Home Assistant に統合するのは意味がないように思えるかもしれませんが、このシミュレーターをよく理解するのに役立ちます。そうすれば、使用方法 2 と使用方法 3 でシミュレーターをよりうまく活用できるでしょう。

使用方法 2: 実際の太陽光発電出力を使用して、負荷のより良い制御ロジックを見つける

シミュレーターの A 相のデータソースを選択する

現在、2 つのインターフェースのみをサポートしています。実際の WEM3080T から読み取るか、IAMMETER の API から読み取ります。

実際の太陽光発電出力を使用して、負荷のより良い制御ロジックを見つける

実際には、太陽光出力データを含む任意のインターフェース(実際のメーターから読み取るか、オンライン API から取得するかに関係なく)をデータソースと見なして、ここに追加できます。

他のインターフェースに詳しい方は、リポジトリ への PR を歓迎します。

負荷プロファイルを作成する

実際の状況にできるだけ近い負荷プロファイルをシミュレーターで設定してみてください。

次に、シミュレーターは次の式に従ってグリッド消費量を計算します。 グリッド電力 = 太陽光出力電力 - 負荷電力 また、それに応じてグリッド kWh データ(買電エネルギーと売電エネルギーの両方)も計算します。

シミュレーターは、グリッドデータの結果(実際の太陽光とシミュレートされた負荷で計算)を B 相に出力します。

このシミュレートされたグリッド結果は、ローカル API「monitorjson」で読み取り、使い慣れた任意のプラットフォームに統合できます。

負荷モデルが実際の状況に十分近ければ、最適な制御ロジック(アルゴリズム)を見つけるのに役立つかもしれません。 この制御ロジックは次のことに役立ちます:

  • 余剰太陽光でできるだけ多く負荷に電力を供給します。

  • 負荷を太陽光で賄えない場合(夜間)は、できるだけオフピークの時間帯に電力を供給します。

シミュレーターを Home Assistant に統合して制御ロジックをテストする

以下を参照してください。

負荷プロファイルを作成して Home Assistant に統合する方法

参考

ソースコードまたは Docker でこのシミュレーターを実行する

負荷プロファイルを作成して Home Assistant に統合する方法

Integrate a virtual 3-phase energy meter (open source) into HA,use it to optimize your solar pv system

IAMMETER の Wi-Fi エネルギー・メーターを Home Assistant で使用する方法

トップ