首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQTT Error BR_ERR_BAD_VERSION on Shelly 1 1PM with Tasmota (带Tasmota的外壳1 1PM上的MQTT错误)

MQTT Error BR_ERR_BAD_VERSION on Shelly 1 1PM with Tasmota (带Tasmota的外壳1 1PM上的MQTT错误)
EN

Stack Overflow用户
提问于 2020-06-08 06:15:46
回答 1查看 238关注 0票数 0

我尝试将Shelly 1 PM智能电源继电器连接到托管的MQTT代理。

设备上的固件是从开发分支定制的Tasmota8.3.1,并启用了USE_MQTT_TLS。TLS的端口已正确设置为8883,并且代理服务在mqtt.bosch-iot-hub.com上运行

设备启动时,我可以看到串行端口上的日志消息,如下所示:

代码语言:javascript
复制
23:03:03 MQT: Connect failed to mqtt.bosch-iot-hub.com:8883, rc 4. Retry in 10 sec
23:03:14 MQT: Attempting connection...
23:03:14 MQT: TLS connection error: 0

根据Tasmota文档(https://tasmota.github.io/docs/TLS/),返回代码4是BR_ERR_BAD_VERSION的代码

这个错误常量似乎来自BearSSL,表示“传入的记录版本与预期的版本不匹配”。(据http://sources.freebsd.org/HEAD/src/contrib/bearssl/tools/errors.c报道)

使用在线TLS测试工具并检查mqtt.bosch-iot-hub,它只支持tls1.2 (1.3、1.1和1.0被禁用,以及SSLv2和SSLv3)。BearSSL网站声明它支持TLS1.2

我尝试在my_user_config.h中设置Tasmota的日志级别,但它不会记录更多详细信息。

代码语言:javascript
复制
#define SERIAL_LOG_LEVEL       LOG_LEVEL_DEBUG_MORE    // [SerialLog] (LOG_LEVEL_NONE, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_DEBUG_MORE)

错误消息应该是什么意思?是BearSSL堆栈的TLS不兼容还是服务端的不兼容?如何在Tasmota上启用详细日志记录以查看详细的TLS握手信息?我还遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-12-23 04:11:14

我很高兴在6个月后这个问题可能已经过期了,但是错误代码不是您所描述的TLS代码,而是MQTT连接的返回代码,如

https://tasmota.github.io/docs/MQTT/#return-codes-rc

这意味着您的错误代码对应于4 MQTT_CONNECT_BAD_CREDENTIALS用户名/密码已被拒绝

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62252369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档