跳转到内容

BedJet

bedjet 组件允许你与 BedJet V3 气候舒适 睡眠系统进行通信。

此组件支持以下功能:

  • 设置运行模式:关闭、加热、冷却、涡轮(增强)
  • 设置所需的目标温度
  • 设置所需的风扇速度
  • 启动一个保存的内存预设,包括 “Biorhythm” 程序
  • 显示 BedJet 的当前状态

此组件使用 ESP32 上的 BLE 外设,因此你还需要启用 此组件。请参见 Ble Client 文档,了解如何发现 你的 BedJet 设备的 MAC 地址。

此组件是一个全局集线器,用于维护与 BedJet 设备的连接 并将状态更新委托给各个平台组件。

esp32_ble_tracker:
ble_client:
- mac_address: XX:XX:XX:XX:XX:XX
id: bedjet_ble_id1
bedjet:
- id: bedjet_1
ble_client_id: bedjet_ble_id1
  • id (可选,ID):手动指定用于代码生成的 ID。

  • ble_client_id (必填,ID):BLE Client 的 ID。

  • time_id (可选,ID):Time 的 ID, 可用于设置 BedJet 设备的时间。

  • update_interval (可选,Time):向子组件 发送状态变更的间隔。默认为 5s。每个子组件都可以决定是 在此间隔内发布自己的更新状态,还是使用另一个(更长的)更新间隔来 限制自己的更新。

在 lambdas 中,可以调用一些方法来实现高级功能。

  • .upgrade_firmware : 检查并安装更新的 BedJet 固件。
button:
- platform: template
name: "Check Bedjet(1) Firmware"
on_press:
then:
- lambda: |-
id(bedjet_1).upgrade_firmware();
  • .send_local_time : 如果设置了 time_id,则尝试立即同步时钟。
button:
- platform: template
name: "Sync Clock"
on_press:
then:
- lambda: |-
id(my_bedjet_fan).send_local_time();
  • .set_clock : 将 BedJet 时钟设置为指定时间;无论是否有 time_id 都可以工作。
button:
- platform: template
name: "Set Clock to 10:10pm"
on_press:
then:
- lambda: |-
id(my_bedjet_fan).set_clock(22, 10);

climate 平台暴露 BedJet 的气候相关功能,包括 设置模式和目标温度。

climate:
- platform: bedjet
id: my_bedjet_climate_entity
name: "My BedJet"
bedjet_id: bedjet_1
  • bedjet_id (必填,ID):Bedjet 组件的 ID。

  • heat_mode (可选,字符串):用于 HVACMode.HEAT 的主要加热模式:

    • heat(默认)- 设置 hvac_mode=heat 使用 BedJet 的 “HEAT” 模式。

    • extended - 设置 hvac_mode=extended 使用 BedJet 的 “EXT HEAT” 模式。

      未被选择的模式将作为自定义预设提供。

  • temperature_source (可选,字符串):应作为 气候实体当前温度的温度:

    • ambient(默认)- BedJet 所处房间的温度将 报告为气候实体的当前温度。

    • outlet - BedJet 排放空气的温度将 报告为气候实体的当前温度。

  • Climate 中的所有其他选项。

fan 平台暴露 BedJet 的风扇相关功能,包括 开/关和速度控制。

当 BedJet 已经处于开启状态时,关闭风扇组件会将 BedJet 设备的模式设置为 OFF。如果尚未开启,则将其打开到 FAN_ONLY 模式。

fan:
- platform: bedjet
id: my_bedjet_fan_entity
name: "My BedJet Fan"
bedjet_id: bedjet_1
  • bedjet_id (必填,ID):Bedjet 组件的 ID。
  • Fan 中的其他选项。

sensor 平台将 BedJet 的各种温度读数作为传感器暴露出来。

sensor:
- platform: bedjet
bedjet_id: bedjet_1
outlet_temperature:
name: "My BedJet Outlet Temperature"
ambient_temperature:
name: "My BedJet Ambient Temperature"
  • outlet_temperature (可选):如果指定,从 BedJet 排放空气的 温度将作为传感器报告。 Sensor 中的所有选项。

  • ambient_temperature (可选):如果指定,BedJet 所处房间的温度将作为传感器报告。 Sensor 中的所有选项。

WARNING

BedJet V2 和其他设备目前不受支持。仅支持 BedJet V3。

NOTE

BedJet BLE 服务一次只能连接一个客户端,因此在此组件 连接时,不能使用 BedJet 手机应用来监控或控制 BedJet 设备。 要使用手机应用,请先断开 ESP 客户端的连接。

要设置(断)连接开关,请参见 Ble Client。

NOTE

当配置并连接了多个设备时,ESP 设备可能会 不堪重负,并导致安装更新版配置时出现超时。 如果发生这种情况,请参见上面关于添加断开开关的说明, 并在执行安装时将其关闭。这将释放 ESP 上的资源,允许安装完成。

此外,你还可以使用 ota.on_begin 自动化 来自动完成此操作:

ota:
on_begin:
then:
- logger.log: "Disconnecting clients for OTA update..."
- switch.turn_off: bedjet_1_monitor
- switch.turn_off: bedjet_2_monitor