Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MQTT Version 5 Support #98

Open
ThomDietrich opened this issue May 3, 2018 · 9 comments
Open

MQTT Version 5 Support #98

ThomDietrich opened this issue May 3, 2018 · 9 comments
Labels
Status: On Hold Suggestions and ideas that might become interesting at a later point

Comments

@ThomDietrich
Copy link
Collaborator

ThomDietrich commented May 3, 2018

This is a long-term discussion into the support/consideration of MQTTv5 in the Homie convention.

Generals statement so no one get's a wrong idea:
MQTTv5 support by Homie is currently not supported nor considered!


As I've seen more and more side-chatter regarding MQTTv5 specifics in issues recently, I thought it would be a good idea to create a place for the topic. Feel free to add your ideas regarding Homie over MQTTv5.


http://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
https://blog.codecentric.de/en/2017/11/hello-mqtt-version-5-0/

@ThomDietrich ThomDietrich added Status: Discussion RFC ¯\[ツ]/¯ Status: On Hold Suggestions and ideas that might become interesting at a later point and removed Status: Blocked labels May 3, 2018
@davidgraeff
Copy link
Member

Mqttv5 new features are important for broker and client implementations, but is it that game changing for a topic convention? Do you have any particular feature in mind? I may have overlooked something.

@euphi
Copy link
Member

euphi commented May 4, 2018

After a quick look on what's new, I only see that content-types may be interesting, e.g. for the "$location" discussion. Everything else seem implementation-specific to me.

What's not clear to me, if it is necessary (or at least useful) to provide a "MQTT version" device attribute?
This may be useful, if it was possible for MQTT clients of different versions to communicate over the same broker or via proxy?

@jamesmyatt
Copy link

My suspicion is that MQTT 5 support will be slow, so it's best to focus on the current versions.

@davidgraeff
Copy link
Member

@jamesmyatt Don't underestimate hypes. All big brokers have mqttv5 test releases already (except Moquette :/) and paho developers are working on mqttv5 only at the moment (fully neglecting the mqttv3 client) on the client side for java,c and python. I guess Mqttv5 will be there as fast as Mqttv3.1 got established after the spec release.

If anybody will write an embedded mqttv5 client is another story of course.

Mqttv5 doesn't help the convention much anyway. Custom properties per topic is a funny thing. That's the analogy to attributes in homie.

@jamesmyatt
Copy link

jamesmyatt commented May 4, 2018

@davidgraeff , I follow the Python Paho client closely, and I haven't seen any indication that they're working on MQTT v5 at all: e.g. eclipse-paho/paho.mqtt.python#213

The C client however is quite active on this: http://modelbasedtesting.co.uk/2018/04/30/the-new-mqtt-v5-api-for-the-eclipse-paho-c-client/

Although I accept it's better to concentrate on the brokers first.

@Thalhammer
Copy link
Member

As @davidgraeff already said, I doubt there is anything in there that would be useful for homie. And even if we would find a use for any of these new features, it would most likely break compatibility with v3.1.1 devices. I don't think it's worth the tradeoff.

@rejoc
Copy link

rejoc commented Jan 9, 2021

user defined properties could be used to transmit a timestamp with the value of a property. Currently it is impossible for a newly connected mqtt client to know when the current values were transmited.

@davidgraeff
Copy link
Member

As soon as all common mqtt libraries (especially those for ESPs and Arduinos) have Mqtt5 support, it might be an option to think about a new spec release that incorporates MQTT5 features.

@Thalhammer
Copy link
Member

We have to be really carefull with that though to not introduce incompatibilities with mqtt 3.1 (which is and will be for a long time the defacto standard).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: On Hold Suggestions and ideas that might become interesting at a later point
Projects
None yet
Development

No branches or pull requests

6 participants