2家庭助理中的 MiFlora 植物传感器

一段时间以来,我一直在起诉 MiFlora Home Assistant 集成以获取各种室内植物的数据. 然而,一路走来,我不得不克服各种障碍,包括蓝牙范围有限, 电池寿命问题, 并获取要报告的电池值. 我终于似乎已经破解了所有这些问题,现在有了一个可以可靠地与房子周围的许多植物一起工作的系统. 我在下面总结了我用过的东西.

硬件

首先要说的是我确实有蓝牙 USB 连接到我的家庭助理系统的加密狗. 这直接监控范围内的植物 (即. 和 HA 盒子在同一个房间里的那些). 为了监控更远距离的设备,我使用了一个带有内置蓝牙模块的 ESP32 板,我把它放在一个便宜的小盒子里,并用一个旧的微控制器供电-USB 电话充电器

  • USB 加密狗: 我得到的那个不再可用——由于年龄的原因——但是亚马逊和其他地方有很多——只要确保它在 linux 中得到支持
  • ESP32板: 我有一个 JZK ESP32-S 目前在亚马逊上的售价为 6.49 英镑
  • ESP32 外壳: 我找到了 NodeMCU Wroom-32D 的案例 (短天线) 适合我的板子——这是 4.20 英镑 易趣

家庭助理的集成

虽然家庭助理内置了基本的 MiFlora 集成,但我发现它在本地使用时会消耗大量电池. 相反,我使用 蓝牙低功耗监视器 3rd 派对集成,您可以使用它轻松安装 落后
然后我还安装了 ESPHome集成 让家庭助理管理我的 ESP32 BLE 中继器
最后, 为了以一种很好的方式展示植物,我添加了一个特殊的叉子 洛芙蕾丝植物卡 通过 LAG 插件

组态

一旦 BLE Monitor 安装并配置了我的蓝牙加密狗,它就会拾取范围内的 MiFlora 传感器并将它们列在其“设备”下拉列表中,并在 HA 配置中列出其卡上的设备和实体
BLE 监视器的优点在于它监听传感器传输, 而不是主动轮询他们, 这会耗尽他们的电池. 然而, 传感器不传输电池信息,因此我们必须主动轮询它. 只为这个投票, 如果您希望获得所有可用数据,同时又希望最大限度地延长传感器的电池寿命,那么被动地监听其他数据似乎是最好的折衷方案. 我已将我的 configuration.yaml 分成多个单独的文件,以使事情更易于管理,因此我的 configuration.yaml 中只有以下行 -

然后在sensors.yaml中,我将每个植物列出如下

下一步——为了让植物看起来很好,我有一个植物配置. 与之前的 configuration.yaml 中的一行一样开始: 

然后在plants.yaml中我有如下

请注意电池实体名称与其他传感器之间的细微差别. 电池实体来自 sensor.yaml 中的 miflora 平台,而另一个 4 传感器来自 BLE 集成. BLE 集成列出了一个电池实体,但这仅显示为该工厂的“未知”. 植物卡片需要此配置才能以精美的方式显示植物
然后只需转到您要添加植物的地方并添加lovelace植物卡. 您必须手动“配置”卡, 但它只需要 3 行…

请注意,该物种被列为 2 原因. 首先它会在卡上显示名字, 但更多的进口antly, 如果您已下载植物图像并使用拉丁名称将它们添加到 configwwwimagesplants 中,它还会显示植物图片 — 有关数据库的信息可在 lovelace 植物卡文档中找到

扩展范围

最后, 我们需要扩大我们可以达到的范围. 为此,我们需要 ESP32 设备. 首先要做的是将它通过以下方式连接到您的计算机 USB 并使用基本的 ESPHome 映像对其进行闪烁
我用了 ESPHome 闪光器SiLabs 的 cp210x 通用 Windows 驱动程序 并遵循 ESPHome HomeAssistant 集成提供的指南
我用于 ESP32 设备的配置如下

然后通过 wifi 保存并更新到您的 esp32 设备. ESP32 设备将从 miflora 传感器获取数据,并通过 wifi 将其“推送”到 BLE 集成,后者将自动创建设备和实体. 以这种方式推送的设备似乎确实显示了它们的电池电量 (感谢 myhomeiot_ble_client 部分底部的代码,我相信). 然后你只需要给设备一个好听的名字 (并让实体也被重命名) 然后使用正确的实体在plants.yaml 中创建一个条目

请通过下面的评论给我们你的想法! 如果您想订阅,请使用菜单上的订阅链接右上方. 您还可以通过使用下面的链接社会分享这与你的朋友. 干杯.

发表评论

2 条评论

的gravatar托尼

你好, 感谢您发布这个很棒的解决方案.
esp32蓝牙网关可以多台蓝牙设备传输数据还是必须提供一个ESP 32 对于我们想要扩展范围的每个蓝牙设备?

回复
的gravatar乔恩·斯凯夫

嗨托尼
ESP 将为我相信范围内的任何 BT 设备传输数据,尽管我的目前仅用于 1 无法确认的 BT 设备 100% ——但这当然是我的理解

回复