<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">Ok. Will do.</div><div dir="ltr"><br></div><div dir="ltr">Now you remind me, bms looks good on iPhone:</div><div dir="ltr"><br></div><div dir="ltr"><img src="cid:8DC499F5-8E04-49C3-AC9B-F2DAF70B176B" alt="image1.jpeg" id="8DC499F5-8E04-49C3-AC9B-F2DAF70B176B"></div><div dir="ltr"><br>On 17 Nov 2018, at 6:08 PM, Michael Balzer <<a href="mailto:dexter@expeedo.de">dexter@expeedo.de</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  
  
    Yes, you can add a new menu to PageMenu_t like that. I suggest
    introducing a general tools menu instead of a specific one, i.e.
    "PageMenu_Tools".<br>
    <br>
    To still fit the menu on one line in tablet mode (width down to 768
    px) I suggest moving the Shell into the tools menu then.<br>
    <br>
    Go ahead, I'm not working on the web framework at the moment.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 17.11.18 um 10:48 schrieb Mark
      Webb-Johnson:<br>
    </div>
    <blockquote type="cite" cite="mid:E46F474B-C515-454C-B011-7916A84BBA87@webb-johnson.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Twizy code overrides the virtual short name function, so won’t
      suffer the issue.
      <div class=""><br class="">
      </div>
      <div class="">I think it is a bug in vehicle factory (as modifying
        the vehicle type is reasonable), so fixed it there. Returning
        NULL is problematic. It would be so much easier for everything
        to return std::string, but concern is memory consumption and
        overhead.</div>
      <div class=""><br class="">
      </div>
      <div class="">I’d like to start converting RE TOOLS to just use
        the web server. First step is to work out how to add a menu onto
        the web server. It seems that the PageMenu_t is a fixed enum
        list (and similarly hard-coded in the web_framework.</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">Do I just add a ‘CAN bus’ menu there, by adding it
          to PageMenu_t, and supporting it where the other top level
          menus are? Or do you have any other suggestions/plans for
          this?</div>
        <div class=""><br class="">
        </div>
        <div class="">I don’t want to step on anything you are working
          on here.</div>
      </blockquote>
      <div class="">
        <div><br class="">
        </div>
        <div>The second stage will be to add displays under that, but I
          think that is fairly straight forward. I will mostly be
          displaying tables, and sending those over the web socket would
          be good.</div>
        <div><br class="">
        </div>
        <div>Regards, Mark</div>
        <div><br class="">
          <blockquote type="cite" class="">
            <div class="">On 17 Nov 2018, at 5:37 PM, Michael Balzer
              <<a href="mailto:dexter@expeedo.de" class="" moz-do-not-send="true">dexter@expeedo.de</a>> wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div text="#000000" bgcolor="#FFFFFF" class=""> Mark,<br class="">
                <br class="">
                nice, thanks.<br class="">
                <br class="">
                The short name is used for the menu label. It's meant to
                fall back to the long name (and seems to do so in your
                screenshot), so should not be null. But I admit I
                haven't tested it on a vehicle without a short name.<br class="">
                <br class="">
                Btw, I'm currently working on the deviations and alerts.<br class="">
                <br class="">
                Regards,<br class="">
                Michael<br class="">
                <br class="">
                <br class="">
                <div class="moz-cite-prefix">Am 17.11.18 um 10:08
                  schrieb Mark Webb-Johnson:<br class="">
                </div>
                <blockquote type="cite" cite="mid:096E607E-ADE6-4780-BB70-C8E5B8A7AC2D@webb-johnson.net" class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=UTF-8" class="">
                  Michael,
                  <div class=""><br class="">
                  </div>
                  <div class="">Looks good. It seems that you did
                    everything necessary for the Model S already in your
                    commit 2a84d861403f48142d6adcc16ad7a20cd458e427:</div>
                  <div class=""><br class="">
                  </div>
                  <blockquote style="margin: 0 0 0 40px; border: none;
                    padding:
 0px;" class="">
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">#include
                          “ovms_webserver.h"</span></font></div>
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""><br class="">
                        </span></font></div>
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">OvmsVehicleTeslaModelS::OvmsVehicleTeslaModelS()</span></font></div>
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">MyWebServer.RegisterPage("/bms/cellmon",
                          "BMS cell monitor",
                          OvmsWebServer::HandleBmsCellMonitor,
                          PageMenu_Vehicle, PageAuth_Cookie);</span></font></div>
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""><br class="">
                        </span></font></div>
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">OvmsVehicleTeslaModelS::~OvmsVehicleTeslaModelS()</span></font></div>
                    <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">MyWebServer.DeregisterPage("/bms/cellmon");</span></font></div>
                  </blockquote>
                  <div class=""><br class="">
                  </div>
                  <div class="">From my devbench, replaying a CAN CRTD
                    log file, I get this output:<br class="">
                    <div class=""><br class="">
                    </div>
                    <div class=""><span id="cid:part1.478CBE5C.50A27CA9@expeedo.de"><PastedGraphic-2.png></span></div>
                    <div class=""><br class="">
                    </div>
                    <div class="">The animation is very nice.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">I am, however, getting crashes, as
                      follows:</div>
                  </div>
                  <div class="">
                    <div class=""><br class="">
                    </div>
                  </div>
                  <blockquote style="margin: 0 0 0 40px; border: none;
                    padding:
 0px;" class="">
                    <div class="">
                      <div class="">
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">#
                              xtensa-esp32-elf-addr2line -pfiaC -e
                              3.1.011-25-g2a84d86.ovms3.elf 0x400935d3
                              0x4009372b 0x400db90c 0x4012c0f7
                              0x4012d0e1 0x4012d1e0 0x4012ebc1
                              0x4012ecbd 0x400f8b65 0x400f912d
                              0x400fa27c 0x400fa29a 0x400f8b65
                              0x400fa3e3 0x400fa7ad 0x400faa77
                              0x400f767e 0x400ee40a 0x400ee459</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400935d3:
                              invoke_abort at
                              /home/openvehicles/build/esp-idf/components/esp32/panic.c:670</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x4009372b:
                              abort at
/home/openvehicles/build/esp-idf/components/esp32/panic.c:670</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400db90c:
                              __cxx_fatal_exception_message at
/home/openvehicles/build/esp-idf/components/cxx/cxx_exception_stubs.cpp:19</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x4012c0f7:
                              void std::__cxx11::basic_string<char,
                              std::char_traits<char>,
                              std::allocator<char>
                              >::_M_construct<char const*>(char
                              const*, char const*,
                              std::forward_iterator_tag) at
/home/openvehicles/build/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.tcc:216</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""> (inlined
                              by) void
                              std::__cxx11::basic_string<char,
                              std::char_traits<char>,
                              std::allocator<char>
                              >::_M_construct_aux<char
                              const*>(char const*, char const*,
                              std::__false_type) at
/home/openvehicles/build/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:195</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""> (inlined
                              by) void
                              std::__cxx11::basic_string<char,
                              std::char_traits<char>,
                              std::allocator<char>
                              >::_M_construct<char const*>(char
                              const*, char const*) at
/home/openvehicles/build/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:214</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""> (inlined
                              by) std::__cxx11::basic_string<char,
                              std::char_traits<char>,
                              std::allocator<char>
                              >::basic_string(char const*,
                              std::allocator<char> const&) at
/home/openvehicles/build/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:457</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x4012d0e1:
OvmsWebServer::CreateMenu[abi:cxx11](PageContext&) at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/ovms_webserver/src/web_framework.cpp:393</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x4012d1e0:
                              OvmsWebServer::HandleRoot(PageEntry&,
                              PageContext&) at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/ovms_webserver/src/web_framework.cpp:510</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x4012ebc1:
                              PageEntry::Serve(PageContext&) at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/ovms_webserver/src/ovms_webserver.cpp:558</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x4012ecbd:
OvmsWebServer::EventHandler(mg_connection*, int, void*) at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/ovms_webserver/src/ovms_webserver.cpp:558</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400f8b65:
                              mg_call at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400f912d:
                              mg_http_call_endpoint_handler at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400fa27c:
                              mg_http_handler2 at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400fa29a:
                              mg_http_handler at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400f8b65:
                              mg_call at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400fa3e3:
                              mg_recv_common at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400fa7ad:
                              mg_if_recv_tcp_cb at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""> (inlined
                              by) mg_handle_tcp_read at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:3723</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class=""> (inlined
                              by) mg_mgr_handle_conn at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:3844</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400faa77:
                              mg_socket_if_poll at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400f767e:
                              mg_mgr_poll at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:1701</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400ee40a:
                              OvmsNetManager::MongooseTask() at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/main/ovms_netmanager.cpp:560</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">0x400ee459:
                              MongooseRawTask(void*) at
/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/main/ovms_netmanager.cpp:545</span></font></div>
                      </div>
                    </div>
                  </blockquote>
                  <div class="">
                    <div class=""><br class="">
                    </div>
                    <div class="">On my development bench module I get
                      this crash 1 in 4 times or so. On my real car,
                      100% of the time.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">That code path leads
                      into MyVehicleFactory.ActiveVehicleShortName().
                      Those should all be ‘const char*’, but it is
                      possible for NULL to be returned. I will look into
                      it in more detail.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">Regards, Mark.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">
                      <blockquote type="cite" class="">
                        <div class="">On 17 Nov 2018, at 7:35 AM,
                          Michael Balzer <<a href="mailto:dexter@expeedo.de" class="" moz-do-not-send="true">dexter@expeedo.de</a>>
                          wrote:</div>
                        <br class="Apple-interchange-newline">
                        <div class="">
                          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
                          <div text="#000000" bgcolor="#FFFFFF" class="">
                            Mark, Tamás,<br class="">
                            <br class="">
                            I haven't had the time yet to take care of
                            the stddev port, but I've just added the
                            generalized web UI.<br class="">
                            <br class="">
                            Please see git log for details and send some
                            screenshots.<br class="">
                            <br class="">
                            Regards,<br class="">
                            Michael<br class="">
                            <br class="">
                            <br class="">
                            <div class="moz-cite-prefix">Am 11.11.18 um
                              16:47 schrieb Mark Webb-Johnson:<br class="">
                            </div>
                            <blockquote type="cite" cite="mid:C4AAA14F-A53C-47E7-AB38-DC5437F14037@webb-johnson.net" class="">
                              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
                              OK. I spent some time on this today, and
                              sent in a first draft (as a bunch of
                              extensions to vehicle.{h, cpp}). I
                              migrated the Tesla Model S code to use it,
                              and support came down to just a few simple
                              lines of code.
                              <div class=""><br class="">
                              </div>
                              <div class="">For the moment, I dropped
                                the idea of ‘readingsperrow’, as I think
                                that is Tesla Model S specific, and not
                                really necessary. Purely presentational.</div>
                              <div class=""><br class="">
                              </div>
                              <div class="">c++ std::bitset is fixed
                                size, so that doesn’t work for us. The
                                std::vector<bool> seems a workable
                                alternative, but I am not really happy
                                with using std::find as a way of looking
                                to see if we have everything. It works
                                as it is, but is not very optimal. It
                                seems there should be a better way of
                                doing that. I think it is a pretty key
                                feature, given the broadcast nature of
                                the buses, to help the vehicle module
                                know when it has a set of data ready to
                                commit to metrics, so will need to think
                                about this some more.</div>
                              <div class=""><br class="">
                              </div>
                              <div class="">I also implemented min and
                                max, for voltages and temperatures. They
                                went in cleanly. Haven’t tackled stddev
                                yet (or the watchers/alerts, overall
                                aggregates, etc). There is a very basic
                                ‘bms status’ command implemented.</div>
                              <div class=""><br class="">
                              </div>
                              <div class="">Let me know what you think
                                of it.</div>
                              <div class=""><br class="">
                              </div>
                              <div class="">Regards, Mark</div>
                              <div class=""><br class="">
                                <div class="">
                                  <blockquote type="cite" class="">
                                    <div class="">On 11 Nov 2018, at
                                      5:11 PM, Michael Balzer <<a href="mailto:dexter@expeedo.de" class="" moz-do-not-send="true">dexter@expeedo.de</a>>
                                      wrote:</div>
                                    <br class="Apple-interchange-newline">
                                    <div class="">
                                      <meta http-equiv="Content-Type" content="text/html;
                                        charset=UTF-8" class="">
                                      <div text="#000000" bgcolor="#FFFFFF" class="">
                                        Mark,<br class="">
                                        <br class="">
                                        yes, .min & .max are the
                                        minimum and maximum readings
                                        seen since last battery monitor
                                        reset. The reset should be
                                        available as…<br class="">
                                        <ul class="">
                                          <li class="">OvmsVehicle::ResetCellStats();</li>
                                          <li class="">Command: "vehicle
                                            bms reset" …or just "bms
                                            reset" as we also have other
                                            vehicle commands on the root
                                            level?<br class="">
                                          </li>
                                        </ul>
                                        On the Twizy I do an auto reset
                                        each time the vehicle is turned
                                        on and each time a charge
                                        starts, but that behaviour
                                        should be controllable by the
                                        vehicle / user.<br class="">
                                        <br class="">
                                        <br class="">
                                        There's additionally the overall
                                        { .stddev, .avg } on voltages
                                        and temperatures of the pack.
                                        These and the cell level
                                        statistics can be calculated by
                                        the framework, so the vehicle
                                        simply needs to provide the
                                        readings. The framework needs to
                                        provide a way to reset the
                                        readings completion bitset, i.e.<br class="">
                                        <ul class="">
                                          <li class="">OvmsVehicle::RestartCellVoltages();</li>
                                          <li class="">OvmsVehicle::RestartCellTemperatures();</li>
                                        </ul>
                                        …as sometimes readings get lost,
                                        and adding new to the previous
                                        readings may lead to an
                                        inconsistent view leading to
                                        wrong standard deviation.<br class="">
                                        <br class="">
                                        <br class="">
                                        Speaking of standard deviation,
                                        the framework should also
                                        provide warnings and alerts
                                        flags. On the Twizy it does so
                                        by checking deviation
                                        thresholds, and there's a
                                        general stddev warn & alert
                                        threshold to detect overall
                                        condition and two alert
                                        thresholds on the cell level,
                                        one for normal stddev and one
                                        for stddev alert mode. Warning
                                        flags on the cell level are set
                                        when the cell deviation is above
                                        stddev. On the Twizy these
                                        thresholds are currently fixed
                                        to…<br class="">
                                        <blockquote class=""><tt class="">// Battery
                                            cell/cmod deviation alert
                                            thresholds:</tt><br class="">
                                          <tt class="">#define
                                            BATT_DEV_TEMP_ALERT        
                                            3       // = 3 °C</tt><br class="">
                                          <tt class="">#define
                                            BATT_DEV_VOLT_ALERT        
                                            6       // = 30 mV</tt><br class="">
                                          <br class="">
                                          <tt class="">// ...thresholds
                                            for overall stddev:</tt><br class="">
                                          <tt class="">#define
                                            BATT_STDDEV_TEMP_WATCH     
                                            2       // = 2 °C</tt><br class="">
                                          <tt class="">#define
                                            BATT_STDDEV_TEMP_ALERT     
                                            3       // = 3 °C</tt><br class="">
                                          <tt class="">#define
                                            BATT_STDDEV_VOLT_WATCH     
                                            3       // = 15 mV</tt><br class="">
                                          <tt class="">#define
                                            BATT_STDDEV_VOLT_ALERT     
                                            5       // = 25 mV</tt><br class="">
                                        </blockquote>
                                        …these are good defaults for the
                                        Twizy 43 Ah pouch cells, but may
                                        be too low for an 18650 pack,
                                        and will especially not fit
                                        cheap LFP type cells. So these
                                        should be configurable, i.e.<br class="">
                                        <ul class="">
                                          <li class="">vehicle
                                            bms.dev.temp.alert [°C]</li>
                                          <li class="">vehicle
                                            bms.dev.voltage.alert [V]</li>
                                          <li class="">vehicle
                                            bms.stddev.temp.watch [°C]</li>
                                          <li class="">vehicle
                                            bms.stddev.temp.alert [°C]</li>
                                          <li class="">vehicle
                                            bms.stddev.voltage.watch [V]</li>
                                          <li class="">vehicle
                                            bms.stddev.voltage.alert [V]</li>
                                        </ul>
                                        I can generalize the Twizy code
                                        for all of this.<br class="">
                                        <br class="">
                                        <br class="">
                                        The Twizy battery monitoring
                                        command set is:<br class="">
                                        <blockquote class=""><tt class="">OVMS# xrt batt ?</tt><br class="">
                                          <tt class="">data-cell           
                                            Output cell record</tt><br class="">
                                          <tt class="">data-pack           
                                            Output pack record</tt><br class="">
                                          <tt class="">reset               
                                            Reset alerts & watches</tt><br class="">
                                          <tt class="">status              
                                            Status report</tt><br class="">
                                          <tt class="">tdev                
                                            Show temperature deviations</tt><br class="">
                                          <tt class="">temp                
                                            Show temperatures</tt><br class="">
                                          <tt class="">vdev                
                                            Show voltage deviations</tt><br class="">
                                          <tt class="">volt                
                                            Show voltages</tt><br class="">
                                        </blockquote>
                                        The "data" commands provide the
                                        server historical records
                                        output. The other commands
                                        originate from the V2 and have
                                        been designed to keep the output
                                        within the SMS msg size limit.<br class="">
                                        <br class="">
                                        "status" gives an operative
                                        overview of the standard and max
                                        deviation levels of cells with
                                        warning or alert status. "volt",
                                        "vdev", "temp" and "tdev" show
                                        all cells.<br class="">
                                        <br class="">
                                        The Twizy generates a battery
                                        alert notification from the
                                        "status" output whenever some
                                        cell alert flag is set.<br class="">
                                        <br class="">
                                        <br class="">
                                        The Twizy server records also
                                        originate from the V2 limits,
                                        and can now better be changed to
                                        vectors. I've just finished a
                                        virtual dynamometer on the
                                        Twizy, sending a vector metric
                                        to the server is just a matter
                                        of…<br class="">
                                        <blockquote class=""><tt class="">std::string msg =
                                            "RT-ENG-MotTrqDrv,0,86400,";</tt><br class="">
                                          <tt class="">msg.append(m_mon.m_mot_torque_drv->AsString());</tt><br class="">
                                          <tt class="">MyNotify.NotifyString("data",
                                            "xrt.pwr.mon", msg.c_str());</tt><br class="">
                                        </blockquote>
                                        Neat.<br class="">
                                        <br class="">
                                        The Twizy sends server records
                                        once per minute during
                                        drive/charge. The server update
                                        frequency should become tunable
                                        as well, as that would be a lot
                                        of additional data volume on
                                        large packs.<br class="">
                                        <br class="">
                                        <br class="">
                                        The Twizy layout may be either…<br class="">
                                        <ul class="MailOutline">
                                          <li class="">14 cell groups in
                                            the pack</li>
                                          <li class="">2 cell groups in
                                            each module</li>
                                          <li class="">7 modules in the
                                            pack</li>
                                          <li class="">Each cell group
                                            has 1 voltage measurement
                                            (so, 14 individual voltage
                                            measurements)</li>
                                          <li class="">Each module has 1
                                            temperature measurements
                                            (so, 7 individual
                                            temperature measurements)</li>
                                          <li class="">That means:</li>
                                          <ul class="">
                                            <li class="">OvmsVehicle::SetCellArrangementVoltage(14,
                                              2,  7)</li>
                                            <li class="">OvmsVehicle::SetCellArrangementTemperature(7,
                                              1, 7)</li>
                                          </ul>
                                        </ul>
                                        <p class="">…for the original
                                          battery, or for an LFP type
                                          replacement…</p>
                                        <ul class="MailOutline">
                                          <li class="">16 cell groups in
                                            the pack</li>
                                          <li class="">16 cell groups in
                                            each module</li>
                                          <li class="">1 module in the
                                            pack</li>
                                          <li class="">Each cell group
                                            has 1 voltage measurement
                                            (so, 16 individual voltage
                                            measurements)</li>
                                          <li class="">Each module has 3
                                            temperature measurements
                                            (so, 3 individual
                                            temperature measurements)</li>
                                          <li class="">That means:</li>
                                          <ul class="">
                                            <li class="">OvmsVehicle::SetCellArrangementVoltage(16,
                                              16,  8)</li>
                                            <li class="">OvmsVehicle::SetCellArrangementTemperature(3,
                                              3, 3)</li>
                                          </ul>
                                        </ul>
                                        <br class="">
                                        Regards,<br class="">
                                        Michael<br class="">
                                        <br class="">
                                        <br class="">
                                        <div class="moz-cite-prefix">Am
                                          11.11.18 um 08:10 schrieb Mark
                                          Webb-Johnson:<br class="">
                                        </div>
                                        <blockquote type="cite" cite="mid:88AF6B7B-37D7-4698-97CD-43B6E481DBF0@webb-johnson.net" class="">
                                          <meta http-equiv="Content-Type" content="text/html;
                                            charset=UTF-8" class="">
                                          Looking at the discussion with
                                          Michael back in May, we came
                                          to some conclusions for this.
                                          I was happy back then with
                                          using ‘cell’ rather than
                                          ‘module’ as the naming,
                                          because (a) we are talking
                                          about cell/brick/module level
                                          here, not pack, and (b) it is
                                          shorter. It seems that the
                                          twizy has:
                                          <div class=""><br class="">
                                          </div>
                                          <blockquote style="margin: 0 0
                                            0 40px;
 border:
                                            none;
 padding:

                                            0px;" class="">
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class="">xrt.b.cell.01.volt.act                  
                                                3.995V</tt><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><br class="">
                                              </tt><tt style="background-color:

                                                rgb(255, 255,

                                                255);" class="">xrt.b.cell.01.volt.max                  
                                                4.12V</tt><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><br class="">
                                              </tt><tt style="background-color:

                                                rgb(255, 255,

                                                255);" class="">xrt.b.cell.01.volt.maxdev               
                                                0.01V</tt><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><br class="">
                                              </tt><tt style="background-color:

                                                rgb(255, 255,

                                                255);" class="">xrt.b.cell.01.volt.min                  
                                                3.795V</tt><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><br class="">
                                              </tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class="">...</tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class="">xrt.b.cell.cnt                          
                                                14</tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class="">...</tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><tt class="">xrt.b.cmod.01.temp.act                  
                                                  17°C</tt><tt class=""><br class="">
                                                </tt><tt class="">xrt.b.cmod.01.temp.max                  
                                                  23°C</tt><tt class=""><br class="">
                                                </tt><tt class="">xrt.b.cmod.01.temp.maxdev               
                                                  1°C</tt><tt class=""><br class="">
                                                </tt><tt class="">xrt.b.cmod.01.temp.min                  
                                                  16°C</tt></tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><tt class="">...</tt></tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><tt class="">xrt.b.cmod.cnt                          
                                                  7</tt></tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><tt class="">...</tt></tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><tt class=""><tt class="">xrt.b.pack.1.temp.alerts</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.temp.max                   
                                                    23°C</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.temp.min                   
                                                    16°C</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.temp.stddev.max            
                                                    1°C</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.temp.watches</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.volt.alerts</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.volt.max                   
                                                    57.6V</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.volt.min                   
                                                    52.8V</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.volt.stddev.max            
                                                    0.005V</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.1.volt.watches               
                                                    1,2,4,5,6,7,11,12,14</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.pack.cnt                          
                                                    1</tt></tt></tt></div>
                                            <div class=""><tt style="background-color:

                                                rgb(255,
 255,
                                                255);" class=""><tt class=""><tt class="">...<br class="">
                                                  </tt><tt class="">xrt.b.soc.max                           
                                                    100%</tt><tt class=""><br class="">
                                                  </tt><tt class="">xrt.b.soc.min                           
                                                    69.78%</tt></tt></tt></div>
                                          </blockquote>
                                          <div class="">
                                            <div class=""><br class="">
                                            </div>
                                            <div class="">Trying to come
                                              up with a standard
                                              representation for this
                                              (so everyone can use a
                                              shared library, and share
                                              output displays), that
                                              works across all
                                              vehicles... Assuming we
                                              have one-dimensional
                                              arrays for different types
                                              of measurement (for
                                              voltage, temperature,
                                              etc), measurements are
                                              taken at the group of
                                              cells level (with perhaps
                                              different groupings for
                                              different readings), and
                                              aggregations/limits being
                                              automatically calculated,
                                              I think this has:</div>
                                            <div class=""><br class="">
                                            </div>
                                            <div class="">
                                              <ol class="MailOutline">
                                                <li class="">v.b.c.voltage<br class="">
                                                  <br class="">
                                                  Vector<float>
                                                  metric type array of
                                                  voltage measurements<br class="">
                                                  <br class="">
                                                </li>
                                                <li class="">v.b.c.temp<br class="">
                                                  <br class="">
                                                  Vector<float>
                                                  metric type array of
                                                  temperature
                                                  measurements<br class="">
                                                  <br class="">
                                                </li>
                                                <li class="">Aggregations
                                                  / limits<br class="">
                                                  <br class="">
                                                  We could have
                                                  v.b.c.voltage.min,
                                                  v.b.c.voltage.max,
                                                  v.b.c.voltage.maxdev,
                                                  v.b.c.temp.min,
                                                  v.b.c.temp.max, and
                                                  v.b.c.temp.maxdev if
                                                  we wanted to store
                                                  these. Presumably they
                                                  could be automatically
                                                  calculated? I am
                                                  guessing ‘min’ is the
                                                  minimal value seen,
                                                  and ‘max’ the maximum?<br class="">
                                                  <br class="">
                                                </li>
                                                <li class="">Setting as
                                                  a batch<br class="">
                                                  <br class="">
                                                  The way I’ve
                                                  implemented the Model
                                                  S is to keep a bitmap
                                                  of values set. For
                                                  example, say we have
                                                  32 cell voltage
                                                  measurements. Every
                                                  time we set a voltage
                                                  measurement, we set
                                                  the appropriate bit.
                                                  When the bitmap is
                                                  full, zero the bitmap,
                                                  then set the metric in
                                                  bulk (setting the
                                                  entire vector). That
                                                  seems to work well for
                                                  Model S at least. The
                                                  aggregations/limits
                                                  would be calculated
                                                  (and set) when the
                                                  batch is ready. I
                                                  suggest something
                                                  like:<br class="">
                                                  <br class="">
                                                </li>
                                                <ul class="">
                                                  <li class="">OvmsVehicle::SetCellVoltage(int
                                                    index, float value);</li>
                                                  <li class="">OvmsVehicle::SetCellTemperature(int
                                                    index, float value);<br class="">
                                                    <br class="">
                                                  </li>
                                                </ul>
                                                <li class="">Arrangement<br class="">
                                                  <br class="">
                                                  My thinking is that
                                                  the count of
                                                  measurements available
                                                  can be defined when
                                                  the module
                                                  initialises. We can
                                                  also simply count the
                                                  size of the vectors,
                                                  to know that. The
                                                  issue is the
                                                  cell/brick/module/pack
                                                  arrangement; How many
                                                  voltage or temperature
                                                  measurements per
                                                  module, how many
                                                  modules in the pack,
                                                  etc. I think we need
                                                  to tell the system (a)
                                                  the number of readings
                                                  expected, (b) the
                                                  number of readings per
                                                  module, and (c) a hint
                                                  to say how many
                                                  readings to show per
                                                  row. I suggest
                                                  something like:<br class="">
                                                  <br class="">
                                                </li>
                                                <ul class="">
                                                  <li class="">OvmsVehicle::SetCellArrangementVoltage(int
                                                    readings, int
                                                    readingspermodule,
                                                    int readingsperrow)</li>
                                                  <li class="">OvmsVehicle::SetCellArrangementTemperature(int
                                                    readings, int
                                                    readingspermodule,
                                                    int readingsperrow)<br class="">
                                                    <br class="">
                                                  </li>
                                                </ul>
                                                <li class="">Commands<br class="">
                                                  <br class="">
                                                  Once the above is
                                                  defined we can have a
                                                  ‘vehicle bms status’
                                                  command to show the
                                                  status (like the Tesla
                                                  Model S one shown
                                                  here, albeit more
                                                  polished):</li>
                                              </ol>
                                            </div>
                                            <div class=""><br class="">
                                            </div>
                                          </div>
                                          <blockquote style="margin: 0 0
                                            0 40px;
 border:
                                            none;
 padding:

                                            0px;" class="">
                                            <div class="">
                                              <div class="">
                                                <div class=""> <font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">
                                                       -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 1
                                                      | 3.981 V | 3.981
                                                      V | 3.981 V | 29.5
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.981
                                                      V | 3.981 V | 30.3
                                                      C Max</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 2
                                                      | 3.981 V | 3.981
                                                      V | 3.982 V | 29.4
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.981
                                                      V | 3.981 V | 29.8
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 3
                                                      | 3.982 V | 3.982
                                                      V | 3.981 V | 29.1
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.981
                                                      V | 3.982 V | 29.7
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 4
                                                      | 3.982 V | 3.982
                                                      V | 3.982 V | 28.9
                                                      C Min</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.982
                                                      V | 3.982 V | 29.7
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 5
                                                      | 3.982 V | 3.982
                                                      V | 3.982 V | 29.0
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.981
                                                      V | 3.981 V | 29.6
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 6
                                                      | 3.982 V | 3.982
                                                      V | 3.982 V | 29.3
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.982
                                                      V | 3.982 V | 29.6
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 7
                                                      | 3.981 V | 3.981
                                                      V | 3.981 V | 29.0
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.981
                                                      V | 3.981 V | 29.6
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 8
                                                      | 3.982 V | 3.983
                                                      V | 3.982 V | 29.2
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.983 V | 3.982
                                                      V | 3.982 V | 29.9
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 9
                                                      | 3.982 V | 3.982
                                                      V | 3.981 V | 30.0
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.981
                                                      V | 3.981 V | 29.7
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">10
                                                      | 3.979 V | 3.980
                                                      V | 3.979 V | 29.1
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.980 V | 3.979
                                                      V | 3.979 V | 29.8
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">11
                                                      | 3.980 V | 3.981
                                                      V | 3.981 V | 29.1
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.981
                                                      V | 3.981 V | 29.4
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">12
                                                      | 3.981 V | 3.982
                                                      V | 3.981 V | 29.1
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.981 V | 3.981
                                                      V | 3.982 V | 29.3
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">13
                                                      | 3.982 V | 3.983
                                                      V | 3.982 V | 28.9
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.982
                                                      V | 3.982 V | 29.4
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">14
                                                      | 3.981 V | 3.982
                                                      V | 3.982 V | 29.3
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.982
                                                      V | 3.982 V | 29.5
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">15
                                                      | 3.981 V | 3.982
                                                      V | 3.981 V | 29.6
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.981
                                                      V | 3.981 V | 29.9
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class="">16
                                                      | 3.982 V | 3.982
                                                      V | 3.982 V | 29.5
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       | 3.982 V | 3.981
                                                      V | 3.981 V | 29.8
                                                      C</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
 -------------------------------</span></font></div>
                                                <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                      14px;" class=""> 
                                                       Tmin: 28.9  Tmax:
                                                      30.3  Vmax: 3.983
                                                       Vmin: 3.979
                                                       Vmax-Vmin: 0.003
                                                       Vtot: 382.23</span></font></div>
                                              </div>
                                            </div>
                                            <div class=""><font class="" face="Andale Mono"><span style="font-size:
                                                  14px;" class=""><br class="">
                                                </span></font></div>
                                            <div class="">Another
                                              variant of this display
                                              would be:</div>
                                            <div class=""><br class="">
                                            </div>
                                            <div class="">
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class=""> 1 |
                                                    3.981 V | 3.981 V |
                                                    3.981 V | </span></font><span style="font-family:

 "Andale
 Mono";

                                                  font-size: 14px;" class="">3.981 V |
                                                  3.981 V | 3.981 V </span><font class="" face="Andale

                                                  Mono"><span style="font-size:
                                                    14px;" class="">|
                                                    29.5 C. </span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">30.3 C
                                                  Max |</span></div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class=""> 2 |
                                                    3.981 V | 3.981 V |
                                                    3.982 V | </span></font><span style="font-family:

 "Andale
 Mono";

                                                  font-size: 14px;" class="">3.981 V |
                                                  3.981 V | 3.981 V | </span><font class="" face="Andale

                                                  Mono"><span style="font-size:
                                                    14px;" class="">29.4
                                                    C  </span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">29.8 C
                                                      |</span></div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><span style="font-size:

                                                  14px;

                                                  font-family:


                                                  "Andale
                                                  Mono";" class=""> 3
                                                  | 3.982 V | 3.982 V |
                                                  3.981 V | </span><span style="font-family:
 "Andale

 Mono";

                                                  font-size: 14px;" class="">3.981 V |
                                                  3.981 V | 3.982 V | </span><span style="font-size:
                                                  14px;


                                                  font-family:

                                                  "Andale

                                                  Mono";" class="">29.1
                                                  C  </span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">29.7 C
                                                      |</span></div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><span style="font-size:

                                                  14px;

                                                  font-family:


                                                  "Andale
                                                  Mono";" class=""> 4
                                                  | 3.982 V | 3.982 V |
                                                  3.982 V | </span><span style="font-family:
 "Andale

 Mono";

                                                  font-size: 14px;" class="">3.981 V |
                                                  3.982 V | 3.982 V | </span><span style="font-size:
                                                  14px;


                                                  font-family:

                                                  "Andale

                                                  Mono";" class="">28.9
                                                  C Min  </span><span style="font-family:

                                                  "Andale

                                                  Mono";


                                                  font-size: 14px;" class="">29.7 C |</span></div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class=""> 5 |
                                                    3.982 V | 3.982 V |
                                                    3.982 V | </span></font><span style="font-family:

 "Andale
 Mono";

                                                  font-size: 14px;" class="">3.982 V |
                                                  3.981 V | 3.981 V | </span><font class="" face="Andale
                                                  Mono"><span style="font-size:

                                                    14px;" class="">29.0
                                                    C  </span></font><span style="font-family:
 "Andale

 Mono";

                                                  font-size: 14px;" class="">29.6 C     |</span></div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class="">...</div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">16 |
                                                    3.982 V | 3.982 V |
                                                    3.982 V | </span></font><span style="font-family:

 "Andale
 Mono";

                                                  font-size: 14px;" class="">3.982 V |
                                                  3.981 V | 3.981 V | </span><font class="" face="Andale

                                                  Mono"><span style="font-size:
                                                    14px;" class="">29.5
                                                    C  </span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">29.8
                                                  C.    |</span></div>
                                              <div class=""> <font class="" face="Andale
                                                  Mono"><span style="font-size:
                                                    14px;" class="">  -------------------------------</span></font><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">-------------------------------</span><span style="font-family:
                                                  "Andale

                                                  Mono";

                                                  font-size:


                                                  14px;" class="">--------------------</span></div>
                                              <div class=""><span style="font-size:

                                                  14px;

                                                  font-family:


                                                  "Andale
                                                  Mono";" class=""> 
                                                   Tmin: 28.9  Tmax:
                                                  30.3  Vmax: 3.983
                                                   Vmin: 3.979
                                                   Vmax-Vmin: 0.003
                                                   Vtot: 382.23</span></div>
                                            </div>
                                            <div class=""><span style="font-size:

                                                14px;

                                                font-family:


                                                "Andale
                                                Mono";" class=""><br class="">
                                              </span></div>
                                            <div class="">(The vehicle
                                              itself having the control
                                              via the SetCellArrangement
                                              methods)</div>
                                          </blockquote>
                                          <div class="">
                                            <div class=""><br class="">
                                            </div>
                                            <div class="">To provide a
                                              baseline usage case, the
                                              Tesla Model S has:</div>
                                            <div class=""><br class="">
                                            </div>
                                            <div class="">
                                              <ul class="MailOutline">
                                                <li class="">96 bricks
                                                  in the pack</li>
                                                <li class="">6 bricks in
                                                  each module</li>
                                                <li class="">16 modules
                                                  in the pack</li>
                                                <li class="">Each brick
                                                  has one voltage
                                                  measurement (so, 96
                                                  individual voltage
                                                  measurements)</li>
                                                <li class="">Each module
                                                  has two temperature
                                                  measurements (so, 32
                                                  individual temperature
                                                  measurements)</li>
                                                <li class="">That means:</li>
                                                <ul class="">
                                                  <li class="">OvmsVehicle::SetCellArrangementVoltage(96,
                                                    6, 3)</li>
                                                  <li class="">OvmsVehicle::SetCellArrangementTemperature(32,
                                                    2, 1)</li>
                                                </ul>
                                              </ul>
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">Tesla Model
                                                X seems identical to
                                                Model S.</div>
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">I am still
                                                working on reverse
                                                engineering the Tesla
                                                Roadster, but it seems
                                                to have:</div>
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">
                                                <ul class="MailOutline">
                                                  <li class="">99 bricks
                                                    in the pack</li>
                                                  <li class="">9 bricks
                                                    in each module (aka
                                                    sheet)</li>
                                                  <li class="">11
                                                    modules in the pack</li>
                                                  <li class="">Each
                                                    brick has one
                                                    voltage measurement
                                                    (so, 11*9 = 99
                                                    individual voltage
                                                    measurements)</li>
                                                  <li class="">Each
                                                    module has four
                                                    temperature
                                                    measurements (so,
                                                    11*4 = 44 individual
                                                    temperature
                                                    measurements)</li>
                                                  <li class="">That
                                                    means:</li>
                                                  <ul class="">
                                                    <li class="">OvmsVehicle::SetCellArrangementVoltage(99,
                                                      9, 9)</li>
                                                    <li class="">OvmsVehicle::SetCellArrangementTemperature(44,
                                                      4, 4)</li>
                                                  </ul>
                                                </ul>
                                              </div>
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">For other
                                                cars that support
                                                cell-level measurements,
                                                do they fit this
                                                representation? If so,
                                                can we fill in the
                                                following for each car,
                                                to see how it fits in?</div>
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">
                                                <ul class="MailOutline">
                                                  <li class="">XX cell
                                                    groups in the pack</li>
                                                  <li class="">XX cell
                                                    groups in each
                                                    module</li>
                                                  <li class="">XX
                                                    modules in the pack</li>
                                                  <li class="">Each cell
                                                    group has one
                                                    voltage measurement
                                                    (so, XX individual
                                                    voltage
                                                    measurements)</li>
                                                  <li class="">Each
                                                    module has four
                                                    temperature
                                                    measurements (so, XX
                                                    individual
                                                    temperature
                                                    measurements)</li>
                                                  <li class="">That
                                                    means:</li>
                                                  <ul class="">
                                                    <li class="">OvmsVehicle::SetCellArrangementVoltage(N,
                                                      Y,  Z)</li>
                                                    <li class="">OvmsVehicle::SetCellArrangementTemperature(N,
                                                      Y, Z)</li>
                                                  </ul>
                                                </ul>
                                                <div class=""><br class="">
                                                </div>
                                                <div class="">If they
                                                  don’t fit, what
                                                  changes are needed to
                                                  make it work?</div>
                                                <div class=""><br class="">
                                                </div>
                                                <div class="">Regards,
                                                  Mark.</div>
                                              </div>
                                              <div class=""><br class="">
                                                <blockquote type="cite" class="">
                                                  <div class="">On 11
                                                    Nov 2018, at 12:16
                                                    AM, Mark
                                                    Webb-Johnson <<a href="mailto:mark@webb-johnson.net" class="" moz-do-not-send="true">mark@webb-johnson.net</a>>
                                                    wrote:</div>
                                                  <br class="Apple-interchange-newline">
                                                  <div class="">
                                                    <div class="">I
                                                      originally thought
                                                      ‘brick’, or
                                                      ‘module’ rather
                                                      than ‘cell’, but
                                                      happy with either.
                                                      These are readings
                                                      for groups of
                                                      cells, rather than
                                                      whole pack.<br class="">
                                                      <br class="">
                                                      Tesla Model S is
                                                      16 modules. 6
                                                      voltage readings,
                                                      and 2
                                                      temperatures, per
                                                      module.<br class="">
                                                      <br class="">
                                                      What is Kia Soul
                                                      arrangement?<br class="">
                                                      <br class="">
                                                      Regards, Mark<br class="">
                                                      <br class="">
                                                      <blockquote type="cite" class="">On 10
                                                        Nov 2018, at
                                                        11:26 PM, Henrik
                                                        Scheel <<a href="mailto:henrik.scheel@spjeldager.dk" class="" moz-do-not-send="true">henrik.scheel@spjeldager.dk</a>>
                                                        wrote:<br class="">
                                                        <br class="">
                                                        Hi Mark.<br class="">
                                                        <br class="">
                                                        Good idea with a
                                                        generic array
                                                        type metric, and
                                                        standard metrics
                                                        for common EV
                                                        features!<br class="">
                                                        <br class="">
                                                        Just a quick
                                                        note:<br class="">
                                                        The Kia Soul EV
                                                        vehicle module
                                                        will be able to
                                                        utilize these
                                                        metric-arrays.
                                                        However, on the
                                                        Soul, the
                                                        voltages are for
                                                        each physical
                                                        pair of cells
                                                        connected in
                                                        parallel, and
                                                        the temperatures
                                                        are for 6
                                                        battery modules,
                                                        and for the
                                                        battery cooling
                                                        air inlet. <br class="">
                                                        <br class="">
                                                        So, for the Kia
                                                        Soul EV, the
                                                        name
                                                        “v.b.cell.temp”
                                                        would be
                                                        misleading, as
                                                        each measured
                                                        module
                                                        temperature is
                                                        representing the
                                                        state for 16
                                                        pairs of cells.<br class="">
                                                        <br class="">
                                                        Aside from that,
                                                        I am all for
                                                        mapping the
                                                        values in these
                                                        new standardized
                                                        metric types.
                                                        Currently, the
                                                        temperature
                                                        average is
                                                        calculated and
                                                        mapped to a
                                                        metric, and the
                                                        96 cell voltages
                                                        are unmapped for
                                                        Kia Soul EV.<br class="">
                                                        <br class="">
                                                        Best regards,<br class="">
                                                        Henrik<br class="">
                                                        -- <br class="">
                                                        <br class="">
                                                        Venlig hilsen /
                                                        best regards <br class="">
                                                        Henrik R. Scheel<br class="">
                                                        <br class="">
                                                        Spjeldager
                                                        Consult ApS<br class="">
                                                        Spjeldager 9 <br class="">
                                                        DK-2630 Taastrup
                                                        <br class="">
                                                        CVR: 34491399 <br class="">
                                                        T: +45 2720 9828
                                                        <br class="">
                                                        <a href="http://www.spjeldager.dk/" class="" moz-do-not-send="true">http://www.spjeldager.dk/</a><br class="">
                                                        <br class="">
                                                        <blockquote type="cite" class="">Den
                                                          10. nov. 2018
                                                          kl. 15.34
                                                          skrev <a class="moz-txt-link-abbreviated" href="mailto:ovmsdev-request@lists.openvehicles.com" moz-do-not-send="true">ovmsdev-request@lists.openvehicles.com</a>:<br class="">
                                                          <br class="">
                                                          Send OvmsDev
                                                          mailing list
                                                          submissions to<br class="">
                                                            <a class="moz-txt-link-abbreviated" href="mailto:ovmsdev@lists.openvehicles.com" moz-do-not-send="true">ovmsdev@lists.openvehicles.com</a><br class="">
                                                          <br class="">
                                                          To subscribe
                                                          or unsubscribe
                                                          via the World
                                                          Wide Web,
                                                          visit<br class="">
                                                            <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                                                          or, via email,
                                                          send a message
                                                          with subject
                                                          or body 'help'
                                                          to<br class="">
                                                            <a class="moz-txt-link-abbreviated" href="mailto:ovmsdev-request@lists.openvehicles.com" moz-do-not-send="true">ovmsdev-request@lists.openvehicles.com</a><br class="">
                                                          <br class="">
                                                          You can reach
                                                          the person
                                                          managing the
                                                          list at<br class="">
                                                            <a class="moz-txt-link-abbreviated" href="mailto:ovmsdev-owner@lists.openvehicles.com" moz-do-not-send="true">ovmsdev-owner@lists.openvehicles.com</a><br class="">
                                                          <br class="">
                                                          When replying,
                                                          please edit
                                                          your Subject
                                                          line so it is
                                                          more specific<br class="">
                                                          than "Re:
                                                          Contents of
                                                          OvmsDev
                                                          digest..."<br class="">
                                                          <br class="">
                                                          <br class="">
                                                          Today's
                                                          Topics:<br class="">
                                                          <br class="">
                                                          1. Re: Custom
                                                          metrics (Mark
                                                          Webb-Johnson)<br class="">
                                                          <br class="">
                                                          <br class="">
----------------------------------------------------------------------<br class="">
                                                          <br class="">
                                                          Message: 1<br class="">
                                                          Date: Sat, 10
                                                          Nov 2018
                                                          22:34:46 +0800<br class="">
                                                          From: Mark
                                                          Webb-Johnson <a class="moz-txt-link-rfc2396E" href="mailto:mark@webb-johnson.net" moz-do-not-send="true"><mark@webb-johnson.net></a><br class="">
                                                          To: OVMS
                                                          Developers <a class="moz-txt-link-rfc2396E" href="mailto:ovmsdev@lists.openvehicles.com" moz-do-not-send="true"><ovmsdev@lists.openvehicles.com></a><br class="">
                                                          Subject: Re:
                                                          [Ovmsdev]
                                                          Custom metrics<br class="">
                                                          Message-ID: <a class="moz-txt-link-rfc2396E" href="mailto:1E30255B-5CC6-4EC4-BA9F-9CA41D156B11@webb-johnson.net" moz-do-not-send="true"><1E30255B-5CC6-4EC4-BA9F-9CA41D156B11@webb-johnson.net></a><br class="">
                                                          Content-Type:
                                                          text/plain;
                                                          charset="utf-8"<br class="">
                                                          <br class="">
                                                          I?ve added
                                                          UnregisterCommand()
                                                          methods to
                                                          ovms_command.{h,
                                                          cpp}. I?ve
                                                          also updated
                                                          the
                                                          vehicle_teslamodels
                                                          code to
                                                          UnregisterCommand
                                                          in the
                                                          destructor. I
                                                          think that is
                                                          cleaner. The
                                                          unregistering
                                                          of CAN buses
                                                          already seems
                                                          to be working
                                                          properly,
                                                          config
                                                          parameters
                                                          should persist
                                                          (even without
                                                          vehicle module
                                                          loaded). I am
                                                          still
                                                          considering
                                                          the situation
                                                          with metrics
                                                          (but tend to
                                                          think that
                                                          they should
                                                          disappear when
                                                          the vehicle
                                                          module is
                                                          unloaded).<br class="">
                                                          <br class="">
                                                          I?ve also
                                                          changed the
                                                          vehicle_teslamodels
                                                          code to use
                                                          single voltage
                                                          and temperate
                                                          metric arrays
                                                          (I think my
                                                          previous dual
                                                          voltage
                                                          temperature
                                                          arrangement
                                                          was
                                                          incorrect). I
                                                          think these
                                                          can now become
                                                          standard
                                                          metrics (one
                                                          for battery
                                                          voltage, and
                                                          another for
                                                          temperature).
                                                          How about
                                                          v.b.cell.voltage
                                                          and
                                                          v.b.cell.temp?
                                                          The
                                                          interpretation
                                                          of those
                                                          vectors (how
                                                          many modules
                                                          primarily -
                                                          with the
                                                          calculation of
                                                          voltages and
                                                          temperatures
                                                          per module
                                                          being
                                                          dependent on
                                                          the realtime
                                                          size of each
                                                          array) will
                                                          still be
                                                          vehicle
                                                          dependent, and
                                                          I guess the
                                                          vehicle module
                                                          can provide
                                                          hints to our
                                                          standard
                                                          component for
                                                          this. Perhaps
                                                          we can just
                                                          implement it
                                                          in vehicle.{h,
                                                          cpp}? I think
                                                          this standard
                                                          module can
                                                          deal with:<br class="">
                                                          <br class="">
                                                          An interface
                                                          for specific
                                                          vehicle module
                                                          to specify the
                                                          number of
                                                          modules,
                                                          number of
                                                          voltage
                                                          measurements,
                                                          and number of
                                                          temperature
                                                          measurements
                                                          available.<br class="">
                                                          Internal
                                                          storage of
                                                          cell voltages
                                                          and
                                                          temperatures.<br class="">
                                                          Tracking of
                                                          when all
                                                          voltages and
                                                          temperatures
                                                          have been set,
                                                          and these
                                                          should be
                                                          written to
                                                          metrics (as a
                                                          transaction).<br class="">
                                                          Standardised
                                                          command to
                                                          display on
                                                          terminal (like
                                                          ?xts bms?).<br class="">
                                                          Web interface
                                                          extensions
                                                          (including the
                                                          charting you
                                                          have, a
                                                          textual
                                                          display, etc).<br class="">
                                                          <br class="">
                                                          I can handle
                                                          all of the
                                                          above, except
                                                          the web
                                                          interface.
                                                          What do you
                                                          think? Can
                                                          these be
                                                          standardised?
                                                          Certainly for
                                                          Tesla Roadster
                                                          and Tesla
                                                          Model S they
                                                          appear to be
                                                          able to be
                                                          unified under
                                                          one standard
                                                          framework.<br class="">
                                                          <br class="">
                                                          Regards, Mark.<br class="">
                                                          <br class="">
                                                          <blockquote type="cite" class="">On 8
                                                          Nov 2018, at
                                                          6:49 AM,
                                                          Michael Balzer
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:dexter@expeedo.de" moz-do-not-send="true"><dexter@expeedo.de></a>
                                                          wrote:<br class="">
                                                          <br class="">
                                                          Mark,<br class="">
                                                          <br class="">
                                                          1) yes, we're
                                                          approaching a
                                                          generic form
                                                          now. The chart
                                                          currently
                                                          displays
                                                          actual, min
                                                          & max
                                                          values from
                                                          the arrays,
                                                          and derives
                                                          the overall
                                                          average value.
                                                          It
                                                          automatically
                                                          adapts to the
                                                          number of
                                                          voltages and
                                                          temperatures
                                                          stored in the
                                                          arrays.<br class="">
                                                          <br class="">
                                                          It still
                                                          lacks:<br class="">
                                                          a) Displaying
                                                          max
                                                          deviations,
                                                          current
                                                          standard
                                                          deviation and
                                                          max standard
                                                          deviation
                                                          recorded.<br class="">
                                                          b) Displaying
                                                          cell/module
                                                          warn &
                                                          alert status.
                                                          These are
                                                          currently set
                                                          metrics on the
                                                          Twizy, could
                                                          better be
                                                          generalized as
                                                          arrays as
                                                          well, i.e.
                                                          0=normal,
                                                          1=warn,
                                                          2=alert.<br class="">
                                                          c) SOH /
                                                          capacity and
                                                          internal
                                                          resistance
                                                          should be
                                                          generally
                                                          available per
                                                          cell as well
                                                          (no data on
                                                          these yet on
                                                          the Twizy).<br class="">
                                                          <br class="">
                                                          And as this
                                                          will visually
                                                          overload the
                                                          chart it will
                                                          need some
                                                          buttons to
                                                          show/hide the
                                                          parts.<br class="">
                                                          <br class="">
                                                          A general
                                                          vehicle base
                                                          support for
                                                          these metrics
                                                          could
                                                          automatically
                                                          keep min &
                                                          max values,
                                                          calculate
                                                          deviations and
                                                          derive
                                                          warn/alert
                                                          status from
                                                          these. So
                                                          basically a
                                                          vehicle
                                                          adapter only
                                                          needs to
                                                          provide
                                                          voltages and
                                                          temperatures
                                                          (+ SOH and
                                                          internal
                                                          resistance as
                                                          available).
                                                          The reset
                                                          command then
                                                          can also
                                                          normally just
                                                          be a
                                                          generalized
                                                          version.<br class="">
                                                          <br class="">
                                                          2) I should
                                                          add some basic
                                                          documentation
                                                          on this to the
                                                          developer
                                                          manual
                                                          (lacking
                                                          time). For the
                                                          RE tools I've
                                                          got an API to
                                                          inject
                                                          arbitrary data
                                                          into the
                                                          websocket
                                                          stream on my
                                                          todo list, so
                                                          live updates
                                                          can be
                                                          transported
                                                          without
                                                          polling.<br class="">
                                                          <br class="">
                                                          4) Interesting
                                                          idea, similar
                                                          to a reverse
                                                          proxy. As the
                                                          channel will
                                                          be very slow
                                                          we will need
                                                          to reduce the
                                                          websocket
                                                          update
                                                          frequency,
                                                          make it
                                                          configurable
                                                          or maybe
                                                          auto-adapt to
                                                          the current
                                                          speed. Also,
                                                          the proxy
                                                          should cache
                                                          static assets
                                                          to speed up
                                                          first time
                                                          connects.<br class="">
                                                          <br class="">
                                                          The v2
                                                          protocol using
                                                          RC4 encryption
                                                          is a bad base
                                                          for this.
                                                          What's the
                                                          current
                                                          encryption on
                                                          v3/MQTT?<br class="">
                                                          <br class="">
                                                          Regards,<br class="">
                                                          Michael<br class="">
                                                          <br class="">
                                                          <br class="">
                                                          <blockquote type="cite" class="">Am
                                                          07.11.18 um
                                                          01:50 schrieb
                                                          Mark
                                                          Webb-Johnson:<br class="">
                                                          Some
                                                          questions/comments:<br class="">
                                                          <br class="">
                                                          I guess this
                                                          is fairly
                                                          generic.
                                                          Voltages and
                                                          temperatures,
                                                          with possibly
                                                          a different
                                                          number of
                                                          readings for
                                                          each. Model S
                                                          has two
                                                          temperatures,
                                                          but I guess we
                                                          can just treat
                                                          those as
                                                          interleaved.
                                                          Could it be
                                                          put into a
                                                          reusable
                                                          component? Or
                                                          could we have
                                                          standard
                                                          metrics for
                                                          this now
                                                          (battery
                                                          module
                                                          voltages and
                                                          temperatures)?
                                                          Maybe a single
                                                          component that
                                                          does all this
                                                          (functions to
                                                          set individual
                                                          voltages and
                                                          temperatures,
                                                          define the
                                                          layout for
                                                          display,
                                                          include web
                                                          interface for
                                                          chart and
                                                          table, etc)?<br class="">
                                                          <br class="">
                                                          I really need
                                                          to look at
                                                          integration of
                                                          extensions to
                                                          the web
                                                          interface. See
                                                          how that is
                                                          done. For my
                                                          work on DBC
                                                          and RE tools,
                                                          it seems
                                                          easiest to
                                                          just create a
                                                          web interface
                                                          (rather than
                                                          messing around
                                                          with command
                                                          line).<br class="">
                                                          <br class="">
                                                          Regarding the
                                                          registration
                                                          of commands
                                                          and metrics, I
                                                          am not sure if
                                                          that is done
                                                          correctly at
                                                          the moment. In
                                                          particular in
                                                          the case a
                                                          vehicle module
                                                          is loaded,
                                                          unloaded, then
                                                          loaded again.
                                                          It seems that
RegisterCommand doesn?t do it right, and the metric object creation
                                                          needs a guard
                                                          to make sure
                                                          the metric
                                                          doesn?t
                                                          already exist.
                                                          I will try to
                                                          tidy this up
                                                          in Model S
                                                          code, as a
                                                          reference,
                                                          before moving
                                                          on to
                                                          Roadster.<br class="">
                                                          <br class="">
                                                          I really
                                                          haven?t used
                                                          the web
                                                          interface
                                                          much, as it is
                                                          not available
                                                          over cellular.
                                                          I was
                                                          wondering if
                                                          it could be
                                                          encapsulated
                                                          somehow within
                                                          the v2/v3
                                                          protocol, and
                                                          made available
                                                          via the
                                                          server?
                                                          Something like
                                                          <a class="moz-txt-link-freetext" href="https://api.openvehicles.com:8080/VEHICLEID" moz-do-not-send="true">https://api.openvehicles.com:8080/VEHICLEID</a>
                                                          <a class="moz-txt-link-rfc2396E" href="https://api.openvehicles.com:8080/VEHICLEID" moz-do-not-send="true"><https://api.openvehicles.com:8080/VEHICLEID></a>
                                                          tunnelled
                                                          through (with
                                                          authentication
                                                          at the server
                                                          level using
                                                          the normal web
                                                          server user
                                                          account).
                                                          Similarly for
                                                          SSH access.
                                                          These are both
                                                          simple tcp/ip
                                                          connections,
                                                          so presumably
                                                          could be
                                                          injected into
                                                          mongoose as
                                                          fake
                                                          connections.
                                                          One possible
                                                          approach would
                                                          be SOCKS, and
                                                          there is some
                                                          reference code
                                                          for LWIP <a class="moz-txt-link-rfc2396E" href="https://github.com/russdill/lwip/commit/dfeba616" moz-do-not-send="true"><https://github.com/russdill/lwip/commit/dfeba616></a>.
                                                          Another is
                                                          TUN/TAP, again
                                                          with reference
                                                          code for LWIP
                                                          <a class="moz-txt-link-rfc2396E" href="https://github.com/russdill/lwip/commit/47ca42f8" moz-do-not-send="true"><https://github.com/russdill/lwip/commit/47ca42f8></a>.
                                                          And then there
                                                          is the
                                                          standard PPP
                                                          (although that
                                                          would
                                                          technically
                                                          then be PPP
                                                          within tcp/ip
                                                          over PPP
                                                          within async
                                                          within GSM,
                                                          which is a bit
                                                          freaky).<br class="">
                                                          <br class="">
                                                          Regards, Mark.<br class="">
                                                          <br class="">
                                                          <blockquote type="cite" class="">On 7
                                                          Nov 2018, at
                                                          4:52 AM,
                                                          Michael Balzer
                                                          <<a class="moz-txt-link-abbreviated" href="mailto:dexter@expeedo.de" moz-do-not-send="true">dexter@expeedo.de</a>
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:dexter@expeedo.de" moz-do-not-send="true"><mailto:dexter@expeedo.de></a>>
                                                          wrote:<br class="">
                                                          <br class="">
                                                          Mark, Tam?s,<br class="">
                                                          <br class="">
                                                          I've prepared
                                                          a more or less
                                                          generalized
                                                          array version
                                                          of my Twizy
                                                          battery chart
(OvmsVehicleRenaultTwizy::WebBattMon) for you. Easier to collect the
                                                          data from
                                                          actual arrays
                                                          than separate
                                                          metrics.<br class="">
                                                          <br class="">
                                                          This ZIP?<br class="">
                                                          <br class="">
                                                          <a class="moz-txt-link-freetext" href="https://dexters-web.de/f/ovms-dev/ovms.zip" moz-do-not-send="true">https://dexters-web.de/f/ovms-dev/ovms.zip</a>
                                                          <a class="moz-txt-link-rfc2396E" href="https://dexters-web.de/f/ovms-dev/ovms.zip" moz-do-not-send="true"><https://dexters-web.de/f/ovms-dev/ovms.zip></a><br class="">
                                                          <br class="">
                                                          ?contains my
                                                          local ovms web
test/development folder. Unzip it into some local web server (needs to
                                                          be run via
                                                          http for
                                                          javascript),
                                                          then open the
                                                          folder from a
                                                          browser. You
                                                          should see an
                                                          OVMS web UI
                                                          lookalike.<br class="">
                                                          <br class="">
                                                          Config ?
                                                          CellChart
                                                          loads
                                                          "cellchart.htm".
                                                          The blue
                                                          button
                                                          generates and
                                                          injects test
                                                          data. Should
                                                          look like
                                                          this:<br class="">
                                                          <br class="">
<eoibkbnkbpofdlab.png><br class="">
                                                          <br class="">
                                                          Assuming
                                                          you'll add
                                                          some min/max
                                                          records as
                                                          well I left
                                                          that code
                                                          including the
                                                          reset button
                                                          in there. If
                                                          you can't
                                                          provide that
                                                          yet, you can
                                                          simply set min
                                                          & max =
                                                          act in the
                                                          get_xxx_data
                                                          functions.
                                                          Other than
                                                          that you
                                                          should
                                                          basically just
                                                          need to change
                                                          the metrics
                                                          names.<br class="">
                                                          <br class="">
                                                          To generate
                                                          C/C++ syntax
                                                          from the file,
                                                          use the script
                                                          bin/mksrc:
                                                          "bin/mksrc
                                                          cellchart.htm
>cellchart.cpp". The chart init URL needs to be changed for the
                                                          production
                                                          environment
                                                          (see comment),
                                                          and the test
                                                          data generator
                                                          can be
                                                          removed. See
OvmsVehicleRenaultTwizy::WebBattMon for reference.<br class="">
                                                          <br class="">
                                                          Maybe I should
                                                          add that stuff
                                                          to the
                                                          repository as
                                                          well?<br class="">
                                                          <br class="">
                                                          Regards,<br class="">
                                                          Michael<br class="">
                                                          <br class="">
                                                          <br class="">
                                                          <blockquote type="cite" class="">Am
                                                          06.11.18 um
                                                          15:56 schrieb
                                                          Mark
                                                          Webb-Johnson:<br class="">
                                                          Nice. I just
                                                          implemented
                                                          this for Model
                                                          S using your
                                                          new metric
                                                          type.<br class="">
                                                          <br class="">
                                                          96 individual
                                                          brick voltages
                                                          for each of
                                                          the bricks,
                                                          plus two
                                                          temperatures
                                                          for each of
                                                          the 16
                                                          modules.<br class="">
                                                          <br class="">
                                                          Works well.<br class="">
                                                          <br class="">
                                                          <br class="">
                                                          <br class="">
                                                          <br class="">
                                                          <blockquote type="cite" class="">On 1
                                                          Nov 2018, at
                                                          5:58 PM,
                                                          Michael Balzer
                                                          <<a class="moz-txt-link-abbreviated" href="mailto:dexter@expeedo.de" moz-do-not-send="true">dexter@expeedo.de</a>
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:dexter@expeedo.de" moz-do-not-send="true"><mailto:dexter@expeedo.de></a>>
                                                          wrote:<br class="">
                                                          <br class="">
                                                          Tam?s,<br class="">
                                                          <br class="">
                                                          I've been
                                                          creating
                                                          separate
                                                          metrics for
                                                          all cell
                                                          values on the
                                                          Twizy, but
                                                          that only has
                                                          14 cells.<br class="">
                                                          <br class="">
                                                          We discussed
                                                          this before, a
                                                          better
                                                          approach is
                                                          introducing a
                                                          new metric
                                                          class for
                                                          arrays. I have
                                                          just done that
                                                          for you,
                                                          please pull.<br class="">
                                                          <br class="">
                                                          Usage example:<br class="">
OvmsMetricVector<float>* vf = new
OvmsMetricVector<float>("test.volts", SM_STALE_MIN, Volts);<br class="">
vf->SetElemValue(3, 1.23);<br class="">
vf->SetElemValue(17, 2.34);<br class="">
                                                          float
                                                          myvals[3] = {
                                                          5.5, 6.6, 7.7
                                                          };<br class="">
vf->SetElemValues(10, 3, myvals);<br class="">
                                                          With this data
                                                          set, you get:<br class="">
                                                          OVMS# met lis
                                                          test<br class="">
                                                          test.volts
                              0,0,0,1.23,0,0,0,0,0,0,5.5,6.6,7.7,0,0,0,0,2.34V<br class="">
                                                          ?and in the
                                                          web framework:<br class="">
metrics["test.volts"]<br class="">
                                                          (18) [0, 0, 0,
                                                          1.23, 0, 0, 0,
                                                          0, 0, 0, 5.5,
                                                          6.6, 7.7, 0,
                                                          0, 0, 0, 2.34]<br class="">
metrics["test.volts"][11]<br class="">
                                                          6.6<br class="">
                                                          See template
                                                          definition in
                                                          ovms_metrics.h
                                                          for more.<br class="">
                                                          <br class="">
                                                          Regards,<br class="">
                                                          Michael<br class="">
                                                          <br class="">
                                                          <br class="">
                                                          <blockquote type="cite" class="">Am
                                                          31.10.18 um
                                                          20:08 schrieb
                                                          Tam?s Kov?cs:<br class="">
                                                          I have a
                                                          Peugeot iOn,
                                                          and i wan't to
                                                          create own
                                                          metrics for
                                                          battery temp
                                                          (66 piece) and
                                                          voltage (88
                                                          (old) or
                                                          80(new) piece)
                                                          for all cell
                                                          (and show on
                                                          web
                                                          interface),
                                                          and i don't
                                                          understand how
                                                          can i create
                                                          it. Now my
                                                          data in
                                                          array-s from
                                                          can messages
                                                          6E1-6E4.<br class="">
                                                          My git fork: <a class="moz-txt-link-freetext" href="https://github.com/KommyKT/Open-Vehicle-Monitoring-System-3/tree/peugeot" moz-do-not-send="true">https://github.com/KommyKT/Open-Vehicle-Monitoring-System-3/tree/peugeot</a>
                                                          <a class="moz-txt-link-rfc2396E" href="https://github.com/KommyKT/Open-Vehicle-Monitoring-System-3/tree/peugeot" moz-do-not-send="true"><https://github.com/KommyKT/Open-Vehicle-Monitoring-System-3/tree/peugeot></a><br class="">
vehicle_mitsubishi<br class="">
                                                          <br class="">
                                                          </blockquote>
                                                          <br class="">
                                                          -- <br class="">
                                                          Michael Balzer
                                                          * Helkenberger
                                                          Weg 9 *
                                                          D-58256
                                                          Ennepetal<br class="">
                                                          Fon 02333 /
                                                          833 5735 *
                                                          Handy 0176 /
                                                          206 989 26<br class="">
_______________________________________________<br class="">
                                                          OvmsDev
                                                          mailing list<br class="">
                                                          <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true"><mailto:OvmsDev@lists.openvehicles.com></a><br class="">
                                                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
                                                          <a class="moz-txt-link-rfc2396E" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true"><http://lists.openvehicles.com/mailman/listinfo/ovmsdev></a><br class="">
                                                          </blockquote>
                                                          <br class="">
                                                          <br class="">
_______________________________________________<br class="">
                                                          OvmsDev
                                                          mailing list<br class="">
                                                          <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true"><mailto:OvmsDev@lists.openvehicles.com></a><br class="">
                                                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
                                                          <a class="moz-txt-link-rfc2396E" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true"><http://lists.openvehicles.com/mailman/listinfo/ovmsdev></a><br class="">
                                                          </blockquote>
                                                          <br class="">
                                                          -- <br class="">
                                                          Michael Balzer
                                                          * Helkenberger
                                                          Weg 9 *
                                                          D-58256
                                                          Ennepetal<br class="">
                                                          Fon 02333 /
                                                          833 5735 *
                                                          Handy 0176 /
                                                          206 989 26<br class="">
_______________________________________________<br class="">
                                                          OvmsDev
                                                          mailing list<br class="">
                                                          <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true"><mailto:OvmsDev@lists.openvehicles.com></a><br class="">
                                                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
                                                          <a class="moz-txt-link-rfc2396E" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true"><http://lists.openvehicles.com/mailman/listinfo/ovmsdev></a><br class="">
                                                          </blockquote>
                                                          <br class="">
                                                          <br class="">
                                                          <br class="">
_______________________________________________<br class="">
                                                          OvmsDev
                                                          mailing list<br class="">
                                                          <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
                                                          <a class="moz-txt-link-rfc2396E" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true"><mailto:OvmsDev@lists.openvehicles.com></a><br class="">
                                                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
                                                          <a class="moz-txt-link-rfc2396E" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true"><http://lists.openvehicles.com/mailman/listinfo/ovmsdev></a><br class="">
                                                          </blockquote>
                                                          <br class="">
                                                          -- <br class="">
                                                          Michael Balzer
                                                          * Helkenberger
                                                          Weg 9 *
                                                          D-58256
                                                          Ennepetal<br class="">
                                                          Fon 02333 /
                                                          833 5735 *
                                                          Handy 0176 /
                                                          206 989 26<br class="">
_______________________________________________<br class="">
                                                          OvmsDev
                                                          mailing list<br class="">
                                                          <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                                                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                                                          </blockquote>
                                                          <br class="">
                                                          --------------
                                                          next part
                                                          --------------<br class="">
                                                          An HTML
                                                          attachment was
                                                          scrubbed...<br class="">
                                                          URL: <a class="moz-txt-link-rfc2396E" href="http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20181110/b17e54e7/attachment.html" moz-do-not-send="true"><http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20181110/b17e54e7/attachment.html></a><br class="">
                                                          <br class="">
------------------------------<br class="">
                                                          <br class="">
                                                          Subject:
                                                          Digest Footer<br class="">
                                                          <br class="">
_______________________________________________<br class="">
                                                          OvmsDev
                                                          mailing list<br class="">
                                                          <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                                                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                                                          <br class="">
                                                          <br class="">
------------------------------<br class="">
                                                          <br class="">
                                                          End of OvmsDev
                                                          Digest, Vol
                                                          82, Issue 10<br class="">
***************************************<br class="">
                                                        </blockquote>
                                                        <br class="">
_______________________________________________<br class="">
                                                        OvmsDev mailing
                                                        list<br class="">
                                                        <a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                                                        <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                                                      </blockquote>
                                                      <br class="">
_______________________________________________<br class="">
                                                      OvmsDev mailing
                                                      list<br class="">
                                                      <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                                                      <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                                                    </div>
                                                  </div>
                                                </blockquote>
                                              </div>
                                              <br class="">
                                            </div>
                                          </div>
                                          <br class="">
                                          <fieldset class="mimeAttachmentHeader"></fieldset>
                                          <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                                        </blockquote>
                                        <br class="">
                                        <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
                                      </div>
_______________________________________________<br class="">
                                      OvmsDev mailing list<br class="">
                                      <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                                      <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                                    </div>
                                  </blockquote>
                                </div>
                                <br class="">
                              </div>
                              <br class="">
                              <fieldset class="mimeAttachmentHeader"></fieldset>
                              <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                            </blockquote>
                            <br class="">
                            <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
                          </div>
_______________________________________________<br class="">
                          OvmsDev mailing list<br class="">
                          <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                          <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
                        </div>
                      </blockquote>
                    </div>
                    <br class="">
                  </div>
                  <br class="">
                  <fieldset class="mimeAttachmentHeader"></fieldset>
                  <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                </blockquote>
                <br class="">
                <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
              </div>
              _______________________________________________<br class="">
              OvmsDev mailing list<br class="">
              <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
              <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></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="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
  

</div></blockquote><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>OvmsDev mailing list</span><br><span><a href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a></span><br><span><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></span><br></div></blockquote></body></html>