[Ovmsdev] General trip & grid log proposal

Michael Balzer dexter at expeedo.de
Fri Jan 15 01:58:11 HKT 2021


Steve,

not your fault, missing V3 documentation. These are features ported from 
V2, which was configured by a fixed array of "features" & "parameters". 
You can find info on these in the V2 documentation. Setting features & 
parameters is still supported by the Apps, and is more convenient for 
users than learning a config command. For complex features, adding an 
editor to the Apps is recommended, but simple configuration values can 
be integrated easily this way.

V3 has a mapper for these, you can extend for custom vehicle features:

class OvmsVehicle …
     virtual bool SetFeature(int key, const char* value);
     virtual const std::string GetFeature(int key);

We only support a few V2 standard features by default in V3, the 
streaming mode is one of them.

V2 only uses the streaming mode for the location message, and 
additionally requires the vehicle to be on and some client to be 
connected. It also supports not only enabling the streaming mode, but 
also configuring the interval (seconds) by the feature / config.

The V3 / MQTT server is still experimental, the implementation may 
change and be changed by you. It currently apparently only supports 
enabling/disabling the streaming mode and, you're right, if enabled 
applies this to all metrics without any interval. I suppose that was an 
initial, very simple implementation of streaming mode. I think it isn't 
very useful, as you may have metrics that change a hundred times per 
second, and the V3 server will try to transmit every single change with 
streaming enabled. It looks like the interval support is prepared in the 
Ticker1() method though, the same way as in the V2 server.

The V3 server needs further development from actual users like you. I 
don't use MQTT because of the protocol overhead. So go ahead, refine it.

The way MQTT works is outlined in the list archive and by an example script:

- Topic structure: 
http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/005354.html
- Command shell example: 
https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/blob/master/client/ovms_v3shell.pl

…and all this really needs documentation…

Regards,
Michael


Am 14.01.21 um 16:53 schrieb Steve Davies:
>
>
> On Thu, 14 Jan 2021 at 09:23, Michael Balzer <dexter at expeedo.de 
> <mailto:dexter at expeedo.de>> wrote:
>
>     Both are historical records, i.e. kept on the server until
>     deletion or expiry. If you're looking for a GPS log, we've already
>     got that in form of the "L" messages. These are kept for 24 hours,
>     and the log frequency adapts to user choice and App connection
>     state ("streaming mode", feature #8 / config vehicle stream).
>
>
> Thanks!
>
> Is there documentation that I failed to find?  IE "feature #8" - seems 
> like from a list somewhere?
>
> I'm working at the moment with the MQTT server.
>
> In the mqtt server code I found "m_streaming" and it looks like I need 
> "config set vehicle stream 1"
>
> If I understand correctly this will result in metrics being published 
> to mqtt as soon as they change.
>
> Looking at the code I'm also trying to understand what exactly a 
> "client" is.  Here's how it looks to me:  a client sends a message 
> with topic <prefix>/client/<clientid>/active with the payload being 
> non-0 to "connect" and 0 or empty to disconnect.   Must send that at 
> least once every 120 seconds to stay connected.
>
> With a client "connected" the MQTT server will send metrics at 
> the updatetime.connected rate rather than the idle rate 
> (nowithstanding that with "stream 1" they are sent immediately).
>
> Clients can also send commands too: <prefix>/client/<clientid>/command
>
> Am I on the right track?
>
> Thanks,
> Steve

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210114/c48c1a42/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210114/c48c1a42/attachment.sig>


More information about the OvmsDev mailing list