将MQTT服务器与OpenHab连接



作为一个示例测试,我只是想通过wifi使用OpenHab打开/关闭灯泡。因此,我在openhab配置中连接hivemq服务器和openhab,如下所示。

mqtt:broker.url=tcp://127.0.0.1:1883
mqtt:broker.clientId=openhab

因此,当启动openhab时,我可以在控制台中看到以下内容。

2016-09-01 19:18:11.692 [INFO ] [.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2016-09-01 19:18:11.695 [INFO ] [o.i.t.m.i.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2016-09-01 19:18:13.092 [INFO ] [penhab.io.rest.RESTApplication] - Started REST API at /rest

所以看起来openhab和hivemq连接成功了。然后我在openhab发行版上创建了以下文件。

home.sitemap

sitemap home label="My House"
{
    Frame label="ESP Module"{
        Group item=FF_Bed label="Front Porch"
    }
}

home.items

Group All
Group gGF       (All)
Group gFF       (All)
Group GF_Living     "Living Room"   <video>     (gGF)
Group FF_Bed        "Bedroom"       <bedroom>   (gFF)
Dimmer Light_GF_Living_Table        "Table"         (GF_Living, Lights)     {mqtt="<[mybroker:/myHome/Table:command:ON]"}
Switch Light_FF_Bed_Ceiling         "Ceiling"       (FF_Bed, Lights)        {mqtt="<[mybroker:/myHome/doorbell:command:ON]"}
/* Locations */
Location HomeLocation  MyHome

esp-pic.map

0=Still
1=Motion

我可以在我的openhab站点上看到上述指定项目。但是当我点击灯时,没有来自MQTT服务器的更新。但我可以在OpenHab控制台看到以下内容。

2016-09-02 12:00:35.484 [INFO ] [runtime.busevents             ] - Light_FF_Bed_Ceiling received command ON

那么为什么它不把这个变化发布到HiveMQ主题呢?

谢谢。

在openHAB中只能有入站或出站mqtt消息。

当前在home中的配置。Items是入站的,因为有"<"符号。如果您希望单击开关以将mqtt消息发布到代理,则必须将其更改为">"-签名。

参考请查看此页面:https://github.com/openhab/openhab/wiki/MQTT-Binding并搜索入站或出站消息

相关内容

  • 没有找到相关文章

最新更新