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 也可以打开升级页面。