Open Vehicle Monitor System v3 - Change log ????-??-?? ??? ??????? OTA release - Separate Polling from the Vehicle implementation New commands: poller status poller pause poller resume poller trace on|off -- Control verbose logging - Duktape support for Metric Age / Stale New Duktape methods OvmsMetrics.IsStale OmvsMetrics.IsFresh OvmsMetrics.Age 2024-03-23 MB 3.3.004 OTA release - MG EV Added support for MG5 (2020 - 2023) Short Range - MG EV Added support for MG ZS EV (2023 - ) and MG5 (2020 - 2023) Long Range - OVMS Server v3 metrics filtering New configs: [server.v3] metrics.include -- Comma-separated list of metric names (with possible wildcard) matching metrics to send [server.v3] metrics.exclude -- Comma-separated list of metric names (with possible wildcard) matching metrics to not send - Renault Zoe Phase 2: Initial support - Improved output of bms shell command for narrow windows. New commands: bms volt -- Output only voltage info if available bms temp -- Output only temperature info if available - Hyundai Ioniq 5: Initial support - Support for specifying units in scripts New commands: metrics units -- Display available unit identifiers metrics get -- Get at a particular metric value (with a specified unit) Extended commands: metrics set -- Support setting with a specified unit Extend functions OvmsMetrics.Value -- Optionally specify a unit (and make 'decode' work) and to get values with units. OvmsMetrics.GetValues -- Optionally specify a unit to get values with units. OvmsMetrics.AsFloat -- Optionally specify a unit New DukTape function OvmsMetrics.HasValue -- Returns true if the metric has a valid value. - Added power consumptions units: kWhP100K,KPkWh,MPkWh - Consolidate custom trip power consumption metrics to single value (kWhP100K) in Kia Niro and Kia Soul - VFS: sorted directory listings & recursive directory listings New commands: vfs rls -- List and all subdirectory contents - Vehicle: emit standard events on charge/generator connection type changes New events: vehicle.charge.type -- Vehicle charge connection type has changed (e.g. ccs/type2/…) vehicle.gen.type -- Vehicle generator connection type has changed - CAN logging: add possibility to log events (name) and metrics (JSON object with name, value, unit) New configs: [can] log.events_filters -- comma-separated list of filters (with possible wildcard) matching an event name [can] log.metrics_filters -- comma-separated list of filters (with possible wildcard) matching a metric name - Add units Bar, Permille - Add user configuration for groups of metrics Adds the 'ToUser' unit that converts to the user specified unit. Add -u to 'metrics list' to view metrics as user units. - Add completion for metrics set/get as well as units - Mini Cooper SE: Initial support - Hyundai Ioniq vFL: trip metrics, range estimations, TPMS, web configuration, charge type detection, charge speed & time estimation New configs: [xhi] ctp.maxpower -- Default charge power limit [kW] for charge time estimations, default 0 = unlimited [xhi] ctp.soclimit -- SOC level [%] for secondary charge time estimation (sufficient SOC), default 80 [xhi] notify.charge.delay.ccs -- Wait time [sec] for DC charge power to ramp up before sending the notification, default 15 [xhi] notify.charge.delay.type2 -- … same for AC charging, default 3 [xhi] range.ideal -- ideal new car range [km], default 200 [xhi] range.user -- typical current user range [km], default 200 [xhi] range.smoothing -- Number of SOC samples, default 10 = ~ 5% SOC [xhi] tpms.pressure.warn -- default 230 [kPa] [xhi] tpms.pressure.alert -- default 220 [kPa] [xhi] tpms.temp.warn -- default 90 [°C] [xhi] tpms.temp.alert -- default 100 [°C] New metrics: xhi.b.range.user -- actual current user range [km] xhi.e.state -- General/ignition state flags - Module: support deep sleep schedules New commands: module sleep -- Shutdown all components and enter deep sleep for a time span or until a specific time. - Add support for user-configured metrics in the web interface and plugins: Adds an extra 'units' stream from the websocket containing sub-streams: - metrics (for the current user unit/label for each metric) (subscribe to units/metrics) - prefs (for any user preferences for unit groups/types) (subscribe to units/prefs) Adds proxy arrays metrics_user[] , metrics_label[] available to plugin pages. Adds various browser javascript functions and methods for plugins related to displaying user configurations Auto-converts metric display to user units in plugins that use attributes - Cellular: add GPS/GNSS state control commands (for power management) New commands: cellular gps [status] -- output current modem GPS/GNSS subsystem status cellular gps start -- start modem GPS/GNSS subsystem cellular gps stop -- stop modem GPS/GNSS subsystem - CAN framework: add bus reset command New commands: can [can1…4] reset -- reset the CAN interface - Vehicle: add support for custom command handlers, see… https://docs.openvehicles.com/en/latest/userguide/scripting.html#ovmsvehicle-command-plugins - Renault Twizy: read battery energy available from BMS (thanks to Martin Bitz) New metrics: xrt.b.energy.avail -- Current battery energy available [kWh] (aged) xrt.b.energy.full -- Maximum battery energy capacity [kWh] (aged, needs full charge) - Add button on web file editor to reload obd2ECU (when obd2ECU is enabled). - Vehicle: add support for a geofence for valet mode similar to parking/flatbed warnings. New Configs: [vehicle] valet.alarmdistance -- How far away from the original position before raising an alert (in metres) [vehicle] valet.alarminterval -- How often the alarm can be raised in minumtes - Add metric and events related to obd2ecu process: New metric: m.obdc2ecu.on -- Is the OBD2ECU process currently on. New events: obd2ecu.start -- Called after the OBD2ECU process is started. obd2ecu.stop -- Called before the OBD2ECU process is stopped. - Web UI: Add configuration for Valet and Flatbed geofence to the Locations config page. - Network: New 'network ping' command to ping (ICMP) hostname or IP address. (ESP-IDFv4+ only / needs to be enabled in menuconfig - Developer Options) - Vehicle: add automatic module shutdown/reboot based on 12V battery voltage level New configs: [vehicle] 12v.shutdown -- Shutdown voltage level (default: disabled) [vehicle] 12v.wakeup -- Reboot minimum voltage level after shutdown (default: any) [vehicle] 12v.wakeup_interval -- Reboot test interval in seconds (default: 60) New events: vehicle.alert.12v.shutdown -- 12V shutdown threshold reached, entering deep sleep - BYD Atto 3 initial support - Vehicle: add 12V shutdown delay & notification New configs: [vehicle] 12v.shutdown_delay -- Shutdown delay in minutes (default: 2) New events: vehicle.alert.12v.low -- 12V shutdown voltage level detected vehicle.alert.12v.operational -- 12V recovered above shutdown level New notifications: [alert] batt.12v.shutdown -- Alert about imminent 12V shutdown - VFS toolkit: add recursive options to mkdir (-p) & rmdir (-r) commands - Renault-Zoe-Ph1: add Cabin Pre-heat/cool Control - VW e-Up (UpMiiGo): T26: rework of wakeup & climate control (fix deleting of charge timer settings in ECU) T26: add charge control OBD: add charge port detection & official VW SOH 2022-09-01 MWJ 3.3.003 OTA release - Toyota RAV4 EV: Initial support added. Only the Tesla bus is decoded and just listening so far. - Location: configurable flatbed movement alarm repetition New configs: [vehicle] flatbed.alarminterval -- in minutes, default 15, 0 = single alarm - GPS: added normalized signal quality level, added web UI live status info New metrics: v.p.gpssq -- GPS signal quality [%] (<30 unusable, >50 good, >80 excellent) v.p.gpstime -- Time (UTC) of GPS coordinates [Seconds] - Location: flatbed movement alarm only with reliable positioning New configs: [vehicle] gps.sq.good -- SQ level for location state "reliable", default 60 [vehicle] gps.sq.bad -- SQ level for location state "unreliable", default 40 New events: gps.sq.good -- GPS position is now reliable gps.sq.bad -- GPS position is now unreliable - Improvements to SIM7600 driver to support E-UTRAN LTE only cellular providers - Enhance 'cellular cmd' to show output from modem 2022-03-07 MWJ 3.3.002 OTA release - Maxus eDeliver3: Updated speed PID - Bolt EV: Add early Bolt EV support - Maxus eDeliver3: Add CCS Charging rewrite polling system - Volt/Ampera:: added notification for "fuel" metric. new config: [xva] notify_va_metrics (bool, default no) - Server V2/V3: added manual update request Note: the servers normally don't need a manual trigger to perform data updates, they listen to metrics changes and events. Use this only if you need extraordinary single updates as fast as possible. New commands: server v2 update [all|modified] -- Request V2 data update server v3 update [all|modified] -- Request V3 data update - Notifications: add tracing (debug logging) of stream notifications New commands: notify trace all -- Enable logging of stream notifications - Nissan LEAF: - Remote heating/cooling now works on 2011-2012 LEAFs - Stop charge feature added, works via app - Charge to Limit SOC and/or range added with a top-up feature. - Improved charging metric logic. - Fixed incorrect HVAC (Climate Control) status when charging (for 2013+). - 9 new metrics added xnl.v.b.max.gids (Max number of GIDs the battery can reach (for 2016+)) xnl.v.b.heatrequested (Battery is requesting heater elements to turn on (for 2013+)) xnl.v.b.heatergranted (Vehicle is OKing heater elements to turn on (for 2013+)) xnl.v.c.chargeminutes3kW (The 3kW charge time estimate the car calculates) xnl.v.c.chargebars (Remaining charge "bars" on dashboard) xnl.v.c.event.notification (Used to not send duplicate notifications for charge to limit feature.) xnl.v.c.event.reason (When charge to limit feature starts the charge shows if was triggered due to range or SOC limit.) xnl.v.c.state.previous (Used to better handle charging substate, shows previos charging state timed to ticker.10.) xnl.cc.rqinprogress (Indicates the period betwen arrival of climate control action message and climate control activation.) - Wakeup command now charges 12V battery if connected to EVSE - 2011-2012 LEAF now reads AC voltage from grid - Fix to watchdog timer for modem driver without GPS enabled 2021-11-22 MWJ 3.2.018 OTA release - Vehicle: added optional automatic trip report generation Details: https://docs.openvehicles.com/en/latest/userguide/notifications.html New configs: [notify] report.trip.enable -- Send trip report on vehicle off (bool, default no) [notify] report.trip.minlength -- … minimum trip length in km, default 0.2 km New command: stat trip -- Output statistics for current/finished trip - VW e-Up: added acceleration support; OBD by reading from ECU, T26 deriving from speed changes - Fiat 500e: enhancements courtesy of Gunther Huck - OTA: Add support for v3.3 hardware (ESP32 rev3) 2021-09-29 MB 3.2.017 OTA release - Added VEHICLE_POLL_TYPE_ROUTINECONTROL to UDS (ISO 14229) service identifiers list - MG ZS EV: - Moved to 2 car variants architecture: MG EV A (✔ Zombie mode | ❌ GWM authentication | ❌ Poll BCM) and MG EV B (❌ Zombie mode | ✔ GWM authentication | ✔ Poll BCM) - New commands: drl [on | off] Turn on/off daytime running lights drlauth [on | off] (Only for MG EV A) Do BCM authentication then turn on/off daytime running lights auth [all | gwm | bcm] Authenticate with specified ECU - New metrics: v.e.headlights v.e.cooling xmg.v.bat.voltage.vcu xmg.v.bat.coolant.temp xmg.v.bat.resistance xmg.v.bms.cell.voltage.max xmg.v.bms.cell.voltage.min xmg.v.bms.mainrelay.b xmg.v.bms.mainrelay.g xmg.v.bms.mainrelay.p xmg.v.bms.time xmg.v.bat.error xmg.v.radiator.fan xmg.v.dcdc.load xmg.v.vcu.dcdc.mode xmg.v.vcu.dcdc.input.current xmg.v.vcu.dcdc.input.voltage xmg.v.vcu.dcdc.output.current xmg.v.vcu.dcdc.output.voltage xmg.v.vcu.dcdc.temp xmg.v.m.coolant.temp xmg.v.m.torque xmg.v.ignition.state - Modified metrics calculation: v.e.charging12v v.e.on v.m.rpm v.m.temp v.b.temp - Decreased poll intervals for some PIDs for better performance - Fixed issue where Features page shows unchecked check box but value is actually true - Added notifications when reaching SOC & Range Limit. - Display charge time to reach Full/SOC/Range limit. - Display CCS Charging on App. - Add new features page to select car's BMS firmware release to adjust SOC display. - Zoe: add Kangoo to Renault Zoe vehicle module. - New vehicle: Maxus eDeliver 3 via OBD-II Port (MED3) https://docs.openvehicles.com/en/latest/components/vehicle_maxus_edeliver3/docs/index.html - Maxus eDeliver3: cell volts and temps added to metrics and polling update. - Maxus eDeliver3: Web interface page added for charging and cell metrics - Vehicle: emit standard events on changing v.c.timermode New events: vehicle.charge.timermode.off -- Vehicle charge timer mode has been switched off vehicle.charge.timermode.on -- Vehicle charge timer mode has been switched on - VW e-Up/OBD: detect charge timer mode New metrics: xvu.c.limit.soc.max -- Charge schedule maximum SOC [%] xvu.c.limit.soc.min -- Charge schedule minimum SOC [%] xvu.c.timermode.def -- Charge timer defined & default [bool] - VW e-Up/OBD: optional BMS auto statistics reset between driving & charging New config: [xvu] bms.autoreset -- yes = enable statistics reset, default no - VW e-Up/OBD: add MFD range estimation as SOH source, add config option for SOH source New metrics: xvu.b.soh.charge -- SOH based on charge energy sum [%] xvu.b.soh.range -- SOH based on MFD range estimation [%] New configs: [xvu] bat.soh.source -- 'charge' (default) or 'range' [string] - VW e-Up/OBD: charge time prediction while not charging & full charge with limit New configs: [xvu] ctp.maxpower -- in kW, 0 = unlimited except by car, used when not charging [xvu] ctp.soclimit -- in %, used as informative limit w/o OBD connection - VW e-Up/OBD: charge start notification delay configuration to accomodate current ramp-up New configs: [xvu] notify.charge.start.delay -- in seconds, default 24 - VW e-Up/OBD: polling control for diagnostic/adaptation sessions New command: xvu polling -- temporarily pause OBD2 polling - VW e-Up: added SOC monitoring log New configs: [xvu] log.socmon.storetime -- days, 0=off - VW e-Up: add topping off charge phase support & timer mode change notification - VW e-Up/OBD: read ignition state from ECU, support v.e.gear & v.e.drivemode (v.e.gear only on 2020 model) - New vehicle: Hyundai Ioniq vFL (HIONVFL) https://docs.openvehicles.com/en/latest/components/vehicle_hyundai_ioniqvfl/docs/index.html - Webserver: support TLS (https, wss) using self-signed certificates - New vehicle: Jaguar Ipace (JLRI) - New commands: echo [] […] -- output text sleep -- pause script execution - Scripting API: added OvmsVehicle.ObdRequest() - Vehicle: provide momentary ideal range gain/loss speed as a metric, add charge speed to "stat" output, output "stat" charge ETRs in hh:mm format New metric: v.b.range.speed -- Momentary ideal range gain/loss (charge/discharge) speed [kph] - Vehicle: emit standard events on changing v.e.gear & v.e.drivemode New events: vehicle.drivemode. -- Vehicle drivemode has been set to profile (vehicle specific) vehicle.gear.forward -- Vehicle has been put in forward gear vehicle.gear.neutral -- Vehicle has been put in neutral gear vehicle.gear.reverse -- Vehicle has been put in reverse gear - Scripting/Duktape: new heap memory management using fixed amount of system RAM New config: [module] duktape.heapsize -- in KB, default 512, max 1024 New commands: script meminfo -- output heap memory status (JSON) New API calls: meminfo() -- return heap memory status - TLS: removed expired DST root certificate, added new ISRG root certificate for Let's Encrypt 2021-03-05 MB 3.2.016 OTA release - 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: xvu.b.cap.range xvu.b.cap.chg.ah.norm xvu.b.cap.chg.ah.norm xvu.b.cap.chg.kwh.norm xvu.b.cap.chg.kwh.abs 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] - Volt/Ampera: new xva metrics: xva.v.p.trip.ev = trip using electric, km; xva.v.e.fuel = fuel tank level, %; - 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 - ZOE: BMS cell monitoring (PH1) - SmartED: add Drivmode for Brabus - 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 - Events: added automatic events on v.e.aux12v changes. New events: vehicle.aux.12v.on vehicle.aux.12v.off - 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) - 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. - 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 …by… 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 - 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; - VW e-Up: BMS cell monitoring (@OBD) - VW e-Up: combined T26A & OBD module, extended standard metrics coverage, charge notifications & durations (OBD), enhanced cabin pre-heating (T26) - 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 - Wifi: option to immediately disconnect/reconnect on bad signal level New config: [network] wifi.bad.reconnect [bool], default no - 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 - Location: add metric for name of current location New metrics: v.p.location -- Name of current location if defined - Nissan Leaf: invert batt current sign to match standard metrics definition, populate charger power/efficiency - New standard metrics for total (life time) energy and coulomb - Renault Twizy: support additional OBD/UDS request types & arguments on "xrt obd request" - VW e-UP T26A: add climate control and charging detection - New vehicle: VW e-Up via OBD-II Port (VWUP.OBD) - New vehicle: MG ZS EV via OBD-II Port (MGEV) - Add support for TLS OTA update and change to default - New vehicle: BMW i3/i3s via OBD-II Port (BMWI3) - Updated wolfssh and wolfssl so the restriction of clients to use aes128-cbc cipher is no longer required. - 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 2020-09-02 MWJ 3.2.015 OTA release - Notify: add explicit channel exclusion config syntax config set notify <…> <…> options are now: a) explicit inclusion: e.g. 'ovmsv2,ovmsv3' (only enable these) b) explicit exclusion: e.g. '*,-ovmsv2,-ovmsv3' (only disable these) '-' to disable all, empty/'*' to enable all - Renault Twizy: add eDriver/Virtual BMS data to RT-BAT-C & RT-BAT-P logs - Nissan Leaf: fixes for issues related to using EV CAN bus (was CAR CAN prior to 3.2.014) - Wifi client: support static IP configuration, manually set or automatically applied by SSID New commands: wifi ip static [ ] wifi ip dhcp New configs: wifi.ssid ".ovms.staticip" ",," 2020-08-04 MWJ 3.2.014 OTA release - Renault Twizy: support VirtualBMS & eDriver BMS (3 cell temperature sensors) New metrics: xrt.bms.type -- 0=VirtualBMS, 1=eDriver, 7=Standard xrt.bms.state1 -- BMS specific main state xrt.bms.state2 -- BMS specific aux state xrt.bms.error -- BMS specific error status xrt.bms.temp -- internal BMS temperature xrt.bms.balancing -- Cell balancing status - Wifi: scanning apclient mode, network selection dialog in wizard & wifi config, scan support in all modes, fixed network selection by signal strength (possibly also fixes issue #387) New/updated commands: wifi scan -- can now be issued in any mode wifi scan -j -- output scan result as JSON object (for web UI) wifi reconnect -- request a client reconnect cycle wifi mode apclient -- now accepts empty stassid & optional stabssid - #377 Make some metrics (e.g. v.b.soc) persistent across warm reboots This includes crashes and firmware updates - Tesla Roadster support for TPMS - Tesla Model S support for Baolong TPMS - General stability improvements related to watchdog and task timeouts 2020-05-31 MWJ 3.2.013 OTA release - TLS Trusted CA update (for addtrust/usertrust) - TPMS subsystem, and support for K-Line TPMS ECU in Tesla Roadster - #374 The server.v2 config section should be read/write 2020-04-22 MWJ 3.2.012 OTA release - #357 tpms rear left temperature incorrect in v2 protocol - #354 Flush UART buffer when power cycling modem - General stability improvements to CAN logging and playback 2020-04-03 MWJ 3.2.011 OTA release - #327 Tesla Roadster: Vehicle AWAKE metric not correct - #311 OvmsEvents::ScheduleEvent with delay_ms < 10 - #333 Support for SSL/TLS Trusted Certificate Authorities - #334 Support for SSL/TLS MQTT connections in Server v3 - #335 Support for SSL/TLS MQTT connections in Server v2 - #338 SSL/TLS maximum segment size forced to 2048 bytes - #341 Support paranoid mode in server v2 - #343 TPMS message has no -1 setting for "disable" in ovms_server_v2.cpp - #342 OTA updates available (when not on wifi) - #351 Tesla Model S: Spurious vehicle idle alerts after vehicle firmware update 2020-02-03 MWJ 3.2.010 OTA release - EGPIO: address multiple ports by input & output command - SmartED: issue #293 fixed change savestatus from store to sd Add ecoscore system to drive report and web interface like defunct smart web app. (added by frantek) - New command: "vfs df" -- show disk usage - Scripting API: added VFS.Load() & VFS.Save() - Scripting API: renamed HTTP.request() to HTTP.Request() for API consistency - Scripting API: added OvmsMetrics.GetValues() - Web UI: editor extended by embedded Javascript evaluation - Webserver: /api/execute: support for Javascript evaluation - Scripting API: added OvmsConfig.GetValues() & OvmsConfig.SetValues() - Config: added dedicated "usr" param for plugin configurations - Scripting API: HTTP.request() added - SmartED: add BMS diagnose report New commands: xse rptdata get a Battery Status Report xse bmsdiag get Battery Diagnose Report - #225 Fix charge duration display in iOS App - #228 AutoFlashSD cleanup ovms3.done before rename - #293 Event queue overflow on startup - #299 Fix Tesla Roadster vehicle type for 2012 cars - #328 Tesla Roadster: Vehicle AWAKE metric not correct 2019-12-13 MWJ 3.2.008 OTA release - Add support for 8MB PSRAM (in addition to current 4MB support) - Improvements to CAN driver, relating to obd2hud - Nissan Leaf: 40kWh option 2019-12-09 MWJ 3.2.007 OTA release - Minor change to web sheel (to decode line breaks in log messages) - Javascript: Conduct garbage collection per minute, to reduce memory consumption 2019-11-30 MWJ 3.2.006 OTA release - 12V Monitor: web UI calibration aid & configuration - EGPIO/MAX7317: port input monitoring, metrics, events, documentation New commands: egpio status Show input, output & monitoring port status egpio monitor status Show input monitoring status egpio monitor [ports] Enable/disable port monitoring New configs: [auto] egpio yes = Autostart port monitoring (default no) [egpio] monitor.ports Default ports to monitor (space separated) [egpio] monitor.interval Polling interval in ms (default 50) New metrics: m.egpio.input EGPIO input port state (ports 0…9, present=high) m.egpio.monitor EGPIO input monitoring ports m.egpio.output EGPIO output port state New events: egpio.input.. EGPIO input port change (port=0…9, state=high/low) egpio.output.. EGPIO output port change (port=0…9, state=high/low) - Scripting API: OvmsMetrics.AsJSON() added - Renault Zoe: basic Metrics and charging status added, trip notify, web config for battery capacity - Logging: file logging moved to dedicated task (improved performance) New commands: log status Show logging status log open (Re-)open currently set log file after "log close" - Web UI: log monitoring via web shell Note: command "log monitor" doesn't apply, use the checkbox to disable. - Factory reset from web/remote shell by "module factory reset -noconfirm" - SWCAN: Support for add-on SWCAN module (see https://github.com/mjuhanne/OVMS-SWCAN) Add new "can4" bus (if compiled in) SWCAN leds (board and/or dongle): - Status led shows network connectivity - TX/RX led for SWCAN traffic - MCP2515: Additional debugging commands New commands: viewregisters Show MCP2515 register info writeregister Write MCP2515 registers - Volt/Ampera: Major update Add web config interface Support for SWCAN module and SWCAN messages Read following metrics: CAN1: engine on, motor rpm, odometer, speed, throttle, footbrake, gear SWCAN: Lock status, alarm status, fob button functions, tire pressure SWCAN: Ambient temperature, cabin temperature, AC front blower fan speed, coolant temperature, coolant heater power SWCAN: Configured charging current limit Proper event handling for charging started/stopped and alarm SWCAN High Voltage Wake Up functionality (requires separate SWCAN add-on module) - Interior light blinked after the wake up sequence Add following features (which all depend on SWCAN Wake Up): Mimic Onstar functionality: Door lock/unlock, Preheating Preheating (BCM overriding mode) for those cars that don't seem to respond to Onstar message - configurable maximum preheat time Set charging current limit - Pushover: New Pushover notification framework support Configurable via Config/Notification web page - SIMCOM: Allow user to set custom SIM PIN code - Metrics: 'metric list -s' shows metric age and staleness - Twizy: send custom OBD2 requests, output response as hex dump New command: xrt obd request cluster|bms|charger|broadcast xrt obd request device Note: request types need to be supported by the poller, i.e. currently only 8/16 bit PID requests with mode 01, 02, 09, 10, 1A, 21 or 22 - Scripting: new Javascript APIs: - OvmsEvents.Raise(event, [delay_ms]) - id = OvmsNotify.Raise(type, subtype, message) - Twizy: immediate tuning metrics updates (was delegated to ticker before), remember profile key loaded into working set, remember tuning applied state New metrics: xrt.cfg.applied -- yes = tuning has been applied to SEVCON xrt.cfg.ws -- tuning profile loaded into working set - Powermgmt: New automatic power management module Configuration via Web UI Switch off SIMCOM and WiFi after certain (configurable) time period of idling/non-charging of 12V battery has lapsed. Turn on previously switched off modules if 12V charging is initiated. If 12V battery alert is received, shut down all the modules and OVMS after certain configurable grace period (default 30 minutes) 2019-09-19 MWJ 3.2.005 OTA release - Default module/debug.tasks to FALSE Users that volunteer to submit tasks debug historical data to the Open Vehicles project, should (with appreciation) set: config set module debug.tasks yes This will be transmit approximately 7MB of data a month (over cellular/wifi). 2019-09-19 MWJ 3.2.004 OTA release - Skipped for Chinese superstitous reasons 2019-09-17 MWJ 3.2.003 OTA release - New vehicle: Renault Zoe (adaption by Marcos Mezo ) - Module: task CPU usage statistics & debug records New command: module tasks data -- Output task stats record New config: [module] debug.tasks -- [bool] send task debug stats (default: yes) New history record: "*-OVM-DebugTasks" v1: + per task: Note: CPU core use percentage = runtime / totaltime - Server V2: restart network on RX connection loss (issue #241 workaround) New config: [server.v2] timeout.rx -- [seconds], default: 960 - Network: avoid using wifi networks with too bad signal quality New configs: [network] wifi.sq.good [dBm], default -87 (network usable if SQ >= this) [network] wifi.sq.bad [dBm], default -89 (disconnect if SQ <= this) New events: network.wifi.sta.good network.wifi.sta.bad - Network: provide dedicated metrics for modem & wifi channel states New metrics: m.net.mdm.network m.net.mdm.sq m.net.wifi.network m.net.wifi.sq - Regen brake signal: added power base range, power smoothing & foot brake config New configs: vehicle [batpwr.smoothing] = 2.0 Battery power smoothing factor (samples, 0 = none) vehicle [brakelight.basepwr] = 0 Base power range around zero [kW] vehicle [brakelight.ignftbrk] = no Ignore foot brake - Twizy: added tuning option for SEVCON_T45 + Gearbox_T80 hybrid Configuration: xrt [type] = "SC45GB80" - Twizy: OBD2 VIN reading & cluster DTC monitoring New commands: xrt dtc [show] Show DTC report xrt dtc reset Reset statistics xrt dtc clear Clear DTC stored in OVMS & car New configs: xrt [dtc_autoreset] = no Reset statistics on each drive/charge New history records: RT-OBD-ClusterDTC (rec_nr = DTC slot nr) - New vehicle: Smart ED/EQ 4.Generation (453) (adaption by Thomas Heuer ) 2019-05-12 MWJ 3.2.002 OTA release - Vehicle framework: added idling alert (ported from V2) - Locations: Introduce support for location actions - Twizy: Release 1.0.0 -- all V2 features planned are now included in V3 - Vehicle framework: Regenerative braking signal generation - Vehicle framework: DBC and RETOOLS integrations - Vehicles: Extensions to Kia Niro, Kia Soul, Mitsubishi, Nissan Leaf, Renault Twizy, SmartED, Tesla Model S, and Think City 2019-01-19 MWJ 3.2.001 OTA release - Twizy: support auxiliary charger fan and auxiliary charger New configs: xrt [aux_fan_port] = EGPIO port number, 0 (default) = off xrt [aux_charger_port] = EGPIO port number, 0 (default) = off - Twizy: lock & valet mode New configs for crash/reboot persistency: xrt [lock_on] = currently active lock speed [kph] xrt [valet_on] = currently active odometer limit [10m] - Twizy web UI: regenerative braking signal configuration - Vehicle framework: regenerative braking signal generation New config: vehicle [accel.smoothing] = 2.0 Acceleration smoothing factor (samples, 0 = none) vehicle [brakelight.enable] = no Regen brake light enable vehicle [brakelight.port] = 1 … MAX7317 output port number (1, 3…9, default 1 = SW_12V) vehicle [brakelight.on] = 1.3 … activation threshold (deceleration in m/s²) vehicle [brakelight.off] = 0.7 … deactivation threshold (deceleration in m/s²) New metrics: v.p.acceleration = acceleration/deceleration in m/s² derived from v.p.speed v.e.regenbrake = regenerative brake light state - New vehicle: Kia e-Niro (by Geir Øyvind Vælidalo ) - OTA: add option to allow scheduled auto updates via modem New config: ota [auto.allow.modem] = false - Twizy web UI: tuning profile and drivemode button editors - New vehicle: Smart ED (adaption by Martin Graml ) - Web API: per access authorization by "apikey=password" parameter - Web UI: text / script editor - Web UI: user plugin support (pages & hooks) - Twizy web UI: drivemode buttons secured & added to dashboard - Twizy web UI: added file dialog for virtual dyno recording - Web API scripting: /api/execute supporting GET & output control - Web UI: night mode by URI parameter, e.g. "…/#/dashboard?nm=1" - Web UI: dashboard accessible w/o login - Web UI: added config backup & restore tool - Web UI: file selector added for firmware flashing from SD - Web UI: text notifications (info/error/alert) displayed as dialogs - Twizy: SEVCON monitoring & recording New commands: xrt mon start [] xrt mon stop xrt mon reset New metrics: xrt.i.* = operational inverter data xrt.s.* = power & torque by speed (virtual dyno) - Twizy: experimental powermap calculation including region 3 / breakdown torque New config: xrt [motor_trq_breakdown] = 0 Breakdown torque in Nm, e.g. 210.375 xrt [motor_rpm_rated] = 0 Rated speed in rpm, e.g. 2100 See docs/Renault-Twizy/Twizy-Powermap-Calculator-Tbrk.ods for details. - Add inactivity watchdog timers to CAN buses - NissanLeaf: Fix for 0% SOH on 30KWh models with Nissan BMS update - Introduction of support for DBC CAN bus configuration files - Javascript: New modular framework, and migration of all extensions to objects - Mitsubishi i-MiEV OVMS3 rewrite 2018-10-24 MWJ 3.1.011 OTA release - Config backup & restore using encrypted ZIP archives (AES 256 bit encryption, supported by e.g. 7z) New commands: config backup [password=module password] config restore [password=module password] - Support custom MAC address (config network mac ...) 2018-08-26 MWJ 3.1.010 OTA release - TeslaRoadster: Fix for digital speedo bug - Bluetooth: Improvements towards bluetooth BLE support - Server v2: Add cabin temperature to "D" message 2018-08-15 MWJ 3.1.009 OTA release - Tesla Roadster: COOLDOWN command implementation - Tesla Roadster: Charge Timer support - Tesla Roadster: Digital Speedo feature implementation - Tesla Roadster: Refuse to lock a car that is ON - Server V3: MQTT implementation complete (still experimental beta) - Mitsubishi iMiev: Basic vehicle support - CAN: Support LISTEN mode for CAN buses 2018-06-26 MWJ 3.1.008 OTA release - Vehicle theft alert if vehicle moved more than 500m when parked - New 'location radius' command to set location radius - Only issue 'location.enter' and 'location.leave' events if vehicle is ON - Fix issue with OTA updates in 3.1.007 2018-06-18 MWJ 3.1.007 OTA release - Logging: auto expire log archive New config: log [file.keepdays] = 30 0 = disable New command: log expire [days] Manual expire Note: auto expire is done within hour 0 of day - Web UI: simplified time zone region selection (vehicle config) - Web UI: locations editor - Prefer SPI RAM (on 3.1 hardware) for improved on-chip memory availability 2018-05-20 MWJ 3.1.006 OTA release - Web status: panel auto updates, reboot button, SD card and modem status and control - Twizy: sufficient charge notifications separated from charge state - Webserver: setup wizard - Notifications for charge and other standard events - Notifications for vehicle error fault codes - Notifications when new firmware is available / installed (autoflash) - Charge Time Predictor for Tesla Roadster 2018-05-01 MWJ 3.1.005 OTA release - Vehicle: 12V battery monitoring vehicle [12v.alert] = 1.6 Voltage drop alert threshold in V vs. reference - OTA: automatic daily firmware updates (wifi only) auto [ota] = yes Enable/disable ota [auto.hour] = 2 Hour for daily check - Logging: persistent configuration, file cycling, web config UI: log [file.enable] = no Enable/disable file logging log [file.maxsize] = 1024 Max log file size in kB, 0 = no cycling log [file.path] = "" Log path, if on /sd watches sd.mounted log [level] Default level log [level.] Component levels - Reverse Engineering Tools enhancements - Tesla Roadster CAC support - Miscellaneous bug fixes and enhancements 2018-04-17 MWJ 3.1.004 OTA release OTA release providing minor improvements and fixes. - Tesla Model S: Add support for v.bat.soc, v.pos.speed and park/drive status metrics - Tesla Roadster: Fixes for charge/drive mode on v1.x and v2.x cars - SD CARD: Provide configurable sdcard parameters: sdcard [maxfreq.khz] = 16000 Maximum frequency (in kHz) of SD CARD bus sdcard [automount] = yes Automatically mount SD CARD on insertion - Boot: store & send crash debug info (*-OVM-DebugCrash records) - OTA: Support for configurable release tag and server URL ota [tag] = main ota [server] = api.openvehicles.com/firmware/ota - Wifi: Increase scan responsiveness (60 seconds -> 10, on first scan) - Factory reset by SD file "factoryreset.txt" or pushing SW2 for 10 seconds Note: SW2 method needs removing any SD card inserted. - Wifi: fallback to AP mode net "OVMS" password "OVMSinit" after factory reset - Miscellaneous bug fixes and enhancements 2018-04-07 MWJ 3.1.003 OTA release - Production build configurations 2018-04-07 MWJ 3.1.002 OTA release - Nissan Leaf: Various enhancements: Store hx in a metric, SoH in soh based on configurable new car Ah Adjust constants Store gids in a metric Make range calcuations configurable Calculate range in km Decode odometer and odometer units - SSH: Increase scp size limit to 10MB - Console: Show usage line if non-empty with optional subcommands - Module: Add quick-and-dirty optional module task stack listing - SIMCOM: Add ppp shutdown msg, on response from the ppp task - Housekeeping: Move ticker.* events to housekeeping task context - SIMCOM: Fix to ppp disconnect handler, to reconnect in LWIP tiT task context - Twizy v0.14: battery cell monitoring web UI - Webserver: dashboard - Web UI: fullscreen mode 2018-03-25 MWJ 3.1.001 OTA release - Add task state to 'module tasks' output - Avoid SPIRAM being lumped in with DRAM in 'module memory' output - Wifi: Make 'wifi scan' command block, and show nice summary of discovered access points - Show firmware version and hardware info on console startup - Show hidden SSIDs as in wifi scan - Add logging, with reason, for some wifi events - WIFI refactor; use pcp to power on/off wifi driver, and then normal wifi state to control driver mode changes. Improvements to wifi stability and compatibility. - Twizy v0.13: kickdown implementation, throttle display - Provide a 'test watchdog' command to test watchdog timers - Initialise watchdog timer to start, and reboot if watchdog timeout - Enable watchdog timer for housekeeping task 2018-03-21 MWJ 3.1.000 OTA release - Tesla Model S basic vehicle support - Provide an option for aggressive allocation of SPI RAM (OVMS HW 3.1) - Low-level boot framework for storing data across CPU resets/sleeps - Webserver: support add to home screen / web-app mode - Boot/Autostart: crash detection & counting, temporary autostart inhibit - Webserver: show boot status, shell command output streaming & history - Network: New 'network status' command to show IP networking status - Simcom: Check MUX status in NetWait state - Simcom: Add a MuxStart sanity check timeout (120 seconds) - Simcom: Check MUX status in NetMode state - Simcom: Refactor state timeouts for greater reliability - Simcom: Make 'simcom status' the default simcom command - Network: Support 'config network dns' space-separated list of DNS servers - Wifi: Support APCLIENT mode (for Access-Point + Client) - Webserver: command streaming, auto reload, shell pageup/down - Ota: If wifi network is available, try to determine available firmware version on server - Webserver: added DNS config, replaced modem with network status - Module: Provide a 'module factory reset' command to erase config store - Webserver: warn user about unchanged password, change coupled AP password - OTA: web UI - Network: Try to set default interface based on WifiSTA>Modem priority - Wifi: Fix to APCLIENT mode STA reconnect - Wifi: Fix to display of IP and MAC addresses in APCLIENT mode - Twizy v0.12: auto power control - Require secure mode for several additional commands - MDNS: Disable MDNS support (as causing too many issues) - Network: Change TELNET/SSH/WEBSERVER to always bind listener on mongoose init - MDNS: The MDNS system is back! New and shiny - Network: Dont issue network.reconfigured if modem goes down while wifi client is still up (so behaviour is network.reconfigured is only issued if that would change the interface priority order and cause application level reconnections) - First factory firmware 2018-03-05 MWJ 3.0.991 OTA release support OTA updates over HTTP - Update ovms_module to use new API for per-task heap info. - Commands "time status" and "time set" for access to real-time clock. - Time zone support in config vehicle/timezone See GNU LIBC documentation for details on format https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html - Auto start/init for wifi, modem, vehicle type, server v2 & v3 - Fix to SDCARD component to free SD_DATA1, SD_DATA2, and SD_DATA3 in 1-line mode (in particular so SD_DATA1/GPIO4 and SD_DATA3/GPIO13 can be used for UART to simcom modem for OVMS v3.1 hardware). https://www.esp32.com/viewtopic.php?f=13&t=4838 - Record statistics for CAN bus interrupts (per controller) and show in status. - Don't issue network.reconfigured event when network is down. - Auto start for ext12v & obd2ecu - Web config for timezone & distance units - Twizy web UI for features, battery properties & charge control - Support ESP IDF v3 style OTA updates over http 2018-02-21 MWJ 3.0.990 Handle case of SIMCOM modem MUX down during data states