- 积分
- 251
- 金钱
- 207
- 威望
- 0
- 贡献
- 0
- HASS币
- 0
中级会员
- 积分
- 251
- 金钱
- 207
- HASS币
- 0
|
本帖最后由 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的命令里修改,不然还是触发不了的~
|
评分
-
查看全部评分
|