Failed to subscribe to MQTT topic

Hi,

I am new to OpenRemote. I have setup OpenRemote on windows machine using docker desktop using standard ‘docker-compose.yml’ file. The only thing I modified in the docker-compose file was to expose ‘1883’ port on Manager docker so that I can communicate directly using MQTT (without TLS) bypassing Proxy docker.

Then I followed the steps exactly the way they have been mentioned here:

My MQTT client (MQTTBox) could successfully connect to the MQTT broker (i.e. OpenRemote Manager) but it failed to publish or receive anything on the subscribed topic; rather I could see following warning logs in Manager docker:

2022-06-06 18:52:37.669 WARNING [nioEventLoopGroup-3-3 ] io.moquette.broker.Authorizator : Client does not have read permissions on the topic username: master:mqttuser, messageId: 36761, topic: master/client1/attribute/subscribeAttribute/3FmDQaiZ9ZGR8atbJipiwD

Topic that I am trying to subscribe to is: master/client1/attribute/subscribeAttribute/3FmDQaiZ9ZGR8atbJipiwD

Following are the snapshot for Thing Asset configuration:

I have given FULL access when creating the service user.
What am I missing here?

Similar issue occurs when I try to publish [ master/client1/writeattributevalue/writeAttribute/3FmDQaiZ9ZGR8atbJipiwD ]
2022-06-06 19:08:25.667 SEVERE [nioEventLoopGroup-3-3 ] io.moquette.broker.PostOffice : client is not authorized to publish on topic: master/client1/writeattributevalue/writeAttribute/3FmDQaiZ9ZGR8atbJipiwD

Thanks in Advance,

BR,
Deepak

Are you certain that your MQTTBox client is supplying the password?

Also double check the permissions you have granted your service user.

Rich

Thank you for your reply.

I am pretty sure that MQTTBox client is supplying the password as the connection is in ‘Connected’ state.

Following snapshots shows the permissions given to service user.

BR,
Deepak

io.moquette.broker.PostOffice : client is not authorized to publish on topic:

if connection is established, then this failure is caused when your Client-ID is not the same as in the subscribe/publish path.

Hi Denis,

Following is the configuration of MQTTBox.

I saw you have restricted access in the service user, disable it and try again

Tried that but still see the same error in the Manager logs. Also, not getting anything on the subscribed topic.

In MQTTBox go to settings and disable the append timestamp to client

image

1 Like

Ah. That makes sense :-). Thanks a lot it helped.

Hi Deepak,

Thanks for excellent thread … a great help going forward as I am having issues trying to get the TLS aspect working.

I just want to doublecheck your mod to the docker yml file is as follows … or ? …

cheers

Hi Bobster,

I didn’t change the Proxy; instead I added the port (1883) under Manager section of service to actually SKIP TLS so that my MQTT client can directly talk to Manager via 1883. If you want to use TLS, ideally you should keep 8883 (if you are using Proxy).

BR,
Deepak

Hi Deepak,

Cheers for that.

Sorry to be a pain but total newbie … any chance of a screenshot of where and how? :grimacing:

thx

ps. I don’t want to use TLS for the time being.

Use following docker-compose file:

and add the following changes:

1 Like

cheers for that Deepak … seems to have done the trick … now connected in mqttbox …

But I’m not sure if it is working fully as the published ‘value’ is not being shown in OR …

There are no errors shown in the logs.

There does seem to be some sort of coms as when the Subscribe Attribute is unselected in OR we get the following response in mqbx … whatever that means? :thinking:

Anybody any tips or thoughts on how to further test would be appreciated.

cheers and all have a nice weekend.

1 Like

When publishing to the writeattributevalue topic then the payload should only contain the value in JSON format, so if your attribute has a value type of integer then your payload would just be:

23

Cheers Rich … that did the trick.