本帖最后由 gdlw2000 于 2021-3-16 15:23 编辑
是否可以通过mqtt 直接读取信息,个人认为用多多功能网关做小米智能锁的蓝牙网关比较好,不需要拆机不需要ttl焊接当然如果没法降级没法telent除外。直接读取参数对其他数据没影响。先安装mqtt
hass 安装自带mqtt
配置-集成-搜索mqtt-安装
有吧小米智能锁买的时候就想homekit 结果用了年把才想起来搞下,结果搞不动,坛里好多朋友大神的办法都用了就没没法正确识别
在xiaomi网关3 插件里面看到有锁的型号可就是没法正确识别,没办法找了好多办法都不行,锁的型号MJZNMS02LM 希望有这种锁的朋友不再苦恼。。。。。 理论上可以任意蓝牙锁接入
填写地址-用户(应该是小米网关地址-)mqtt 用户名密码应该不用填 ?广播性信息
没有packages就建立 packages文件夹
并且添加configuration.yaml
homeassistant: name: Home
customize: !include customize.yaml
packages: !include_dir_named packages
代码保存掉了 晕哦 这个不是最早改的有点乱
致谢:evantalk https://bbs.hassbian.com/thread-9488-1-1.html
下载:MQTT.fx 百度可以搜到
获取 state_topic 以及参数代码改后的样子,没用大神说的value[17:18] 用的value_json
sensor:
- platform: mqtt #智能锁状态
name: lock_state
icon: 'mdi:lock-smart'
state_topic: 'ble/<span style="background-color: darkred;"><font color="#808080">101136901</font></span>' #设备did, 替换成正确的did 只有设备id 这个设备id 是锁的可以
value_template: >-
{% if value_json.action_id == '0' %}
开门
{% elif value_json.action_id == '1' %}
关门
{% elif value_json.action_id == '2' %}
超时未关
{% elif value_json.action_id == '3' %}
敲门
{% elif value_json.action_id == '4' %}
撬门
{% elif value_json.action_id == '5' %}
门卡住
{% endif %}
获取did 的方法很多 安装手机安装低版本的米家app 查看mm2数据库获得直接MQTT.fx 里设定网关ip san下就可以得到
.
mqttl_xiaomilock.rar
(1.55 KB, 下载次数: 6)
新问题 再hass里面状态都正常了
现在传到homekit 里面 只有开门和关门状态 问题出在binary_sensor 这个二进制感应器 感应出有人开门和没人开门
那问题又来了 怎么能让不认为是binary_sensor 查了下资料
考虑用是否 mqtt 自带的锁可以用呢?https://www.home-assistant.io/docs/mqtt/discovery/
但是 state_topic: "ble/101136901" 在configuration中添加没用 只能连接内部连接不到外部,看了半天不会用官方提供的外部连接命令
command_topic: "home-assistant/frontdoor/set"
lock:
- platform: mqtt
name:
这玩意没法在packages里生效
|