<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Michael,<br>
    <br>
    looks good.<br>
    <br>
    I think having an explicit 'default' option is better than taking
    the 'Metric' equivalent for that, as in your example you already
    show unit alternatives within the metric system to support different
    scalings (kW / W, kWh / Wh). (Btw… waiting for someone to miss
    Horsepower & BTU here ;-))<br>
    <br>
    @Patrick, I think that also answers your implicit question:<br>
    <blockquote type="cite">
      <pre class="moz-quote-pre" wrap="">The default button makes it unclear what the actual setting is.
</pre>
    </blockquote>
    <br>
    The default (native unit) is always metric, but you may have a mix
    of scalings, as we try to find the one that fits best for the given
    application when defining a metric. For example the current driving
    energy consumption is stored natively in Wh/km, while the energy
    used or regenerated is in kWh, and the odometer & trip counters
    are in km, while the altitude ist in m.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 13.11.22 um 08:42 schrieb Michael
      Geddes:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAH0p7uJ9p-SGvye3NA9SfGEY4biMb9RTo1KkSS9kYEv6XxRZXw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Greetings,<br>
        <div>so this is my idea of being able to select which units
          various groups use (in addition to Distance).</div>
        <div>This can be then accessed by the special 'user' unit code. 
          (or  'metrics list -u ' )</div>
        <div>The idea of [Default] selection below  simply means storing
          the value to blank - meaning use whatever unit the particular
          metric uses.  The other idea I had was to actually default it
          to the equivalent of 'Metric' special unit code and not have
          the [Default] button.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <img src="cid:part1.DTkqgJDB.X2kJmG94@expeedo.de"
          alt="image.png" class="" width="472" height="395"><br>
        <div><br>
        </div>
        <div>Currently I've made it so that if there are more than 3
          choices other than [default] that it uses the choice/combo box
          rather than the Radio buttons. (ie this list is auto-generated
          from the Metric Units table and the Metric Groups table).</div>
        <div><br>
        </div>
        <div>Thoughts / comments?</div>
        <div><br>
        </div>
        <div>//.ichael </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Sat, 12 Nov 2022 at 17:35,
          Michael Geddes <<a
            href="mailto:frog@bunyip.wheelycreek.net" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">frog@bunyip.wheelycreek.net</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div dir="ltr">
            <div dir="ltr"><a
href="https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/771"
                target="_blank" moz-do-not-send="true"
                class="moz-txt-link-freetext">https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/771</a><br>
              <div><br>
              </div>
              <div>I'm hoping this P/R is ok in this form (made of 5
                separate commits).</div>
              <div><br>
              </div>
              <div>I will have a look at implementing the "user" unit
                code.  The base for how it would work is already a part
                of the above pull request.  I'll just look at the module
                configuration for distance.</div>
              <div><br>
              </div>
              <div>The 'power consumption' is one where it's not just a
                check-box.. there're 5 possible choice!</div>
              <div><br>
              </div>
              <div>I should also add 'bar' for pressure given that for
                some reason that's still a thing people want.</div>
              <div><br>
              </div>
              <div>//.ichael</div>
            </div>
            <br>
            <div class="gmail_quote">
              <div dir="ltr" class="gmail_attr">On Sat, 12 Nov 2022 at
                16:24, Michael Balzer <<a
                  href="mailto:dexter@expeedo.de" target="_blank"
                  moz-do-not-send="true" class="moz-txt-link-freetext">dexter@expeedo.de</a>>
                wrote:<br>
              </div>
              <blockquote class="gmail_quote" style="margin:0px 0px 0px
                0.8ex;border-left:1px solid
                rgb(204,204,204);padding-left:1ex">
                <div> I think this is pretty decent & complete now.<br>
                  <br>
                  I also like the approach of the 'user' unit code.
                  Moving all user unit prefs into the module
                  configuration is an old todo. Currently only the
                  distance unit is defined at the module side,
                  temperature and pressure are App prefs.<br>
                  <br>
                  Regards,<br>
                  Michael<br>
                  <br>
                  <br>
                  <div>Am 11.11.22 um 09:54 schrieb Michael Geddes:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">Ok - so here's what I have
                      implemented for Duktape and Metrics. (I added
                      IsDefined() as well).
                      <div>Any thoughts on this?<br>
                        <div><br>
                          <div>Noting</div>
                          <div>   OvmsMetrics.Float( {metric} ) ->
                            Outputs metric as float (same)</div>
                          <div>   OvmsMetrics.Float( {metric}, {unit})
                            -> Outputs metric as float converted to
                            given unit  (new)</div>
                          <div>   OvmsMetrics.Value( {metric} )   ->
                            Outputs Metric in native value (same)</div>
                          <div>   OvmsMetrics.Value( {metric} , false) 
                             -> Outputs Metric as string and no units
                            (same) </div>
                             OvmsMetrics.Value( {metric} ,  {unit}) 
                          -> Outputs Metric converted to given unit
                          as native value. (new)
                          <div>  OvmsMetrics.Value( {metric} ,  {unit},
                            false )  -> Outputs Metric converted to
                            given unit as string including any unit
                            specifier. (new)
                            <div>also  OvmsMetric.GetValues( {metric}
                              [,{unit}] [, {converted} ] )  Adds similar
                              behaviour to Value() above.</div>
                            <div>also the special units '<b>imperial</b>'
                              and '<b>metric</b>' will convert to the
                              associated imperial / metric version of
                              the units as appropriate.</div>
                            <div><br>
                              <div><font face="monospace">(function() {<br>
                                     dump = function (metric) { print(
                                  metric+ " ["+(typeof metric)+"]\n"  );
                                  }<br>
                                     dump_obj = function (obj )  {<br>
                                       print('--- Object ----\n')<br>
                                       for (var k in obj) {<br>
                                         xk = obj[k];<br>
                                         print( k+':'+ xk + ' ['+typeof
                                  xk+ "]\n");<br>
                                       }<br>
                                     }<br>
                                   
                                   dump(OvmsMetrics.Value("xiq.v.trip.consumption"));<br>
                                   
                                   dump(OvmsMetrics.Value("xiq.v.trip.consumption",
                                  false));<br>
                                   
                                   dump(OvmsMetrics.Value("xiq.v.trip.consumption","kmpkwh"));<br>
                                   
                                   dump(OvmsMetrics.Value("xiq.v.trip.consumption",
                                  "mipkwh", false));<br>
                                   
                                   dump(OvmsMetrics.AsFloat("xiq.v.trip.consumption"));<br>
                                   
                                   dump(OvmsMetrics.AsFloat("xiq.v.trip.consumption","kmpkwh"));<br>
                                   
                                   dump(OvmsMetrics.Value("xiq.v.trip.consumption","imperial"))<br>
                                   
                                   dump(OvmsMetrics.Value("xiq.v.trip.consumption","imperial",
                                  false))<br>
                                   
                                   dump_obj(OvmsMetrics.GetValues("trip",
                                  "metric"))<br>
                                   
                                   dump_obj(OvmsMetrics.GetValues("trip",
                                  "imperial", false))<br>
                                  })();<br>
                                </font></div>
                              <div><br>
                              </div>
                              <div>With this output:</div>
                              <div>
                                <div>
                                  <pre id="m_-5904723395924573806m_1733173679174480992m_-138117451584655546m_5484224439251412587gmail-output" style="box-sizing:border-box;overflow:auto;font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;padding:9.5px;margin-top:0px;margin-bottom:10px;line-height:1.42857;color:rgb(0,34,0);word-break:break-all;background-color:rgb(245,245,245);border:1px solid rgb(204,204,204);border-radius:4px;height:406px;white-space:pre-wrap">19.2308 [number]
19.2308 [string]
5.2 [number]
3.23112mi/kWh [string]
19.2308 [number]
5.2 [number]
309.49 [number]
309.49Wh/mi [string]
--- Object ----
v.p.trip:13 [number]
xiq.e.trip:0 [number]
xiq.e.trip.energy.recuperated:0 [number]
xiq.e.trip.energy.used:0 [number]
xiq.v.trip.consumption:19.2308 [number]
--- Object ----
v.p.trip:8.07781M [string]
xiq.e.trip:0M [string]
xiq.e.trip.energy.recuperated:0kWh [string]
xiq.e.trip.energy.used:0kWh [string]
xiq.v.trip.consumption:309.49Wh/mi [string]</pre>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                    <br>
                    <div class="gmail_quote">
                      <div dir="ltr" class="gmail_attr">On Wed, 9 Nov
                        2022 at 05:47, Michael Geddes <<a
                          href="mailto:frog@bunyip.wheelycreek.net"
                          target="_blank" moz-do-not-send="true"
                          class="moz-txt-link-freetext">frog@bunyip.wheelycreek.net</a>>
                        wrote:<br>
                      </div>
                      <blockquote class="gmail_quote" style="margin:0px
                        0px 0px 0.8ex;border-left:1px solid
                        rgb(204,204,204);padding-left:1ex">
                        <div dir="ltr">Yeah - I like HasValue.  I
                          implemented IsDefined() but I will rename it..
                          that's a much clearer name.
                          <div><br>
                          </div>
                          <div>Another thought. How about if we did this
                            (but also with GetValues() as well - see the
                            special values below) </div>
                          <div><br>
                            <div>OvmsMetrics.Value("xiq.v.trip.consumption",
                               true)  -> <span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">17.0582</span><span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">  (Number)</span><br>
                            </div>
                            <div>
                              <div>OvmsMetrics.Value("xiq.v.trip.consumption",
                                 false)  -> <span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">17.0582</span><span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">  (String)</span></div>
                            </div>
                          </div>
                          <div>OvmsMetrics.Value("xiq.v.trip.consumption",
                            "mipkwh", true)  -> <span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">3.64264</span><span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">  (Number)</span><br>
                          </div>
                          <div>OvmsMetrics.Value("xiq.v.trip.consumption",
                            "mipkwh", false)  -> <span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">3.64264Mi/kWh</span><span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">  (String)</span><br>
                          </div>
                          <div> OvmsMetrics.Value("xiq.v.trip.consumption",
                            "native", false)  -> <span style="font-size:13px;background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;white-space:pre-wrap">17.0582km/kWh</span><span style="font-size:13px;background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;white-space:pre-wrap">  (String)</span>  </div>
                          <div><br>
                          </div>
                          <div>and</div>
                          <div>
                            <div>OvmsMetrics.Value("xiq.v.trip.consumption",
                              "imperial", false)  -> <span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">3.64264Mi/kWh</span><span style="background-color:rgb(245,245,245);color:rgb(0,34,0);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;white-space:pre-wrap">  (String)</span><br>
                            </div>
                          </div>
                          <div><br>
                          </div>
                          <div>I have already implemented the special
                            values 'native' (existing), 'imperial' and
                            'metric'.  </div>
                          <div><br>
                          </div>
                          <div>I was also thinking that in the future
                            you could have 'user'. Where for each group
                            of values:</div>
                          <div>'temperature', 'distance',
                            'shortdistance', 'power' etc.. you could
                            have a user preference. I probably won't
                            implement it now,.but it could be cool that
                            any UI could just ask for the user defined
                            units (rather than having a separate
                            choice).</div>
                          <div><br>
                          </div>
                          <div><br>
                          </div>
                          <div><br>
                          </div>
                          <div>//.ichael</div>
                        </div>
                        <br>
                        <div class="gmail_quote">
                          <div dir="ltr" class="gmail_attr">On Tue, 8
                            Nov 2022 at 21:57, Mark Webb-Johnson <<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>
                          </div>
                          <blockquote class="gmail_quote"
                            style="margin:0px 0px 0px
                            0.8ex;border-left:1px solid
                            rgb(204,204,204);padding-left:1ex">
                            <div>
                              <div dir="ltr" style="color:rgb(0,0,0)">Or
                                perhaps something more specific?</div>
                              <div dir="ltr" style="color:rgb(0,0,0)"><br>
                              </div>
                              <div dir="ltr" style="color:rgb(0,0,0)"> 
                                  HasValue()</div>
                              <div dir="ltr" style="color:rgb(0,0,0)"><br>
                              </div>
                              <div dir="ltr" style="color:rgb(0,0,0)">Mark</div>
                              <div><br>
                                <blockquote type="cite">
                                  <div>On 8 Nov 2022, at 9:01 PM,
                                    Michael Balzer <<a
                                      href="mailto:dexter@expeedo.de"
                                      target="_blank"
                                      moz-do-not-send="true"
                                      class="moz-txt-link-freetext">dexter@expeedo.de</a>>
                                    wrote:</div>
                                  <br>
                                  <div>
                                    <div>
                                      <div>
                                        <div>Signed PGP part</div>
                                        <div>
                                          <div> That's basically a good
                                            approach, but be aware
                                            'IsDefined()' has an
                                            ambiguous meaning here, as
                                            with the API stem
                                            "OvmsMetrics" it would
                                            naturally be expected to
                                            mean "is this metric
                                            defined", not "does this
                                            metric have a defined
                                            value".<br>
                                            <br>
                                            An undefined metric
                                            currently can be derived
                                            from 'Values()' returning
                                            undefined, but that's more
                                            an undocumented side effect
                                            than intended.<br>
                                            <br>
                                            Maybe 'GetDefined()' could
                                            be a better name, leveraging
                                            this behaviour, i.e.
                                            returning 'undefined' for an
                                            actually undefined metric,
                                            and 'null' for a defined
                                            metric without a value.<br>
                                            <br>
                                            Regards,<br>
                                            Michael<br>
                                            <br>
                                            <br>
                                            <div>Am 08.11.22 um 13:46
                                              schrieb Michael Geddes:<br>
                                            </div>
                                            <blockquote type="cite">
                                              <div dir="ltr">
                                                <div>Ah yes. Arrays -
                                                  will check those. 
                                                  Yeah, how about we add
                                                  a 'IsDefined' method
                                                  to metrics instead of
                                                  the null thing (it
                                                  does sound like it
                                                  will upset too many
                                                  applecarts).</div>
                                                <div><br>
                                                </div>
                                                <div>//.</div>
                                                <br>
                                                <div class="gmail_quote">
                                                  <div dir="ltr"
                                                    class="gmail_attr">On
                                                    Tue, 8 Nov 2022 at
                                                    20:35, Michael
                                                    Balzer <<a
                                                      href="mailto:dexter@expeedo.de"
                                                      target="_blank"
                                                      moz-do-not-send="true"
class="moz-txt-link-freetext">dexter@expeedo.de</a>> wrote:<br>
                                                  </div>
                                                  <blockquote
                                                    class="gmail_quote"
                                                    style="margin:0px
                                                    0px 0px
                                                    0.8ex;border-left:1px
                                                    solid
                                                    rgb(204,204,204);padding-left:1ex">
                                                    <div> Michael,<br>
                                                      <br>
                                                      looks all good to
                                                      me, once again
                                                      nice find with the
                                                      decode argument.
                                                      Adding decode to
                                                      the Value() call
                                                      was only for
                                                      symmetry IIRC, the
                                                      main use was with
                                                      GetValues() (<a
href="https://docs.openvehicles.com/en/latest/userguide/scripting.html#ovmsmetrics"
                                                        target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">https://docs.openvehicles.com/en/latest/userguide/scripting.html#ovmsmetrics</a>).<br>
                                                      <br>
                                                      Don't forget to
                                                      test arrays, e.g.
                                                      "v.t.pressure"
                                                      & "v.t.temp".<br>
                                                      <br>
                                                      Returning null for
                                                      an undefined
                                                      metric seems like
                                                      a natural choice,
                                                      but is a rather
                                                      deep change, as
                                                      for consistency
                                                      not only the
                                                      Duktape metrics
                                                      API but also the
                                                      Web UI metrics API
                                                      would need to be
                                                      changed
                                                      accordingly.
                                                      Unless you've got
                                                      a real use case
                                                      that needs that,
                                                      we should be
                                                      careful.<br>
                                                      <br>
                                                      Regards,<br>
                                                      Michael<br>
                                                      <br>
                                                      <br>
                                                      <div>Am 07.11.22
                                                        um 15:00 schrieb
                                                        Michael Geddes:<br>
                                                      </div>
                                                      <blockquote
                                                        type="cite">
                                                        <div dir="ltr">
                                                          <div dir="ltr">I
                                                          have figured
                                                          out a bunch of
                                                          stuff and have
                                                          implemented
                                                          the following:
                                                          (having done
                                                          away with
                                                          needing
                                                          AsFloatUnit)
                                                          <div><br>
                                                          </div>
                                                          <div>OvmsMetrics.Value(
                                                          {metric} [,
                                                          {decode}])</div>
                                                          <div>OvmsMetrics.Value(
                                                          {metric},
                                                          {unit}
                                                          [,{decode}])</div>
                                                          <div><br>
                                                          </div>
                                                          <div>It turns
                                                          out that the
                                                          [decode] flag
                                                          wasn't working
                                                          anyway (since
                                                          the function
                                                          was being
                                                          registered as
                                                          only having 1
                                                          param)...</div>
                                                          <div>This way
                                                          it is still
                                                          really 1
                                                          function.. but
                                                          I check it the
                                                          second
                                                          parameter is a
                                                          'boolean', and
                                                          if not.. try
                                                          the second
                                                          form. </div>
                                                          <div><br>
                                                          </div>
                                                          <div>OvmsMetrics.AsFloat(
                                                          {metric}
                                                          [,{unit}] )</div>
                                                          <div><br>
                                                          </div>
                                                          <div>and add
                                                          the function</div>
                                                          <div><br>
                                                          </div>
                                                          <div>Ovms.Metrics.ValueUnit(
                                                          {metric}
                                                          [,{unit}]) </div>
                                                          <div>This
                                                          prints the
                                                          value and the
                                                          unit.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>Here's a
                                                          sample
                                                          function and
                                                          the output!
                                                          This also
                                                          shows the
                                                          types of the
                                                          output.</div>
                                                          <div><br>
                                                          </div>
                                                          <div><font
                                                          face="monospace">(function()
                                                          {<br>
                                                             x =
                                                          OvmsMetrics.Value("xiq.v.trip.consumption");<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+  x+"\n"
                                                           );<br>
                                                             x =
                                                          OvmsMetrics.Value("xiq.v.trip.consumption",
                                                          false);<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+  x +"\n"
                                                          );<br>
                                                             x =
                                                           OvmsMetrics.Value("xiq.v.trip.consumption","kmpkwh")<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+ x
                                                          +"\n");<br>
                                                             x =
                                                           OvmsMetrics.Value("xiq.v.trip.consumption",
                                                          "mipkwh",
                                                          false) <br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+ x
                                                          +"\n");<br>
                                                             x =
                                                           OvmsMetrics.ValueUnit("xiq.v.trip.consumption")<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+ x
                                                          +"\n");<br>
                                                             x =
                                                           OvmsMetrics.ValueUnit("xiq.v.trip.consumption","mipkwh")<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+ x
                                                          +"\n");<br>
                                                             x =
                                                           OvmsMetrics.AsFloat("xiq.v.trip.consumption")<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+ x
                                                          +"\n");<br>
                                                             x =
                                                           OvmsMetrics.AsFloat("xiq.v.trip.consumption","kmpkwh")<br>
                                                             print(
                                                          (typeof x) +
                                                          ": "+ x
                                                          +"\n");<br>
                                                          })();</font><br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>
                                                          <pre id="m_-5904723395924573806m_1733173679174480992m_-138117451584655546m_5484224439251412587m_-6783916119872647666m_7514939671383041717m_-2249740601380801512gmail-output" style="box-sizing:border-box;overflow:auto;font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Hack,"Source Code Pro","Roboto Mono",Menlo,Monaco,Consolas,monospace;font-size:13px;padding:9.5px;margin-top:0px;margin-bottom:10px;line-height:1.42857;color:rgb(0,34,0);word-break:break-all;background-color:rgb(245,245,245);border:1px solid rgb(204,204,204);border-radius:4px;height:165px;white-space:pre-wrap">number: 17.0582
string: 17.0582
number: 5.86227
string: 3.64264
string: 17.0582kWh/100km
string: 3.64264mi/kWh
number: 17.0582
number: 5.86227</pre>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>It still
                                                          might be an
                                                          idea to use
                                                          'null' as a
                                                          return value
                                                          if the metrics
                                                          is<font
                                                          face="monospace">
                                                          !IsDefined() </font><font
                                                          face="arial,
                                                          sans-serif">but
                                                          that would be
                                                          changing the
                                                          existing
                                                          behaviour
                                                          slightly.</font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif"><br>
                                                          </font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif">//.ichael</font></div>
                                                          <div><br>
                                                          </div>
                                                          </div>
                                                          <div
                                                          class="gmail_quote">
                                                          <div dir="ltr"
class="gmail_attr">On Mon, 7 Nov 2022 at 08:12, Michael Geddes <<a
                                                          href="mailto:frog@bunyip.wheelycreek.net"
target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">frog@bunyip.wheelycreek.net</a>>
                                                          wrote:<br>
                                                          </div>
                                                          <blockquote
                                                          class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid
                                                          rgb(204,204,204);padding-left:1ex">
                                                          <div dir="ltr">I've
                                                          worked out
                                                          what the
                                                          decode flag is
                                                          for and how it
                                                          works, and I
                                                          think how
                                                          optional
                                                          params work. <br>
                                                          <div>I'm
                                                          pretty sure I
                                                          won't  need
                                                          the
                                                          'AsFloatUnit'
                                                          function; the
                                                          unit would be
                                                          an option to
                                                          AsFloat();
                                                          I'll know that
                                                          soon.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>The
                                                          'Value'
                                                          function is
                                                          more
                                                          complicated
                                                          because of the
                                                          optional
                                                          decode bool. I
                                                          guess I could
                                                          add the Unit
                                                          to the end of
                                                          that.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>ValueUnit
                                                          could be still
                                                          useful then to
                                                          provide a
                                                          'Value +
                                                          Unit'.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>Question: 
                                                          Is there a
                                                          reason we
                                                          shouldn't be
                                                          returning
                                                          with  <span style="color:rgb(220,220,170);background-color:rgb(30,30,30);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">duk_push_null</span> 
                                                            if the
                                                          metric
                                                          !IsDefined() 
                                                          in both
                                                          AsFloat() and
Value(metric,true) cases?</div>
                                                          <div><br>
                                                          </div>
                                                          <div>//.ichael</div>
                                                          </div>
                                                          <br>
                                                          <div
                                                          class="gmail_quote">
                                                          <div dir="ltr"
class="gmail_attr">On Sun, 6 Nov 2022 at 11:22, Michael Geddes <<a
                                                          href="mailto:frog@bunyip.wheelycreek.net"
target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">frog@bunyip.wheelycreek.net</a>>
                                                          wrote:<br>
                                                          </div>
                                                          <blockquote
                                                          class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid
                                                          rgb(204,204,204);padding-left:1ex">
                                                          <div dir="ltr">
                                                          <div>Right, so
                                                          I've
                                                          implemented
                                                          some stuff
                                                          that seems to
                                                          work quite
                                                          well. <br>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div><a
href="https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/764"
target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/764</a> 
                                                          should be
                                                          ready now
                                                          after a couple
                                                          of stupid
                                                          mistakes
                                                          slipped
                                                          through. 
                                                           This
                                                          absolutely
                                                          needs somebody
                                                          to review it
                                                          please!
                                                          (There's a
                                                          reason why
                                                          I've converted
                                                          some if()'s to
                                                          switch() -
                                                          which is that
                                                          it will be
                                                          used in the
                                                          follow-up
                                                          commit).</div>
                                                          <div><br>
                                                          </div>
                                                          <div>The
                                                          commit that
                                                          will follow on
                                                          from that it
                                                          implements the
                                                          new Units:
                                                          kWh/100km,
                                                          km/kWh  and 
                                                          mi/kWh.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>This is a
                                                          summary of
                                                          what I've
                                                          implemented
                                                          for scripting
                                                          - including
                                                          showing the
                                                          unit codes I
                                                          have so far. 
                                                          I've
                                                          considered a
                                                          few things:</div>
                                                          <div>  *
                                                          Should some of
                                                          the longer
                                                          unit codes be
                                                          shortened  (eg
                                                          mi, mins, m,
                                                          ft, deg, perc)</div>
                                                          <div>  * The
                                                          unit codes
                                                          could be much
                                                          more re<font
                                                          face="arial,
                                                          sans-serif">gular
                                                          and separated
                                                          by dots  eg:  </font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif"> 
                                                               
                                                          watthours
                                                          -> w.h</font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif"> 
                                                               
                                                          kwhp100km
                                                          ->
                                                          kw.h_100km or
                                                          kw.h/100km</font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif"> 
                                                                miph
                                                          ->  mi_h or
                                                          mi/h  (or
                                                          should it be
                                                          mph).</font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif"> 
                                                                psi
                                                          -> <a
                                                          href="http://p_in.in/"
target="_blank" moz-do-not-send="true">p_in.in</a> or p/<a
                                                          href="http://in.in/"
target="_blank" moz-do-not-send="true">in.in</a> or <a
                                                          href="http://lb_in.in/"
target="_blank" moz-do-not-send="true">lb_in.in</a> (yes, slightly
                                                          weird, but
                                                          predictable)</font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif"> </font><br>
                                                          </div>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric units</b><br>
                                                          <font
                                                          face="monospace"> 
                                                                  km :
                                                          km</font><br>
                                                          <font
                                                          face="monospace"> 
                                                               miles : M</font><br>
                                                          <font
                                                          face="monospace"> 
                                                              meters : m</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                feet :
                                                          ft</font><br>
                                                          <font
                                                          face="monospace"> 
                                                             celcius :
                                                          °C</font><br>
                                                          <font
                                                          face="monospace"> 
                                                          fahrenheit :
                                                          °F</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                 kpa :
                                                          kPa</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                  pa :
                                                          Pa</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                 psi :
                                                          psi</font><br>
                                                          <font
                                                          face="monospace"> 
                                                               volts : V</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                amps : A</font><br>
                                                          <font
                                                          face="monospace"> 
                                                            </font>amphours<font
face="monospace"> : Ah</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                  kw :
                                                          kW</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                 kwh :
                                                          kWh</font><br>
                                                          <font
                                                          face="monospace"> 
                                                               watts : W</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           </font>watthours<font
face="monospace"> : Wh</font><br>
                                                          <font
                                                          face="monospace"> 
                                                             seconds :
                                                          Sec</font><br>
                                                          <font
                                                          face="monospace"> 
                                                             minutes :
                                                          Min </font><br>
                                                          <font
                                                          face="monospace"> 
                                                               hours :
                                                          Hour</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                 utc :
                                                          UTC</font><br>
                                                          <font
                                                          face="monospace"> 
                                                             degrees : °</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                kmph :
                                                          km/h</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                </font>miph<font
face="monospace"> : Mph</font><br>
                                                          <font
                                                          face="monospace"> 
                                                              </font>kmphps<font
face="monospace"> : km/h/s</font><br>
                                                          <font
                                                          face="monospace"> 
                                                              </font>miphps<font
face="monospace"> : Mph/s</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                mpss :
                                                          m/s²</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                 dbm :
                                                          dBm</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                  sq :
                                                          sq</font><br>
                                                          <font
                                                          face="monospace"> 
                                                             percent : %</font><br>
                                                          <font
                                                          face="monospace"> 
                                                               whpkm :
                                                          Wh/km</font><br>
                                                          <font
                                                          face="monospace"> 
                                                               </font>whpmi<font
face="monospace"> : Wh/mi</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           kwhp100km :
                                                          kWh/100km</font><br>
                                                          <font
                                                          face="monospace"> 
                                                              </font>kmpkwh<font
face="monospace"> : km/kWh</font><br>
                                                          <font
                                                          face="monospace"> 
                                                              </font>mipkwh<font
face="monospace"> : mi/kWh</font><br>
                                                          <font
                                                          face="monospace"> 
                                                                  nm :
                                                          Nm</font><br>
                                                          <font
                                                          face="monospace"><br>
                                                          <b>OVMS#
                                                          metric unit mi</b><br>
                                                                 miles :
                                                          M<br>
                                                               minutes :
                                                          Min<br>
                                                                  miph :
                                                          Mph<br>
                                                                miphps :
                                                          Mph/s<br>
                                                                 whpmi :
                                                          Wh/mi<br>
                                                                mipkwh :
                                                          mi/kWh</font><br>
                                                          <br>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric get
                                                          xiq.v.trip.consumption<br>
                                                          </b><font
                                                          face="monospace">17.0597kWh/100km</font><br>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric get
                                                          xiq.v.trip.consumption
                                                          kpkwh<br>
                                                          </b><font
                                                          face="monospace">5.86177km/kWh</font><br>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric get
                                                          xiq.v.trip.consumption
                                                          mpkwh<br>
                                                          </b><font
                                                          face="monospace">3.64233mi/kWh</font><br>
                                                          <br>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric set
                                                          xiq.c.speed 5
                                                          miph<br>
                                                          </b><font
                                                          face="monospace">Metric
                                                          set</font><br>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric get
                                                          xiq.c.speed<br>
                                                          </b><font
                                                          face="monospace">8.04673km/h</font><br>
                                                          <b
                                                          style="font-family:monospace">OVMS#
                                                          metric get
                                                          xiq.c.speed
                                                          miph<br>
                                                          </b><font
                                                          face="monospace">5Mph</font><br>
                                                          <br>
                                                          <font
                                                          face="arial,
                                                          sans-serif">And
                                                          then in
                                                          DukTape -
                                                          there are some
                                                          questions I
                                                          have about the
implementation:</font>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif">*
                                                          Names of
                                                          functions?
                                                          Better ideas? </font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif">*
                                                          Should
                                                          ValueUnit
                                                          output the
                                                          units?</font></div>
                                                          <div><font
                                                          face="arial,
                                                          sans-serif">*
                                                          In Value()
                                                          there is the
                                                          line  </font> 
                                                          bool decode =
duk_opt_boolean(ctx, 1, true);</div>
                                                          <div>    *
                                                          What does
                                                          'decode' mean
                                                          here?</div>
                                                          <div>    * Do
                                                          I need it for
                                                          ValueUnit() ?</div>
                                                          <div><br>
                                                          <div><b><br>
                                                          <font
                                                          face="monospace">(function()
                                                          {</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           print(
                                                          OvmsMetrics.Value("xiq.v.trip.consumption"));</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           print("\n")</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           print(
                                                          OvmsMetrics.ValueUnit("xiq.v.trip.consumption",""));</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           print("\n")</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           print(
                                                          OvmsMetrics.ValueUnit("xiq.v.trip.consumption","</font>mipkwh<font
face="monospace">"));</font><br>
                                                          <font
                                                          face="monospace"> 
                                                           print("\n")</font><br>
                                                          <br>
                                                          <font
                                                          face="monospace"> 
                                                           print(
                                                          OvmsMetrics.AsFloatUnit("xiq.v.trip.consumption","</font>kmpkwh<font
face="monospace">"));</font><br>
                                                          <font
                                                          face="monospace">})();</font></b><br>
                                                          <font
                                                          face="monospace">---
                                                          Output ---</font><br>
                                                          <font
                                                          face="monospace">17.0597</font><br>
                                                          <font
                                                          face="monospace">17.0597kWh/100km</font><br>
                                                          <font
                                                          face="monospace">3.64233mi/kWh</font><br>
                                                          <font
                                                          face="monospace">5.86177</font><br>
                                                          <font
                                                          face="monospace">------</font><br>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          <div>The basic
                                                          stuff all
                                                          works - it's
                                                          just quibbling
                                                          over the
                                                          details.. but
                                                          let's get them
                                                          right!</div>
                                                          <div><br>
                                                          </div>
                                                          <div>//.ichael</div>
                                                          </div>
                                                          <br>
                                                          <div
                                                          class="gmail_quote">
                                                          <div dir="ltr"
class="gmail_attr">On Sat, 5 Nov 2022 at 20:09, Michael Geddes <<a
                                                          href="mailto:frog@bunyip.wheelycreek.net"
target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">frog@bunyip.wheelycreek.net</a>>
                                                          wrote:<br>
                                                          </div>
                                                          <blockquote
                                                          class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid
                                                          rgb(204,204,204);padding-left:1ex">
                                                          <div dir="ltr">
                                                          <div>Yeah -
                                                          this was
                                                          copied code
                                                          from kia/kona
                                                          and is what
                                                          triggered
                                                          these ideas; I
                                                          totally agree
                                                          this shouldn't
                                                          be doubled up
                                                          on.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>I've got
                                                          some commits
                                                          centred round
                                                          Metrics that
                                                          I'll just
                                                          check over and
                                                          push up ...
                                                          and then I'll
                                                          just have the
                                                          single <span
                                                          style="font-family:monospace">xiq.v.</span><span
style="font-family:monospace">trip.consumption </span>metric (unless you
                                                          have some
                                                          ideas for the
                                                          namespace)
                                                          which will be
                                                          much neater.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>If it's
                                                          ok with you
                                                          then I might
                                                          do that unit
                                                          conversion
                                                          proposal.</div>
                                                          <div>Would it
                                                          ok if the unit
                                                          specifications
                                                          were the same
                                                          as to the
                                                          programatic codes
                                                          in
                                                          ovms_metrics.h?</div>
                                                          <div>(kWh, 
                                                           WattHours
                                                          , MetersPSS ) </div>
                                                          <div>I would
                                                          probably add a
                                                          command</div>
                                                          <div><font
                                                          face="monospace">metric
                                                          units</font>
                                                          <spec> <br>
                                                          </div>
                                                          <div>to list
                                                          all (matching)
                                                          units and
                                                          their
                                                          associated
                                                          Labels.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>//.ichael </div>
                                                          <div><br>
                                                          </div>
                                                          <div
                                                          class="gmail_quote">
                                                          <div dir="ltr"
class="gmail_attr">On Sat, 5 Nov 2022 at 18:48, Michael Balzer <<a
                                                          href="mailto:dexter@expeedo.de"
target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">dexter@expeedo.de</a>>
                                                          wrote:<br>
                                                          </div>
                                                          <blockquote
                                                          class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid
                                                          rgb(204,204,204);padding-left:1ex">
                                                          <div> Michael,<br>
                                                          <br>
                                                          adding unit
                                                          conversion
                                                          support to the
                                                          shell and
                                                          Duktape
                                                          commands is a
                                                          good idea.<br>
                                                          <br>
                                                          Metrics are
                                                          not meant to
                                                          provide a user
                                                          interface,
                                                          they should be
                                                          defined to be
                                                          efficient and
                                                          non-redundant.<br>
                                                          <br>
                                                          Btw, metrics
                                                          names also
                                                          shall not use
                                                          upper case
                                                          characters,
                                                          and shall only
                                                          use "." as a
                                                          separator.<br>
                                                          <br>
                                                          Regards,<br>
                                                          Michael<br>
                                                          <br>
                                                          <br>
                                                          <div>Am
                                                          05.11.22 um
                                                          11:22 schrieb
                                                          Michael
                                                          Geddes:<br>
                                                          </div>
                                                          <blockquote
                                                          type="cite">
                                                          <div dir="ltr">Hi
                                                          all,<br>
                                                          <div>Some of
                                                          the code I
                                                          copied from
                                                          Kona/Kia code
                                                          had both
                                                          kwh/100km and
                                                          km/kwh metrics
                                                          in the code as
                                                          'Other'. </div>
                                                          <div>Adding
                                                          the various
                                                          power
                                                          consumption
                                                          Units is not
                                                          particularly
                                                          hard (I will
                                                          have a
                                                          pull-request
                                                          soon) - though
                                                          the
                                                          conversions
                                                          between them
                                                          all required
                                                          some thought!</div>
                                                          <div>... but
                                                          it also made
                                                          me think these
                                                          two metrics
                                                          that are (with
                                                          the
                                                          consumption
                                                          units added)
                                                          defined like
                                                          this:  </div>
                                                          <div><font
                                                          face="monospace">m_v_trip_consumption1
                                                          =
                                                          MyMetrics.InitFloat("xiq.v.trip.consumption.KWh/100km",
                                                          10, 0,
                                                          kWHP100K);<br>
m_v_trip_consumption2 = MyMetrics.InitFloat("<a
                                                          href="http://xiq.v.trip.consumption.km/kWh"
target="_blank" moz-do-not-send="true">xiq.v.trip.consumption.km/kWh</a>",
                                                          10, 0, kPkWH);<br>
                                                          </font></div>
                                                          <div><br>
                                                          </div>
                                                          <div>These are
                                                          effectively
                                                          the same
                                                          metric but in
                                                          different
                                                          units!</div>
                                                          <div>I'm
                                                          wondering if
                                                          we would be
                                                          better to have
                                                          scripting and
                                                          Duktape
                                                          support for
                                                          converting
                                                          metrics to
                                                          different
                                                          unit!  This
                                                          might be also
                                                          quite useful
                                                          for those
                                                          strange
                                                          countries that
                                                          insist on
                                                          using miles as
                                                          a measurement.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>On top of
                                                          the 'metric
                                                          list' and
                                                          'metric set'
                                                          we could add a
                                                          'metric get'
                                                          which gets a
                                                          single value..
                                                          and add unit
                                                          support for
                                                          get/set.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>I've also
                                                          got a pull
                                                          request that
                                                          improves the
                                                          precision of
                                                          the
                                                          km<->mi
                                                          conversions
                                                          and factors it
                                                          out.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>//.ichael</div>
                                                          </div>
                                                          <br>
                                                          <fieldset></fieldset>
                                                          <pre>_______________________________________________
OvmsDev mailing list
<a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
<a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                                                          </blockquote>
                                                          <br>
                                                          <pre cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
                                                          </div>
_______________________________________________<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>
                                                          </blockquote>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                        </div>
                                                        <br>
                                                        <fieldset></fieldset>
                                                        <pre>_______________________________________________
OvmsDev mailing list
<a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
<a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                                                      </blockquote>
                                                      <br>
                                                      <pre cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
                                                    </div>
_______________________________________________<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>
                                                  </blockquote>
                                                </div>
                                              </div>
                                              <br>
                                              <fieldset></fieldset>
                                              <pre>_______________________________________________
OvmsDev mailing list
<a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
<a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                                            </blockquote>
                                            <br>
                                            <pre cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
                                          </div>
                                        </div>
                                      </div>
                                      <br>
                                    </div>
                                  </div>
                                </blockquote>
                              </div>
                              <br>
                            </div>
_______________________________________________<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>
                          </blockquote>
                        </div>
                      </blockquote>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <pre>_______________________________________________
OvmsDev mailing list
<a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
<a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                  </blockquote>
                  <br>
                  <pre cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
                </div>
                _______________________________________________<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>
              </blockquote>
            </div>
          </div>
        </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>