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

 找回密码
 立即注册
查看: 10058|回复: 10

[已解决] aqara无线按钮(button 2nd gen)无法触发自动化

[复制链接]

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
发表于 2018-7-31 23:30:45 | 显示全部楼层 |阅读模式
本帖最后由 Mirukuteii 于 2018-8-7 01:00 编辑

求助各位大神,我有一个绿米的超级开关,小小的正方形,中间一个圆形按钮的那种
按照论坛上的说明,用event触发自动化,如下:

  alias: leaving home
  trigger:
  - platform: event
      event_type: click
      event_data:
        entity_id: binary_sensor.switch_158d0001d57ff0
        click_type: single
  action:
    service: tts.baidu_say
    data_template:
      entity_id: media_player.kodi
      message: 我出门了

log没有任何报错,但是就是不能触发,hass没有触发历史记录,米家app上有按钮的按键记录,百度语音也没问题。不知道有没有遇到类似问题的朋友

---------------------------------------分割线---------------------------------------------
再次更新!!  感谢cnk700i的帖子https://bbs.hassbian.com/forum.p ... F%E5%BC%80%E5%85%B3
本来觉得这个帖子写的是86无线开关,和我的无线按键不相关了,结果经过仔细琢磨,在看了这个帖子看了10多遍之后,才发现其实原理是一样的,核心就是这句话:“无线开关的click_type是button_0、button_1,而不是channel_0、channel_1。  
其实在aqara文档里写的很清楚,不管是aqara的86无线开关,还是一代二代按键,属性都是button,只有像aqara的墙壁开关这种,属性才是channel。至于小米自己的无线开关的属性是不是channel,我就不清楚了。 而{python模块目录}/homeassistant/components/binary_sensor/xiaomi_aqara.py中所有的开关,都写的是channel,包括我遇到问题的sensor_switch.aq3,于是我把aqara的两款无线按键摘出来,单列一组,把channel换成button,重启hass之后,果然就把问题解决了 自动化可以正常触发了,本来还想买个小米网关或者换个无线开关的,这下省了

修改的部分如下(第42行):
            elif model in ['switch', 'sensor_switch']:
                if 'proto' not in device or int(device['proto'][0:1]) == 1:
                    data_key = 'status'
                else:
                    data_key = 'channel_0'
                devices.append(XiaomiButton(device, 'Switch', data_key,   
                                            hass, gateway))
            elif model in ['sensor_switch.aq2', 'sensor_switch.aq3']:             #这部分是我单列出来的
                devices.append(XiaomiButton(device, 'Switch', 'button_0',    #上面那两款开关的命令里貌似还有个逻辑选择的问题,我是外行,不太懂
                                            hass, gateway))                                            #反正仿照86无线开关的格式,直接把channel_0 换成button_0就ok了






有一个细节需要注意,我经过上述操作后,发现无线按钮的entity id有了细微调整,在原有基础上多了一个"_2",  这个必须要如实在automation的命令里修改,不然还是触发不了的~

评分

参与人数 1金钱 +20 收起 理由
Mirukuteii + 20 分享是一种美德!

查看全部评分

回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-7-31 23:51:11 | 显示全部楼层
自己先顶一下
回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-8-1 00:02:12 | 显示全部楼层
回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-8-1 00:59:12 | 显示全部楼层
好吧,自己更新一下,按照我的理解,目前的情况是,用空调伴侣做网关,人体传感器ok,86无线开关ok,唯独不支持超级开关aqara button,所以目前唯一的解决方案就是换成小米网关,估计问题就解决了。。。

评分

参与人数 1金钱 +10 收起 理由
+ 10 自问自答,不错!

查看全部评分

回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-8-1 20:48:17 | 显示全部楼层
回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-8-1 23:46:19 | 显示全部楼层
再次更新!!  感谢cnk700i的帖子https://bbs.hassbian.com/forum.p ... F%E5%BC%80%E5%85%B3
本来觉得这个帖子写的是86无线开关,和我的无线按键不相关了,结果经过仔细琢磨,在看了这个帖子看了10多遍之后,才发现其实原理是一样的,核心就是这句话:“无线开关的click_type是button_0、button_1,而不是channel_0、channel_1。  
其实在aqara文档里写的很清楚,不管是aqara的86无线开关,还是一代二代按键,属性都是button,只有像aqara的墙壁开关这种,属性才是channel。至于小米自己的无线开关的属性是不是channel,我就不清楚了。 而{python模块目录}/homeassistant/components/binary_sensor/xiaomi_aqara.py中所有的开关,都写的是channel,包括我遇到问题的sensor_switch.aq3,于是我把aqara的两款无线按键摘出来,单列一组,把channel换成button,重启hass之后,果然就把问题解决了 自动化可以正常触发了,本来还想买个小米网关或者换个无线开关的,这下省了

修改的部分如下(第42行):
            elif model in ['switch', 'sensor_switch']:
                if 'proto' not in device or int(device['proto'][0:1]) == 1:
                    data_key = 'status'
                else:
                    data_key = 'channel_0'
                devices.append(XiaomiButton(device, 'Switch', data_key,   
                                            hass, gateway))
            elif model in ['sensor_switch.aq2', 'sensor_switch.aq3']:             #这部分是我单列出来的
                devices.append(XiaomiButton(device, 'Switch', 'button_0',    #上面那两款开关的命令里貌似还有个逻辑选择的问题,我是外行,不太懂
                                            hass, gateway))                                            #反正仿照86无线开关的格式,直接把channel_0 换成button_0就ok了






有一个细节需要注意,我经过上述操作后,发现无线按钮的entity id有了细微调整,在原有基础上多了一个"_2",  这个必须要如实在automation的命令里修改,不然还是触发不了的~

评分

参与人数 1金钱 +12 收起 理由
Mirukuteii + 12 自己分析,自己解决,点个赞!.

查看全部评分

回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-8-7 00:45:22 | 显示全部楼层
顶顶顶顶
回复

使用道具 举报

1

主题

59

帖子

409

积分

论坛分享达人

积分
409
金钱
350
HASS币
0
发表于 2018-8-11 09:15:46 | 显示全部楼层
我的也是空调伴侣升级版  人体感应正常了  无线开关 一直触发不了
回复

使用道具 举报

2

主题

44

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
金钱
207
HASS币
0
 楼主| 发表于 2018-8-11 21:36:41 | 显示全部楼层
shimingyun 发表于 2018-8-11 09:15
我的也是空调伴侣升级版  人体感应正常了  无线开关 一直触发不了

嗯嗯,按我这个方法试试,应该就没问题了
回复

使用道具 举报

25

主题

441

帖子

2344

积分

论坛积极会员

积分
2344
金钱
1903
HASS币
0
发表于 2018-10-17 22:56:38 | 显示全部楼层
单击 click_type: single 没有问题 请教一下双击与长按
双击:?
长按:?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 01:02 , Processed in 0.084930 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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