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

 找回密码
 立即注册
查看: 12298|回复: 12

在PVE环境中部署蓝牙monitor及时检测离家回家

[复制链接]

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24363
金钱
22932
HASS币
290
发表于 2021-5-1 15:36:08 | 显示全部楼层 |阅读模式
本帖最后由 dscao 于 2021-7-26 01:23 编辑

一直用小米门锁的特定几种方式开锁作为回家触发条件,上提把锁延时2分钟室内人体无触发作为离家触发条件,也一直用得还不错。前几天看有大佬分享猫盘接蓝牙https://bbs.hassbian.com/thread-12756-1-1.html,自己也有一个,于是买了个蓝牙适配器CRS8510,结果也正常完成那样的操作。最后用来蓝牙追踪时发现是30秒扫描,想起有个更好的方案,于是找到帖子,研究后决定改回PVE主机安装蓝牙,最后成功了。发现房间的蓝牙信号还是100%,wifi的5G信号都不太行了。反应时间回家十秒内,离家十几秒至几十秒, mqtt.publish monitor/scan/arrive 与 monitor/scan/depart 配合后状态稳定后回家基本秒变,离家大概十秒变成90%,45%,0.0%。

[教程指南] 准确、及时、自动判断离家回家--多种方案试用后的最终选择
https://bbs.hassbian.com/thread-10096-12-1.html


对照XCray大佬的这个在PVE=ikuai+openwrt+nas+hassos环境中部署蓝牙monitor,检测离家回家。




一、PVE中安装蓝牙基本包


1、从web进入PVE管理页面中的shell运行:
apt update
apt install snapd
snap install core
snap install pi-bluetooth



参考:https://snapcraft.io/install/pi-bluetooth/debian


2、提示缺少两个组件,需要安装

apt-get install bluez (提示缺少 btmon)
参考:https://command-not-found.com/btmon
另一个按提示安装即可


二、安装mosquitto

apt-get update -y
apt-get install -y mosquitto-clients


顺带发送一下主机的CPU温度:
在pve的/etc/crontab/root中增加一行:
*/1 * * * * mosquitto_pub -h 192.168.X.X -u mqttuser -P mqttpassword -t pve/temp -m `sensors | tail -2 |cut -c17-20`

ha中增加:
sensor:
  - platform: mqtt
    name: CPUTemp
    icon: 'mdi:thermometer'
    state_topic: 'pve/temp'
    device_class: temperature
    unit_of_measurement: °C


三、执行脚本,配置完成PVE端
这里开始与原帖基本没什么区别了
cd ~
apt-get install git
git clone git://github.com/andrewjfreyer/monitor
cd monitor/

bash monitor.sh
脚本会在当前目录里生成默认的配置文件,按原帖修改:
mqtt_preferences 中填写mqtt的用户名和密码,主题路径,身份不填就默认pve,具体看pve系统设置吧
known_static_addresses 填入你的蓝牙设备的mac地址和名称


bash monitor.sh -h 按各种参数测试哪种最适合自己的,找到最适合的后:

bash monitor.sh -多个需要的参数 - u #参数保存到系统


配置完成后:
systemctl start monitor 启动服务
systemctl stop monitor 停止服务



四、homeassistant端配置传感器
按原帖操作即可




1.jpg


2.jpg

3.jpg

4.jpg



-----------------------2021.7.26更新:
最近PVE换成7.0版的,在安装这个的时候发现apt install snapd还不支持debian11,于是增加一个虚拟机装了个debian10,发现这个服务一旦打开cpu占用是非常高,难怪之前小主机温度比之前要高出很多。
具体原因还不清楚,打算后期主机上还是不用这个了,改到esp32中去。如果Esp32版的能有esphome的固件出来就方便了。

02.jpg
systemctl stop monitor 停止服务后

03.jpg
systemctl start monitor 启动服务后





评分

参与人数 1金钱 +8 收起 理由
XCray + 8 感谢楼主分享!

查看全部评分

回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2021-5-1 19:55:29 | 显示全部楼层
恭喜楼主!只要有蓝牙和linux环境,基本上都可以运行monitor。

综合来看,目前monitor几乎是判断回家的最佳方案(手机几乎是必带的东西,也不要求额外的软硬件)。

如果门锁支持真正的本地操作的话,比如aqara的zigbee协议的门锁,利用门锁实现回家判断更为方便。

小米生态下的蓝牙门锁就不行了,也不知道他们的脑子被什么牌子的门挤过,开门事件必须先经过服务器绕一圈才能在本地得到响应,时延大的让自动化完全失去了实际意义。
回复

使用道具 举报

15

主题

636

帖子

2203

积分

金牌会员

Rank: 6Rank: 6

积分
2203
金钱
1567
HASS币
0
发表于 2021-5-19 22:19:57 | 显示全部楼层
XCray 发表于 2021-5-1 19:55
恭喜楼主!只要有蓝牙和linux环境,基本上都可以运行monitor。

综合来看,目前monitor几乎是判断回家的最 ...

哈,我就是用的aqara的P100门锁,配合M1S网关。然后破解M1s,刷了自定义固件,使用mqtt传输门锁的信息。确实HA中反应很快。钥匙id来分辨谁开的门,门锁event显示门的状态。

准备尝试老大的monitor来判断离家。(希望N1的蓝牙好用)

请教一下,离家之后的状态(比如ios用的home app。安卓用的论坛大神改版的ha app),是说每个人可以设置多个device tracker嘛?
回复

使用道具 举报

3

主题

279

帖子

2554

积分

金牌会员

Rank: 6Rank: 6

积分
2554
金钱
2275
HASS币
10
发表于 2021-5-20 01:03:36 | 显示全部楼层
条件都满足,有空了试试
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2021-5-20 06:56:44 | 显示全部楼层
telanx 发表于 2021-5-19 22:19
哈,我就是用的aqara的P100门锁,配合M1S网关。然后破解M1s,刷了自定义固件,使用mqtt传输门锁的信息。 ...

每个人可以设置多个被跟踪的设备,然后用group组合一下效果更好。

修改版app不太建议使用,也不太建议大神发布修改版app,这东西,还是官方纯洁版用着踏实。

~~~~~~~~~~~~~~~~~~~~~~~~~
其实,既然有门锁可以实现即时回家判断了,我觉得monitor也就可有有无了。我用的是小米设计比较弱智的蓝牙锁,啥事儿都要到服务器转一圈才能回到本地,时延很大,没办法才折腾monitor。

一般离家判断延迟大些没关系,三五分钟我觉得都可以接受。
回复

使用道具 举报

4

主题

144

帖子

1716

积分

论坛积极会员

积分
1716
金钱
1567
HASS币
20
发表于 2021-7-8 21:55:07 | 显示全部楼层
XCray 发表于 2021-5-20 06:56
每个人可以设置多个被跟踪的设备,然后用group组合一下效果更好。

修改版app不太建议使用,也不太建议大 ...

但是monitor有个致命的问题,就是如果跟踪设备多的话,例如一家人,如果设置了5个蓝牙追踪的话,第一个可以在10秒内可以判断好,但是如果家里没人,然后刚好是最后第5个蓝牙设备回家的话,monitor也是先询问第一个,然后第二个,第三个。。。。这也导致了有40多秒的延时,我重头到尾看了作者的原帖,怎样修改模式,配置,这个问题都无法解决。如果只有单单一个追踪人员的话,就非常好用,我还特意买了两个树莓派W回来试验,或者请教一下您,你那边是怎样一个流程?
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2021-7-9 19:26:42 | 显示全部楼层
matisse 发表于 2021-7-8 21:55
但是monitor有个致命的问题,就是如果跟踪设备多的话,例如一家人,如果设置了5个蓝牙追踪的话,第一个可 ...

我这儿是跟踪3台手机,没有感觉到明显的延迟。

我是这么设置的:取消周期性扫描,在门外放了一个人体传感器,检测到动作后通过mqtt指令让monitor启动回家扫描;类似地,利用关门事件启动离家扫描。
回复

使用道具 举报

4

主题

144

帖子

1716

积分

论坛积极会员

积分
1716
金钱
1567
HASS币
20
发表于 2021-7-9 20:26:40 | 显示全部楼层
XCray 发表于 2021-7-9 19:26
我这儿是跟踪3台手机,没有感觉到明显的延迟。

我是这么设置的:取消周期性扫描,在门外放了一个人体传 ...

这个我有试过,启动回家扫描也是从第一个扫描开始,如果是到第五个,最好速度也要40多秒,只能再看看有没有其他办法··不知道同样道理的room插件会不会还这样子
回复

使用道具 举报

3

主题

279

帖子

2554

积分

金牌会员

Rank: 6Rank: 6

积分
2554
金钱
2275
HASS币
10
发表于 2021-8-21 18:44:30 | 显示全部楼层
我运行  snap install pi-bluetooth后

error: snap "pi-bluetooth" is not available on stable but is available to install on the
       following channels:

       edge       snap install --edge pi-bluetooth

       Please be mindful pre-release channels may include features not completely tested
       or implemented. Get more information with 'snap info pi-bluetooth'.


这是什么情况?
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24363
金钱
22932
HASS币
290
 楼主| 发表于 2021-8-21 21:36:38 | 显示全部楼层
hncdbai 发表于 2021-8-21 18:44
我运行  snap install pi-bluetooth后

error: snap "pi-bluetooth" is not available on stable but is a ...

PVE不是7.0版吧?7.0版不支持,在安装这个的时候发现apt install snapd还不支持debian11。
如果是6.x版的,就用“edge  snap install --edge pi-bluetooth“ 就可以安装了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 10:57 , Processed in 0.173269 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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