MQTT Triger uses present value when workflow starts

An option would be good to ignore the current state when the workflow is started … so it waits until the message is updated.

1 Like

Hey @daniello!

Can you please explain a bit more? I don’t have a lot of experience with MQTT, if you can give a bit more explanation with an example, it would help me understand the issue better :slight_smile:

I use this trigger with ioBroker … there I have a boolean object that I can toggle true/false. This value is sent to n8n for further processing. Nevertheless the value that is in the field persists and every time my n8n workflow is restarted the action is triggered because it uses the value already present.
I may be lacking education about how mqtt works … but this is my interpretation of what is happening.

Since this trigger listens I would have thought it waits for push/update of the data.

Just updated to 137: Each time I turn off/on the workflow I immediately receive two messages with iobroker’s field value. Two is wrong … and IMO just activating a workflow should not result in a message.

@daniello, you’re right — that shouldn’t happen. Would you be able to make a video of it happening so that we can investigate?

@sirdavidoff

sure …

https://photos.app.goo.gl/dtKBfBWidDt9cGhb8

I believe the quality is not good. So all you see is that I toggle the WF of twice … each time I receive two messages with the state of the ioBroker object. Additionally the message is modified because it ends with _j … but I have a sepearate ticket for that.

Thanks for sharing. Do you also see these executions in the execution list?
I am assuming this can be an issue with Pushover, but I would have to test it.

yes

@harshil1712

well … it shouldn’t even trigger … so maybe it’s not only pushover

Yes. I asked for the execution logs to see if my assumption was correct or not. Seems like it isn’t. Let me try testing it again.

Just for completeness … when I send actual states pushover also sends only one message.

The _j thing is supposedly resolved … don’t know when this appeared but then I failed to remove them for further testing. Explained in corresponding thread. So … just a side information (apologies).

2 Likes

I assume an ignore present state would need to be an option … in my simple scenario it is disturbing but in other scenarios it may be required to have an initial state.

Hey @daniello,

Do you think it has to do something with the broker you’re using as well? For my test I used Mosquitto and I wasn’t able to reproduce it.

@harshil1712

I have no idea … the value just sits there … maybe it sends something as soon as peer connects. I will ask in the adapter thread.

@harshil1712
@sirdavidoff

Thanks for your support … the reason for both problem is with the ioBroker Adapter … in fact there are two options that cause this behaviour … when I turn both off … everything works as expected. One message was sent at connect the other at subscribe.

Apologies for the hassle … but I did my best to understand what may be happening.

You guys are great … and I feel stupid once again.

Hey @daniello,

No worries! Thank you for letting us know. I am glad that we found the issue.

Have fun :slight_smile:

1 Like