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

 找回密码
 立即注册
查看: 154094|回复: 605

[经验分享] 踩个使用Aqara人体传感器的小坑

  [复制链接]

23

主题

302

帖子

2165

积分

论坛技术达人

积分
2165
金钱
1838
HASS币
110

活跃会员教程狂人

发表于 2018-7-5 22:18:30 | 显示全部楼层 |阅读模式

环境

Ubuntu18.04 + HA 0.71.0

现象

Aqara人体传感器会在HA中生成一个binary_sensor.motion_sensor_xxxxxxxxxxxxxx的人体传感器,但其触发/未触发状态一直有点迷,通常是一长串

解决办法

{HA安装目录}/components/binary_sensor/xiaomi_aqara.py中XiaomiMotionSensor类的init方法增加一行代码即可

……省略……
class XiaomiMotionSensor(XiaomiBinarySensor):
……省略……
def __init__(self, device, hass, xiaomi_hub):
    """Initialize the XiaomiMotionSensor."""
    self._hass = hass
    self._no_motion_since = 0
    if 'proto' not in device or int(device['proto'][0:1]) == 1:
        data_key = 'status'
    else:
        data_key = 'motion_status'
    XiaomiBinarySensor.__init__(self, device, 'Motion Sensor', xiaomi_hub,
                                data_key, 'motion')
    self._should_poll = True        #增加的

注释:HA启动过程会为binary_sensor.xiaomi_aqara这个platform注册一个更新数据的周期性任务(任务中通过should_poll属性判断该设备是否调用update方法去更新数据),前提是该platform下的设备的should_poll属性不能全为False。而代码中默认的should_poll属性都是False,所以导致无法正常更新数据,所以在设备初始化的时候给设置一下should_poll的值即可。

关于Aqara人体传感器工作方式

最后说一下调试中总结的Aqara人体传感器工作方式


游客,如果您要查看本帖隐藏内容请回复
博客 https://ljr.im
回复

使用道具 举报

15

主题

656

帖子

2832

积分

金牌会员

Rank: 6Rank: 6

积分
2832
金钱
2175
HASS币
91

教程狂人

QQ
发表于 2018-7-5 22:24:10 | 显示全部楼层
支持一下
回复

使用道具 举报

6

主题

386

帖子

2045

积分

金牌会员

Rank: 6Rank: 6

积分
2045
金钱
1657
HASS币
0
发表于 2018-7-5 23:00:48 | 显示全部楼层
资瓷一下。
回复

使用道具 举报

2

主题

711

帖子

5045

积分

论坛元老

Rank: 8Rank: 8

积分
5045
金钱
4334
HASS币
85
发表于 2018-7-5 23:16:39 | 显示全部楼层
大神~~~
裡害了
回复

使用道具 举报

2

主题

321

帖子

1927

积分

金牌会员

Rank: 6Rank: 6

积分
1927
金钱
1606
HASS币
0
发表于 2018-7-5 23:40:44 | 显示全部楼层
学习一下
回复

使用道具 举报

0

主题

10

帖子

114

积分

注册会员

Rank: 2

积分
114
金钱
104
HASS币
0
发表于 2018-7-5 23:52:04 | 显示全部楼层
感谢分享,太强了。
回复

使用道具 举报

2

主题

150

帖子

1038

积分

金牌会员

Rank: 6Rank: 6

积分
1038
金钱
888
HASS币
0
发表于 2018-7-6 00:53:00 | 显示全部楼层
看看怎么回事
回复

使用道具 举报

6

主题

198

帖子

1535

积分

金牌会员

Rank: 6Rank: 6

积分
1535
金钱
1337
HASS币
0
发表于 2018-7-6 01:16:06 | 显示全部楼层
踩个使用Aqara人体传感器的小坑
回复

使用道具 举报

3

主题

71

帖子

763

积分

高级会员

Rank: 4

积分
763
金钱
692
HASS币
0
发表于 2018-7-6 01:24:54 | 显示全部楼层
感謝分享,學習了
回复

使用道具 举报

20

主题

348

帖子

2541

积分

金牌会员

Rank: 6Rank: 6

积分
2541
金钱
2193
HASS币
0
发表于 2018-7-6 08:39:03 | 显示全部楼层
学习一下
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 10:26 , Processed in 0.727553 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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