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 模式设置和报告)。
-
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 的所有其他选项。
活动状态检测
Section titled “活动状态检测”某些 Tuya 温控设备没有用于设置和报告 HVAC 模式的数据点,它们使用数据点来报告其活动状态(当前动作)。在这种情况下,您可以只使用 active_state 配置。
如果您的设备使用数据点进行 HVAC 模式设置,但不用于报告活动状态,则可以修改硬件,以便 ESP 可以读取继电器输出。请参阅 此讨论 获取有关所需修改的更多详细信息。然后您可以使用 heating_state_pin 和/或 cooling_state_pin 配置变量来检测当前状态。
如果未设置上述任何变量,则活动状态从当前温度和目标温度之间的差异推断:
- 如果 supports_heat 为
True且当前温度比目标温度低 1 °C 以上,则预期设备正在加热。 - 如果 supports_cool 为
True且当前温度比目标温度高 1 °C 以上,则预期设备正在制冷。
某些 Tuya 温控设备以乘数因子报告温度。这是因为 MCU 仅使用整数进行数据报告,要获得 0.5 的温度,您需要在 ESPHome 端除以 2。