使用 ESPHome 和 Home Assistant 读取家庭水表

我想写这篇文章, 长期以来,我一直在寻找一个好的解决方案, 稳定可靠… 当然, ESPHome 有答案. 在这篇文章中,我们将了解如何读取普通水表的耗水量, 我们走吧, 我们家里的那个; 并使用 Home Assistant 进行可视化.

多年来,这个话题一直让我感到好奇, 了解消耗量, 在这种情况下,家里的水, 我们在家中对水的消耗和使用量. 我一直在使用带有摄像头和 OCR 文本识别的解决方案, 但… 这不是一个有效的解决方案, 它有它的弱点,错过的不仅仅是一把游乐场霰弹枪. 使用几个月后,我可以向您保证,最可靠的方法是使用感应式接近传感器和 ESP8266 或 ESP32.

为什么? 好吧,不管你有什么原因, 了解消耗, 尝试保存, 检测泄漏, 因为您可以…

井, 总, 最后证明,我们有一种非常简单的方法来读取仪表的读数, 我们可以使用接近传感器来做到这一点, 特别是 LJ18A3-8Z/BX NPN (只需 10 欧元多一点). 水表, 他们通常有一个小轮盘赌轮盘, 这个轮盘赌轮盘旋转并有一个小磁铁,我们可以在每次旋转时检测到它. 每一次, 每个脉冲等于 1 升.

所以, 我们将 LJ18A3-8Z/BX 接近传感器通过 ESP 连接到我们的电路板, 无论是 ESP8266 还是 ESP32, 然后我们将传感器粘到所述水表旋转器. 明显地, 在你敲击任何东西之前, 我们将事先使用冰箱😉中的磁铁对其进行测试接线非常简单,看起来像这样, 棕色电缆到 VIM, 蓝色到 GND,黑色到数据 GPIO, 我的案例是 D21.

如果我们还没有这样做, 在我们的开发板上,我们将安装 ESPHome 固件,以便能够轻松地将其集成到 Home Assistant 中. 安装 ESPHome 的最简单方法是从 Home Assistant 本身安装, 添加新设备 (如有必要,我们将发布此 How To). 创建设备后,我们将以下配置添加到开发板中:

传感器:
  - 平台: pulse_counter pin: 21
    update_interval : 6S 名称: "水脉冲"
    ID: pulso_agua

  - 平台: pulse_meter pin: 21
    名字: "水脉冲计"
    unit_of_measurement: "升/分钟"
    图标: "MDI:水"
    总:
      名字: "总水"
      unit_of_measurement: "升"

  - 平台: 模板名称: "㳁"
    ID: flujo_agua accuracy_decimals: 1
    unit_of_measurement: "升/分钟"
    图标: "MDI:水"
    Lambda 表达式: 返回 (ID(pulso_agua).州 * 10);
    update_interval: 6s

有了这个,我们将能够知道“水的脉搏”, “总水”’ 和“水流”. 这将花费你很长时间 2 在 Home Assistant 中添加卡片的分钟数, 我把他们的代码留给你,以防它对你有任何用处:

类型: 习惯:Apexcharts-Card 标头:
  显示: 真实标题: 耗水量 - 最后一刻 show_states: false 系列:
  - 实体: sensor.total_agua名称: 豪华型: 区域不透明度: 0.7
    颜色: 蓝色group_by:
      期间: 1它对我有用: 平均 graph_span: 1h update_interval: 5分钟

然后在 Home Assistant 上, 如果我们想存储数据进行统计并了解每小时的用水量, 每天, 每月或每年, 我们应该直接在 Home Assistant 配置文件中创建以下 Utility Meters (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-Card 标头:
  显示: 真实标题: 耗水量 - 上个月 show_states: false 系列:
  - 实体: sensor.consumo_agua_diario名称: 升型: 列不透明度: 0.7
    颜色: 蓝色group_by:
      期间: 1D 函数: 最大graph_span: 30d update_interval: 5分钟

我希望它对您有用, 从现在到今年年底,我打算发表其他文章,这些文章不仅从家里的水表获取读数, 否则, 电费, 气体… 照常, 祝您取得更大的成功! 拥抱,

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!

Aegis 免费代币管理器

10 十一月 2022