ITADN
mmattel/EET-Solmate
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

通过 MQTT 将 EET-Solmate 与 HomeAssistant 集成

使用 MQTT 将 EET SolMate 与 Homeassistant 集成(支持读取和写入!)

内部名称:esham --> Eet Solmate HomeAssistant Mqtt

Buy Me A Coffee

通用信息

esham 是一个基于 Python 的程序,通过 MQTTEET SolmateHome Assistant (HA) 集成。

数据流是双向的。这意味着,不仅 Solmates 会被查询,其数据会被提供 并在 HA 中作为实体显示,您还可以通过 MQTT 从 HA 向 Solmate 发送数据。借助 发送数据的能力,您可以基于在 HA 中计算得出的定义标准(例如使用 Node-RED 时)动态调整注入设置。

值得注意的功能:

  • 易于部署和维护
    • 安装、配置并启动后,一切均完全自动化运行。
  • 连接性
    • 直接连接到 Solmate,或通过 EET 提供的云进行连接。
      请注意,EET API 提供依赖于连接的功能,例如重启,该功能仅在本地可用。API 差异会自动处理,并在 HA 中正确显示。
    • 连接到外部 MQTT 代理或 HA MQTT 代理插件。
  • 处理备用系统
    • 当 Solmate 因技术问题需要退回维修,且您获得备用系统时, 您可以为备用或替换 Solmate 定义一个额外的序列号,HA 实体不会发生任何变化。
  • 安装选项
    • 提供多种安装选项(见下文)
  • 稳定性
    • 除了升级操作外,我从未经历过超过 1 年的中断。
    • 具备针对连接问题或中断的容错能力。
    • 如果与 Solmate 的连接中断,来自 HA 到 Solmate 的写回操作会被缓冲。
  • 多个 Solmate
    • 您可以配置多个 Solmate。
      • 对于纯 Python 安装,每个 Solmate 运行在自己的目录中,因此是隔离的。
      • 对于 Appdaemon,每个 Solmate 需要其 AD 配置,但它们将使用相同的代码作为 独立的线程运行。
  • 定义自动启动
    • 使用 Appdaemon 时,可以定义 esham 不在 AD 启动时自动启动。
  • 日志记录
  • esham 提供日志记录,但仅针对重要事项。日常业务除非经过配置,否则不会记录日志。
  • 可配置性
    • 除了必须输入的数据(如主机和身份验证)外,大多数 配置选项已预设,不会污染配置文件,但可根据需要添加和重新配置。
  • 资源效率
    • 运行时,esham 具有最小的资源占用和极低的 CPU 使用率。
  • 通过 HA 管理
    • 使用 Appdaemon 时,您可以通过 HA 实体启动和停止 esham
  • 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 以获取更多详细信息。