Hi,
I'm busy spinning up the Open-Vehicle-Server project.
I cloned the Open-Vehicle-Server repo
Now I'm now clear about the "v2" and "v3" description and what I have before me..
In the forums here the v3 is described as "MQTT". And in the repo the server is in a directory calls "v3".
But the only thing MQTT about it is the ApiHttpMqapi module and that is just about authenticating via MQTT.
Can someone help clarify the v2 vs v3 and if there is a next-gen approach using MQTT where I find the project and should I be using it?
Thanks!
The difference is server version vs protocol version.
Protocol v2 is the original ovms protocol. It is a proprietary binary protocol used between the car module, server, and apps. There are both v2 and v3 server programs available for this - but we recommend everyone uses the v3 server for new deployments. You can find the code here: https://github.com/openvehicles/Open-Vehicle-Server/tree/master/v3
Protocol v3 is a set of conventions over the MQTT protocol. Longer-term, OVMS will most likely migrate to using this. The car module supports both v2 and v3 protocols, but apps don't currently have any support for this. If you want to intertface OVMS to IoT, or things like home automation, this may be the simplest.
Regards, Mark.
I know this is an old thread but I think I have the same question.
Does the v3 server also connect to the MQTT Broker to retrieve vehicle data events?
Not seeing any configuration around this.
What do you mean by 'v3 server'? If you mean version 3 of the ovms_server project
https://github.com/openvehicles/Open-Vehicle-Server
then the answer is NO. That OVMS server purely deals in the v2 and HTTP protocols. It doesn't use MQTT at all. See my previous response for details.
Can I ask here for further clarification. I know it's an old(ish) thread, but appropriate for my questions.
The designation v2 and v3 are somewhat confusing. Yes I know what they mean, but to what they are referring varies.
First of all there's v2 and v3 of the actual hardware module. Then there's a v2 and v3 version of the server, with v2 and v3 (not related to server designations) of the protocol used and in the web UI there are options to select v2 server or v3 server, which implies the 'server' but since the documentation itself seems confused, I cannot be sure about that.
This latter issue can be found on the 'User Guide/Components' page which states the following:-
OVMS Server v2
The OVMS Server v2 protocol is a proprietary protocol …
OVMS Server v3
The OVMS Server v3 protocol is MQTT…
which looks to me like is mixing up the very definitions of what the User Guide should be making clear. Hence I'm seeking further clarification here.
The hardware versions are simple enough to grasp and I believe can run both protocol versions.
From posts above, my understanding is that there are v2 and v3 versions of the 'server', both of which ONLY use the v2 'protocol'
Protocol v2 is a proprietary communication protocol used by both servers, the mobile apps and I think the webapp as well.
The v3 protocol is MQTT based and largely experimental, but required for integration into home automation systems like Home Assistant.
I hope I'm correct about the above, but would appreciate correction if not.
What I would like to achieve is to be able to use the mobile app to access a couple of cars with OVMS installed and for which I need to be using protocol v2 and communicating with a v2 or v3 server, either a publicly available one or I could run my own.
However in order to integrate with Home Assistant, I need to use Protocol v3 and run an MQTT broker (for which I have Mosquito installed in HA).
So if my understanding of all the above is correct, I guess my question is can I run both v2 and v3 protocols simultaneously in order to access the cars via both mobile and/or web app and also view/control with Home Assistant?
Sorry if that seems all a bit long winded, but trying to get it all in place in my head so I can best understand what I am needing to do in order to achieve my goals with OVMS.