Open Vehicle Monitor System v3 - Change log ????-??-?? ??? ??????? OTA release - smart EQ: As soon as the 12V trickle charge begins, a timestamp is generated and stored in `m_12v_trickle_charge_times`. The counted value is set in `xsq.12v.trickle.count`. Within `Ticker3600`, a routine removes all timestamps older than 24 hours and updates `xsq.12v.trickle.count` by -1. New metric: xsq.12v.trickle.count -- Count of 12V trickle-charge cycles in 24h updated metric: xsq.bms.contactor.cycles (vector int) -- [0]=max, [1]=now, [2]=consumed, [3]=diff, [4]=1h_counted_changes New config: [xsq] bms.alert.above.cycles (int) -- alert threshold for cycles counted; default 50000 [xsq] bms.contactor.1h.limit (int) -- limit for contactor cycles changes per hour for alerting; default 8 2026-05-17 MB 3.3.006 OTA release - OTA/firmware: include tools to mitigate 4MB firmware size limit by upgrading the partitioning scheme; for details see: https://docs.openvehicles.com/en/latest/userguide/partitioning.html - VW e-Up: extended battery health / aging info (with web UI integration): total battery age, charge time counters AC/DC and parked battery state times (by SOC & temperature ranges) (inspired by OBD Amigos) New metrics: xvu.b.time.charged.ac -- Total time charged AC [Hours] xvu.b.time.charged.dc -- Total time charged DC [Hours] xvu.b.time.parked -- Total time parked [Days] xvu.b.time.parked.cold -- Total time parked below 0 °C [Days] xvu.b.time.parked.empty -- Total time parked below 10% SOC [Days] xvu.b.time.parked.full -- Total time parked above 90% SOC [Days] xvu.b.time.parked.hot -- Total time parked above 30 °C [Days] xvu.b.time.parked.state -- Park times matrix: 6 SOC x 8 temperature ranges xvu.b.time.total -- Total battery age [Days] - Server V3 (MQTT): AWS IoT Core compatibility fixes: - mTLS client certificate authentication for MQTT brokers that require it (e.g. AWS IoT Core). Configured via web UI (Config → Server V3). - Fixed MQTT CONNECT to omit empty username/password for certificate-only auth. - New option "retain.depth.limit": disables RETAIN on deep topics (>8 segments) for brokers like AWS IoT Core that reject them. - Autostart: added init option "minimal" to boot with just basic networking as configured; this is now the first fallback in case of repeated early crashes, aiming at keeping the module reachable in case of a bug in a higher level module / configuration. Auto init will be disabled only if early crashes continue in minimal mode. Config extension: [auto] init -- "no" / "yes" / "minimal" (default "yes") - Server V3: the MQTT client ID to use can now be configured. While not normally necessary, changing the client ID may be necessary to discard an existing MQTT server session when changing the username. New configs: [server.v3] clientid -- MQTT client ID, default: vehicle ID - New vehicle: Cadillac CT5 Initial support includes: VIN, fuel level (SOC), and run state. The CT5 uses the GM Global B platform which requires authentication so polling isn't currently possible. Instead we listen to CAN bus #5 which is present on the audio amplifier connector X3 in the trunk. - Command framework: add command to run commands in a background task, allowing the execution of long running commands via the server v2/v3 command channel or ssh without triggering the watchdog. Example: run ota flash http ; module reset Commands will be interpreted just as in a regular shell/console, so can be abbreviated etc. Note: using this is not strictly necessary for the builtin web shell & HTTP REST API, as the web framework already uses an individual task for each command execution, but it's still possible. New command: run [-n] [-S] [-P] [; ] Run command(s) in background task (log tag: 'bgshell'), send output via notification. Use a single ';' to separate multiple commands. Notification default mode (type) is 'info' (-ni), -ns = 'stream', -no = off. Notification subtype scheme: 'cmd.full.command.name' Default task stacksize is 6144, default task priority is 5. - chevrolet_c6_corvette: Add TPMS support. - swcan: module included in the default build configuration. SWCAN bus must be initialized manually from the car module. During initialization, CAN3 will be deinitialized and CAN4 used for SWCAN. Configuration "use_swcan_adapter" has been added to Voltampera and Boltev vehicles. - New vehicle: Volkswagen e-Golf via J533 connector Initial support added for: Odometer, SoC, Est. Range, Charge Status, PRNDL State, VIN https://docs.openvehicles.com/en/latest/components/vehicle_vwegolf/docs/index.html - Module: added heap integrity check + alert command for usage in e.g. custom event scripts, enables adding checks on specific system events and/or with higher frequency. Example: perform heap integrity check when the server V2 gets stopped: vfs echo "module check alert" /store/events/server.v2.stopped/90-checkheap Command extension: module check alert -- Check for and send one-off alert on heap corruption - VFS: added echo command to write a line to a file New commands: vfs echo -- Write to , creating/replacing the file - smart EQ: New commands: xsq ed4scan -- Output ED4scan-like BMS diagnostic data (battery health, SOC kernel data, cell resistance, contactor cycles, temperatures, voltages) - Module: add heap tracing tools -- NOTE: heap tracing will for now not be enabled by default on user builds. This is meant to be used by developers to track down heap corruptions. If you encounter many random crashes, ask your maintainer to provide a debug build to you with heap tracing enabled, and let her/him guide you through the usage, or grant him/her remote access to your module. See: https://docs.espressif.com/projects/esp-idf/en/v3.3/api-reference/system/heap_debug.html New commands: module trace start [num_records] -- init & start heap tracing, num_records defaults to 500 module trace stop -- stop heap tracing & cleanup memory module trace pause -- pause heap tracing for inspection module trace resume -- resume heap tracing module trace status -- show current status module trace dump -- dump allocations & frees recorded - Module: added heap integrity alert, added task ownership to heap check report, added task handles to task log, added debug options to web UI (Config → Notifications) New config: [module] debug.heap.alert -- [bool] perform heap check every 5 minutes, send alert on corruption (default: no) New event: system.heap.corrupted -- Heap corruption detected New notification: [alert] debug.heap.corruption -- Heap corruption details Command extension: test heapcorruption -- default: 'restore', use 'keep' to test heap alert History record extension: "*-OVM-DebugTasks" v2: per task record extended by - Module framework: enable remote use of the system's heap corruption test, i.e. command "module check" can now be used within any shell or command channel, not just the USB console. New command(s): test heapcorruption -- test for heap integrity checker - Workaround for iOS Open Vehicle App 1.8.6 Workaround for legacy iOS App, hiding zero/negative temperatures to keep other TPMS data visible. This workaround only manipulates the TPMS temperature metric in message W. - New vehicle: FIAT eDoblo via OBD-II port Initial support added for: VIN, SoC, SoH Door status Odometer HV, LV battery voltage temperatures - TPMS framework: added sensor mapping commands for wheel rotation/swap scenarios New commands: tpms map status -- show current TPMS sensor-to-wheel mapping with details tpms map get -- machine-readable output like message Y without header MP-0 Y tpms map set -- remap sensors using wheel position names (e.g., fl=rr fr=fl rl=fr rr=rl) tpms map reset -- reset mapping to default (e.g. FL=0, FR=1, RL=2, RR=3) Config: [vehicle] tpms.xx (sensor index per wheel position, layout by GetTpmsLayout()) Note: requires vehicle to implement UsesTpmsSensorMapping() returning true - New vehicle: Maxus T90 EV (MT90) via OBD-II port Initial support added for: VIN, SOC, SOH & READY state AC plug / pilot detection Lock status Odometer Temperature metrics - Renault Twizy: support added for standard metric "v.e.aux12v" (base system awake), OBD polling (DTC checks) enabled already with base system awake (= DTC available in STOP conditions) - VW e-Up: enable framework climate preconditioning scheduler web UI (Note: climate control only available with T26 connection) - Vehicle framework: Scheduled precondition control with duration support Centralized implementation for all vehicles with per-vehicle override capability. Supports multiple time slots per day with individual duration settings (5-30 minutes). Global enable/disable switch with config persistence. copy function to duplicate schedules across multiple days. New commands: climatecontrol schedule set -- Set schedule for a day, times format: HH:MM[/duration][,HH:MM[/duration],...] Examples: "07:30", "07:30/10", "07:00/5,17:30/15" Duration in minutes climatecontrol schedule list -- List all configured schedules with next scheduled event climatecontrol schedule clear -- Clear schedule for specific day or all days climatecontrol schedule copy -- Copy schedule from one day to others Examples: "mon tue-fri", "fri sat,sun" Supports range syntax (tue-fri) and comma-separated lists climatecontrol schedule enable -- Enable scheduled precondition (global switch) climatecontrol schedule disable -- Disable scheduled precondition (global switch) climatecontrol schedule status -- Show schedule status and configured times New config: [vehicle] climate.schedule. -- Schedule for day (mon/tue/wed/thu/fri/sat/sun) Format: HH:MM[/duration][,HH:MM[/duration],...] [vehicle] climate.precondition -- Enable/disable scheduled precondition (bool, default false) precondition scheduler features: (ported from ZOE PH2) - Multiple times per day support (comma-separated: "07:30/5,17:45/10") - Individual schedule per weekday - Automatic trigger based on system time - Integration with existing climate control - Web UI configuration page at /cfg/preconditionschedule - Automatic restart mechanism for extended runtime (configurable HVAC duration) - Duplicate prevention (same time won't trigger twice) - Copy function for quick weekly schedule setup - smart EQ: Add multiple CAN frame parsers for energy and charging metrics Add automatic 12V ADC factor recalculation history tracking - Renault Zoe Ph2: - Added temperature-based PTC auto-enable feature - Auto-enables PTCs when outside temperature in range (default 9.5-20°C) - Configurable via Web UI or console commands New config: [xrz2] auto_ptc_enabled -- [bool] enable auto-PTC based on temperature (default: no) [xrz2] auto_ptc_temp_min -- [float] minimum temperature for auto-enable (default: 9.5°C) [xrz2] auto_ptc_temp_max -- [float] maximum temperature for auto-enable (default: 20.0°C) Restructured the entire codebase for improved readability Removed the water pump lifetime metric and water pump reset command Added custom metrics for motor/inverter state monitoring (rotor/stator currents and temperatures) New metrics: xrz2.m.temp.stator1 -- Stator temperature sensor 1 (°C) xrz2.m.temp.stator2 -- Stator temperature sensor 2 (°C) xrz2.m.temp.rotor.raw -- Rotor temperature raw estimation (°C) xrz2.m.temp.rotor -- Rotor temperature estimated (°C) xrz2.m.current.stator.u -- Stator phase U current, absolute value (Amps) xrz2.m.current.stator.v -- Stator phase V current, absolute value (Amps) xrz2.m.current.stator.w -- Stator phase W current, absolute value (Amps) xrz2.m.current.rotor1 -- Rotor current sensor 1 (Amps) xrz2.m.current.rotor2 -- Rotor current sensor 2 (Amps) xrz2.m.rotor.resistance -- Rotor reference resistance (Ohms) xrz2.m.rotor.voltage -- Rotor excitation voltage I×R calculated (Volts) Added manual PTC activation for heating while charging or when the compressor is defective Added a lighting command, similar to the key fob button Added a coming-home function Added remote preconditioning via the key fob Added PV/Solar charging mode to suppress per-session charge start/stop notifications on PV-controlled wallboxes Sends a single summary notification when the charge cable is unplugged, including the total kWh charged across all sessions Added DC/DC activation and keep-alive via OVMS Enables and keeps the HV system alive regardless of lock status or whether the Zoe was previously asleep Automatically activates the DC/DC converter to recharge the 12 V battery when the voltage threshold is reached Added configurable post-ignition DC/DC runtime (0–60 min) to reduce contactor wear during short stops or when preparing the Zoe for a trip Added manual DC/DC activation with configurable SOC and time limits, ideal for powering 230 V inverters, for example while camping Added a working trunk unlock command Added TXCallback to verify successful message transmission Added ECU feedback handling instead of sending messages blindly; currently implemented only for the coming-home function Added wake-up messages for when the CAN bus is asleep - Wifi: added command to restart the Wifi network into the default (autostart) config, and added default for the AP SSID on the apclient mode. New/changed commands: wifi restart -- Restart Wifi network into autostart config wifi mode apclient -- Parameter is now optional, defaults to autostart config - Cellular: added option to restrict the modem network type to 2G/3G/4G. Restricting the network type may help in case of frequent network losses / reconnects. New config: [modem] net.type (string) -- auto/2G/3G/4G, default/empty=auto - smart EQ: Hardened poll reply & CAN parsing (REQUIRE_LEN / DLC guards, corrected switch fallthrough). Automatic 12V ADC factor recalculation using CAN 12V voltage. New config: [xsq] calc.adcfactor (bool) -- activate sutomatic ADC factor recalculation (default false) [xsq] adc.samples (int) -- default 4 - Cellular: GPS auto pause on parking reactivate when Car awakes. This reduces time to first GPS fix. New config: [modem] gps.parkreactawake (bool) -- GPS is switched on for the gps.parkreactlock (minutes) time when the GPS parking pause is active and the car wakes up (default: no) - server V3 (changes): Chunked metric transmission to limit burst size: TransmitAllMetrics(): up to 100 metrics per tick, continues next call. TransmitModifiedMetrics(): up to 150 modified metrics per tick. Priority path for GPS/time metrics with optional extras: Default priority: v.p.latitude, v.p.longitude, v.p.altitude, v.p.speed, v.p.gpsspeed, m.time.utc New update Command: server v3 update priority -- send prioritized metrics - Webserver: Server V3 (MQTT) config page Added priority sending controls: [server.v3] updatetime.priority (bool) -- prioritize selected metrics while the vehicle is awake, update in car on interval [server.v3] updatetime.immediately (bool) -- metrics should be sent immediately when they change [server.v3] metrics.priority (string) -- comma separated metric names; supports * and prefix* wildcards [server.v3] metrics.include (string) -- comma separated metric names; supports * and prefix* wildcards [server.v3] metrics.exclude (string) -- comma separated metric names; supports * and prefix* wildcards [server.v3] metrics.include.immediately (string) -- comma separated metric names; supports * and prefix* wildcards [server.v3] metrics.exclude.immediately (string) -- comma separated metric names; supports * and prefix* wildcards [server.v3] queue.sendall (int) -- queue size send 'sendall' metrics, default 100 metrics per ticker1 [server.v3] queue.modified (int) -- queue size send 'modified' metrics, default 150 metrics per ticker1 - Webserver: adjustable websocket TX job queue size to accomodate high update frequencies / stream payload sizes and/or slow clients / client connections New config: [http.server] ws.txqueuesize -- in jobs, default 50 - server V3 (additions): Added MQTT client on-demand requests to reduce baseline data usage (authenticated per client, with basic rate-limiting to prevent abuse): /client//request/metric -- payload: one or multiple metric name Supports wildcards: * (all), prefix* (simple prefix match); mid-string wildcards (e.g. "bat*temp") and '?' are not supported. Example: "v.b.*" matches all metrics starting with "v.b." Each matching metric is published immediately on its normal topic. /client//request/config -- payload: param/instance (single pair) Response topic: /client//config// Subscription topic count increased (MQTT_CONN_NTOPICS=4) to include the two new request channels. - server V3: The number of metrics sent per update is limited to 20 and is split into multiple packets if necessary. Only updated data is sent. Prioritize GPS tracking metrics, update interval set at Vehicle stream setting for smoother tracking new config: [server.v3] "updatetime.priority" (bool) -- enable/disable prioritizing GPS tracking - smart EQ: removed vehicle specific GPS on/off at parking -> moved to cellular - Vehicle notifications: grid log (history records `*-LOG-Grid`) V2 additions: pos_odometer - Server V3: added configurable connect stabilization & random jitter (server.v3 conn.stable_wait / conn.jitter.max) before MQTT connect to reduce reconnect storms. - Cellular: safeguarded CGATT attach/detach (only with mux/PPP), added NetLoss retry limit & optional power‑cycle recovery to prevent loops. - esp32wifi: The OVMS will switch from Wifi APClient to Wifi Client mode after the timeout reached and a client is not connected. "APClient" will be restored upon reboot/network restart. new config, settings at Wifi: [network] wifi.ap2client.timeout -- Wifi Mode APClient to client timeout in minutes (default 30 minutes) [network] wifi.ap2client.enable -- Wifi Mode APClient to client enable/disable (default disable) [network] wifi.ap2client.notify -- Notify when Wifi APClient to Wifi Client mode switched (default disable) - Vehicle framework: signal generator operation state changes New events: vehicle.gen.start -- Power delivery started vehicle.gen.stop -- Power delivery stopped vehicle.gen.pilot.on -- Pilot signal present vehicle.gen.pilot.off -- Pilot signal gone vehicle.gen.timermode.on -- Generator timer has been enabled vehicle.gen.timermode.off -- Generator timer has been disabled - Cellular: GPS auto pause on parking reactivate option added (update position). New config: [modem] gps.parkreactivate (minutes) -- park time in minutes for auto reactivate for GPS lock (gps.parkreactlock), 0 = disabled [modem] gps.parkreactlock (minutes) -- GPS lock for 5 minutes until automatic shutdown during parking time (default 5 minutes) 2025-07-18 MB 3.3.005 OTA release - Cellular: GPS auto pause on parking option added (power saving). New config: [modem] gps.parkpause -- park time in seconds for auto pause, 0 = disabled (default) - New vehicle: NIU MQi GT EVO or GT 100 electric scooters (NEVO) https://docs.openvehicles.com/en/latest/components/vehicle_niu_gtevo/docs/index.html - Smart EQ 453: TPMS pressure alert settings at Features add information commads xsq climate|counter|mtdata|reset|start|total - Nissan Leaf: ZE1 inital release Fix: Poll state not set to off when charging stopped by OVMS Enh: SOH_instrument now float not int to support ZE1 instrument values Enh: Copy v.b.p.temp.max to v.b.temp so that max battery temp displays in app - Smart EQ 453: DDT4all simple support, a full List of commands at www.smart-EMOTION.de - VW e-Up (OBD): decode & display battery cell level health status & battery module health history, provide v.b.capacity (net capacity in kWh) New metrics: xvu.b.c.soh -- Array: SOH [%] of each HV battery cell xvu.b.hist.soh.mod. -- Array: SOH [%] history of each battery module (NN=01…14/17) New web page: /xvu/battsoh -- Battery pack & cell SOH info - Smart EQ 453: add timebased Pre-heat/cool Control - can set at Website -> Smart ED/EQ 4.Gen -> Climate/Heater - at App Features #4: on = 1 off = 2, #5 time like 05:15 = 515, #6 5/10/15 Minutes = 0/1/2 add GPS powersaving mode at parking add 12V alert raised, the car starts the 12V charging process for 15 Minutes add Network type switch, option to lock LTE only. Needed, when the Provider has no Datastream at GSM - CAN: add error flag decoding (included in can status output) New commands: can explain [errorflags] -- Decode error flags into human readable text - DBC Files Add unit support Add extended signals/multiplexing support Add support for enum values. Add OvmsDBC duktape object OvmsDBC.Load OvmsDBC.Unload OvmsDBC.Get - OVMS Server v3: Ability to define less frequent MQTT communication to save data charges and power Events: Excludes clock.* events from being published at the start of every minute. New configs: [server.v3] events.legacy_topic -- Whether to publish every event on the legacy /event topic as well as the MQTT-style topic. Defaults to true to preserve existing behaviour. Recommended to set to false if you don't use the legacy topic. [server.v3] updatetime.keepalive -- Max number of seconds to allow the MQTT connection to be idle before sending PINGREQ. Should be set slightly shorter than the network's NAT timeout and the timeout of your MQTT server. If these are unknown you can use trial and error. Symptoms of keepalive being too high are a lack of metric updates after a certain point, or "Disconnected from OVMS Server V3" appearing in the log. In previous releases this used the Mongoose default of 60. New default value 1740 aligns with observed Hologram timeout of 1800. - Metrics add new Standard Metrics v.b.capacity -- Main battery usable capacity [kWh] v.c.timestamp -- Date & time of last charge end [DateLocal] v.g.timestamp -- Date & time of last generation end [DateLocal] - Server V2: add to MsgStat v.c.kwh.grid -- Energy drawn from grid during running session [kWh] v.c.kwh.grid.total -- Energy drawn from grid total (life time) [kWh] v.c.timestamp -- Date & time of last charge end [seconds] v.b.capacity -- Main battery usable capacity [kWh] add to MsgFirmware m.net.mdm.mode -- Cellular connection mode and status [LTE,Online] add to MsgGen v.g.timestamp -- Date & time of last generation end [seconds] - Vehicle: keep charge time as long as chargeport active - Vehicle: Implement events and scripting for Auxillary batttery monitor New events: vehicle.aux.12v.normal vehicle.aux.12v.charging vehicle.aux.12v.blip vehicle.aux.12v.dip vehicle.aux.12v.charging.blip vehicle.aux.12v.charging.dip vehicle.aux.12v.low New commands: vehicle aux [status] vehicle aux monitor [status] vehicle aux monitor enable [[low-threshold] [charging-threshold]] vehicle aux monitor disable Duktape Support: OvmsVehicle.AuxMon.Enable OvmsVehicle.AuxMon.Disable OvmsVehicle.AuxMon.Status - Cellular: GPS run state signals added. New events: system.modem.gpsstart -- GPS has started system.modem.gpsstop -- GPS has stopped - Cellular: receive & send SMS, forward SMS & USSD to user. Note: no system notification support (and not planned), this is primarily meant to forward provider info only sent via SMS or USSD or expected to be received via SMS. New events: system.modem.received.sms New notifications: [info] modem.received.sms [info] modem.received.ussd New commands: cellular sendsms […] - MG: Add new vehicle MG4 Supports Short, Medium and Long Range Variants - Implement custom CLI commands with Duktape function OvmsCommand.Register() - Support for *,? wildcards in vfs ls and vfs rls commands. - Smart EQ 453: add 5min Booster preheat cool add TPMS pressure add Internal Temp add Doors status add Charging Metrics add BMS Temperatures add Charging metrics add option to change TMPS Sensors position add option for IOS users to display TMPS values - Support for completion in vfs commands. - Separate Polling from the Vehicle implementation New commands: poller status poller pause poller resume poller trace on|txrx|all|off|status-- Control verbose logging poller times on|off|status|reset -- Control poller timing metrics Duktape Support: OvmsPoller.GetPaused OvmsPoller.GetUserPaused OvmsPoller.Pause OvmsPoller.Resume OvmsPoller.Trace OvmsPoller.GetTraceStatus OvmsPoller.Times.Start OvmsPoller.Times.Stop OvmsPoller.Times.Reset OvmsPoller.Times.GetStatus OvmsPoller.RegisterBus(bus, mode, speed, [,dbcfile]) OvmsPoller.PowerDown(bus) OvmsPoller.Poll.Add(..) OvmsPoller.Poll.Remove(..) OvmsPoller.Poll.GetState([busno]) OvmsPoller.Poll.SetState([busno,] state) OvmsPoller.Poll.Request(..) OvmsPoller.Poll.SetTrace(enable) - 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