
ESPHomeとHomeAssistantを使用した家庭用水道メーターの読み取り
この記事を書きたかった, 私は長い間良い解決策を探していました, 安定性と信頼性… そしてもちろん, ESPHomeが答えを持っています. この投稿では、通常の水道メーターの水消費量の読み方を見ていきます, 行きましょう, 私たちが家に持っているもの; ホームアシスタントで視覚化します.
何年もの間、このトピックは私を好奇心にさせてきました, 消費量を知る, この場合、自宅の水の場合, 私たちが家庭で水を消費し、使用する. 私はカメラとOCRテキスト認識を備えたソリューションを使用していました, だがしかし… それは有効な解決策ではありませんでした, それは弱点があり、見本市会場のショットガン以上のものを見逃していました. 数か月の使用後、最も信頼性の高い方法は誘導型近接センサーとESP8266またはESP32を使用することであると断言できます.
何のためですか? まあ、何らかの理由であなたが持っている, 消費量を知るために, 保存してみてください, リークの検出, なぜなら、あなたはできるからです…
![]() |
![]() |
まぁ, トータル, 結局、メーターの読み取り値を読み取る非常に簡単な方法があることがわかりました, これは、近接センサーを使用して行うことができます, 特にLJ18A3-8Z / BX NPNとの組み合わせ (10ユーロ強で). 水道メーター, 彼らは通常、小さなルーレットホイールを持っています, このルーレットホイールは回転し、スピンするたびに検出できる小さな磁石が付いています. 毎ターン, 各パルスは等しくなります 1 リットル.
![]() |
![]() |
だから, LJ18A3-8Z / BX近接センサーをESPでボードに接続します, ESP8266でもESP32でも, そして、センサーを水道メータースピナーに接着します. 明らかに, 何かを打つ前に, 冷蔵庫😉にある磁石で事前にテストします 配線は非常にシンプルで、次のようになります, VIMへの茶色のケーブル, 青からGNDへ、黒からデータGPIO, 私の場合はD21です.
まだ行っていない場合, 私たちのボードには、ESPHomeファームウェアをインストールして、HomeAssistantに簡単に統合できるようにします. ESPHomeをインストールする最も簡単な方法は、ホームアシスタント自体からインストールすることです, 新しいデバイスの追加 (必要に応じて、このハウツーを投稿します). そして、デバイスが作成されたら、次の設定をボードに追加します:
センサー: - プラットホーム: pulse_counterピン: 21 update_interval : 6の名前: "ウォーターパルス" 身分証明書: pulso_agua - プラットホーム: pulse_meterピン: 21 名前: "水脈拍計" unit_of_measurement: "リットル/分" アイコン: "MDIの:水" トータル: 名前: "総水量" unit_of_measurement: "リットル" - プラットホーム: テンプレート名: "水の流れ" 身分証明書: flujo_agua accuracy_decimals: 1 unit_of_measurement: "リットル/分" アイコン: "MDIの:水" ラムダ: 帰る (身分証明書(pulso_agua).状態 * 10); update_interval: 6s
これにより、「水の鼓動」を知ることができます, 「トータルウォーター」’ そして「水の流れ」. それはあなたに長い時間がかかります 2 ホームアシスタントでカードを追加するのに数分, それがあなたにとって何か役に立つ場合に備えて、私はあなたに彼らのコードを残します:
種類: 習慣:Apexcharts-カードヘッダー: 見せる: 真のタイトル: 水の消費量 - 土壇場show_states: Falseシリーズ: - 実体: sensor.total_agua名: リュクスタイプ: エリアの不透明度: 0.7 色: ブルー group_by: 期間: 1それは私のために働きます: 平均graph_span: 1H update_interval: 5分
そして、ホームアシスタントで, 統計用のデータを保存し、毎時の水消費量を知りたい場合, 1日あたり, 月次または年次, 次のユーティリティメーターをHomeAssistant構成ファイルに直接作成する必要があります (configuration.yaml の):
utility_meter: consumo_agua_horario: 名前: "水の消費量 - 時刻表" 源: sensor.total_aguaサイクル: 時間ごとのconsumo_agua_diario: 名前: "水の消費量 - 日毎" 源: sensor.total_aguaサイクル: デイリー consumo_agua_mensual: 名前: "水の消費量 - マンスリー" 源: sensor.total_aguaサイクル: 月間consumo_agua_anual: 名前: "水の消費量 - 一年生" 源: sensor.total_aguaサイクル: 毎年
そして、このデータを視覚化するためのカード, 例を挙げておきましょう:
種類: 習慣:Apexcharts-カードヘッダー: 見せる: 真のタイトル: 水の消費量 - 先月show_states: Falseシリーズ: - 実体: sensor.consumo_agua_diario名: リットルタイプ: 列の不透明度: 0.7 色: ブルー group_by: 期間: 1Dファンク: 最大graph_span: 30d update_interval: 5分
お役に立てれば幸いです, 今から年末までの間に、自宅の水道メーターからだけでなく、測定値を取得する他の投稿を公開するつもりです, 然も無くば, 電気代の, ガスの… いつも通り, あなたの大きな成功を願っています! 抱擁,