Home Assistantによるエコキュートの沸き上げ湯量制御

前回までに、エコキュートのリモコンに無線LANアダプターを接続し、Home Assistantから監視・操作できるようにしました。

dededemio.hatenablog.jp

dededemio.hatenablog.jp

今回は、Home Assistantをつかってエコキュートの沸き上げ湯量を調整するオートメーションを作成してみました。

エコキュートが湯を沸かしすぎる

新居でエコキュートを使っていて不満だったのが、沸き上げ量を細かく調整できない点です。

エコキュートはおまかせモードといって、過去の使用履歴から沸き上げ量を調整する機能がついていますが、これだと毎回4メモリとなり沸かしすぎます。

使用湯量モードという蛇口湯量を指定して沸き上げするモードもついているのですが、これでも湯切れを起こしたことはなく、沸かしすぎと思われました。

しかし、これ以上の湯沸かし量は設定変更できないようで、無駄に沸かしている感が否めませんでした。

日々の湯沸かし量と残湯量の可視化

そもそも現在の沸き上げ量が適正かどうかは、タンクの残湯量の正確な把握が必要です。

しかし、エコキュートのリモコンは、タンク湯量を4段階でしか表示してくれません。しかもこれはタンク内の45℃以上の湯の量であって、実際に蛇口から出せる湯の量ではありません。タンクの湯温と、給湯設定温度が考慮されていないようです。

普通ユーザーが気にするのは蛇口からあと何Lお湯が使えるか、だと思いますが、このタンク湯量表示では、あとどのくらい湯がつかえるか、沸かしすぎてたくさん残っているのか、が判断しづらいものでした。

しかし、Home Assistantにエコキュートを接続したことで、蛇口湯量換算の残湯量がグラフでわかるようになりました。

このポストの図は使用湯量モードで200L設定で沸き上げた時の残湯量実績ですが、毎回360Lほどになるまで沸き上げており、200Lより160L多くなっています。

湯切れ防止のために多少多めに沸かすにしても、200→360Lは多すぎます。やはり使用湯量モードでも沸かしすぎているようです。

最大沸き上げ量制限のオートメーション

沸き上げ量を減らすため、Home Assistantのオートメーションを組むことにします。オートメーションとは、信号変化などをトリガーとし、値を変えるなどの操作を自動で行う機能です。

Home Assistantでは、設定→オートメーションとシーン から新たなオートメーションを追加できます。

ここでは、以下のオートメーションを作成します。

  • オートメーション1
    • 12:00~17:00時の間に残湯量が280L以上になった場合、沸き上げを停止する
  • オートメーション2
    • 11:59に沸き上げモードを自動にする

我が家ではエコキュートの時間を変更し、おおむね昼12:30~14:00頃に沸き上げするようにしています。この時間帯で、残湯量が使用湯量200L+シャワー1回分の予備80L=280Lを超過したときに、沸き上げを停止(manualNoHeating: リモコン上は長期停止)します。

また、沸き上げを停止したままだと翌日再開してくれないので、12:00前に沸き上げを再開する(auto: リモコン上は直前の設定、今回は使用湯量モード200L設定)ようにします。

Home AssistantのGUI上でオートメーションをセットするとこのようになります。

オートメーション1 オートメーション2

Home Assistantのオートメーションは、いつ(When、トリガー)、条件(And if)、どうする(Then do、アクション)という3つの条件指定をします。

オートメーション1では、トリガーを毎分、条件に12:00~17:00であること・280Lの下限値を超過していることを指定し、アクションとして沸き上げ停止を指定しています。

オートメーション2では、毎日11:59をトリガーとして、条件なしで、沸き上げautoをアクションに指定しています。

オートメーション設定時には、以下の点に注意する必要があります。

  • トリガーはOR、条件はANDで判断されます。複数のトリガーを登録すると、いずれかのトリガーが満たされたときに条件判断・アクションされます。トリガーは1つにしておくほうがシンプルです。一方、条件はANDなので、すべて満たされないとアクションは実行されません。
  • 上下限値の条件は、値が上下限値の間に入っているか、=「下限値を超過しているか」、「上限値未満であるか」、を判定します。「上限値を超過したか」、ではないことに注意してください。*1

オートメーションがうまく動いたかどうかは、右上のトレースというところをクリックすると判断できます。

左の図の※印がトリガー、「A/B」が条件で、末尾にアクションがついています。条件を満たしたのかどうか、図と詳細な判定結果が見れます。条件の設定がうまくいったかをここで確認して調整すると良いです。

オートメーション実行結果

上記のオートメーションで動かした結果、沸き上げを途中で停止し、残湯量最大値を低くすることに成功しました。大体下限が80~100L、上限を290Lくらいにできているので、おおむね想定通りの湯量にできています。

オートメーションの効果

今回はタンク湯量を360L→280Lまで低減して、タンク内の無駄な湯を減らし、その放熱ロスを低減しました。この効果はどれほどでしょうか。

以下の条件で、簡単に削減電力量を計算してみます。

  • 80Lの湯を、放熱後の52℃→65℃まで加熱する加熱量が削減できたものとする。必要加熱量は1.21kWh
  • 高い温度帯の再加熱なので、COPは低めにみて、冬2、中間期2.8、夏3.6とする
  • 冬3か月、中間期6か月、夏3か月の年間消費電力量を計算
  • 電気料金は昼間の売電が減ったと考えて、17円/kWh

計算条件は以前の記事も参考に決定しました。

dededemio.hatenablog.jp

すると、年間164kWh、2,762円の削減となりました。

計算してみるとあまり大きくなく、夜間沸き上げ→昼間沸き上げにしたり、おまかせ→使用湯量モード200Lにしたときのほうが省エネ効果は大きいと思われます。まあ今回は沸き上げ量を細かく調整できるようにすることが目的でしたので、そこは達成できた、ということにします。

今後は、エコキュートを昼間沸き上げしているのを、翌日の発電予測量が少ない場合は夜間沸き上げに切り替えるオートメーションなどを考えてみます。

*1:上下限値設定があったので、てっきり上限値超過、下限値未満、でアクションするものだと思い込んでおり、うまく動かずにハマりました…