a120578270 发表于 2020-10-1 01:54:34

HA重启后数据就变成未知,这个可以改成获取之前数据吗?原先killadm的固件是可以的!

XCray 发表于 2020-10-1 07:19:25

a120578270 发表于 2020-10-1 01:54
HA重启后数据就变成未知,这个可以改成获取之前数据吗?原先killadm的固件是可以的! ...

避免HA重启后mqtt传感器状态未知的方法是mqtt消息改为保留消息,原理很简单一看就懂不再赘述,实现也很简单,在publish指令里加上保留参数即可,只需要自己修改源码自己编译固件。

其实有一段时间我也用过这种方法,这里简单说说为啥又不用了:

1、保留消息是基于每个主题的,而这个固件的目的是适应所有蓝牙设备,每个设备的pdid/eid组合都是一个主题,这样主题数量很可能会很多,保留消息多了难免会显得凌乱。再说毕竟都是过时的信息,个人觉得没有多大保留的价值。

2、大部分设备消息间隔时间并不长,而HA重启的频次又很低。虽然重启后状态未知,但一旦收到mqtt消息状态也就更新了。比如我手上的榉树门锁,电池电量消息是每24消息发一次,而HA不大可能每天都重启(一般两三周重启一次吧),这个未知状态持续的时间并不会太长,可以接受。

秋雨轩 发表于 2020-10-3 01:11:24

按照这个玩法的大侠们,不知道有没有人用小爱音箱万能遥控版接出来过数据。这个也是有蓝牙网关功能,我拆开看过,也有数据接口。不知道有没有人试过。

maybeloveu 发表于 2020-10-4 09:37:14

本帖最后由 maybeloveu 于 2020-10-4 09:40 编辑

我的蓝牙网冠接入了4个蓝牙设备,米家锁、门窗传感器、温度传感器、夜灯2.刚接上电反馈还好。过不了多久就没有反馈了尤其是夜灯2常常没更新,米家app里有更新。还有有时会发现wifi里多了个“ESP-11E598”不知道怎么回事。重刷好几遍固件了都没有用。我的配置如下:
sensor:
- platform: mqtt
    name: mi_night_light_battery_diningroom
    state_topic: 'mqttl/did/4106'
    device_class: battery
    unit_of_measurement: '%'
    value_template: "{{value|int(0,16)}}"
- platform: mqtt
    name: mi_night_light_timedelay_diningroom
    state_topic: 'mqttl/did/4119'
    value_template: "{{value|int(0,16)}}"
binary_sensor:
- platform: template
    sensors:
      motion_diningroom:
      device_class: motion
      value_template: >-
          {{ is_state('binary_sensor.mi_night_light_shade_motion_diningroom', 'on')
             or is_state('binary_sensor.mi_night_light_light_motion_diningroom', 'on') }}
- platform: mqtt
    name: mi_night_light_shade_motion_diningroom #on 有人移动暗光
    state_topic: "mqttl/did/15"
    value_template: "{{value|int(0,16) }}"
    off_delay: 10
    payload_on: "1"
    device_class: motion
- platform: mqtt
    name: mi_night_light_light_motion_diningroom #on 有人移动亮光
    state_topic: "mqttl/did/15"
    value_template: "{{value|int(0,16) }}"
    off_delay: 10
    payload_on: "100"
    device_class: motion

XCray 发表于 2020-10-4 10:18:00

maybeloveu 发表于 2020-10-4 09:37
我的蓝牙网冠接入了4个蓝牙设备,米家锁、门窗传感器、温度传感器、夜灯2.刚接上电反馈还好。过不了多久就 ...

多了个wifi信号、没有更新,这时候esp模块估计没有连着wifi吧?可能是wifi断开自动进入配网模式,也可能是之前的固件遗留的ap模式代码。前者的话,建议检查一下wifi信号强度和干扰,后者的话完整的擦除一遍可以消除。

顺便提醒一点:yaml里面的did需替换成你自己设备的did,应该没有搞错吧?

goodheartman 发表于 2020-10-4 10:27:04

由于使用苹果系统所以想请教 XCray 前辈,此法接入HA之后是否能再串到Homekit内让温湿度计以及米家智能门锁在Homekit介面内发挥用途呢?

XCray 发表于 2020-10-4 10:43:45

goodheartman 发表于 2020-10-4 10:27
由于使用苹果系统所以想请教 XCray 前辈,此法接入HA之后是否能再串到Homekit内让温湿度计以及米家智能门锁 ...

客气哈。

温湿度完全没问题,就连虚拟出来的体感温度都可以自动出现在homekit里。

门锁基本不行。我没有具体尝试,感觉主要问题是homekit对门锁的支持很弱。具体可参考:
https://www.home-assistant.io/integrations/homekit#supported-components

maybeloveu 发表于 2020-10-4 17:38:55

本帖最后由 maybeloveu 于 2020-10-4 17:40 编辑

XCray 发表于 2020-10-4 10:18
多了个wifi信号、没有更新,这时候esp模块估计没有连着wifi吧?可能是wifi断开自动进入配网模式,也可能 ...
重新刷了很多遍了仍然不行。did肯定没弄错,刚刷后几个小时是正常的。就放在路由器旁边就有多出来的wifi,但是除了米家夜灯的人体传感器数据不上报,其他的门窗和门锁的都是正常上报的。

XCray 发表于 2020-10-4 18:10:31

maybeloveu 发表于 2020-10-4 17:38
重新刷了很多遍了仍然不行。did肯定没弄错,刚刷后几个小时是正常的。就放在路由器旁边就有多出来的wifi, ...

重刷的关键不在于遍数,而在于是否全部擦除。之前有别的坛友碰到过类似的问题。

你可以换个刷写工具试试,重点关注写入新的固件之前是否全盘擦除。

多出一个wifi信号的时候,其他通过ESP模块集成的传感器还能正常上报?

不敢相信你说的情况,很不可思议啊

maybeloveu 发表于 2020-10-5 10:33:04

XCray 发表于 2020-10-4 18:10
重刷的关键不在于遍数,而在于是否全部擦除。之前有别的坛友碰到过类似的问题。

你可以换个刷写工具试试 ...

连入路由的wifi,输入ip/update 之后可以打开升级页面,链接那个多出来的wifi 192.168.4.1/update 也可以打开升级页面。
页: 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28
查看完整版本: (多个)蓝牙网关 TTL->MQTT,支持任意米家蓝牙设备接入HA/NR