我很难使用MQTT的Hassio。消息正在通过设备发布到总线,但Hassio本身似乎没有以任何方式注册。
细节:
Hassio 0.93.2 / RPI(在VirtualBox VM上转载)
使用MQTT Server&Web Client 1.10(从官方Mosquitto切换以搜索同样问题的解决方案)
示例设置在Configuration.yaml:

光: - 平台:MQTT名称:“Livingroom_light”Command_topic:“/有些/灯/开关”QoS:0 Payload_on:“On”Payload_off:“OFF”

我可以通过hivemq / cli手动发布到主题,我看到mqtt附加日志中的消息:

1559235433:发送发布到Hassio-MQTT-Client(D0,Q0,R0,M0,'/某些/光/开关',...(3字节))

1559235438:将Puback发送到Auto-6F8FA606-C03D-D8BC-2897-DE92CCA98F36(M1575,RC0)

然而,在Hassio中没有迹象,灯光熄灭,其他MQTT实体也不工作。DEV-MQTT发布服务也不是。
任何帮助将不胜感激!

首先,您应该正确格式化代码以更好地理解它。
见点11.这里

这是唯一不起作用的MQTT传感器?

尝试使用连接到HA MQTT Broker的MQTT客户端来检查您是否看到来自Hivemq的消息

抱歉格式的邋..让我试着详细说明。
我确实有其他设备是向代理发送消息的设备(但试图将帖子限制为一个简单的示例)。
已成功推送消息(因此不是ACL问题),我可以通过i.e.hivemq或mosquitto_sub(因此不是设备 - >代理问题)订阅主题,这基本上是您所建议的,我可以看到所有消息。
我尝试了Mosquitto加载项,然后尝试了MoSquitto +客户端附加(所以多个经纪人)。

如何在Configuration.yaml中定义MQTT Broker?

希望我在理解你的问题。我正在使用Hassio MQTT经纪人。以下是我的一个工作配置文件.YAML MQTT订阅代码:

- 平台:MQTT名称:“waterchange”endate_topic:“Aquartlkmn”value_template:'{{value_json.water}}'

希望这可以帮助

我在configuration.yaml中没有使用MQTT代理定义。我正在使用没有明显错误的集成功能,并且正在生成/config/.storage/core.config_enties中生成有效(afaict)条目:

{
“connection_class”:“local_push”,
“数据”: {
“经纪人”:“somep”,
“发现”:真实,
“密码”:“密码”,
“港口”:1883,
“用户名”:“用户名”
},
“域”:“MQTT”,
“Entry_ID”:“B95CEE1463FE4B5088247ED29C6A8F11”,
“选项”: {},
“来源”:“用户”,
“标题”:“ipaddress”,
“版本”:1
}

当我修改代理集成时,此条目将更新,删除和重新创建

鉴于来自MQTT的一切都很好,这是什么样的光?

你也可以订阅atty_topic:可用性_topic:

你能从MQTT客户端上打开它吗?打开它时,您收到的消息是什么?

我所显示的示例是我创建的虚拟实体,以消除设备本身中错误的可能性。所以没有连接到灯,虽然我确实有一些我可以试验的灯。
实际上,我正在使用i.e.警报面板和一些10个奇数的PIR,以便在我为它们配置的主题上成功推送给代理的消息。
我的问题是我可以通过订阅主题来查看消息,我可以在代理日志中看到消息(请参阅原始帖子),但未触发HA中定义的实体。即使是DEV-MQTT服务似乎也没有工作,所以它绝对是HA的问题。

您能否在代理中显示消息,删除敏感数据,如果有的话?

这是我第一次看到MQTT的集成功能,我的错。

你在哪里“定义”这种集成?

{“connection_class”:“local_push”,“数据”:{“broker”:“someip”,“发现”:true,“password”:“password”,“port”:1883,“用户名”:“用户名”},“域”:“mqtt”,“entry_id”:“b95cee1463fe4b5088247ed29c6a8f11”,“选项”:{},“源”:“用户”,“标题”:“ipaddress”,“版本”:1}

我想用一个CloudMQTT实例测试我的测试目的。

您提供的配置:

光: - 平台:MQTT名称:“Livingroom_light”Command_topic:“/有些/灯/开关”QoS:0 Payload_on:“On”Payload_off:“OFF”

缺乏A.endic_topic.所以它不能收到任何东西。

它用command_topic.发布到代理的命令,不要从经纪人接收命令(这是负责的endic_topic.)。

1就像

这与您的问题没有任何关系,但是开始一个主题的练习很差/

1就像

源自英国始于1946集成通过HA GUI(Configuration-的集成,然后从Long List中的MQTT完成)完成。一旦您在/config/.storage/core.config_entries中创建了一个条目。您可以使用Configurator附加组件浏览您的文件,只需查找.storage文件夹。
至于经纪人中的MQTT消息这里是一个例子
2019-05-31 16:42:46TOPIC:/有点/光/ SwitchQoS:1

注意拍摄。extend_topic添加和主题已更改:

光:

  • 平台:MQTT.
    名称:“Livingroom_light”
    command_topic:“有点/光/开关”
    nats_topic:“有些/ ligth / state”
    QoS:0
    payload_on:“开启”
    payload_off:“关”

然后尝试通过HiVemq推动。
订阅者节目:

2019-05-31 16:51:45主题:某些/灯/状态QoS:0开

...和附加日志显示:

1559310704:发送发布到Hassio-MQTT-Client(D0,Q0,R0,M0,'某些/光/状态',...(2字节))

所以仍然没有:皱眉:

光线是在国家主题中写的ligth

nats_topic:“有些/ ligth / state”

代替

atale_topic:“有些/光/状态”

好的,所以我绝对没有做好设置这个例子:least_smile:
但是,错字改变了,仍然是什么

所以,让我回顾。

您有一些在HA和一些不起作用的MQTT实体。

这样对吗?

如果是,它们之间的主要区别是什么?

我的MQTT条目都没有工作。无论我从划痕或复制/粘贴到某人的“PROOVEN工作”榜样:皱眉:

重新启动后,您是否看到MQTT插件日志中的任何奇怪?

为什么不保存配置并删除MQTT Integration AD尝试在Configuration.yaml中定义它?

我的配置是这样的(经纪人与您拥有的插件一样,这也是我的插件)

MQTT:Broker:A0D7B954-MQTT用户名:!秘密MQTT_USER密码:!秘密MQTT_PWD发现:TRUE DISCOVERY_PREFIX:HomeAssistant BIREST_MESSAGE:主题:'HASS /状态'有效负载:'在线'WILL_MESSAGE:主题:'Hass / Status'有效载荷:'脱机'
3喜欢

谢谢,添加MQTT:配置到Configuration.yaml似乎修复了虚拟光的东西。
我有一个Lovelace光卡设置,现在它根据我发送到经纪人的开/关MSG而改变图标。
现在我将被关闭来修复我的其他实体:least_smile:

1就像

不要这么难。它仍然是一个防止它工作的一切的一个很好的例子:

  • 没有MQTT配置将主助手连接到代理。19463331伟德国际
  • endic_topic.从经纪人接收消息。
  • 错误的主题名称要接收邮件。

如果您还使用了无效的引号字符,这将是一个可以阻止它工作的所有内容的更好的示例。

:眨眼: