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

 找回密码
 立即注册
楼主: XCray

[新奇玩法] (多个)蓝牙网关 TTL->MQTT,支持任意米家蓝牙设备接入HA/NR

  [复制链接]

71

主题

1146

帖子

6321

积分

论坛元老

Rank: 8Rank: 8

积分
6321
金钱
5170
HASS币
30
发表于 2020-7-21 10:51:39 | 显示全部楼层
XCray 发表于 2020-7-20 17:47
没看出到底啥问题,对了,对于arduino这种软件,安装目录名字尽量不要用中文之类的 ...

已经编译成功,估计是文件夹中文的原因,谢谢指点。
回复

使用道具 举报

5

主题

340

帖子

1273

积分

金牌会员

Rank: 6Rank: 6

积分
1273
金钱
933
HASS币
0
发表于 2020-7-21 11:02:29 | 显示全部楼层
谢谢楼主分享!!!
回复

使用道具 举报

0

主题

35

帖子

1995

积分

金牌会员

Rank: 6Rank: 6

积分
1995
金钱
1960
HASS币
5
发表于 2020-7-21 20:26:05 | 显示全部楼层
支持大佬
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

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

Rank: 8Rank: 8

积分
11443
金钱
8512
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-7-23 07:26:03 | 显示全部楼层
本帖最后由 XCray 于 2020-7-23 07:29 编辑

补充一点,供用得到的朋友参考。

为了更方便地触发解除警戒状态,我自己用的代码里还有额外的几行(因为只是针对榉树门锁和偷懒的思路,通用性不佳,所以主贴里的代码把这几行删掉了):
    if ( eid == 5) {
      //榉树锁正常开锁事件,我自己设置的自动化条目需要这条消息;目前eid为5的只此一条,以后视需要再添加did判断
        String method = edata.substring(17, 18);
        if (method == "1" or method == "2")
              mqtt_client.publish( "mqttl/normalUnlock",method.c_str(),false);
        }
ha里设置一条自动化,根据主题为mqttl/normalUnlock的消息判定正常开锁、解除警戒。

这么做的主要原因是ha里写自动化简单。

不这么做也完全没问题,就是写自动化稍微更麻烦一些,当然也可以更完善,比如再判断是谁开锁、发出通知消息、让音箱发出个性化欢迎音乐和欢迎语等。

回复

使用道具 举报

24

主题

882

帖子

4972

积分

论坛元老

Rank: 8Rank: 8

积分
4972
金钱
4085
HASS币
20
发表于 2020-7-23 22:15:37 来自手机 | 显示全部楼层
用小白遥控器声控版的大神,请问这主板有3.3v供电吗,听说tx和vbus之间那个是,不过没有标识,有人帮忙测试下?
回复

使用道具 举报

14

主题

654

帖子

3826

积分

论坛元老

Rank: 8Rank: 8

积分
3826
金钱
3167
HASS币
10
发表于 2020-7-24 12:20:59 | 显示全部楼层
对于使用有几点疑问,刷完之后输入ip之后 显示 Not found: / 是不是就已经成功,焊接到蓝牙网关就会输出消息到默认的mqtt服务器。update需要用户名 密码 ……未见说明
回复

使用道具 举报

14

主题

654

帖子

3826

积分

论坛元老

Rank: 8Rank: 8

积分
3826
金钱
3167
HASS币
10
发表于 2020-7-24 12:26:01 | 显示全部楼层
余歌唱晚 发表于 2020-7-24 12:20
对于使用有几点疑问,刷完之后输入ip之后 显示 Not found: / 是不是就已经成功,焊接到蓝牙网关就会输出消 ...

已从源码找到update密码
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

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

Rank: 8Rank: 8

积分
11443
金钱
8512
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-7-24 13:27:46 | 显示全部楼层
本帖最后由 XCray 于 2020-7-24 13:34 编辑
余歌唱晚 发表于 2020-7-24 12:26
已从源码找到update密码

OTA用的用户名和密码都是沿用killadm最初的代码定义的admin/admin,没改过,主贴里0718补充内容里有说明,但字数比较多估计你没仔细看。我去把它加粗、上色,这样其他人再找应该更容易一点儿。

你说的没错,OTA完成后输入ip会显示Not Found(有的浏览器会自动刷新)。wifi名称密码和mqtt服务器地址只需要配置一次,OTA这些信息都不丢失,直接采用之前保存的数据。
回复

使用道具 举报

0

主题

150

帖子

910

积分

高级会员

Rank: 4

积分
910
金钱
760
HASS币
0
发表于 2020-7-24 16:57:13 | 显示全部楼层
不好意思~我问一个很笨的问题~请问怎么找出设备的did和eid?

                               
登录/注册后可看大图
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

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

Rank: 8Rank: 8

积分
11443
金钱
8512
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-7-24 17:00:57 | 显示全部楼层
本帖最后由 XCray 于 2020-7-25 16:27 编辑
charles0568 发表于 2020-7-24 16:57
不好意思~我问一个很笨的问题~请问怎么找出设备的did和eid?

两个办法:
1、使用ha内置的mqtt客户端或任意其他mqtt客户端,订阅“mqttl/#”主题,就可以看到所有蓝牙设备发出来的转换后的消息了,主题格式就是mqttl/did/eid。 这个在帖子里已经说了。

2、telnet登录到模块,会打印出debug信息,里面也有。
~~~~~~~~~~~
注:主题最前面(mqttl的前面)没有斜杠“/”,回答这个的时候受另外一个应用影响,多加了一个斜杠。。。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-25 22:16 , Processed in 0.071690 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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