跳转到内容

Tuya Climate

tuya 温控平台从 tuya 组件创建一个温控设备。

Tuya 温控需要配置 Tuya 组件。

[11:45:14][C][tuya:041]: Tuya:
[11:45:14][C][tuya:056]: Datapoint 1: switch (value: OFF)
[11:45:14][C][tuya:058]: Datapoint 2: int value (value: 65)
[11:45:14][C][tuya:058]: Datapoint 3: int value (value: 54)
[11:45:14][C][tuya:062]: Datapoint 4: enum (value: 1)
[11:45:14][C][tuya:056]: Datapoint 5: switch (value: OFF)
[11:45:14][C][tuya:056]: Datapoint 6: switch (value: OFF)
[11:45:14][C][tuya:062]: Datapoint 102: enum (value: 0)
[11:45:14][C][tuya:062]: Datapoint 103: enum (value: 1)
[11:45:14][C][tuya:074]: Product: 'N8bUqOZ8HBQjU0K02.0.1'

在此控制器(BAC-002-ELW)上,数据点为:

  • 1 代表温控开/关状态。
  • 2 代表目标温度。
  • 3 代表当前温度。
  • 4 代表计划模式,但尚无法在 ESPHome 中使用。
  • 5 代表 ECO 模式开关。
  • 6 代表童锁开关。(使用 Tuya 组件控制此功能)
  • 102 代表 HVAC 模式(加热、制冷、仅风扇等)。
  • 103 代表风扇速度(自动、低、中、高等)。

基于此,您可以按如下方式创建温控设备:

climate:
- platform: tuya
name: "My Climate Device"
switch_datapoint: 1
target_temperature_datapoint: 2
current_temperature_datapoint: 3
supports_heat: true
supports_cool: true
active_state:
datapoint: 102
cooling_value: 0
heating_value: 1
fanonly_value: 2
fan_mode:
datapoint: 103
auto_value: 0
high_value: 1
medium_value: 2
low_value: 3
preset:
eco:
datapoint: 5
temperature: 28
  • supports_heat (可选, boolean): 指定设备是否有加热模式。默认为 true

  • supports_cool (可选, boolean): 指定设备是否有制冷模式。默认为 false

  • switch_datapoint (必填, int): 温控开关的数据点 ID 编号(设备开/关)。

  • active_state (可选): 活动状态检测的配置(或 HVAC 模式设置和报告)。

    • datapoint (必填, int): 活动状态的数据点 ID 编号 - 见下文
    • heating_value (可选, int): 加热模式时活动状态数据点的值。默认为 1 - 见下文
    • cooling_value (可选, int): 制冷模式时活动状态数据点的值 - 见下文
    • drying_value (可选, int): 干燥模式时活动状态数据点的值。
    • fanonly_value (可选, int): 仅风扇模式时活动状态数据点的值。
  • preset (可选): 预设模式的配置。

    • eco (可选): ECO 预设的配置。

      • datapoint (必填, int): ECO 动作的数据点 ID 编号。
      • temperature (可选, int): ECO 预设的温度设定点。
    • sleep (可选): Sleep 预设的配置

      • datapoint (必填, int): Sleep 动作的数据点 ID 编号
  • swing_mode (可选): 摆风(振荡)模式的配置。

    • vertical_datapoint (可选, int): 垂直摆风动作的数据点 ID 编号。
    • horizontal_datapoint (可选, int): 水平摆风动作的数据点 ID 编号。
  • fan_mode (可选): 风扇模式/风扇速度的配置。

    • datapoint (必填, int): 风扇值状态的数据点 ID 编号。
    • auto_value (可选, int): 风扇处于 auto 速度时设备报告的数据点值。
    • low_value (可选, int): 风扇处于 low 速度时设备报告的数据点值。
    • medium_value (可选, int): 风扇处于 medium 速度时设备报告的数据点值。
    • middle_value (可选, int): 风扇处于 middle 速度时设备报告的数据点值。(如果您有 Turbo 选项,可以设置为设备的 high 值)。
    • high_value (可选, int): 风扇处于 high 速度时设备报告的数据点值。(有时称为 Turbo)。
  • heating_state_pin (可选, 引脚): 指示设备正在加热的输入引脚 - 见下文。仅当未配置 active_state_datapoint 时使用。

  • cooling_state_pin (可选, 引脚): 指示设备正在制冷的输入引脚 - 见下文。仅当未配置 active_state_datapoint 时使用。

  • target_temperature_datapoint (必填, int): 目标温度的数据点 ID 编号。

  • current_temperature_datapoint (必填, int): 当前温度的数据点 ID 编号。

  • temperature_multiplier (可选, float): 用于修改传入和传出温度值的乘数 - 见下文

  • reports_fahrenheit (可选, boolean): 如果设备以华氏度报告温度,则设置为 true。ESPHome 期望所有温控温度都是摄氏度,否则发布到 Home Assistant 时会发生意外转换。默认为 false

如果设备对当前温度和目标温度有不同的乘数,temperature_multiplier 可以替换为以下两者:

  • current_temperature_multiplier (可选, float): 用于修改当前温度值的乘数。

  • target_temperature_multiplier (可选, float): 用于修改目标温度值的乘数。

  • Climate 的所有其他选项。

某些 Tuya 温控设备没有用于设置和报告 HVAC 模式的数据点,它们使用数据点来报告其活动状态(当前动作)。在这种情况下,您可以只使用 active_state 配置。

如果您的设备使用数据点进行 HVAC 模式设置,但不用于报告活动状态,则可以修改硬件,以便 ESP 可以读取继电器输出。请参阅 此讨论 获取有关所需修改的更多详细信息。然后您可以使用 heating_state_pin 和/或 cooling_state_pin 配置变量来检测当前状态。

如果未设置上述任何变量,则活动状态从当前温度和目标温度之间的差异推断:

  • 如果 supports_heatTrue 且当前温度比目标温度低 1 °C 以上,则预期设备正在加热。
  • 如果 supports_coolTrue 且当前温度比目标温度高 1 °C 以上,则预期设备正在制冷。

某些 Tuya 温控设备以乘数因子报告温度。这是因为 MCU 仅使用整数进行数据报告,要获得 0.5 的温度,您需要在 ESPHome 端除以 2。