<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Pablo,<br>
<br>
thanks for the feedback, glad I could help.<br>
<br>
What do you mean by "secure"?<br>
<br>
If you mean communication security: you need to add TLS support to
the Node module to get security. MP communication is insecure
without TLS.<br>
<br>
If you mean API runtime reliability: that's the same for MP 7 as for
all other MP commands, i.e. expect temporary failures and lost
requests / responses. There is no builtin double ack protocol
implemented for command executions in MP, if a response doesn't come
within some appropriate time, and you cannot determine the command
success from other data received (e.g. status), you need to repeat
the command.<br>
<br>
If you mean API definition stability: general framework commands
will not be changed without very good reason. If modifications are
necessary, they will be done in a backwards compatible way as far as
possible (e.g. by adding some options / modifier keywords). Vehicle
specific commands should not, but may follow a different strategy,
depending on the state and maintainer of the vehicle. The same
principle applies to all name spaces, i.e. metrics, events &
config params.<br>
<br>
Regards,<br>
Michael<br>
<br>
<br>
<div class="moz-cite-prefix">Am 10.08.22 um 16:58 schrieb Pablo
Cabrera:<br>
</div>
<blockquote type="cite"
cite="mid:CAJ279ZyTCYLMo+nHywQNRftSg=NbG1EPtX-3rJddiNNoYt7iXg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Hello Michael<br>
<br>
Thank you for the PR and the fix on the example, it was the
reason of why We weren't able to send commands to the car, now
with the example I understand the doc page of the commands and
understand how to know if the command apply in to the car, now
with this is just about to make an api for the react native app,
just one more question how secure is to use "7,command" for an
implementation?<br>
<br>
Thank you so much for your help!</div>
<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sat, 6 Aug 2022 12:12:51 +0200<br>
From: Michael Balzer <<a href="mailto:dexter@expeedo.de"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">dexter@expeedo.de</a>><br>
To: <a href="mailto:ovmsdev@lists.openvehicles.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">ovmsdev@lists.openvehicles.com</a><br>
Subject: Re: [Ovmsdev] Doubs in implementation with nodejs.<br>
Message-ID: <<a
href="mailto:59110efb-32c6-830f-dea0-176f59d6ba6e@expeedo.de"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">59110efb-32c6-830f-dea0-176f59d6ba6e@expeedo.de</a>><br>
Content-Type: text/plain; charset="utf-8"; Format="flowed"<br>
<br>
I've added a PR to fix the usage example: <br>
<a href="https://github.com/birkir/ovms-client/pull/14"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/birkir/ovms-client/pull/14</a><br>
<br>
Mark, I suggest adding a fork to the OVMS account.<br>
<br>
Regards,<br>
Michael<br>
<br>
<br>
Am 06.08.22 um 11:34 schrieb Michael Balzer:<br>
> Gregg,<br>
><br>
> I've had a look at that module <br>
> (<a href="https://github.com/birkir/ovms-client"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/birkir/ovms-client</a>):
the example code is wrong. As <br>
> you didn't post any of your actual code, I can only
assume you try to <br>
> base your code on that example.<br>
><br>
> First of all, the connect() call is running
asynchronously, and you <br>
> must not send commands until the "connected" event has
been emitted.<br>
><br>
> Second & more importantly for your command
application, the send() <br>
> method does not work as shown in the example
("send('stat')"). You <br>
> need to construct the actual MP command for send.<br>
><br>
> Third & finally, you need to subscribe to the
"commandReceived" event <br>
> if you want to receive the results (instead of parsing
the "raw" <br>
> messages yourself).<br>
><br>
> Here's a complete working example code using that module
sending both <br>
> a shell and a lock command:<br>
><br>
> const { OVMSClient } = require('ovms-client');<br>
><br>
> // host, port, vehicle id, password<br>
> const client = new OVMSClient('<a
href="http://ovms.dexters-web.de" rel="noreferrer"
target="_blank" moz-do-not-send="true">ovms.dexters-web.de</a>',
6867, 'xxx',<br>
> 'xxx');<br>
><br>
> // connect<br>
> client.connect();<br>
><br>
> // subscribe to command responses:<br>
> client.on('commandReceived', response => {<br>
> ? let [ command, result, message ] =
response.split(',');<br>
> ? console.log('*** response: command', command,
"result", result);<br>
> ? if (message) {<br>
> ??? console.log(message.replace(/\r/g,
String.fromCharCode(10)));<br>
> ? }<br>
> });<br>
><br>
> client.on('connected', callback => {<br>
><br>
> ? // send shell command<br>
> ? console.log('*** send command: 7,stat');<br>
> ? client.send('7,stat');<br>
><br>
> ? // send lock command (with PIN 1234)<br>
> ? console.log('*** send command: 20,1234');<br>
> ? client.send('20,1234');<br>
><br>
> });<br>
><br>
><br>
> Example run:<br>
><br>
> balzer@leela:~/ovms/nodejs> DEBUG=* node test.js<br>
> ? OVMS connected to socket +0ms<br>
> ? OVMS Server authentication OK. +17ms<br>
> ? OVMS RX: MP-S 0 gKmpSDl8krIShUcPcIYFHO
N6LiQqThPvJEUvvQV4f8Kg==<br>
> ?+1ms<br>
> *** send command: 7,stat<br>
> *** send command: 20,1234<br>
> *** response: command 7 result 0<br>
> Not charging<br>
> SOC: -<br>
> Ideal range: 0km<br>
> CAC: 120.0Ah<br>
><br>
> *** response: command 20 result 1<br>
> ^C<br>
><br>
><br>
> Note: command 20 returned "failed" (result 1) here,
because the test <br>
> module on my bench cannot lock a car.<br>
><br>
> This was the module log for that session:<br>
><br>
> I (2192998) ovms-server-v2: Incoming Msg: MP-0 Z1<br>
> I (2192998) ovms-server-v2: One or more peers have
connected<br>
> I (2193008) ovms-server-v2: Incoming Msg: MP-0
C7,stat<br>
> I (2193008) ovms-server-v2: Send MP-0 c7,0,Not
charging|SOC:<br>
> -|Ideal range: 0km|CAC: 120.0Ah<br>
> I (2193048) ovms-server-v2: Incoming Msg: MP-0
C20,1234<br>
> I (2193048) v-vweup: CommandLock<br>
> I (2193048) ovms-server-v2: Send MP-0 c20,1<br>
><br>
><br>
> So the module is actually working nicely, it's just got a
poor usage <br>
> example.<br>
><br>
> Be aware the module does not yet support TLS encryption
though, you <br>
> should add that before actually using it.<br>
><br>
> Regards,<br>
> Michael<br>
><br>
><br>
> Am 04.08.22 um 06:05 schrieb gregg hansen:<br>
>> Just to be sure, we?ll set some time frames and I?ll
park the car<br>
>><br>
>> On Wed, Aug 3, 2022 at 11:03 PM Mark Webb-Johnson <br>
>> <<a href="mailto:mark@webb-johnson.net"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">mark@webb-johnson.net</a>>
wrote:<br>
>><br>
>> Gregg,<br>
>><br>
>> I checked for August 2022, ET225567 I find
(redacted as necessary):<br>
>><br>
>> 2022-08-04 03:34:52.589231 UTC info
?OVMS::Server::ApiV2: #10<br>
>> A ET225567 rx msg C 20,<br>
>> 2022-08-04 03:34:52.590298 UTC info
?OVMS::Server::ApiV2: #10<br>
>> A ET225567 cmd req for ET225567 (queue now
10)<br>
>> 2022-08-04 03:34:52.590552 UTC info
?OVMS::Server::ApiV2: #25<br>
>> C ET225567 tx msg C 20,<br>
>> 2022-08-04 03:34:55.185066 UTC info
?OVMS::Server::ApiV2: #25<br>
>> C ET225567 rx msg c 20,0<br>
>> 2022-08-04 03:34:55.185657 UTC info
?OVMS::Server::ApiV2: #25<br>
>> C ET225567 cmd rsp to #10 for ET225567 (queue
now )<br>
>> 2022-08-04 03:34:55.185739 UTC info
?OVMS::Server::ApiV2: #10<br>
>> A ET225567 tx msg c 20,0<br>
>><br>
>><br>
>> No way of knowing if that was from the app or the
library, but<br>
>> the message sequence is correct and the command
was acknowledged<br>
>> by the car as successfully executed. Command #20
is ?lock car?.<br>
>><br>
>> Regards, Mark<br>
>><br>
>>> On 4 Aug 2022, at 11:36 AM, gregg hansen <<a
href="mailto:gregg@rabbitev.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">gregg@rabbitev.com</a>>
wrote:<br>
>>><br>
>>> If there is a better library to try let me
know.? We tried a<br>
>>> couple before we landed on that one.<br>
>>><br>
>>> We only test with one vehicle - ET225567<br>
>>><br>
>>> This is my fleet vehicle, so there?s a decent
chance it will be<br>
>>> in use.<br>
>>><br>
>>> Tomorrow we?ll try some tests and send some
timestamps<br>
>>><br>
>>> On Wed, Aug 3, 2022 at 10:31 PM Mark
Webb-Johnson<br>
>>> <<a href="mailto:mark@webb-johnson.net"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">mark@webb-johnson.net</a>>
wrote:<br>
>>><br>
>>> Gregg,<br>
>>><br>
>>> OK. That is clearer. At a glance, the
library seems ok, but<br>
>>> I haven?t worked with that one
previously, or even knew of it.<br>
>>><br>
>>> Can you let me know a vehicle ID, and UTC
timestamp, of one<br>
>>> of your connections and attempted
unlocks? I can then check<br>
>>> the server logs.<br>
>>><br>
>>> Or let me know vehicle ID, try it now,
and I can monitor.<br>
>>><br>
>>> Regards, Mark.<br>
>>><br>
>>><br>
>>>> On 4 Aug 2022, at 11:21 AM, gregg
hansen<br>
>>>> <<a
href="mailto:gregg@rabbitev.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">gregg@rabbitev.com</a>>
wrote:<br>
>>>><br>
>>>> This is the library we are using it
encrypt some data and<br>
>>>> use the MP commands to call some
functionalities to the car<br>
>>>> with this we retrieve some data like
the battery status.<br>
>>>><br>
>>>> NPM Lib<br>
>>>> <a
href="https://www.npmjs.com/package/ovms-client?activeTab=readme"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.npmjs.com/package/ovms-client?activeTab=readme</a><br>
>>>> Github<br>
>>>> <a
href="https://github.com/birkir/ovms-client"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/birkir/ovms-client</a><br>
>>>> (in the Github is an instruction that
explains how does the<br>
>>>> library works)<br>
>>>><br>
>>>> It has a function to send shell
commands like 'stat'<br>
>>>> commands, but when we send a command
looks like the car is<br>
>>>> receiving the command but it seems
like the car gets the<br>
>>>> commands but does not interact with
it.<br>
>>>><br>
>>>> There is other function that allows
us to send raw data to<br>
>>>> the car that is the MP commands, but
in this case when I<br>
>>>> send a Raw command this don't connect
with the car and its<br>
>>>> stock loading waiting for a response
that is never returned.<br>
>>>><br>
>>>> I have been trying to make a script
that lets me connect to<br>
>>>> the car, but I only could connect to
the ovms-server that<br>
>>>> let us make the connection with the
car, but I can not set<br>
>>>> the carId and password on that socket
to make the<br>
>>>> connection to the car.<br>
>>>><br>
>>>> We are using OVMS v2 in the cars.<br>
>>>><br>
>>>> Thanks for your help and we are going
to be glad to read<br>
>>>> you answers<br>
>>>><br>
>>>> On Wed, Aug 3, 2022 at 10:07 PM Mark
Webb-Johnson<br>
>>>> <<a
href="mailto:mark@webb-johnson.net" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">mark@webb-johnson.net</a>>
wrote:<br>
>>>><br>
>>>> Gregg,<br>
>>>><br>
>>>> We really need to know exactly
what he is doing, and<br>
>>>> with what protocols.<br>
>>>><br>
>>>> From the way you seem to describe
it, you:<br>
>>>><br>
>>>> 1. Have a custom app, in react
native<br>
>>>> 2. You have a custom server, in
NodeJS<br>
>>>> 3. You presumably have some
custom protocol/api<br>
>>>> between your app and server<br>
>>>> 4. Your NodeJS server is talking
to the OVMS server<br>
>>>> using your own implementation
of v2 protocol<br>
>>>><br>
>>>><br>
>>>> Is that correct? If so, then #4
is the only issue. The<br>
>>>> V2 protocol is fairly well
documented, here:<br>
>>>><br>
>>>> <a
href="https://docs.openvehicles.com/en/latest/protocol_v2/index.html"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/protocol_v2/index.html</a><br>
>>>><br>
>>>><br>
>>>> It is proprietary and the initial
negotiation is<br>
>>>> complicated, but if you have
established the crypto<br>
>>>> connection and received the data,
then you have done<br>
>>>> the hard part. Issuing commands
should be easy.<br>
>>>><br>
>>>> In v2 protocol, locking/unlocking
is performed via the<br>
>>>> ?C? command.<br>
>>>><br>
>>>> Probably easiest to look at the
sample code in the iOS<br>
>>>> or Android Apps to see how that
is done. For iOS, see:<br>
>>>><br>
>>>> <a
href="https://github.com/openvehicles/Open-Vehicle-iOS/blob/master/OpenVehicleApp/ovms/ovmsAppDelegate.m"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/openvehicles/Open-Vehicle-iOS/blob/master/OpenVehicleApp/ovms/ovmsAppDelegate.m</a><br>
>>>><br>
>>>> (The commandIssue method, and
how it is called)<br>
>>>><br>
>>>><br>
>>>> Regards, Mark.<br>
>>>><br>
>>>>> On 3 Aug 2022, at 11:03 PM,
gregg hansen<br>
>>>>> <<a
href="mailto:gregg@rabbitev.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">gregg@rabbitev.com</a>>
wrote:<br>
>>>>><br>
>>>>> Pablo has not been able to
access the list.? He is<br>
>>>>> getting authentication
errors, so while he works<br>
>>>>> through that I thought I
would answer for him...<br>
>>>>><br>
>>>>> "The MP commands are the
raw data I am trying to<br>
>>>>> send to the car to open
and close the car."<br>
>>>>><br>
>>>>> The devices are using the V2
server, so I think fixed<br>
>>>>> MP commands make the most
sense.? Pablo is trying to<br>
>>>>> figure out how to make that
work, and so far has not<br>
>>>>> been successful.<br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>> On Sun, Jul 31, 2022 at 2:26
AM Michael Balzer<br>
>>>>> <<a
href="mailto:dexter@expeedo.de" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">dexter@expeedo.de</a>>
wrote:<br>
>>>>><br>
>>>>> Pablo,<br>
>>>>><br>
>>>>> a bit more information on
how you connect to the<br>
>>>>> car would be helpful
here.<br>
>>>>><br>
>>>>> Arbitrary remote shell
command execution is<br>
>>>>> supported by the module's
HTTP API (/api/execute),<br>
>>>>> the module's SSH server,
the "V2 protocol" server<br>
>>>>> via MP command 7 and any
"V3" (MQTT) server via<br>
>>>>> the /client/command topic
scheme. Plus there's a<br>
>>>>> secondary (non-standard)
HTTP command API<br>
>>>>> available on my server <a
href="http://ovms.dexters-web.de" rel="noreferrer"
target="_blank" moz-do-not-send="true">ovms.dexters-web.de</a><br>
>>>>> <<a
href="http://ovms.dexters-web.de/" rel="noreferrer"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://ovms.dexters-web.de/</a>>
(public API of my<br>
>>>>> custom web shell).<br>
>>>>><br>
>>>>> Lock & unlock are
also available as fixed MP<br>
>>>>> commands (20,22) on a V2
server, along with a set<br>
>>>>> of other standard App
calls. These do not run via<br>
>>>>> the shell but translate
to direct internal execution.<br>
>>>>><br>
>>>>> Command execution has not
yet been implemented for<br>
>>>>> the "V2" server's HTTP
API. But you can of course<br>
>>>>> implement that if you use
that API.<br>
>>>>><br>
>>>>> Docs:<br>
>>>>><br>
>>>>> * <a
href="https://docs.openvehicles.com/en/latest/components/ovms_webserver/docs/index.html#authorization"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/components/ovms_webserver/docs/index.html#authorization</a><br>
>>>>> * <a
href="https://docs.openvehicles.com/en/latest/userguide/console.html#ssh-console"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/userguide/console.html#ssh-console</a><br>
>>>>> * <a
href="https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#execute-sms-command"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#execute-sms-command</a><br>
>>>>> o <a
href="https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#lock-car"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#lock-car</a><br>
>>>>> o <a
href="https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#unlock-car"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#unlock-car</a><br>
>>>>> * <a
href="http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/012641.html"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/012641.html</a><br>
>>>>> * <a
href="http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/012696.html"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/012696.html</a><br>
>>>>> * <a
href="https://docs.openvehicles.com/en/latest/protocol_httpapi/requests.html#not-yet-implemented"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/protocol_httpapi/requests.html#not-yet-implemented</a><br>
>>>>><br>
>>>>> Which one are you
referring to?<br>
>>>>><br>
>>>>> Regards,<br>
>>>>> Michael<br>
>>>>><br>
>>>>><br>
>>>>> Am 29.07.22 um 19:28
schrieb Pablo Cabrera:<br>
>>>>>> Hello OVMS team, we
are currently working with an<br>
>>>>>> implementation with
OVMS in a react native app<br>
>>>>>> with a NodeJS
back-end.<br>
>>>>>> Currently we can
connect with the cars and rescue<br>
>>>>>> some data like the
status of the battery or GPS<br>
>>>>>> location, but now we
need to send commands to<br>
>>>>>> lock and unlock the
cars from the same app, when<br>
>>>>>> we send a command I
get a response that the<br>
>>>>>> command is received
in the car, but the command<br>
>>>>>> is not executed in
the bash.<br>
>>>>>><br>
>>>>>> I don't?know if you
can?send me more?info<br>
>>>>>> about?how to make the
car receive?bash<br>
>>>>>> commands?from remote
connections, or how can I<br>
>>>>>> send it from the
NodeJs server into the bash of<br>
>>>>>> the car.<br>
>>>>>><br>
>>>>>> Thanks for your time
and help.<br>
>>>>>><br>
>>>>>>
_______________________________________________<br>
>>>>>> OvmsDev mailing list<br>
>>>>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>>>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>>>>><br>
>>>>> -- <br>
>>>>> Michael Balzer
*Helkenberger Weg 9 * D-58256 Ennepetal <<a
href="https://www.google.com/maps/search/Helkenberger+Weg+9+*+D-58256+Ennepetal?entry=gmail&source=g"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://www.google.com/maps/search/Helkenberger+Weg+9+*+D-58256+Ennepetal?entry=gmail&source=g</a>><br>
>>>>> Fon 02333 / 833 5735 *
Handy 0176 / 206 989 26<br>
>>>>><br>
>>>>>
_______________________________________________<br>
>>>>> OvmsDev mailing list<br>
>>>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>> -- <br>
>>>>><br>
>>>>> RabbitEV<br>
>>>>> Driving Electric Cars<br>
>>>>> RabbitEV.com <<a
href="http://rabbitev.com/" rel="noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">http://rabbitev.com/</a>><br>
>>>>>
_______________________________________________<br>
>>>>> OvmsDev mailing list<br>
>>>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> OvmsDev mailing list<br>
>>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> OvmsDev mailing list<br>
>>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>>><br>
>>>
_______________________________________________<br>
>>> OvmsDev mailing list<br>
>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>>><br>
>>>
_______________________________________________<br>
>>> OvmsDev mailing list<br>
>>> <a
href="mailto:OvmsDev@lists.openvehicles.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>><br>
>> _______________________________________________<br>
>> OvmsDev mailing list<br>
>> <a href="mailto:OvmsDev@lists.openvehicles.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
>><br>
>><br>
>> _______________________________________________<br>
>> OvmsDev mailing list<br>
>> <a href="mailto:OvmsDev@lists.openvehicles.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
>> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
><br>
> -- <br>
> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<br>
> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<br>
><br>
> _______________________________________________<br>
> OvmsDev mailing list<br>
> <a href="mailto:OvmsDev@lists.openvehicles.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
> <a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
<br>
-- <br>
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<br>
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a
href="http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20220806/580c26be/attachment.htm"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20220806/580c26be/attachment.htm</a>><br>
-------------- next part --------------<br>
A non-text attachment was scrubbed...<br>
Name: OpenPGP_signature<br>
Type: application/pgp-signature<br>
Size: 203 bytes<br>
Desc: OpenPGP digital signature<br>
URL: <<a
href="http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20220806/580c26be/attachment.sig"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20220806/580c26be/attachment.sig</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
OvmsDev mailing list<br>
<a href="mailto:OvmsDev@lists.openvehicles.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
<a
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
<br>
<br>
------------------------------<br>
<br>
End of OvmsDev Digest, Vol 127, Issue 7<br>
***************************************<br>
</blockquote>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
</body>
</html>