Tuya Number
tuya 数字平台允许你创建一个控制 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 警笛。tuya 数字平台可用于控制所有整数和枚举数据点。
在此设备上,数据点 116 代表音量控制,有效值为 0=高、1=中、2=低。
基于此,你可以创建如下数字:
- platform: "tuya" name: "Volume" number_datapoint: 116 min_value: 0 max_value: 2 step: 1multiply 的值用作 Number 的缩放因子。Tuya 中的所有数字都是整数,因此有时需要缩放因子将 Tuya 报告的数值转换为浮点数。
例如,假设我们有一个 pH 传感器,读取范围为 0.00 到 15.00,缩放为 0.01。通过在 Tuya 端(用户不可见)将 multiply 设为 100,数字将以 0 到 1500 的整数形式报告。可以使用以下配置:
- platform: "tuya" name: "pH Sensor" number_datapoint: 106 min_value: 0.00 max_value: 15.00 multiply: 100上述配置在 Tuya 设备于初始化时发布数据点值(及其类型)时能正常工作。但这并不总是如此。要使用此类”隐藏”数据点作为 Number,你需要指定额外的 datapoint_hidden 配置块。此块允许指定缺失的数据点类型,以及可选的在初始化时应写入数据点的值。
TuyaMCU 会在重启后恢复其所有数据点的状态,但对于隐藏数据点,无法知道它们的值是什么。因此,还有一个选项可以在 ESPHome 端存储它们,并会在初始化时设置。要使用此功能,请将 restore_value YAML 键设为 True。
- platform: "tuya" name: "Alarm at maximum" 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):数据点类型,可选 int、uint、enum。
- initial_value(可选,float):初始化时要写入的值。必须在
min_value和max_value之间。 - restore_value(可选,boolean):将状态保存到 RTC/闪存并加载。默认为
false。
-
数字 的所有其他选项。