跳转到内容

BedJet

bedjet 组件允许您与 BedJet V3 Climate Comfort 睡眠系统进行通信。

此组件支持以下功能:

  • 设置操作模式:关闭、制热、制冷、turbo(增压)
  • 设置所需的目标温度
  • 设置所需的风扇速度
  • 启动保存的记忆预设之一,包括”Biorhythm”程序
  • 显示 BedJet 的当前状态

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

此组件是一个全局 hub,维护与 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): 时间组件的 ID,可用于在 BedJet 设备上设置时间。

  • update_interval (可选, 时间): 将状态更改分发给子组件的间隔。默认为 5s。每个子组件可以决定是否在此间隔上发布自己的更新状态,或使用另一个(较长的)更新间隔来限制其自身的更新。

lambda 中,您可以调用方法来执行一些高级操作。

  • .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 (可选, string): HVACMode.HEAT 使用的主要加热模式:

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

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

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

  • temperature_source (可选, string): 应用作温控实体当前温度的温度:

    • ambient(默认)- BedJet 所在房间的温度将被报告为温控实体的当前温度。

    • outlet - BedJet 排出的空气温度将被报告为温控实体的当前温度。

  • Climate 的所有其他选项。

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

当 BedJet 已经开启时,关闭 Fan 组件会将 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: "OTA 更新断开客户端..."
- switch.turn_off: bedjet_1_monitor
- switch.turn_off: bedjet_2_monitor