Smart ED/EQ Gen.4 (453)

Vehicle Type: SQ

The Smart ED/EQ Gen.4 will be documented here.

Support Overview

Function

Support Status

Hardware

OVMS v3 (or later)

Vehicle Cable

OBD-II to DB9 Data Cable for OVMS (1441200 right, or 1139300 left)

GSM Antenna

1000500 Open Vehicles OVMS GSM Antenna (or any compatible antenna)

GPS Antenna

1020200 Universal GPS Antenna (SMA Connector) (or any compatible antenna)

SOC Display

Yes

SOH Display

Yes

Range Display

Yes

GPS Location

Yes (from modem module)

Speed Display

Yes

Temperature Display

Yes (External Temp and Battery)

BMS v+t Display

only Cell Volts atm.

TPMS Display

Yes pressure & enable at TPMS settings -> temperature / battery low & sensor is missing (TPMS alert)

Charge Status Display

Yes

Charge Interruption Alerts

No

Charge Control

No

Cabin Pre-heat/cool Control

Yes (only 5/10/15 Minutes Pre-heat/cool and timebased Pre-heat/cool App/Web, no Temperature control and SoC > 30% needed)

Lock/Unlock Vehicle

No (not really Implementet, only when the car is open, you can close it. But the lock indicator shows unlocked!)

Valet Mode Control

No

Maintenance Reminders

Yes

12V Battery Monitoring

Yes (if 12V alert raised, the car starts the 12V charging process for 15 Minutes. (homelink 3))

DDT4all simple Support

Yes (a List of all possible commands at www.smart-EMOTION.de)

Known Issues

  • Lock/Unlock: The Lock/Unlock function is not really implemented. You can only lock the car when it is open, car is not secured locked.

  • Valet Mode: Not implemented.

  • Charge Control: Not implemented.

Using Cabin Precond-heat/cool:

Only 5 Minutes preconditioning are implementet by Vehicle

Shell commands:

  • climatecontrol on = 5 Minutes

  • homelink 1 = 5 Minutes

  • homelink 2 = 10 Minutes, auto restart after 5 Minutes

  • homelink 3 = 15 Minutes, auto restart after 5 and 10 Minutes

For Timebased Pre-heat/cool you can use the Android App or Web UI.

Vehicle shell commands:

Command

description

xsq mtdata

maintenance data

xsq ddt4all <number>

Execute DDT4all command by number

xsq ddt4list

List all available DDT4all commands (see below for details)

xsq canwrite <params>

Send custom CAN command (see below for details)

xsq calcadc [voltage]

Recalculate ADC factor (optional: 12V voltage override)

xsq wakeup

Wake up the car

xsq ed4scan

Output ED4scan-like BMS diagnostic data

xsq preset

Apply smart EQ config preset

xsq default

Set smart EQ config to default values

xsq tpms stat

Show smartEQ TPMS status incl. battery & missing

xsq tpms setdummy

Set TPMS dummy value for testing

xsq show start

Show OBD trip start data

xsq show reset

Show OBD trip total data

xsq show counter

Show vehicle trip counter

xsq show total

Show vehicle trip total data

Vehicle metrics:

Metric

description

xsq.v.bus.awake

CAN bus awake status [bool]

xsq.v.bat.serial

Battery serial number (hex string)

xsq.v.energy.used

Energy used since mission start [kWh]

xsq.v.energy.recd

Energy recovered since mission start [kWh]

xsq.v.aux.consumption

Auxiliary consumption since mission start [kWh]

xsq.v.bat.consumption.worst

Worst average consumption [kWh/100km]

xsq.v.bat.consumption.best

Best average consumption [kWh/100km]

xsq.v.charge.bcb.power

BCB power from mains [W]

xsq.v.reset.time

Trip time (reset) [hh:mm]

xsq.v.reset.consumption

Average trip consumption (reset) [kWh/100km]

xsq.v.reset.distance

Trip distance (reset) [km]

xsq.v.reset.energy

Trip energy consumption (reset) [kWh]

xsq.v.reset.speed

Average trip speed (reset) [km/h]

xsq.v.start.time

Time since start [hh:mm]

xsq.v.start.distance

Trip distance since start [km]

xsq.adc.factor

Current ADC factor for 12V calculation

xsq.adc.factor.history

Last calculated ADC factors (ring buffer)

xsq.poll.state

Current poll state (OFF/ON/RUNNING/CHARGING)

xsq.ed4.values

ED4scan: number of cells to show

xsq.ddt4all.canbyte

DDT4all CAN response bytes [hex string]

xsq.odometer.start

Odometer at trip start [km]

xsq.odometer.start.total

Odometer at total trip start [km]

xsq.odometer.trip

Current trip distance [km]

xsq.odometer.trip.total

Total trip distance [km]

xsq.obd.charge.duration

OBD charge duration [min]

xsq.obd.mt.day.prewarn

Maintenance pre-warning days [days]

xsq.obd.mt.day.usual

Usual maintenance interval [days]

xsq.obd.mt.km.usual

Usual maintenance interval [km]

xsq.obd.mt.level

Maintenance level status

xsq.tpms.lowbatt

TPMS low battery status vector

xsq.tpms.missing

TPMS missing transmission status vector

xsq.tpms.dummy

Dummy pressure for TPMS alert testing [kPa]

xsq.bcm.state

BCM vehicle state

xsq.bcm.gen.mode

BCM generator mode

xsq.evc.hv.energy

EVC HV energy [kWh]

xsq.evc.12V.dcdc.act.req

DCDC active request [bool]

xsq.evc.12v.dcdc

EVC 12V system values vector: [0]=dcdc_volt_req(V), [1]=dcdc_volt(V), [2]=dcdc_power(W), [3]=usm_volt(V), [4]=batt_volt(V), [5]=batt_volt_req(V), [6]=dcdc_amps(A), [7]=dcdc_load(%)

xsq.evc.traceability

EVC frame traceability information [string]

xsq.obl.fastchg

Fast charge active [bool]

xsq.obl.volts

OBL voltage phases vector [V]

xsq.obl.amps

OBL current phases vector [A]

xsq.obl.power

OBL power phases vector [kW]

xsq.obl.misc

OBL miscellaneous data vector: [0]=freq(Hz), [1]=ground_resistance(Ohm), [2]=max_current(A), [3]=dc_current(mA), [4]=hf10kHz_current(mA), [5]=hf_current(mA), [6]=lf_current(mA)

xsq.obl.leakdiag

OBL leakage diagnostic status

xsq.bms.prod.data

BMS production data formatted (serial, MM/YYYY)

xsq.bms.temps

BMS temperature sensors vector [°C]

xsq.bms.voltages

BMS voltage values vector: [0]=cell_min(V), [1]=cell_max(V), [2]=cell_mean(V), [3]=link_volt(V), [4]=pack_volt(V), [5]=ocv_volt(V), [6]=12v_system(V)

xsq.bms.contactor.cycles

HV contactor maximum/available cycles

xsq.bms.soc.values

SOC values vector [0]=kernel, [1]=real, [2]=min, [3]=max, [4]=display [%]

xsq.bms.soc.recal.state

SOC recalibration state

xsq.bms.soh

State of Health [%]

xsq.bms.cap

BMS capacity values vector: [0]=usable_max(Ah), [1]=init(Ah), [2]=estimate(Ah), [3]=loss_pct(%), [4]=usable_capacity(Ah)

xsq.bms.mileage

Battery mileage [km]

xsq.bms.energy.nominal

Nominal battery energy [kWh]

xsq.bms.voltage.state

Voltage state description

xsq.bms.cell.resistance

Cell resistance values vector

xsq.bms.batt.power

Battery power [kW]

xsq.bms.contact

HV contactor state text

xsq.bms.ev.mode

EV mode text

xsq.bms.interlock.hvplug

HV plug interlock status [bool]

xsq.bms.interlock.service

Service interlock status [bool]

xsq.bms.fusi

FUSI mode text

xsq.bms.safety

Safety mode text

Using xsq ddt4all:

Syntax:

xsq ddt4all <number>

Parameters:

number - DDT4all command number from the list

Examples:

xsq ddt4all 42

Output example:

Executing DDT4all command number: 42

Using xsq canwrite:

The xsq canwrite command allows sending custom CAN commands directly to the vehicle.

Requirements:

  • CAN write access must be enabled: config set xsq canwrite yes

  • DDT4all session must be active: xsq ddt4all 999 // activates for 5 minutes

  • Command cooldown: 10 seconds between executions

Syntax:

xsq canwrite <txid,rxid,hexbytes[,reset,wakeup]>

Parameters:

  • txid - Transmit CAN ID (hex, with or without 0x prefix)

  • rxid - Receive CAN ID (hex, with or without 0x prefix)

  • hexbytes - Hex data bytes to send (multiple bytes separated by /)

  • reset - (optional) Reset CAN session after command (default: false)

  • wakeup - (optional) Wake up vehicle before command (default: true)

Examples:

Single command

xsq canwrite 745,765,3B5880,false,true

Multiple data bytes (open tailgate 5x)

xsq canwrite 745,765,300500/300500/300500/300500/300500,false,true

Indicator 5x on

xsq canwrite 0x745,0x765,2E012100/2E012100

Output example:

Sending CAN command:
  txid:    0x745
  rxid:    0x765
  data:    30082002 / 30082002
  reset:   false
  wakeup:  true
Command executed successfully