In addition, there's this forum -- http://myimiev.com/forum/viewtopic.php?p=4409 -- which details some of the CAN bus stuff. 

And some pre-existing work: http://myimiev.com/forum/viewtopic.php?p=4817

Nikki. 


On 29 Apr 2013, at 07:20, Mark Webb-Johnson <mark@webb-johnson.net> wrote:

Thomas,

Earlier this year, Matt Beard mentioned he was interested in doing i-Miev support, but I'm not sure of his status. He is on this list, so should see this. There are also several OVMS users who have that car in their stable, so the requirement is definitely there.

It is probably worth firstly doing a quick feasibility check, to see what level of OVMS support is possible:

Firstly, What are the specs for the CAN bus? What baud rate is it, and what is the connector? There are  just three messages that are key to feasibility:

    1. SOC - battery state of charge - car_SOC
    2. Car On/Off (ignition switch, or Park/Drive gear lever) - car_doors1 [bit7]
    3. Car Charging (true or false) - car_doors1 [bit 4]

If those three are available, and readable by the OVMS hardware, then the project is most likely feasible. There are lots of other parameters (range, temperature, odometer, speed, vin, tpms, etc) that are nice to have, but are either optional (nice-to-have) or can generally be derived from these three key messages - so long as they can be found. For example, on the Volt/Ampera we don't know the detailed charge messages, but do know whether the car is charging or not - we can assume charge interrupted if the charge finishes before 95% complete. Similarly, if the range of the car is XXkm, we can estimate the current range based on XX * SOC%. If the car has no GPS details on the CAN bus, then we can use the GPS in the OVMS module itself.

What vehicle two-character abbreviation do you think is suitable: IM or MI? Examples are RT (Renault Twizy), VA (Volt/Ampera), TR (Tesla Roadster).

If you can let me have the can bus specs and information on the above 3 messages, I will create you a stub vehicle implementation.

Regards, Mark.

P.S. With reference to the development guide (https://raw.github.com/markwj/Open-Vehicle-Monitoring-System/master/docs/OVMS_Development.pdf), these are the current set of parameters that OVMS supports.

Vehicle Module Development Checklists 

Development Checklists

You can use these checklists to know what vehicle parameters the OVMS system supports, and how you can map a specific vehicle to these. 

Parameter

Purpose

Vehicle Support Notes

 

Vehicle Identification

car_type

Vehicle type identified

 

car_vin

Vehicle VIN

 

 

Parameter

Purpose

Vehicle Support Notes

 

GPS Status

Vehicle GPS

Does the vehicle have a built-in GPS? If so, complete the following.

 

car_gpslock

Set to record GPS lock

 

car_stale_gps

Denotes GPS data staleness

 

car_latitude

Latitude of the vehicle

 

car_longitude

Longitude of the vehicle

 

car_direction

Direction of the vehicle

 

car_altitude

Altitude of the vehicle

 

 

Parameter

Purpose

Vehicle Support Notes

 

Tire Pressure Monitoring System

TPMS

Does the vehicle have a TPMS? If so, complete the following.

 

car_stale_tpms

Denotes TPMS data staleness

 

car_tpms_t

The temperatures of each wheel

 

car_tpms_p

The pressures of each wheel

 

 

Parameter

Purpose

Vehicle Support Notes

 

Driving Status

car_doors1 [bit7]

Set if the car ignition is ON

 

car_speed

The speed of the vehicle

 

car_trip

The vehicle trip counter

 

car_odometer

The vehicle odometer

 

 

Parameter

Purpose

Vehicle Support Notes

 

Vehicle Environment

car_stale_ambient

Ambient temperature staleness

 

car_ambient_temp

Ambient temperature

 

car_stale_temps

Other Temperature staleness

 

car_tpem

Temperature of the PEM

 

car_tmotor

Temperature of the MOTOR

 

car_tbattery

Temperature of the BATTERY

 

car_doors1 [bit 0]

Set if front left door OPEN

 

car_doors1 [bit 1]

Set if front right door OPEN

 

car_doors2 [bit 6]

Set if bonnet is OPEN

 

car_doors2 [bit 7]

Set if trunk is OPEN

 

car_doors1 [bit 2]

Set if charge port is OPEN

 

car_doors1 [bit 6]

Set if handbrake is ON

 

car_doors2 [bit 5]

Set if headlights ON

 

car_doors3 [bit 1]

Set if vehicle is AWAKE (or if not supported just follow ignition)

 

car_doors2 [bit 4]

Set if valet mode is ENABLED

 

car_doors2 [bit 3]

Set if vehicle is LOCKED

 

car_lockstate

4=locked, 5=unlocked (deprecated)

 

car_doors4 [bit 2]

Set if alarm SOUNDING

 

car_time

Time (in seconds)

 

car_parktime

Time (seconds) vehicle parked

 

 

Parameter

Purpose

Vehicle Support Notes

 

Battery Status

car_SOC

State of charge percentage

 

car_idealrange

Ideal range

 

car_estrange

Estimated range

 

 

Parameter

Purpose

Vehicle Support Notes

 

Charging Status

car_doors1 [bit 3]

Set if pilot signal ON

 

car_doors1 [bit 4]

Set if vehicle CHARGING

 

car_linevoltage

Line voltage while charging

 

car_chargecurrent

Line current while charging

 

car_chargemode

Vehicle Mode

 

car_chargestate

Charging state

 

car_chargesubstate

Charging sub-state

 

car_chargelimit

Charge current limit

 

car_chargeduration

Charge duration (minutes)

 

car_chargekwh

Charge kWh put into battery

 

car_stale_timer

Charge timer staleness

 

car_timermode

Charge timer mode

 

car_timerstart

Charge timer schedule

 

On 29 Apr, 2013, at 1:56 PM, Thomas Bergo wrote:

Hi

As a owner of a i-Miev I'm interested in OVMS support for the i-Miev/C-Zero/iOn EV.

Has anyone looked into supporting those EV?

I'm planing to start looking into adding support for those EV. And asking for help to add a vehicle plug-in module stub for those cars, so that naming and so on is correct.

Best regards
Thomas B

_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev