跳转到内容

涂鸦数字

tuya 数字平台允许您创建控制涂鸦串行组件的数字。此平台需要配置 Tuya

Tuya 配置正确后,启动后会将有效数据点列表输出到日志中。

[21:37:14][C][tuya:028]: Tuya:
[21:37:14][C][tuya:045]: Datapoint 101: enum (value: 4)
[21:37:14][C][tuya:045]: Datapoint 102: enum (value: 1)
[21:37:14][C][tuya:041]: Datapoint 103: int value (value: 5)
[21:37:14][C][tuya:039]: Datapoint 104: switch (value: OFF)
[21:37:14][C][tuya:041]: Datapoint 105: int value (value: 229)
[21:37:14][C][tuya:041]: Datapoint 106: int value (value: 37)
[21:37:14][C][tuya:041]: Datapoint 107: int value (value: 10)
[21:37:14][C][tuya:041]: Datapoint 108: int value (value: 35)
[21:37:14][C][tuya:041]: Datapoint 109: int value (value: 30)
[21:37:14][C][tuya:041]: Datapoint 110: int value (value: 80)
[21:37:14][C][tuya:039]: Datapoint 112: switch (value: OFF)
[21:37:14][C][tuya:039]: Datapoint 113: switch (value: OFF)
[21:37:14][C][tuya:039]: Datapoint 114: switch (value: OFF)
[21:37:14][C][tuya:045]: Datapoint 115: enum (value: 4)
[21:37:14][C][tuya:045]: Datapoint 116: enum (value: 2)
[21:37:14][C][tuya:055]: Product: '{"p":"ymf4oruxqx0xlogp","v":"1.0.3","m":0}'

上面的示例输出来自带有温度和湿度传感器的涂鸦警报器。tuya 数字平台可用于控制所有整数和枚举数据点。

在此设备上,数据点 116 表示音量控制,有效值为 0=高、1=中、2=低。

基于此,您可以按如下方式创建数字:

- platform: "tuya"
name: "音量"
number_datapoint: 116
min_value: 0
max_value: 2
step: 1

multiply 的值用作数字的缩放因子。涂鸦中的所有数字都是整数,因此有时需要缩放因子将涂鸦报告的值转换为浮点数。

例如,假设我们有一个 pH 传感器,读取范围为 0.00 到 15.00,缩放为 0.01。通过将 multiply 设置为 100,在涂鸦端(用户不可见),数字将报告为 0 到 1500 的整数。可以使用以下配置:

- platform: "tuya"
name: "pH 传感器"
number_datapoint: 106
min_value: 0.00
max_value: 15.00
multiply: 100

只要涂鸦设备在初始化时发布数据点值(及其类型),上述配置就可以正常工作。 但是情况并非总是如此。要能够将此类”隐藏”数据点用作数字,您需要指定额外的 datapoint_hidden 配置块。 此块允许指定缺失的数据点类型,以及可选的在初始化时应写入数据点的值。

TuyaMCU 在重启后恢复其所有数据点的状态,但对于隐藏数据点,无法知道它们的值是什么。 因此还有一个选项可以将它们存储在 ESPHome 端,它们将在初始化时设置。要使用此功能,请将 restore_value yaml 键设置为 True。

- platform: "tuya"
name: "最大值报警"
number_datapoint: 116
min_value: 0
max_value: 100
datapoint_hidden:
datapoint_type: int
initial_value: 85
restore_value: yes
  • number_datapoint (必填, int):数字的数据点 ID 号。

  • min_value (必填, float):此数字可以具有的最小值。

  • max_value (必填, float):此数字可以具有的最大值。

  • step (可选, float):设置数字的粒度。默认为 1。

  • multiply (可选, float):在发送请求之前将新值乘以此因子。

  • datapoint_hidden (可选):指定隐藏数据点所需的信息。

    • datapoint_type (必填, string):数据点类型,可选 intuintenum
    • initial_value (可选, float):初始化时要写入的值。必须在 min_valuemax_value 之间。
    • restore_value (可选, boolean):将状态保存并加载到 RTC/Flash。默认为 false
  • 数字的所有其他选项。