<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>