多模网关升级最新版后接入homeassistant 出现telnet报错的解决方法
在用的小米多模网关2在升级到最新的v1.0.7_0019后,在homeassistant使用XiaomiGateway3接入时会有telnet_wrong的报错信息,导致接入网关的设备无法正常在homeassistant正常使用。原因是小米在最新的固件里封堵了telnet入口,导致插件无法正常获取到网关的key字段。
在用的小米多模网关2在升级到最新的v1.0.7_0019后,在homeassistant使用XiaomiGateway3接入时会有telnet_wrong的报错信息,导致接入网关的设备无法正常在homeassistant正常使用。原因是小米在最新的固件里封堵了telnet入口,导致插件无法正常获取到网关的key字段。
putty登录主机
拉取镜像
1 | docker pull eclipse-mosquitto |
新建配置文件夹
下面的文件夹路径根据你自己设备的实际情况做相应的更改
1 | mkdir -p /mnt/mmcblk2p4/docker/mqtt/config |
新建配置文件
1 | nano /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf |
复制下面的内容,然后保存。
1 | persistence true |
文件夹赋予权限
1 | chmod -R 755 /mnt/mmcblk2p4/docker/mqtt |
运行容器
1 | docker run -it --name=mosquitto --privileged -p 1883:1883 -p 9001:9001 -v /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /mnt/mmcblk2p4/docker/mqtt/data:/mosquitto/data -v /mnt/mmcblk2p4/docker/mqtt/log:/mosquitto/log -d eclipse-mosquitto |
目前可以使用IP加1883端口直接连接mqtt服务器,无需使用用户名密码登录。
如果需要设置用户名密码,则需要在mosquitto.conf文件中将allow_anonymous true字段改成fasle,然后声明密码文件保存路径。详细配置参考下面:
1 | persistence true |
找到容器的id并将下面命令行中的id字段进行替换
1 | docker ps |
进入到容器中
1 | docker exec -it id sh |
运行下面的命令创建用户和密码。
1 | mosquitto_passwd /mosquitto/config/pwfile.conf mqtt |
完成之后ctrl+p ctrl+q保存退出。
重启docker容器
1 | docker restart id |
之后就可以使用设置的用户名和密码连接mqtt服务器了。
刚刚在vscode中用picgo上传图片失败,提示检查网络或设置。起初真的以为是token到期了或是网络不通,确定了网络正常之后又检查了token,发现也在有效期。
于是下载了picgo的windows客户端上传同样的图片,发现还是上传失败。好在windows客户端可以查看日志详情。