『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4102|回复: 9

[经验分享] 涂鸦设备用localtuya接入HA,DP具体含义和取值范围的获取

[复制链接]

2

主题

33

帖子

582

积分

论坛技术达人

积分
582
金钱
544
HASS币
20
发表于 2022-11-6 18:15:12 | 显示全部楼层 |阅读模式
本帖最后由 cubicpill 于 2023-12-26 03:56 编辑

最近入坑了HA,把家里的几个涂鸦的智能插座都用localtuya接入了HA(参考 https://bbs.hassbian.com/thread-12716-1-1.html),当前版本的插件(4.1.1)用起来已经非常方便了,可以直接登陆涂鸦IoT账户自动获取localkey,不过具体DP和功能的对应还是需要自己实验。
偶然看到HA官方论坛上的一个帖子(https://community.home-assistant ... ta-point-ids/423236),里面提到了获取DP和对应功能的方法,具体操作步骤如下:

登录涂鸦IoT页面,进入API调试,然后侧边选择:全屋设备体系-设备控制-获取设备规格属性(有两个,记得选下面那个),填写deviceid后点击发起调用。返回的响应结果里就会有设备的所有DP和对应名称、类型和取值范围。
(具体的API endpoint是:https://openapi.tuyaeu.com/v1.1/devices/<your_device_id>/specifications ,v1.0的那个不行
Snipaste_2022-11-06_17-52-18.png

返回结果如下:
{
        "result": {
                "category": "cz",
                "functions": [
                        {
                                "code": "switch_1",
                                "dp_id": 1,
                                "type": "Boolean",
                                "values": "{}"
                        },
                        {
                                "code": "countdown_1",
                                "dp_id": 9,
                                "type": "Integer",
                                "values": "{"unit":"s","min":0,"max":86400,"scale":0,"step":1}"
                        },
                        {
                                "code": "relay_status",
                                "dp_id": 38,
                                "type": "Enum",
                                "values": "{"range":["power_off","power_on","last"]}"
                        },
                        {
                                "code": "light_mode",
                                "dp_id": 40,
                                "type": "Enum",
                                "values": "{"range":["relay","pos","none"]}"
                        },
                        {
                                "code": "child_lock",
                                "dp_id": 41,
                                "type": "Boolean",
                                "values": "{}"
                        },
                        {
                                "code": "cycle_time",
                                "dp_id": 42,
                                "type": "String",
                                "values": "{}"
                        },
                        {
                                "code": "random_time",
                                "dp_id": 43,
                                "type": "String",
                                "values": "{}"
                        }
                ],
                "status": [
                        {
                                "code": "switch_1",
                                "dp_id": 1,
                                "type": "Boolean",
                                "values": "{}"
                        },
                        {
                                "code": "countdown_1",
                                "dp_id": 9,
                                "type": "Integer",
                                "values": "{"unit":"s","min":0,"max":86400,"scale":0,"step":1}"
                        },
                        {
                                "code": "relay_status",
                                "dp_id": 38,
                                "type": "Enum",
                                "values": "{"range":["power_off","power_on","last"]}"
                        },
                        {
                                "code": "light_mode",
                                "dp_id": 40,
                                "type": "Enum",
                                "values": "{"range":["relay","pos","none"]}"
                        },
                        {
                                "code": "child_lock",
                                "dp_id": 41,
                                "type": "Boolean",
                                "values": "{}"
                        },
                        {
                                "code": "cycle_time",
                                "dp_id": 42,
                                "type": "String",
                                "values": "{}"
                        },
                        {
                                "code": "random_time",
                                "dp_id": 43,
                                "type": "String",
                                "values": "{}"
                        }
                ]
        },
        "success": true,
        "t": ****,
        "tid": ****
}



从code结合app里的设置就可以大致猜出对应dp_id的功能,上面是我的一个不带计量功能插座的返回值,可以看到里面的LED状态控制、童锁、掉电恢复等等功能,如果是计量版的话values里会提供单位、范围、scale factor等等信息。

评分

参与人数 1金钱 +5 收起 理由
X大 + 5 论坛有你更精彩!

查看全部评分

回复

使用道具 举报

32

主题

145

帖子

545

积分

高级会员

Rank: 4

积分
545
金钱
400
HASS币
0
发表于 2022-11-6 18:41:47 | 显示全部楼层
谢谢分享,是个不错的方法。
回复

使用道具 举报

1

主题

29

帖子

623

积分

高级会员

Rank: 4

积分
623
金钱
594
HASS币
0
发表于 2022-11-7 00:41:59 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

5

帖子

58

积分

注册会员

Rank: 2

积分
58
金钱
53
HASS币
0
发表于 2022-11-9 17:06:41 | 显示全部楼层
感谢大佬的分享
回复

使用道具 举报

23

主题

271

帖子

1685

积分

金牌会员

Rank: 6Rank: 6

积分
1685
金钱
1414
HASS币
0
发表于 2022-12-5 23:42:01 | 显示全部楼层
获取到了怎么添加到HA呢
回复

使用道具 举报

3

主题

37

帖子

170

积分

注册会员

Rank: 2

积分
170
金钱
133
HASS币
0
发表于 2023-3-7 10:10:12 | 显示全部楼层
大哥 我也找到这个dpid的了 怎么用啊? 我就一个大门 开 关 停 ,不知道选那个platform 也不知道怎么用这个dpid
回复

使用道具 举报

1

主题

17

帖子

88

积分

注册会员

Rank: 2

积分
88
金钱
71
HASS币
0
发表于 2023-5-13 23:07:03 | 显示全部楼层

                                "code": "switch_1",
                                "dp_id": 1,
                                "type": "Boolean",
                                "values": "{}"


这个do为1,但是在locatuya里面根本就没有这个1的值,请问一下怎么解决
回复

使用道具 举报

0

主题

19

帖子

420

积分

中级会员

Rank: 3Rank: 3

积分
420
金钱
401
HASS币
0
发表于 2023-7-6 16:18:34 | 显示全部楼层
感谢分享
回复

使用道具 举报

33

主题

2196

帖子

5838

积分

论坛元老

Rank: 8Rank: 8

积分
5838
金钱
3642
HASS币
60
QQ
发表于 2024-8-11 10:29:43 | 显示全部楼层
最新的好像没dp_id了
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

1

主题

70

帖子

393

积分

中级会员

Rank: 3Rank: 3

积分
393
金钱
323
HASS币
0
发表于 2024-10-14 16:29:17 | 显示全部楼层
zxyny1989 发表于 2024-8-11 10:29
最新的好像没dp_id了

大佬,有木有最新的获取dp_id的方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 18:55 , Processed in 0.206686 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表