跳转到内容

Tuya 调光器

tuya 灯光平台根据 tuya 串口组件创建一个简单的仅亮度灯光。

WARNING

一些这些调光器在不破坏它们的情况下无法进行串口刷写。 刷写之前请确保你已配置某种 OTA 上传方式。这意味着你需要 在配置中具有可用的 wifi、ota,可能还有 api 部分。 我得到的调光开关如果将 logger 配置为使用串口,就会挂起, 这导致它变砖,直到我拆开它。

这要求在使用此平台之前设置好 Tuya 组件。

下面是一个 Tuya 调光器的示例输出:

[21:50:28][C][tuya:024]: Tuya:
[21:50:28][C][tuya:031]: Datapoint 3: int value (value: 139)
[21:50:28][C][tuya:029]: Datapoint 1: switch (value: OFF)

在此调光器上,切换开关是数据点 1,调光值是数据点 3。 现在你可以创建灯光。

# 使用调光器创建灯光
light:
- platform: "tuya"
name: "dim1"
dimmer_datapoint: 3
min_value_datapoint: 2
switch_datapoint: 1
  • dimmer_datapoint(可选,int):调光值的数据点 id 编号。

  • min_value_datapoint(可选,int):MCU 最小值 设置的数据点 id 编号。如果设置了此项,ESPHome 将在启动时将 min_value 同步到 MCU。

  • switch_datapoint(可选,int):电源开关的数据点 id 编号。我的调光器 需要此项才能打开和关闭灯光。如果没有此项,你将只能 更改亮度,并且必须使用物理按钮切换灯光。

  • color_temperature_datapoint(可选,int):色 温值的数据点 id 编号。

  • color_datapoint(可选,int):颜色值的数据点 id 编号。 如果设置了此项,连同 color_type,则 ESPHome 将设置基于 color_type 格式化后的颜色值。

  • color_type(可选,enum):设置 color_datapoint 时要使用的颜色类型。 如果设置了此项,连同 color_datapoint,则 ESPHome 将使用此值来格式化 发送到 color_datapoint 的颜色。

    • RGB : 使用 6 位十六进制 RGB 值
    • HSV : 使用 12 位十六进制 HSV 值
    • RGBHSV : 使用 14 位十六进制 RGBHSV 值
  • color_type_lowercase(可选,boolean):一些灯光要求颜色十六进制字符串为小写。 默认为 false。

  • min_value(可选,int):允许的最小调光值。我的调光器 最小值为 25,不接受更低的值,但如有需要,此选项可用。 默认为 0。

  • max_value(可选,int):允许的最大调光值。大多数调光器的 最大值为 255,但也可以找到最大值为 1000 的调光器。尝试找出最适合的值。 默认为 255。

  • color_temperature_max_value(可选,int):允许的最高色温 值。一些吊扇的值为 100(max_value 也为 100)。默认为 255。

  • color_temperature_invert(可选,boolean):控制色温值如何 发送到 MCU。如果设为 true,ESPHome 在设置 color_temperature_datapoint 时会将 0 视为暖白,将 color_temperature_max_value 视为冷白。 默认为 false。

  • cold_white_color_temperature(可选,float):冷白通道的色温(以 mireds 或开尔文为单位)。

  • warm_white_color_temperature(可选,float):暖白通道的色温(以 mireds 或开尔文为单位)。

  • 来自 Light 的所有其他选项。

  • 必须提供 dimmer_datapoint、switch_datapoint、rgb_datapoint 或 hsv_datapoint 中的至少一个。

  • 对于一个灯光,只能提供 rgb_datapoint 或 hsv_datapoint 中的一个。

NOTE

Tuya 调光器上的 MCU 自行处理过渡和伽马校正。 因此 gamma_correct 设置的默认值为 1.0, default_transition_length 参数的默认值为 0s。