通过 MQTT 将 EET-Solmate 与 HomeAssistant 集成
使用 MQTT 将 EET SolMate 与 Homeassistant 集成(支持读取和写入!)
内部名称:esham --> Eet Solmate HomeAssistant Mqtt
通用信息
esham 是一个基于 Python 的程序,通过 MQTT 将 EET Solmate 与
Home Assistant (HA) 集成。
数据流是双向的。这意味着,不仅 Solmates 会被查询,其数据会被提供 并在 HA 中作为实体显示,您还可以通过 MQTT 从 HA 向 Solmate 发送数据。借助 发送数据的能力,您可以基于在 HA 中计算得出的定义标准(例如使用 Node-RED 时)动态调整注入设置。
值得注意的功能:
- 易于部署和维护
- 安装、配置并启动后,一切均完全自动化运行。
- 连接性
- 直接连接到 Solmate,或通过 EET 提供的云进行连接。
请注意,EET API 提供依赖于连接的功能,例如重启,该功能仅在本地可用。API 差异会自动处理,并在 HA 中正确显示。 - 连接到外部 MQTT 代理或 HA MQTT 代理插件。
- 直接连接到 Solmate,或通过 EET 提供的云进行连接。
- 处理备用系统
- 当 Solmate 因技术问题需要退回维修,且您获得备用系统时, 您可以为备用或替换 Solmate 定义一个额外的序列号,HA 实体不会发生任何变化。
- 安装选项
- 提供多种安装选项(见下文)
- 稳定性
- 除了升级操作外,我从未经历过超过 1 年的中断。
- 具备针对连接问题或中断的容错能力。
- 如果与 Solmate 的连接中断,来自 HA 到 Solmate 的写回操作会被缓冲。
- 多个 Solmate
- 您可以配置多个 Solmate。
- 对于纯 Python 安装,每个 Solmate 运行在自己的目录中,因此是隔离的。
- 对于 Appdaemon,每个 Solmate 需要其 AD 配置,但它们将使用相同的代码作为 独立的线程运行。
- 您可以配置多个 Solmate。
- 定义自动启动
- 使用 Appdaemon 时,可以定义
esham不在 AD 启动时自动启动。
- 使用 Appdaemon 时,可以定义
- 日志记录
esham提供日志记录,但仅针对重要事项。日常业务除非经过配置,否则不会记录日志。- 可配置性
- 除了必须输入的数据(如主机和身份验证)外,大多数 配置选项已预设,不会污染配置文件,但可根据需要添加和重新配置。
- 资源效率
- 运行时,
esham具有最小的资源占用和极低的 CPU 使用率。
- 运行时,
- 通过 HA 管理
- 使用 Appdaemon 时,您可以通过 HA 实体启动和停止
esham。
- 使用 Appdaemon 时,您可以通过 HA 实体启动和停止
- Python 版本
- 已测试并支持 Python 9 至 Python 12
安装选项
esham 可以通过 2 种不同的方式安装:
-
作为在独立硬件上运行的纯 Python 程序
-
作为 Appdaemon 中的应用:
- 要么像使用 HA 设备时那样集成到 HA 中(!!)。
- 要么在安装 Appdaemon 作为独立容器时。
- 有关更多详细信息,请参阅 HA 安装 选项。
-
每安装一个 Solmate,都需要一个单独配置的脚本实例,请注意, 在使用 HAOS 时,需要相应地调整 AD 配置和使用的入口脚本,因此需要一些额外的步骤。
代码更改
先决条件
在安装 esham 之前,您必须拥有:
- 一个正在运行的 HA 设备或 HA 安装。
- 一个正在运行的 MQTT 代理,无论是作为附加组件还是作为外部容器
安装选项
-
通过纯 Python 安装
如果您希望esham在已安装 Python 的主机上完全独立运行,请使用此方法。 有关更多详细信息,请参阅 纯安装选项 文档。 -
通过 Appdaemon 安装
取决于 HA 的安装方式,您可以 直接将esham作为应用集成到 appdaemon 附加组件中,或者使用在单独主机上运行的专用 appdaemon 容器。有关更多详细信息,请参阅 Appdaemon 文档。
请注意,如果您想使用 Appdaemon 版本 4.5.x,则esham的最低要求版本为 v7.3.0!
配置
有关更多详细信息,请参阅配置文档。
迁移
有关更多详细信息,请参阅迁移文档。
升级
有关更多详细信息,请参阅升级文档。
多个 Solmates
有关更多详细信息,请参阅多个 Solmates文档。
连接弹性
如果启动时的首次连接和身份验证对两个世界(通过 websocket 的 Solmate,MQTT)均成功,则任何断开连接都会触发重新连接。对于 MQTT 来说,这很简单,因为它完美地内置了此功能,即使您关闭/重启 MQTT 主机也是如此。但对于 Solmate 所需的 websocket 来说,情况要复杂一些。如果 websocket 能够自动重新建立连接,那么情况与 MQTT 相同。但如果这不可能,例如如果您重启 Solmate 并且连接暂时丢失,您只能在尝试访问 websocket 时采取行动并处理报告的错误。
这意味着,对 Solmate 的连接丢失只能通过像常规查询间隔一样访问它或通过 HA/MQTT 设置值来识别。
因此,当发生 Solmate 连接丢失时,您会看到多个定时器按顺序运行。根据事件的不同,会使用不同的定时器和重连方法。事件越严重,所需时间越长,但总会成功。
MQTT 监控
有关更多详细信息,请参阅链接的描述文档。
附加 Home Assistant 信息
请参阅链接的 description 文档以获取更多详细信息。
已知路由
作为可选信息,请参阅链接的 description 以获取更多详细信息。