Zigbee2Tasmota使用及Homeassistant中MQTT Sensor配置过程

说明

  • 因为zigbee2mqtt 的1.19.0版本后使用了新的readconfiguration步骤(未知修改原因,待查)导致cc2530+esp8266 妖神版的tasmota固件z2mp模式无法正常启动zigbee2mqtt。 同时我的Homeassistant安装环境重做后丢失了备份,新安装的zigbee2mqtt版本都到1.22了。(我真是手贱升级。。。)所以尝试了tasmota固件z2tp模式作为网关使用。
  • 之前文章中提到了z2tp和z2mp两种模式配置方式,个人还是推荐使用z2mp,因为zigbee2mqtt能支持更多zigbee设备。使用z2tp的话需要将tasmota上的mqtt服务器配置配为homeassistant mqtt broker。然后再homeassistant环境下测试mqtt sensor配置。个人走了很多路,这里做个记录。

本人zigbee网络设计

  • 新入了锐角云之间烧录hassOS,比rpi3 性能高多了。原来rpi已经不能满足需求了,而且一直没有响应。随着homeassistant越来越复杂,对性能要求会越来越高。
  • 设备:
  1. 锐角云+usb zigbee网关,运行hassOS, zigbee home automation(zha) ,HACS,hass-yeelightbt连接aqara zigbee贴墙开关并控制小米蓝牙床头灯(yeelight bedsidelamp)、涂鸦插座、aqara六键贴墙开关、涂鸦阳台单火灯(zigbee)
  2. rpi3b + usb zigbee网关cc2531, 运行hassOS,zigbee2mqtt, hacs,连接lhomee的小米双键贴墙开关(因为zha不支持,用了zigbee2mqtt)。通过remote_homeassistant访问主homeassistant控制主卧灯和夜灯。
  3. 主homeassistant,在esxi上的一个虚拟机,主要负责连接xiaomi_gateway和xiaomi_miio等网络上应用的组件,同时通过remote_homeassistant控制锐角云上提供的床头灯设备、阳台灯(涂鸦)。自身提供remote_homeassistant可以被控制。
  • zigbee网络设计
  1. 小米设备全部连接至客厅及主卧的小米二代网关,除了北方间的aqara一代墙壁单火开关连接到小米空调伴侣上。
  2. 部分设备连接至zigbee第三方网关
  3. 小房间通过蓝牙mesh连接到redmi_play音箱上。
  • 上述设计原因
  1. 因为接入自己的zigbee第三方网关就不能使用小爱同学控制,实际上小爱并不好控制
  2. 而小米网关可以通过局域网控制,所以弄了混合模式,实际上自己想各种模式都要体验一遍。

个人推荐的zigbee网络设计

  • 一个网关(coordinator)多个路由(router)
  • 网关推荐使用usb的zigbee适配器,且建议cc2530以上,支持设备更多的适配器。
  • 路由的话,推荐涂鸦的zigbee插座,可以做到40元一个,用以拓展zigbee网络。
  • 如果用zigbee home automation(zha)的话可以指定zigbee终端(endpoint)设备通过路由(router)连接。
  • 如果zigbee2mqtt的话,我还不知道怎么弄。

正文

以下记录了如何使用zigbee2tasmota来使用zigbee设备并且在homeassitant上手工配置设备。

zigbee2tasmota配置

  • tasmota界面设置z2tp并重启
  • 用过控制台界面使用zbpermitjoin 1命令与zigbee设备配对
  • 使用zbname 0xaaaa,xiaomi_remote设置别名,因为0x在mqtt中被homeassistant的json解析时会被转译
  • 设置setoption83 1在mqtt消息中显示别名而不是0xaaaa
  • 设置setoption89 1在mqtt消息中的topic包含设备的0xaaaa,这样配对多个设备就可以分为不同topic,在state_topic更好配置

homeassistant的mqtt配置

  • 在supervisor先安装好mqtt broker并且启动,在ha中新增mqtt用户用于z2t的mqtt登录
  • 在integration中新增mqtt配置
  • 在mqtt配置中选项中可以通过输入#并开始监听服务所有mqtt消息。

在homeassistant的configuration.yaml中配置mqtt sensor

  • 首先,可以先通过mqtt的选项页面进行测试,配置topic为格式

<discovery_prefix>/<component>/[<node_id>/]<object_id>/config

如:homeassistant/binary_sensor/garden/config
这里设备是binary sensor
名称是garden
然后在topic参数里填写json格式
{"name": "garden", "device_class": "motion", "state_topic": "homeassistant/binary_sensor/garden/state"}
这表示设备名为garden的motion类型的binary sensor 读取topic为“homeassistant/binary_sensor/garden/state"的状态。

  • 此时ha会自动创建一个临时的实体,该实体重启后会消失,你也可以用前面的config topic不带参数来删除实体。
  • 这里state_topic可以为tele/gateway/aaaa/sensor,这是z2t的报文topic
  • 然后需要新增一个value_template字段,在mqtt测试界面无法传输,可以用ssh登录,发送以下消息

mosquitto_pub -h ha_ip -p 1883 -t "homeassistant/binary_sensor/garden/config" -m '{"name": "garden", "device_class": "motion", "state_topic": "homeassistant/binary_sensor/garden/state"}'

参考mqtt discovery

  • value_template这么写:

"value_template": "{{ value_json.ZbReceived.xiaomi_remote.Power }}"

对应mqtt报文格式为
{"ZbReceived": {"xiaomi_remote": {"Power": "1". "Endpoint": "1". "LinkQuanlity": "59"}}}
这样就可以正常测试mqtt设备了,此处是用sensor做案例,switch情况请参考homeassistant网站的mqtt dicovery 和mqtt switch页面,应该是再多一个command_topic。此处没有尝试过。

  • 下一步就是测试通过的mqtt配置写configuration.yaml
    我的样例:

sensor:
- platform: mqtt
name: "xiaomi_remote"
device_class: power
state_topic: "tele/gateway/aaaa/sensor"
value_template: "{{value_json.ZbReceived.xiaomi_remote.Power}}"

  • 重启后可用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容