question

xzv avatar image
xzv asked

Why can't I send MQTT QoS 1/2 messages via the Victron Broker?

I have tested different combinations with different clients, I was not able to send a message at level QoS 1 from Venus via the broker to my application.

If I subscribe to a topic (e.g. "N/abcdef123456/...) with QoS 1 and send the message with QoS 1, it is always reduced to QoS 0 at the broker. This is also true for the opposite direction, e.g. "R/abcdef123456/...".


I don't know if this happens intentionally or as a side effect, but being able to change this would help me a lot to deal with data gaps caused by a weak connection.


Can this be changed?

MQTT
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

6 Answers
Peter avatar image
Peter answered ·

Victron, Any answer? This is very big bug...

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

xzv avatar image
xzv answered ·

I wonder if and what will happen with the change to FlashMQ, i.e. if QoS 1/2 will be possible or not.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

nickdb avatar image
nickdb answered ·

Under the impression the current versions already are on flashmq.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

gerard-van-seventer avatar image
gerard-van-seventer answered ·

Setting the max QoS level to 0 (not sure if Victron did this) is very understandable. Increasing the QoS to 1 or 2 with thousands of connections/clients will hugely increase the cpu, memory and network requirements on the side of the broker.

Although the Q in MQTT suggest a queue, there isn't. So don't expect too much from higher QoS levels.

3 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

xzv avatar image xzv commented ·

What I'm looking for is a guaranteed delivery of my messages, not a FIFO mechanism. And MQTT provides this QoS mechanism with a simple built-in switch (until the defined buffer is full, of course).

0 Likes 0 ·
Peter avatar image Peter commented ·

Victron can setup 128 mqtt servers (this is in specification), so hugely increase the cpu, memory and networkare are not a problem.

0 Likes 0 ·
gerard-van-seventer avatar image gerard-van-seventer Peter commented ·
Just do some calculations and you will see it is a little more complicated than most people think.
0 Likes 0 ·
Peter avatar image
Peter answered ·

If you leave 0 I will have to add a check to see if the change has been received. This courses increase of trafic. I think 1 will cost less... :-)

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

gerard-van-seventer avatar image gerard-van-seventer commented ·
Yes, for you is will cost less but not for Victron. They have to maintain session management on your connection (and potentially thousand of other clients).
0 Likes 0 ·
Peter avatar image
Peter answered ·


has this bug been confirmed and repaired? Or any comment about it?

2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

gerard-van-seventer avatar image gerard-van-seventer commented ·
It is not a bug, it is a choice. QoS 1 or 2 is optional, not mandatory for a broker.
0 Likes 0 ·
nickdb avatar image nickdb ♦♦ commented ·

What you’re doing is unsupported. Don’t expect a response.

As per the community guidelines, please don’t @ staff, it is likely to be moderated.

0 Likes 0 ·

Related Resources