跳转到内容

Tuya 气候设备

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 (可选,布尔值):指定设备是否具有加热模式。默认为 true。

  • supports_cool (可选,布尔值):指定设备是否具有冷却模式。默认为 false。

  • switch_datapoint (必填,整数):气候开关(设备开/关)的数据点 ID 编号。

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

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

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

      • datapoint (必填,整数):节能操作的数据点 ID 编号。
      • temperature (可选,整数):节能预设的温度设定值。
    • sleep (可选):睡眠预设的配置

      • datapoint (必填,整数):睡眠操作的数据点 ID 编号。
  • swing_mode (可选):摆动(导风)模式的配置。

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

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

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

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

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

  • temperature_multiplier (可选,浮点数):用于修改输入和输出温度值的乘数——见下文。

  • reports_fahrenheit (可选,布尔值):如果设备以华氏度报告温度,则设为 true。ESPHome 期望所有气候温度均以摄氏温度表示,否则在发布到 Home Assistant 时会发生意外的转换。默认为 false。

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

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

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

  • Climate 中的所有其他选项。

部分 Tuya 气候设备没有用于设置和报告 HVAC 模式的数据点,而是使用数据点来报告其活动状态(当前动作)。在这种情况下,只需使用 active_state 配置即可。

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

如果以上变量均未设置,活动状态将根据当前温度与目标温度的差值来推断:

  • 如果 supports_heat 为 True 且当前温度比目标温度低 1 °C 以上,则设备应处于加热状态。
  • 如果 supports_cool 为 True 且当前温度比目标温度高 1 °C 以上,则设备应处于冷却状态。

部分 Tuya 气候设备以乘数因子来报告温度。这是因为 MCU 仅使用 整数进行数据传输,要得到 .5 的温度值需要在 ESPHome 端除以 2。