Error in MQTT-binding on Synology Diskstation

Hello,

I have installed OH2 on a Synology Diskstation. To be able to connect some Sonoff switches with ESPEasy, I want to install MQTT-binding, but it does not show up in Inbox.
(I used the Paper UI).

In mqtt.cfg I have the following lines:

broker.url=tcp://192.168.1.51:1883
broker.clientId=openhab

But in /homes/openhab/userdata/logs I get some errors:

2018-03-12 16:35:04.542 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI
2018-03-12 16:36:00.517 [INFO ] [.internal.GenericScriptEngineFactory] - Activated scripting support for ECMAScript
2018-03-12 16:36:05.596 [INFO ] [er.internal.HomeBuilderDashboardTile] - Started Home Builder at /homebuilder
2018-03-12 16:36:08.626 [WARN ] [g.eclipse.smarthome.core.net.NetUtil] - Found multiple local interfaces - ignoring 192.168.1.50
2018-03-12 16:36:08.795 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at http://192.168.1.51:8080
2018-03-12 16:36:08.800 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at https://192.168.1.51:8443
2018-03-12 16:36:27.104 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2018-03-12 16:36:32.210 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app
2018-03-12 16:36:32.786 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2018-03-12 16:36:33.129 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2018-03-12 16:36:34.053 [INFO ] [penhab.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2018-03-12 16:36:34.057 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2018-03-12 16:36:34.638 [ERROR] [penhab.io.transport.mqtt.MqttService] - Error starting broker connection
org.eclipse.paho.client.mqttv3.MqttException: Unable to connect to server
	at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:79) [208:org.openhab.io.transport.mqtt:1.11.0]
	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:650) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:?]
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:?]
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:?]
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:?]
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:?]
	at java.net.Socket.connect(Socket.java:589) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:70) ~[?:?]
	... 2 more

Can somebody help me out? I am new to this.

Connection refused is typically caused by one of two conditions:

  1. Nothing is listening on the port (1883 in your instance) which would suggest there is not a MQTT server running on 192.168.1.51. If you are using DHCP it is possible the device that is running your MQTT server has been allocated a different IP address.
  2. There is a firewall somewhere between you and your MQTT server that is not allowing connection requests on 1883 to be passed through.

Hi,

  1. I do not use DHCP, The Diskstation has two static adresses, 192.168.1.50 and 192.168.1.51. I tried of course both.
  2. The logfile is from the openhab directory on the diskstation. Everything is still internal on the Diskstation.

I have now temporarely switched off the firewall in the Synology Diskstation and restarted, but this still gives the same error.

I would add the third option:

  1. using an MQTT-Broker with credentials, which aren’t provided correctly via the mqtt.cfg

two Things to Keep in mind:

  • mqtt-binding is currently 1.9, meaning there’s no way to configure it in PaperUI (mqtt.cfg for the MQTT-Binding is the place to go as you already did)
  • please use the broker-configuration you used for the setup of the broker
  • try to reach the broker via an alternative Client, such as mosquitto_pub/mosquitto_sub on CLI-Linux or mqtt.fx for MacOS, Linux or Windows GUI (http://mqttfx.org/index.php/download) - if you can reach it with this - simply transfer the configuration

see if you can sub to the mqtt server

/var/packages/mosquitto/target/bin/mosquitto_sub -v -h 192.168.1.?? -t ‘#’

Thank you. I will try, even if I don’t understand everything you write.

File not found.
Can it be so simple that Mosquitto is not installed? I thought that was done by the OH package.

you have to install the mosquitto package

1 Like

I try to find out which package can be used for Synology Diskstation.

1 Like

Ok, thanks!

1 Like

As you answered above: If you don’t know, which broker you use - it won’t work. The MQTT-binding only installs the binding, nothing else. Try to think of it like this: the KNX binding also won’t install KNX for you, would it? :wink:
So, with this in mind - the http binding won’t install some kind of http-Server - you can install the mosquitto package natively on you synology (I use it also - you’re lucky: as of the last version you just need the package and won’t Need to adjust the configuraiton via SSH - there was a bug fixed lately to add mosquitto-users).

Long Story short:
Install the package and it will give you a MQTT broker without credentials. You just need to configure the IP in mqtt.cfg and you’re good to go. on the other hand, be sure to leave the credentials blank in your Sonoffs’ configuration also.

1 Like

mqtt.cfg is now:

mybroker.url=tcp://192.168.1.51:1883
mybroker.clientId=openhab

My logfile gives now the following (error)messages:

2018-03-13 15:17:37.712 [INFO ] [.internal.GenericScriptEngineFactory] - Activated scripting support for ECMAScript
2018-03-13 15:17:40.338 [INFO ] [er.internal.HomeBuilderDashboardTile] - Started Home Builder at /homebuilder
2018-03-13 15:17:42.870 [WARN ] [g.eclipse.smarthome.core.net.NetUtil] - Found multiple local interfaces - ignoring 192.168.1.50
2018-03-13 15:17:43.223 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at http://192.168.1.51:8080
2018-03-13 15:17:43.233 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at https://192.168.1.51:8443
2018-03-13 15:17:56.394 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2018-03-13 15:18:03.544 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app
2018-03-13 15:18:03.810 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2018-03-13 15:18:04.127 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2018-03-13 15:18:04.802 [INFO ] [penhab.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2018-03-13 15:18:04.815 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mybroker'
2018-03-13 15:18:05.530 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2018-03-13 15:18:05.764 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:18:05.844 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mybroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:18:05.847 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mybroker'
2018-03-13 15:18:15.864 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mybroker'
2018-03-13 15:18:15.881 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:18:15.894 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'broker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:18:15.896 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'broker'
2018-03-13 15:18:25.914 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2018-03-13 15:18:25.928 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:18:25.941 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mybroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:18:25.944 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mybroker'
2018-03-13 15:18:35.953 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mybroker'
2018-03-13 15:18:35.968 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:18:35.980 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'broker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:18:35.981 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'broker'
2018-03-13 15:18:45.994 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2018-03-13 15:18:46.017 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:18:46.028 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mybroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:18:46.031 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mybroker'
2018-03-13 15:18:56.044 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mybroker'
2018-03-13 15:18:56.077 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:18:56.087 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'broker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:18:56.089 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'broker'
2018-03-13 15:19:06.104 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2018-03-13 15:19:06.117 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:19:06.127 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mybroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:19:06.128 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mybroker'
2018-03-13 15:19:16.154 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mybroker'
2018-03-13 15:19:16.168 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:19:16.181 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'broker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:19:16.183 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'broker'
2018-03-13 15:19:26.204 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2018-03-13 15:19:26.225 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:19:26.236 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mybroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:19:26.237 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mybroker'
2018-03-13 15:19:36.254 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mybroker'
2018-03-13 15:19:36.305 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [208:org.openhab.io.transport.mqtt:1.11.0]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-03-13 15:19:36.321 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'broker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-03-13 15:19:36.323 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'broker'

Tried something of these yet? If not, please do and check again with us afterwards.

1 Like

Yes, that gives:

/Balkongdörr_Lamp/status/LWT Connected
/Balkongdörr_Lamp/lightSwitch/Switch 0
/Balkongdörr_Lamp/lightState/Switch 1
/Balkongdörr_Lamp/status/LWT Connected
/Balkongdörr_Lamp/lightSwitch/Switch 0
/Balkongdörr_Lamp/lightState/Switch 1
/Balkongdörr_Lamp/lightSwitch/Switch 1
/Balkongdörr_Lamp/lightState/Switch 0
/Balkongdörr_Lamp/lightSwitch/Switch 0
/Balkongdörr_Lamp/lightState/Switch 1

this one hints you’re connected with the same clientID from different Locations. clientIDs must be unique.
please change your config accordingly.

1 Like

Now I have installed MQTT and can connect as local mosquitto. I can also see the lamp, but on Broker Status it does not give any information.

I will look if I have given the same client ID in the Sonoff.

I only have non-specialchars item names in my OH2 config - I’m not sure if special characters are allowed in MQTT and OH2 context
 But worth a shot?

1 Like

I could not find anything with the same name, so I changed the clientID in mqtt.cfg:
mybroker.clientId=nas

Now the error messages disappeared.

Thank you very much, guys, for your support! Really great!

2 Likes