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

 找回密码
 立即注册
查看: 194|回复: 3

[技术讨论] 智能开关转无线后如何触发自动化

[复制链接]

2

主题

11

帖子

74

积分

注册会员

Rank: 2

积分
74
金钱
63
HASS币
0
发表于 2025-2-9 00:40:49 | 显示全部楼层 |阅读模式
本帖最后由 aither 于 2025-2-9 00:45 编辑

刚装好hass不久,gateway3接入墙壁的零火开关发现不识别。经历曲折,自己写了适配的代码,终于能正常控制继电器和实现sensor接收数据了。
然而现在的情况是,首次按下按钮后,sensor的状态会从未知变成single并保持不动,不再更新。所以后面的自动化也没办法写了。

想问问大家的智能开关有这种情况吗?大家有能正常实现在ha中转无线后触发自动化的吗,想问问大家的设备都是什么?或者有什么解决方案吗?

谢谢大家!

回复

使用道具 举报

2

主题

11

帖子

74

积分

注册会员

Rank: 2

积分
74
金钱
63
HASS币
0
 楼主| 发表于 2025-2-9 00:44:16 | 显示全部楼层
like this
屏幕截图 2025-02-09 004318.png
回复

使用道具 举报

162

主题

2607

帖子

8074

积分

元老级技术达人

积分
8074
金钱
5462
HASS币
30
发表于 2025-2-9 23:39:17 | 显示全部楼层
这个是bug,正常single后,会清除重置,你得反馈给集成作者
回复

使用道具 举报

2

主题

11

帖子

74

积分

注册会员

Rank: 2

积分
74
金钱
63
HASS币
0
 楼主| 发表于 2025-2-11 00:15:26 | 显示全部楼层
from custom_components.xiaomi_gateway3.core.devices import *

DEVICES = [{
    # https://home.miot-spec.com/spec/huca.switch.lh1
    15109: ["H+", "H+ zero fire single key switch", "huca.switch.lh1"],
    "spec": [
        BaseConv("action", "sensor"),
        ConstConv("action", mi="5.e.1", value=BUTTON_SINGLE),
        BaseConv("switch", "switch", mi="2.p.1"),
        BaseConv("backlight", "switch", mi="12.p.1"),  # config
        MapConv("mode", "select", mi="2.p.2", map={0: "Wired And Wireless", 1: "Wireless", 2: "Flex", 3: "Jog"}),
    ]
}, {
    # https://home.miot-spec.com/spec/huca.switch.lh2
    15110: ["H+", "H+ zero fire double key switch", "huca.switch.lh2"],
    "spec": [
        BaseConv("action", "sensor"),
        ConstConv("action", mi="5.e.1", value=BUTTON_1_SINGLE),
        BaseConv("action", "sensor"),
        ConstConv("action", mi="6.e.1", value=BUTTON_2_SINGLE),
        BaseConv("switch_1", "switch", mi="2.p.1"),
        BaseConv("switch_2", "switch", mi="3.p.1"),
        BaseConv("backlight", "switch", mi="12.p.1"),  # config
        MapConv("mode_1", "select", mi="2.p.2", map={0: "Wired And Wireless", 1: "Wireless", 2: "Flex", 3: "Jog"}),
        MapConv("mode_2", "select", mi="3.p.2", map={0: "Wired And Wireless", 1: "Wireless", 2: "Flex", 3: "Jog"}),
    ]
}, {
    # https://home.miot-spec.com/spec/huca.switch.lh3
    15111: ["H+", "H+ zero fire tripl key switch", "huca.switch.lh3"],
    "spec": [
        BaseConv("action", "sensor"),
        ConstConv("action", mi="5.e.1", value=BUTTON_1_SINGLE),
        BaseConv("action", "sensor"),
        ConstConv("action", mi="6.e.1", value=BUTTON_2_SINGLE),
        BaseConv("action", "sensor"),
        ConstConv("action", mi="7.e.1", value=BUTTON_3_SINGLE),
        BaseConv("switch_1", "switch", mi="2.p.1"),
        BaseConv("switch_2", "switch", mi="3.p.1"),
        BaseConv("switch_3", "switch", mi="4.p.1"),
        BaseConv("backlight", "switch", mi="12.p.1"),  # config
        MapConv("mode_1", "select", mi="2.p.2", map={0: "Wired And Wireless", 1: "Wireless", 2: "Flex", 3: "Jog"}),
        MapConv("mode_2", "select", mi="3.p.2", map={0: "Wired And Wireless", 1: "Wireless", 2: "Flex", 3: "Jog"}),
        MapConv("mode_3", "select", mi="4.p.2", map={0: "Wired And Wireless", 1: "Wireless", 2: "Flex", 3: "Jog"}),
    ],
}] + DEVICES


问题已解决,不知道什么原因,但是action相关的代码改成这样就可以正常清除重置了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-23 04:15 , Processed in 0.051782 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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