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

 找回密码
 立即注册
查看: 121785|回复: 103

[学习笔记] 关于HASSIO安装MQTT教程及注意事项!

  [复制链接]

123

主题

4664

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16442
金钱
11693
HASS币
45
发表于 2018-12-22 12:39:37 | 显示全部楼层 |阅读模式
此贴仅限hassio用户,不适用于其它方式安装的hass。

关于HASSIO安装MQTT,这里有一些坑,新手们可能会栽跟头,在这里提醒一下!
比如经常碰到下面的错误:

Socket error on client xxx disconnecting
Not found homeassistant on local database
等等……

这主要是由于内置MQTT和addon安装的MQTT冲突所致,内置MQTT会自动使用homeasisstant用户名去连接mqtt服务,而与addon安装的MQTT配置不一致,导致各种失败!如果你遇到了,仔细看下文,保证可以解决!当然,从头安装MQTT也可看此贴!



首先,不!建!议!使用内置的mqtt服务,建议添加官方的Mosquitto broker插件,位置在这里,不要装错了!

1111.png

然后,不!要!点!击!系统集成里面的MQTT,那样会启用自带的MQTT(这里说法有些问题,但如果你不确定你的输入是对的,请不要点击这里),会与上面装的Mosquitto broker插件冲突!如果你之前点过,先将它移除,然后重启hass生效。

2222.png


再然后,Mosquitto broker插件配置里,不!要!使!用!homeassistant作为用户名,改为mqtt或什么其它的。另外刚装了插件,logins下面是空的,配置用户密码,按我下面的代码拷入,把username和password改为你自己的就行。

{
  "logins": [
    {
      "username": "mqtt",
      "password": "mqtt"
    }
  ],
  "anonymous": false,
  "customize": {
    "active": false,
    "folder": "mosquitto"
  },
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem"
}



最后,hass配置文件中,必!须!加!入!mqtt配置信息,其中broker地址,用户和密码改为你的,discovery想启用就写true,不启用就false:

mqtt:
  broker: 192.168.6.166
  port: 1883
  username: mqtt
  password: mqtt
  discovery: false


如果你按以上四点做了,保证不会出现上面的错误了!



PS:有人问为什么不建议用内置的MQTT?
我的答案如下:在hassio里,hass和addon插件们是分开不同的docker容器来跑的,自带的是跑在hass容器中,而addon单独跑在一个容器中,这意味着,你重启hass容器,会导致mqtt短暂不可用,而用addon方式,则不会有这问题,因此更加稳定。

另外官方也有warning:

There is an issue with the HBMQTT broker and the WebSocket connection that is causing a memory leak. If you experience this issue, consider using another broker like Mosquitto.


评分

参与人数 3金钱 +17 收起 理由
liqx + 8 搞得我晕头转向,原因在这里,谢谢分享.
cym9007 + 2 感谢楼主分享!
francisville + 7 其实老大写这篇文章就是针对我的问题O(∩_.

查看全部评分

回复

使用道具 举报

7

主题

235

帖子

1374

积分

金牌会员

Rank: 6Rank: 6

积分
1374
金钱
1129
HASS币
20
发表于 2018-12-22 12:50:44 | 显示全部楼层
????????这都得教???????
回复

使用道具 举报

123

主题

4664

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16442
金钱
11693
HASS币
45
 楼主| 发表于 2018-12-22 12:52:04 | 显示全部楼层
czde 发表于 2018-12-22 12:50
????????这都得教???????

新手遇到这问题的挺多,这里提醒一下。
回复

使用道具 举报

0

主题

80

帖子

363

积分

中级会员

Rank: 3Rank: 3

积分
363
金钱
283
HASS币
0
发表于 2018-12-22 12:54:06 | 显示全部楼层
这个很重要 感谢分享
回复

使用道具 举报

8

主题

2073

帖子

6057

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6057
金钱
3984
HASS币
145

灌水之王

发表于 2018-12-22 12:54:51 | 显示全部楼层
看来囧你被问的受不了了!!!
回复

使用道具 举报

0

主题

80

帖子

363

积分

中级会员

Rank: 3Rank: 3

积分
363
金钱
283
HASS币
0
发表于 2018-12-22 12:56:18 | 显示全部楼层
czde 发表于 2018-12-22 12:50
????????这都得教???????

这为什么不能教?对于初学者来说这很重要
回复

使用道具 举报

5

主题

253

帖子

1946

积分

金牌会员

Rank: 6Rank: 6

积分
1946
金钱
1693
HASS币
0
发表于 2018-12-22 12:58:33 来自手机 | 显示全部楼层
学习学习
回复

使用道具 举报

27

主题

2144

帖子

8960

积分

论坛元老

Rank: 8Rank: 8

积分
8960
金钱
6811
HASS币
30

论坛元老

发表于 2018-12-22 13:00:41 | 显示全部楼层
本帖最后由 情非殇 于 2018-12-22 13:02 编辑

为什么不建议用内置的mqtt,我一直用的内置,通过yaml写入的,没什么问题呀

我这个懒人觉得能用一个工具解决的,就不像用两个

mqtt:
  password: hello

请教下,有什么讲究,和差别?

回复

使用道具 举报

8

主题

871

帖子

5224

积分

论坛元老

Rank: 8Rank: 8

积分
5224
金钱
4353
HASS币
0
发表于 2018-12-22 13:03:50 | 显示全部楼层
大神真是关怀备至
回复

使用道具 举报

0

主题

80

帖子

363

积分

中级会员

Rank: 3Rank: 3

积分
363
金钱
283
HASS币
0
发表于 2018-12-22 13:05:32 | 显示全部楼层
哈哈  关怀备至
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 10:52 , Processed in 0.163395 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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