跳转到内容

基于 MicroNova 的颗粒炉

MicroNova 组件允许您将带有 MicroNova 板的颗粒炉集成到 ESPHome 中。 它使用 UART 进行通信。

UART 必须配置为波特率 1200、8 个数据位、2 个停止位、无奇偶校验、无流控制。

WARNING

MicroNova 板有多种版本。此代码仅在 ExtraFlame Ketty Evo 2.0 炉子上测试过。协议没有文档记录, 但已被其他人逆向工程。请参阅下面的链接,了解对我有帮助的所有信息。 不同的传感器、按钮和炉子开关可能需要与您的特定 MicroNova 板匹配的特定 memory_locationmemory_address 参数。

此外,打开或关闭炉子的行为在不同的 MicroNova 版本上可能有所不同。

使用此组件的风险自负。

大多数基于 MicroNova 的颗粒炉都有串行输出。在大多数情况下,此输出有 4 个引脚:GND、5v、20V 和 DATA。

您需要构建一个简单的电路来与您的炉子连接。它基于光耦合器实现电气隔离以及 5v 和 3V3 之间的逻辑电平转换。

光耦合器接口电路(来源:philibertc)

有关电路的所有详细信息,请参阅下面的参考资料。

您可以使用炉子的 5V 输出来为 ESP 模块供电,但您需要在中间放置一个稳压器来获得 3v3。

micronova:
enable_rx_pin: GPIOXX
  • enable_rx_pin (必需, 引脚):用于切换 RX 和 TX 之间线路的输出引脚。

NOTE

对于以下所有文本传感器、传感器、数字、按钮和开关,大多数默认的 memory_locationmemory_address 参数都可以工作,因此您不需要指定它们。但是,您的 Micronova 板可能需要您指定替代值。因此每个文本传感器、按钮、开关或数字都接受这些参数:

  • memory_location (可选):参数的内存位置(大多数炉子为 0x00 表示 RAM,0x20 表示 EPROM)。 写入时写入位会自动设置。

  • memory_address (可选):存储参数的地址。

text_sensor:
- platform: micronova
stove_state:
name: 炉子状态
  • stove_state (可选):当前炉子状态。
    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 文本传感器
sensor:
- platform: micronova
room_temperature:
name: 室温
fumes_temperature:
name: 烟气温度
stove_power:
name: 炉子功率级别
fan_speed:
fan_rpm_offset: 240
name: 风扇转速
water_temperature:
name: 水温
water_pressure:
name: 水压
memory_address_sensor:
memory_location: 0x20
memory_address: 0x7d
name: 自定义地址传感器
  • room_temperature (可选):读取炉子环境室温的传感器。

    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 传感器
  • fumes_temperature (可选):烟气温度。

    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 传感器
  • stove_power (可选):当前炉子功率。

    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 传感器
  • fan_speed (可选):当前风扇转速。来自炉子的原始值乘以 10 + fan_rpm_offset

    • fan_rpm_offset (可选, integer):偏移报告的 RPM 值。必须在 0 到 255 之间。默认为 0。
    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有其他选项来自 传感器
  • water_temperature (可选):内部锅炉水温。

    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 传感器
  • water_pressure (可选):内部锅炉水压。

    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 传感器
  • memory_address_sensor (可选):可以是您想跟踪的任何 memory_location / memory_address。当您不知道炉子参数位置时很有用。

    • memory_location (必需):参数的内存位置(大多数炉子为 0x00 表示 RAM,0x20 表示 EPROM)。
    • memory_address (必需):存储参数的地址。
    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 传感器
number:
- platform: micronova
thermostat_temperature:
name: 恒温器温度
step: 0.5
power_level:
name: 恒温器温度
  • thermostat_temperature (可选):保存当前炉子恒温器值的数字。
    • step (可选):温度步长。此值用于在设置/读取 thermostat_temperature 时乘以/除以原始值
    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有其他选项来自 数字
  • power_level (可选):设置/读取请求的炉子功率的数字。
    • update_interval (可选, 时间):检查传感器的时间间隔。默认为 60 秒。
    • 所有选项来自 数字
button:
- platform: micronova
custom_button:
name: 自定义按钮
memory_location: 0x20
memory_address: 0x7d
memory_data: 0x08
  • custom_button (可选):将十六进制值 memory_data 写入 memory_locationmemory_address 所有选项来自 按钮
    • memory_location (必需):参数的内存位置(大多数炉子为 0x00 表示 RAM,0x20 表示 EPROM)。写入位会自动设置。
    • memory_address (必需):存储参数的地址。
    • memory_data (必需):要写入 memory_locationmemory_address 的十六进制值。
switch:
- platform: micronova
stove:
name: 炉子开关
  • stove (可选):打开或关闭炉子。此开关也会反映当前炉子状态。 如果 stove_state 为 “Off”,开关将关闭;在所有其他状态下,开关将打开。
    • update_interval (可选, 时间):检查状态的时间间隔。默认为 60 秒。
    • 所有选项来自 开关

NOTE

除了 memory_locationmemory_address,您还可以指定特定的 memory_data_onmemory_data_off 参数。 这些参数包含当开关打开或关闭时要写入 memory_locationmemory_address 的十六进制值。

  • memory_data_on (可选):打开开关时要写入的数据。
  • memory_data_off (可选):关闭开关时要写入的数据。