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

 找回密码
 立即注册
查看: 638|回复: 8

[经验分享] 领普QT1接入gateway3

[复制链接]

3

主题

33

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
金钱
409
HASS币
0
发表于 2023-12-30 21:00:27 | 显示全部楼层 |阅读模式
本帖最后由 没内涵 于 2023-12-30 21:02 编辑

目前gateway3接入只能显示成单键,xiaomi miot auto接入轮询的响应又不够快,所以可以根据gateway3里的方法自己添加
在config文件夹下新建一个文件,取名为xiaomi_gateway3.py
然后按照模板添加,我是用别的四键的模板改的
不过四键开关的无线功能只能识别到按键1单击,不管按哪个键识别出来都是按键1单击,因为我四键不需要转无线所以就没再研究了,有兴趣的可以研究下
from custom_components.xiaomi_gateway3.core.converters.devices import *

DEVICES = [{
    15658: ["Linptech", "one key Wall Switch", "linp.switch.qt1db1"],
    "spec": [
        Converter("switch", "switch", mi="2.p.1"),
        MapConv("mode", "select", mi="2.p.2", map={0: "wired", 1: "wireless"}),
        Action,
        ButtonMIConv("button", mi="3.e.1", value=1),
    ],
}] + [{
    15659: ["Linptech", "Two key Wall Switch", "linp.switch.qt1db2"],
    "spec": [
        Converter("switch_1", "switch", mi="2.p.1"),
        Converter("switch_2", "switch", mi="3.p.1"),
        MapConv("mode_1", "select", mi="2.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_2", "select", mi="3.p.2", map={0: "wired", 1: "wireless"}),
        Action,
        ButtonMIConv("button_1", mi="4.e.1", value=1),
        ButtonMIConv("button_2", mi="5.e.1", value=1),
    ],
}] + [{
    15660: ["Linptech", "Three key Wall Switch", "linp.switch.qt1db3"],
    "spec": [
        Converter("switch_1", "switch", mi="2.p.1"),
        Converter("switch_2", "switch", mi="3.p.1"),
        Converter("switch_3", "switch", mi="4.p.1"),
        MapConv("mode_1", "select", mi="2.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_2", "select", mi="3.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_3", "select", mi="4.p.2", map={0: "wired", 1: "wireless"}),
        Action,
        ButtonMIConv("button_1", mi="5.e.1", value=1),
        ButtonMIConv("button_2", mi="6.e.1", value=1),
        ButtonMIConv("button_3", mi="7.e.1", value=1),
    ],
}] + [{
    15661: ["Linptech", "four key Wall Switch", "linp.switch.qt1db4"],
    "spec": [
        Converter("switch_1", "switch", mi="2.p.1"),
        Converter("switch_2", "switch", mi="3.p.1"),
        Converter("switch_3", "switch", mi="4.p.1"),
        Converter("switch_4", "switch", mi="5.p.1"),
        MapConv("mode_1", "select", mi="2.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_2", "select", mi="3.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_3", "select", mi="4.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_4", "select", mi="5.p.2", map={0: "wired", 1: "wireless"}),
        Action,
        ButtonMIConv("button_1", mi="6.e.1", value=1),
        ButtonMIConv("button_2", mi="7.e.1", value=1),
        ButtonMIConv("button_3", mi="8.e.1", value=1),
        ButtonMIConv("button_4", mi="9.e.1", value=1),
    ],
}] + DEVICES

回复

使用道具 举报

3

主题

38

帖子

273

积分

中级会员

Rank: 3Rank: 3

积分
273
金钱
235
HASS币
0
发表于 2024-3-12 21:23:11 | 显示全部楼层
把这个部分全部删除试试;MapConv("mode_1", "select", mi="2.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_2", "select", mi="3.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_3", "select", mi="4.p.2", map={0: "wired", 1: "wireless"}),
        MapConv("mode_4", "select", mi="5.p.2", map={0: "wired", 1: "wireless"}),
        Action,
        ButtonMIConv("button_1", mi="6.e.1", value=1),
        ButtonMIConv("button_2", mi="7.e.1", value=1),
        ButtonMIConv("button_3", mi="8.e.1", value=1),
        ButtonMIConv("button_4", mi="9.e.1", value=1),
回复

使用道具 举报

3

主题

48

帖子

427

积分

论坛DIY达人

积分
427
金钱
379
HASS币
0
发表于 2024-3-12 22:10:27 | 显示全部楼层
你吧日志提交给gw3作者,他下次更新的时候就会把这个开关加进去了
回复

使用道具 举报

3

主题

33

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
金钱
409
HASS币
0
 楼主| 发表于 2024-3-13 00:38:58 | 显示全部楼层
tangyuan 发表于 2024-3-12 21:23
把这个部分全部删除试试;MapConv("mode_1", "select", mi="2.p.2", map={0: "wired", 1: "wireless"}),
   ...

删了不就没action判断单击了
回复

使用道具 举报

3

主题

38

帖子

273

积分

中级会员

Rank: 3Rank: 3

积分
273
金钱
235
HASS币
0
发表于 2024-3-13 12:43:21 | 显示全部楼层
没内涵 发表于 2024-3-13 00:38
删了不就没action判断单击了

https://github.com/rytilahti/python-miio/issues/901,可以参考一下这个
回复

使用道具 举报

3

主题

38

帖子

273

积分

中级会员

Rank: 3Rank: 3

积分
273
金钱
235
HASS币
0
发表于 2024-3-13 14:56:51 | 显示全部楼层
我后面又看了一下信息
https://miot-spec.org/miot-spec- ... utton-type:0000011F
:      

        ButtonMIConv("button_1", mi="6.e.1", value=1),
        ButtonMIConv("button_2", mi="6.e.1", value=2),
        ButtonMIConv("button_3", mi="6.e.1", value=3),
        ButtonMIConv("button_4", mi="6.e.1", value=4),
回复

使用道具 举报

3

主题

33

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
金钱
409
HASS币
0
 楼主| 发表于 2024-3-13 15:44:12 | 显示全部楼层
tangyuan 发表于 2024-3-13 14:56
我后面又看了一下信息
https://miot-spec.org/miot-spec-v2/spec/property?type=urn:miot-spec-v2:propert ...

确实有变化
全部按键都变成了button_4_quadruple
回复

使用道具 举报

3

主题

38

帖子

273

积分

中级会员

Rank: 3Rank: 3

积分
273
金钱
235
HASS币
0
发表于 2024-3-13 20:54:15 | 显示全部楼层
没内涵 发表于 2024-3-13 15:44
确实有变化
全部按键都变成了button_4_quadruple

那我确实不知道咋整了
回复

使用道具 举报

3

主题

38

帖子

273

积分

中级会员

Rank: 3Rank: 3

积分
273
金钱
235
HASS币
0
发表于 2024-3-13 20:55:40 | 显示全部楼层
tangyuan 发表于 2024-3-13 20:54
那我确实不知道咋整了

水平有限,坐等大佬;但是我分析了你前三个模板的逻辑,是没有问题的;
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-15 09:11 , Processed in 1.059475 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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