tuya-local icon indicating copy to clipboard operation
tuya-local copied to clipboard

Request support for Tuya Ultrasonic Valve Control Water Meter with Zigbee 214C

Open Thommav opened this issue 1 year ago • 2 comments

Log message

Device matches None with quality of 0%. DPS: {"updated_at": 1729262799.0981402, "1": 3120, "4": "12h", "5": 0, "13": true, "14": false, "16": "00000024010037", "22": 2600, "26": 369}

DPS information

{
"result": {
"model": "{"modelId":"000002unp1","services":[{"actions":[],"code":"","description":"","events":[],"name":"默认服务","properties":[
{"abilityId":1,"accessMode":"ro","code":"water_use_data","description":"","extensions":{"iconName":"icon-dp_water","attribute":"1728","trigger":"direct"},"name":"总用水量","typeSpec":{"type":"value","max":99999999,"min":0,"scale":3,"step":1,"unit":"m3"}},
{"abilityId":2,"accessMode":"rw","code":"month_water_data","description":"1,月用水量 (绝对值,数据来之水表) 单位:m3\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3,也就是1L(最小精度)。\n4,收发报文格式\nAPP下发查询:起始年(1字节)+起始月(1字节)+结束年(1字节)+结束月(1字节)\n举例:0x14 04 14 05,就是要求设备上报20年4月5月两个月合计用水量。\nMCU上报回复:起始年(1)+起始月(1)+结束年(1)+结束月(1)+ 用水量 (长度4个字节,5位整数+3位小数)\n举例:14 04 14 05 00 00 4F A2,就是设备上报20年4月5月的合计用水量20.386 m3到云。 \n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询月冻结数据,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把月冻结数据上报。\nB情形:ZIGBEE模式时,MCU收到月用水量读取命令时,上报指定月份的用水量(绝对值)。","extensions":{"attribute":"128"},"name":"月用水量","typeSpec":{"type":"raw","maxlen":128}},
{"abilityId":3,"accessMode":"rw","code":"daily_water_data","description":"1,日用水量(绝对值,数据来之水表) 单位:m3\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3,也就是1L(最小精度)。\n4,收发报文格式\nAPP下发查询:起始月(1字节)+起始日(1字节)+结束月(1字节)+结束日(1字节)\nMCU上报回复:起始月(1)+起始日(1)+结束月(1)+结束日(1)+ 用水量(长度4个字节,5位整数+3位小数)。\n举例:\n面板下发:0X04 06 04 08,就是要求设备上报4月6日-4月8日的合计用水量到云。\nMCU上报:0X04 06 04 08 00 00 25 74,设备上报4月6日-4月8日的合计用水量 9.588m3 到云。\n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询月冻结数据,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把月冻结数据上报。\nB情形:ZIGBEE模式时,MCU收到月用水量读取命令时,上报指定日冻结用水量(绝对值)。","extensions":{"attribute":"128"},"name":"日用水量","typeSpec":{"type":"raw","maxlen":128}},
{"abilityId":4,"accessMode":"rw","code":"report_period_set","description":"","extensions":{"iconName":"icon-dp_tool","attribute":"132"},"name":"上报周期设置","typeSpec":{"type":"enum","range":["1h","2h","3h","4h","6h","8h","12h","24h"]}},
{"abilityId":5,"accessMode":"ro","code":"fault","description":"","extensions":{"iconName":"icon-dp_warming","attribute":"1152"},"name":"故障告警","typeSpec":{"type":"bitmap","label":["battery_alarm","magnetism_alarm","cover_alarm","credit_alarm","switch_gaps_alarm","meter_body_alarm","abnormal_water_alarm","arrearage_alarm","overflow_alarm","revflow_alarm","over_pre_alarm","empty_pip_alarm","transduce_alarm"],"maxlen":13}},
{"abilityId":6,"accessMode":"rw","code":"frozen_time_set","description":"1,月冻结、日冻结设置 (APP下发用DP,取值是从云端)\n2,HEX,大端模式,2个字节长度。\n3,月冻结XX日(1#字节,可选:1-28日),日冻结XX小时(2#字节,可选:0-23点)。月冻结和日冻结相互独立,没有存在强关联关系。\n4,收发报文格式\n月冻结:默认1日。日冻结:默认时间0点(只支持整点) \n示例代码说明:\nAPP下发:0X01 00,表示设置月冻结在1日,日冻结在0点钟。\n0X02 00 表示设置月冻结为02号,00表示日冻结在0点钟。\n0X01 12 表示设置月冻结为01号,00表示日冻结在12点钟。\nMCU上报:回复收到的两个数据,并设置月冻结日冻结。\n5,处理逻辑:\nA情形:水表配网时,上报月冻结日冻结数据到云平台,APP获取到水表的日冻结月冻结具体设置数据。\nB情形:使用NB模组,APP下发命令给MCU月日冻结设置,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,MCU回发收到的“设置数据”并自行设置。\nC情形:ZIGBEE模式时,MCU收到设置命令时,MCU回发收到的“设置数据”并自行设置。","extensions":{"attribute":"128"},"name":"冻结时间设置","typeSpec":{"type":"raw","maxlen":128}},
{"abilityId":13,"accessMode":"rw","code":"switch_cold","description":"","extensions":{"attribute":"128"},"name":"电磁阀门开关","typeSpec":{"type":"bool"}},
{"abilityId":14,"accessMode":"rw","code":"auto_clean","description":"","extensions":{"iconName":"icon-dp_wash","attribute":"1152"},"name":"阀门清洗开关","typeSpec":{"type":"bool"}},
{"abilityId":16,"accessMode":"ro","code":"meter_id","description":"1,表号 \n2,HEX,大端模式,字符串格式,表号一般小于14位数字\n3,收发报文格式\n示例代码说明:\nMCU上报:12343543454\n4,处理逻辑:\nA情形:配网时,上报表号,APP能看到为止,否则需要重新配网。","extensions":{"attribute":"128"},"name":"设备号显示","typeSpec":{"type":"string","maxlen":255}},
{"abilityId":18,"accessMode":"ro","code":"water_use_rever_data","description":"1,反向用水量(绝对值,数据来自水表) 单位:m3\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3,也就是1L(最小精度)。\n4,收发报文格式\nAPP下发查询,MCU上报回复冻结反向用水量(长度4个字节,5位整数+3位小数)。\n举例:\n面板下发要求设备上报当前冻结反向用水量值,MCU上报:00 00 25 74,即当前冻结反向用水量 9.588m3 到云。\n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询反向用水量当前冻结数据,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把当前冻结反向数据上报。\nB情形:ZIGBEE模式时,MCU收到反向用水量读取命令时,上报指定冻结反向用水量。","extensions":{"iconName":"icon-tongji2","attribute":"1216"},"name":"反向用水量","typeSpec":{"type":"raw","maxlen":128}},
{"abilityId":21,"accessMode":"ro","code":"flow_rate_instan","description":"1,瞬时流量(绝对值,数据来自水表) 单位:m3/H\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3/H,也就是1L/H(最小精度)。\n4,收发报文格式\nAPP或云端下发查询,MCU上报回复表端瞬时流量(长度4个字节,5位整数+3位小数)。\n举例:\n面板下发要求设备上报当前瞬时流量值,MCU上报:00 00 25 74,即上报当前瞬时流量数据 9.588m3/H 到云。\n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询瞬时流量,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把当前数据上报。\nB情形:ZIGBEE模式时,MCU收到读取命令时,上报指定瞬时流量值。","extensions":{"iconName":"icon-tongji2","attribute":"1216"},"name":"瞬时流量","typeSpec":{"type":"raw","maxlen":128}},
{"abilityId":22,"accessMode":"ro","code":"water_temp","description":"","extensions":{"iconName":"icon-dp_temp","attribute":"1216","trigger":"direct"},"name":"工作温度","typeSpec":{"type":"value","max":9999,"min":0,"scale":2,"step":1,"unit":"℃"}},
{"abilityId":26,"accessMode":"ro","code":"voltage_current","description":"","extensions":{"iconName":"icon-dp_lightning","attribute":"1216"},"name":"电源电压","typeSpec":{"type":"value","max":9999,"min":0,"scale":2,"step":1,"unit":"V"}}]}]}"
},
"success": true,
"t": 1729351968139,
"tid": "64f72b318e2f11efa94af6097a59a676"
}
{
  "result": {
    "properties": [
      {
        "code": "water_use_data",
        "custom_name": "",
        "dp_id": 1,
        "time": 1729247201462,
        "type": "value",
        "value": 3120
      },
      {
        "code": "month_water_data",
        "custom_name": "",
        "dp_id": 2,
        "time": 1729247201581,
        "type": "raw",
        "value": "GAoYCgAADA4="
      },
      {
        "code": "daily_water_data",
        "custom_name": "",
        "dp_id": 3,
        "time": 1729247201769,
        "type": "raw",
        "value": "ChIKEgAAACg="
      },
      {
        "code": "report_period_set",
        "custom_name": "",
        "dp_id": 4,
        "time": 1728337829304,
        "type": "enum",
        "value": "12h"
      },
      {
        "code": "fault",
        "custom_name": "",
        "dp_id": 5,
        "time": 1728337829512,
        "type": "bitmap",
        "value": 0
      },
      {
        "code": "frozen_time_set",
        "custom_name": "",
        "dp_id": 6,
        "time": 1729247202291,
        "type": "raw",
        "value": "AQA="
      },
      {
        "code": "switch_cold",
        "custom_name": "",
        "dp_id": 13,
        "time": 1728337829820,
        "type": "bool",
        "value": true
      },
      {
        "code": "auto_clean",
        "custom_name": "",
        "dp_id": 14,
        "time": 1728383202648,
        "type": "bool",
        "value": false
      },
      {
        "code": "meter_id",
        "custom_name": "",
        "dp_id": 16,
        "time": 1728337830336,
        "type": "string",
        "value": "00000024010037"
      },
      {
        "code": "water_use_rever_data",
        "custom_name": "",
        "dp_id": 18,
        "time": 1729247203208,
        "type": "raw",
        "value": "AAAAAA=="
      },
      {
        "code": "flow_rate_instan",
        "custom_name": "",
        "dp_id": 21,
        "time": 1729247203415,
        "type": "raw",
        "value": "AAAAAA=="
      },
      {
        "code": "water_temp",
        "custom_name": "",
        "dp_id": 22,
        "time": 1729247203623,
        "type": "value",
        "value": 2600
      },
      {
        "code": "voltage_current",
        "custom_name": "",
        "dp_id": 26,
        "time": 1728340002861,
        "type": "value",
        "value": 369
      }
    ]
  },
  "success": true,
  "t": 1729264158561,
  "tid": "f26b6fed8d6211efa94af6097a59a676"
}

Product ID

vuwtqx0t

Product Name

Tuya Ultrasonic Valve Control Water Meter with Zigbee 214C

Information about how the device functions

It's a water flow meter. I just need to add the water consumptions stats in my energy dashboard.

Thommav avatar Oct 18 '24 15:10 Thommav

Product id is not the same as device id.

Also, the dps info is missing details like units, range, whether the value is read-only, read-write or write-only.

make-all avatar Oct 18 '24 23:10 make-all

Sorry @make-all Jason and thanks for the prompt reply. Product ID should be: vuwtqx0t

For the DPS info....sorry, I'm not a big expert of the Tuya Platform. The result of the "Query Things Data Model" is the one here below. It's definetely not clear. I paste also results from "Get the specifications and properties of the device" that maybe can help. I added in each section the dp_id from my first post because i think it can help you and it was not in this call.

Hope this is enough.

thank you guys for all your efforts and help.

Query Things Data Model:

{ "result": { "model": "{"modelId":"000002unp1","services":[{"actions":[],"code":"","description":"","events":[],"name":"默认服务","properties":[{"abilityId":1,"accessMode":"ro","code":"water_use_data","description":"","extensions":{"iconName":"icon-dp_water","attribute":"1728","trigger":"direct"},"name":"总用水量","typeSpec":{"type":"value","max":99999999,"min":0,"scale":3,"step":1,"unit":"m3"}},{"abilityId":2,"accessMode":"rw","code":"month_water_data","description":"1,月用水量 (绝对值,数据来之水表) 单位:m3\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3,也就是1L(最小精度)。\n4,收发报文格式\nAPP下发查询:起始年(1字节)+起始月(1字节)+结束年(1字节)+结束月(1字节)\n举例:0x14 04 14 05,就是要求设备上报20年4月5月两个月合计用水量。\nMCU上报回复:起始年(1)+起始月(1)+结束年(1)+结束月(1)+ 用水量 (长度4个字节,5位整数+3位小数)\n举例:14 04 14 05 00 00 4F A2,就是设备上报20年4月5月的合计用水量20.386 m3到云。 \n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询月冻结数据,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把月冻结数据上报。\nB情形:ZIGBEE模式时,MCU收到月用水量读取命令时,上报指定月份的用水量(绝对值)。","extensions":{"attribute":"128"},"name":"月用水量","typeSpec":{"type":"raw","maxlen":128}},{"abilityId":3,"accessMode":"rw","code":"daily_water_data","description":"1,日用水量(绝对值,数据来之水表) 单位:m3\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3,也就是1L(最小精度)。\n4,收发报文格式\nAPP下发查询:起始月(1字节)+起始日(1字节)+结束月(1字节)+结束日(1字节)\nMCU上报回复:起始月(1)+起始日(1)+结束月(1)+结束日(1)+ 用水量(长度4个字节,5位整数+3位小数)。\n举例:\n面板下发:0X04 06 04 08,就是要求设备上报4月6日-4月8日的合计用水量到云。\nMCU上报:0X04 06 04 08 00 00 25 74,设备上报4月6日-4月8日的合计用水量 9.588m3 到云。\n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询月冻结数据,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把月冻结数据上报。\nB情形:ZIGBEE模式时,MCU收到月用水量读取命令时,上报指定日冻结用水量(绝对值)。","extensions":{"attribute":"128"},"name":"日用水量","typeSpec":{"type":"raw","maxlen":128}},{"abilityId":4,"accessMode":"rw","code":"report_period_set","description":"","extensions":{"iconName":"icon-dp_tool","attribute":"132"},"name":"上报周期设置","typeSpec":{"type":"enum","range":["1h","2h","3h","4h","6h","8h","12h","24h"]}},{"abilityId":5,"accessMode":"ro","code":"fault","description":"","extensions":{"iconName":"icon-dp_warming","attribute":"1152"},"name":"故障告警","typeSpec":{"type":"bitmap","label":["battery_alarm","magnetism_alarm","cover_alarm","credit_alarm","switch_gaps_alarm","meter_body_alarm","abnormal_water_alarm","arrearage_alarm","overflow_alarm","revflow_alarm","over_pre_alarm","empty_pip_alarm","transduce_alarm"],"maxlen":13}},{"abilityId":6,"accessMode":"rw","code":"frozen_time_set","description":"1,月冻结、日冻结设置 (APP下发用DP,取值是从云端)\n2,HEX,大端模式,2个字节长度。\n3,月冻结XX日(1#字节,可选:1-28日),日冻结XX小时(2#字节,可选:0-23点)。月冻结和日冻结相互独立,没有存在强关联关系。\n4,收发报文格式\n月冻结:默认1日。日冻结:默认时间0点(只支持整点) \n示例代码说明:\nAPP下发:0X01 00,表示设置月冻结在1日,日冻结在0点钟。\n0X02 00 表示设置月冻结为02号,00表示日冻结在0点钟。\n0X01 12 表示设置月冻结为01号,00表示日冻结在12点钟。\nMCU上报:回复收到的两个数据,并设置月冻结日冻结。\n5,处理逻辑:\nA情形:水表配网时,上报月冻结日冻结数据到云平台,APP获取到水表的日冻结月冻结具体设置数据。\nB情形:使用NB模组,APP下发命令给MCU月日冻结设置,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,MCU回发收到的“设置数据”并自行设置。\nC情形:ZIGBEE模式时,MCU收到设置命令时,MCU回发收到的“设置数据”并自行设置。","extensions":{"attribute":"128"},"name":"冻结时间设置","typeSpec":{"type":"raw","maxlen":128}},{"abilityId":13,"accessMode":"rw","code":"switch_cold","description":"","extensions":{"attribute":"128"},"name":"电磁阀门开关","typeSpec":{"type":"bool"}},{"abilityId":14,"accessMode":"rw","code":"auto_clean","description":"","extensions":{"iconName":"icon-dp_wash","attribute":"1152"},"name":"阀门清洗开关","typeSpec":{"type":"bool"}},{"abilityId":16,"accessMode":"ro","code":"meter_id","description":"1,表号 \n2,HEX,大端模式,字符串格式,表号一般小于14位数字\n3,收发报文格式\n示例代码说明:\nMCU上报:12343543454\n4,处理逻辑:\nA情形:配网时,上报表号,APP能看到为止,否则需要重新配网。","extensions":{"attribute":"128"},"name":"设备号显示","typeSpec":{"type":"string","maxlen":255}},{"abilityId":18,"accessMode":"ro","code":"water_use_rever_data","description":"1,反向用水量(绝对值,数据来自水表) 单位:m3\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3,也就是1L(最小精度)。\n4,收发报文格式\nAPP下发查询,MCU上报回复冻结反向用水量(长度4个字节,5位整数+3位小数)。\n举例:\n面板下发要求设备上报当前冻结反向用水量值,MCU上报:00 00 25 74,即当前冻结反向用水量 9.588m3 到云。\n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询反向用水量当前冻结数据,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把当前冻结反向数据上报。\nB情形:ZIGBEE模式时,MCU收到反向用水量读取命令时,上报指定冻结反向用水量。","extensions":{"iconName":"icon-tongji2","attribute":"1216"},"name":"反向用水量","typeSpec":{"type":"raw","maxlen":128}},{"abilityId":21,"accessMode":"ro","code":"flow_rate_instan","description":"1,瞬时流量(绝对值,数据来自水表) 单位:m3/H\n2,大端模式,HEX格式,长度4个字节,3位小数\n3,单位精度 1L,举例:00 00 00 01表示0.001m3/H,也就是1L/H(最小精度)。\n4,收发报文格式\nAPP或云端下发查询,MCU上报回复表端瞬时流量(长度4个字节,5位整数+3位小数)。\n举例:\n面板下发要求设备上报当前瞬时流量值,MCU上报:00 00 25 74,即上报当前瞬时流量数据 9.588m3/H 到云。\n5,处理逻辑:\nA情形:使用NB模组,APP下发命令给MCU查询瞬时流量,命令先缓冲云平台。等MCU唤醒NB模组建立链路上报数据时,也把当前数据上报。\nB情形:ZIGBEE模式时,MCU收到读取命令时,上报指定瞬时流量值。","extensions":{"iconName":"icon-tongji2","attribute":"1216"},"name":"瞬时流量","typeSpec":{"type":"raw","maxlen":128}},{"abilityId":22,"accessMode":"ro","code":"water_temp","description":"","extensions":{"iconName":"icon-dp_temp","attribute":"1216","trigger":"direct"},"name":"工作温度","typeSpec":{"type":"value","max":9999,"min":0,"scale":2,"step":1,"unit":"℃"}},{"abilityId":26,"accessMode":"ro","code":"voltage_current","description":"","extensions":{"iconName":"icon-dp_lightning","attribute":"1216"},"name":"电源电压","typeSpec":{"type":"value","max":9999,"min":0,"scale":2,"step":1,"unit":"V"}}]}]}" }, "success": true, "t": 1729351968139, "tid": "64f72b318e2f11efa94af6097a59a676" }

Get the specifications and properties of the device:

{ "result": { "category": "znsb", "functions": [ { "code": "water_data_month", "dp_id": 2, "desc": "{}", "name": "月用水量", "type": "Json", "values": "{}" }, { "code": "water_data_daily", "dp_id": 3, "desc": "{}", "name": "日用水量", "type": "Json", "values": "{}" }, { "code": "report_period_set", "dp_id": 4, "desc": "{"range":["1h","2h","3h","4h","6h","8h","12h","24h"]}", "name": "上报周期设置", "type": "Enum", "values": "{"range":["1h","2h","3h","4h","6h","8h","12h","24h"]}" }, { "code": "frozen_time", "dp_id": 6, "desc": "{}", "name": "月冻结、日冻结设置", "type": "Json", "values": "{}" }, { "code": "switch_code", "dp_id": 13, "desc": "{}", "name": "阀门开关", "type": "Boolean", "values": "{}" }, { "code": "auto_clean", "dp_id": 14, "desc": "{}", "name": "阀门清洗开关", "type": "Boolean", "values": "{}" } ], "status": [ { "code": "water_use_data", "dp_id": 1, "name": "总用水量", "type": "Integer", "values": "{"unit":"m3","min":0,"max":99999999,"scale":3,"step":1}" }, { "code": "water_data_month", "dp_id": 2, "name": "月用水量", "type": "Json", "values": "{}" }, { "code": "water_data_daily", "dp_id": 3, "name": "日用水量", "type": "Json", "values": "{}" }, { "code": "report_period_set", "dp_id": 4, "name": "上报周期设置", "type": "Enum", "values": "{"range":["1h","2h","3h","4h","6h","8h","12h","24h"]}" }, { "code": "fault", "dp_id": 5, "name": "故障告警", "type": "Bitmap", "values": "{"label": ["battery_alarm", "magnetism_alarm", "switch_gaps_alarm", "meter_body_alarm", "credit_alarm", "arrearage_alarm", "abnormal_water_alarm", "overflow_alarm", "revflow_alarm", "flow_low", "low_temp", "overuse", "cover_alarm", "over_pre_alarm"]}" }, { "code": "frozen_time", "dp_id": 6, "name": "月冻结、日冻结设置", "type": "Json", "values": "{}" }, { "code": "switch_code", "dp_id": 13, "name": "阀门开关", "type": "Boolean", "values": "{}" }, { "code": "auto_clean", "dp_id": 14, "name": "阀门清洗开关", "type": "Boolean", "values": "{}" }, { "code": "meter_id", "dp_id": 16, "name": "表号", "type": "String", "values": "{}" }, { "code": "voltage_current", "dp_id": 26, "name": "电源电压", "type": "Integer", "values": "{"unit":"V","min":0,"max":9999,"scale":2,"step":1}" } ] }, "success": true, "t": 1729352071826, "tid": "a2cbd6218e2f11efa94af6097a59a676" }

Thommav avatar Oct 19 '24 15:10 Thommav