Firmware Release 3.2.016

Today, we are pleased to release v3.2.016 to the early access repository (eap). The main release will follow in about 1-2 weeks.

A summary of the major changes is here:

- New vehicle: VW e-Up via OBD-II Port (VWUP.OBD)
- New vehicle: MG ZS EV via OBD-II Port (MGEV)
- New vehicle: BMW i3/i3s via OBD-II Port (BMWI3) 

- VW e-Up: combined T26A & OBD module, extended standard metrics coverage,
    charge notifications & durations (OBD), enhanced cabin pre-heating (T26)
- VW e-UP T26A: add climate control and charging detection
- VW e-Up: BMS cell monitoring (@OBD)
- VW e-Up: CCS (DC) charge detection & data
  New metrics:
    xvu.c.ccs.u             -- CCS charger supplied voltage [V]
    xvu.c.ccs.i             -- CCS Charger supplied current [A]
    xvu.c.ccs.p             -- CCS Charger supplied power [kW]
- VW e-Up: replaced MFD range based CAC/SOH by charge coulomb count based
  Removed metrics:
  New metrics:
    xvu.b.energy.range      -- MFD range estimation energy [kWh]
    xvu.b.cap.kwh.range     -- … usable battery capacity derived [kWh]
    xvu.b.cap.ah.abs        -- Charge coulomb based capacity [Ah]
    xvu.b.cap.ah.norm       -- … normalized (usable) [Ah]
    xvu.b.cap.kwh.abs       -- Charge energy based capacity [kWh]
    xvu.b.cap.kwh.norm      -- … normalized (usable) [kWh]

- MG ZS EV: Add Charging Metrics page.
- MG ZS EV: Add support for ms_v_charge_kwh, ms_v_bat_energy_used and ms_v_bat_coulomb_used metrics

- Volt/Ampera: BMS cell monitoring (CAN1 polling), fast CAN polling when waking up,
  estimated range gets from CAN instead of calculation, 
  lock/unlock status processing fixed for Volt 14MY; 
  New standard metrics: 
    trip (this charge), energy used (this charge), HV battery capacity (CAC, Ah), 
    transmission temp, doors, trunk, hood, lightings;
- Volt/Ampera: new xva metrics:
    xva.v.p.trip.ev   = trip using electric, km;
    xva.v.e.fuel      = fuel tank level, %; 

- Renault Twizy: new metrics to reflect extended lock & valet modes:
    xrt.v.e.locked.speed    -- Speed limit [kph] set for Twizy lock mode
    xrt.v.e.valet.odo       -- Odometer limit [km] set for Twizy valet mode
- Renault Twizy: support additional OBD/UDS request types & arguments on "xrt obd request"

- ZOE: BMS cell monitoring (PH1)

- SmartED: add Drivmode for Brabus

- Nissan Leaf: invert batt current sign to match standard metrics definition, populate charger power/efficiency

- Vehicle framework: generic single OBD2/UDS request shell command & API call
  New commands:
    obdii can[1-4] request device [-t] [-e] txid rxid request
    obdii can[1-4] request broadcast [-t] request

- BMS: optional cell voltage & temperature logging
  New configs:
    [vehicle] bms.log.voltage.interval    Interval [s] for cell voltage logging, default 0=disable
    [vehicle] bms.log.temp.interval       Interval [s] for cell temperature logging, default 0=disable
- BMS: detection of inconsistent voltage series by gradient & stddev average deviation
    thresholds, added pack metrics to battery monitor web UI, change cell warning & alert
    thresholds to be applied exceeding stddev level
  New metrics:
    v.b.p.voltage.grad                    Cell voltage - gradient of current series [V]
  New configs:
    [vehicle] bms.dev.voltage.maxgrad     Max gradient for a valid series
    [vehicle] bms.dev.voltage.maxsddev    Max stddev deviation from average for valid series

- Notifications: added optional long term trip & grid (charge/generator session) server logs.
    See https://docs.openvehicles.com/en/latest/userguide/notifications.html for details.
  New configs:
    [notify]  log.trip.storetime    Trip log storage time in days, 0/empty = off (default)
    [notify]  log.trip.minlength    … minimum trip length in km, default 0.2 km
    [notify]  log.grid.storetime    Grid log storage time in days, 0/empty = off (default)

- Metrics: extended reboot persistence: most vehicle state and long term counter
    metrics will now retain their values over a reboot (e.g. OTA update)
- Metrics: new standard metrics for grid integration (V2G) / generator role
  New standard metrics:
    v.c.kwh.grid            Energy drawn from grid during running session
    v.c.kwh.grid.total      Energy drawn from grid total (life time)
    v.g.generating          True = currently delivering power
    v.g.climit              Maximum generator input current (from battery)
    v.g.current             Momentary generator input current (from battery)
    v.g.duration.empty      Estimated time remaining for full discharge
    v.g.duration.range      … for range limit
    v.g.duration.soc        … for SOC limit
    v.g.efficiency          Momentary generator efficiency
    v.g.kwh                 Energy sum generated in the running session
    v.g.kwh.grid            Energy sent to grid during running session
    v.g.kwh.grid.total      Energy sent to grid total
    v.g.limit.range         Minimum range limit for generator mode
    v.g.limit.soc           Minimum SOC limit for generator mode
    v.g.mode                Generator mode (TBD)
    v.g.pilot               Pilot signal present
    v.g.power               Momentary generator output power
    v.g.state               Generator state (TBD)
    v.g.substate            Generator substate (TBD)
    v.g.temp                Generator temperature
    v.g.time                Duration of generator running
    v.g.timermode           True if generator timer enabled 
    v.g.timerstart          Time generator is due to start 
    v.g.type                Connection type (chademo, ccs, …)
    v.g.voltage             Momentary generator output voltage
- TPMS: metrics rework & standard alert notifications on new v.t.alert metric.
  Replaced metrics…
    v.tp.fl.p               TPMS front left pressure
    v.tp.fl.t               TPMS front left temperature
    v.tp.fr.p               TPMS front right pressure
    v.tp.fr.t               TPMS front right temperature
    v.tp.rl.p               TPMS rear left pressure
    v.tp.rl.t               TPMS rear left temperature
    v.tp.rr.p               TPMS rear right pressure
    v.tp.rr.t               TPMS rear right temperature
    v.t.pressure            TPMS tyre pressures vector (fl,fr,rl,rr)
    v.t.temp                TPMS tyre temperatures vector
  New standard metrics:
    v.t.alert               TPMS tyre alert levels [0=normal, 1=warning, 2=alert]
    v.t.health              TPMS tyre health states
- New standard metrics for total (life time) energy and coulomb

- Events: added automatic events on v.e.aux12v changes.
  New events:

- Location: add metric for name of current location
  New metrics:
    v.p.location        -- Name of current location if defined

- Server V3 improvements:
    a) On first connection to MQTT broker we used to send all metrics. Now
       we only send metrics for which we have a value.
    b) New config settings:
         "updatetime.on" which sets updatetime when the car is on (driving)
         "updatetime.charging" which sets updatetime when the car is charging
         "updatetime.awake" which sets updatetime when the car is awake
       If unset the server uses the "idle" or "connected" interval as before
    c) New config setting "updatetime.sendall". If you set this we will publish
       _all_ valid metrics at this interval. Helpful to keep a steady flow of
       values for charting.
    PLEASE NOTE: These settings will increase OVMS' data usage. 

- Wifi: option to immediately disconnect/reconnect on bad signal level
  New config:
    [network] wifi.bad.reconnect [bool], default no
- WiFi: replace fixed scan times by config instances
  New configs:
    [network] wifi.scan.tmin              Min scan time per channel [ms], default 120 ms
    [network] wifi.scan.tmax              Max scan time per channel [ms], default 120 ms

- Updated wolfssh and wolfssl so the restriction of clients to use
  aes128-cbc cipher is no longer required.

For full detail on all changes, check the GitHub revision history. The v3 modules can be updated over the air (wifi), via SD CARD, or over USB - all without requiring special hardware programmers like the PICKIT used for v2. The simplest way to update the module firmware is to connect it as a client to your wifi network (or phone hotspot), and then use the web interface Config / Firmware / Flash-from-Web; that will show you the version you are running, as well as the latest version available for update. One click on 'Flash now' and the update will be downloaded and installed. Alternatively, you can download the firmware update to a file named ovms3.bin in the root directory of a FAT formatted SD CARD and insert the card into the module's slot - the new firmware will be updated automatically and the file renamed ovms3.done to signify completion. This firmware also includes the feature to check for and automatically update to newly available firmware, every night (so long as the vehicle is connected to WiFi). After updating to 3.1.005 or later, you can enable this for future firmware releases with 'config ota auto yes'.

You can choose the release level by setting 'config ota tag edge | eap | main', as one of:

  • edge: Bleeding edge developer nightly-builds
  • eap: Early Access Program (full releases, but with little public testing)
  • main: Publicly tested full releases (the most stable)
p>Thank you to all the open source developers who have contributed to this, and previous, releases, and thank you for your support of the project.