OVMS for the Kia Soul EV (to remotely access it without UVO)

Kia Soul EV Forum

Help Support Kia Soul EV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
zax123 said:
goev said:
We're actually having charging trouble with our car. Sometimes it doesn't fully charge and we can't figure out why.

When my car had trouble charging at AeroVironment DCFC stations it turned out to be a loose ground wire to the battery pack fan. Maybe your car has a similar issue. Maybe check the ground wires under the hood. There are several points where they are bolted to the frame.
 
New version of OVMS:
http://geir.validalo.net/OVMS.KIA-v0.33unofficial.zip

// 0.33 18 Nov 2015 (Geir Øyvind Vælidalo)
// - TMPS-data in app
// - TMPS-SMS
// - Improved charge handling. Fetching proper voltages and amperes?
// - Support for ChaDeMo-charging (untested)
 
Geir, you're kicking butt!

The addition of TPMS so deserves a 0.4 version number though. :) :)
 
According to do reverse-engineering of the CAN protocol and avoid busting your SMS limits, would'nt it be good to test using a CAN-WIFI dongle ?
 
Colonelsender said:
According to do reverse-engineering of the CAN protocol and avoid busting your SMS limits, would'nt it be good to test using a CAN-WIFI dongle ?
Yes and no. The WIFI dongle, as with almost any ELM327 dongles I believe, are too slow to log everything on the CAN-bus. 500kbaud means upwards to 4000 messages per second, maybe even more. This is way too fast for most of the CAN-dongles, at least the cheaper ones.
But you are right, the OVMS is not that easy to use for reverse engineering ;)

I've just recieved my USBtin, which is a 35Euro CAN-reader that can read up to approximately 2000 can messages per second. I hope this is strong enough, since the bus is loaded 45% on average, as reported by Alex in the Soul Spy-thread. Time will tell :)
 
Hi guys!

I found some bugs in the TPMS-code, and in the "charge-detection" for ChaDeMO.

There was some byte alignments that where off by a byte. My IDs are now correct in the SMS.
Also two of the sensor values where off by a byte, if I remember correctly.
While I was test driving yesterday, I suddenly got data from my sensors after I had driven a few hundred meters :D
So I managed to correct the values. Unfortunately the APP-values where quite strange but the SMS-values where correct, so I did some checking this morning and I found that the Tesla Roadsters TPMS values are like this:
Pressure = p_byte * 2.755
and
Temperature = t_byte + 40
so I have to adjust for that too when setting those values.

This also means that my summer tires are registered with the car. My car was delivered with the winter tires, so maybe the car recognizes both sets, or the sensors are cloned. I will most likely put on the winter tires this weekend, so I will know then.

DC charging is not sensed, so I removed some unnecessary code that sat/reset the charging-flag. This code was correct for standard charging, but not for ChaDeMo. Now I use byte 6 from 2101 from BMC. There we have both charging bit and separate AC and DC charging bits. Hopefully it will now detect ChaDeMo properly! It works great with regular AC-charging at least.

Might get a new version out today, but my boy is celebrating his second birthday today, so I can't promise anything :)
 
New version: http://geir.validalo.net/OVMS.KIA-v0.4unofficial.zip

Went to version 0.4 since TPMS is now actually working. Well, for me anyway :D

// 0.4 20 Nov 2015 (Geir Øyvind Vælidalo)
// - Fixed byte alignment errors and added correct value adjustments for TMPS-
// data in both app and sms
// - Fixed issue with detecting ChaDeMo-charging? (Still untested)
// - Adjusted some of the values in BATT, as they was just 1/10th of actual
// values.
// - Added AVG-sms which returns avarage use per km/mi in total.

Added the AVG-sms just for fun.
 
Yet another version:
http://geir.validalo.net/OVMS.KIA-v0.41unofficial.zip

Not really that much new, but some bug fixes (hopefully no new ones :D ) and some code cleanups.

// 0.41 21 Nov 2015 (Geir Øyvind Vælidalo)
// - Fixed some issues with charge detection
// - Added three poll states: 0=parking, 1=driving, 2=charging
// - Calculates charge limit for TYPE1/2 charging.
// - Added car_chargekWh.
// - Minor cleanups
// - Fixed AVG-sms. Value was only 1/10 of actual value.

My wife will have the car tomorrow :( Luckily she need to use a ChaDeMo-charger, so we can se how it is working. I wish I could be there with my Mac and do some proper testing, but I have to work.
 
Hi Geir,

I'm sorry I haven't been very helpful with this project. I'm still waiting on my own OVMS kit which should arrive soon. Then I'll install it in the car and have access to more information, etc...

I was wondering. You mention poll states in your last post. Did you find a way to poll the CANbus while the car was powered off? You have a "charging" state. Do you leave your car on while charging?

Just curious because from a practical perspective, leaving the car on all the time is really a bummer...

Thanks!

Robert
 
Hi Robert,

The poll states are used to specify how often data is polled, if at all. There are three levels available as you can see here:
rom vehicle_pid_t vehicle_kiasoul_polls[] =
{
{ 0x7e4, 0x7ec, VEHICLE_POLL_TYPE_OBDIIGROUP, 0x01, { 60, 10, 0 } }, // Diag page 01
{ 0, 0, 0x00, 0x00, { 0, 0, 0 } }
};

In this example we send the can-message 7ec 21 01 (from 7e4) every minute in poll state 0, every 10 seconds in poll state 1 and never in poll state 2.

Some data is available on the can-bus while charging, some while driving and some while parked/off. For instance we don't have to ask for TPMS-data while parked or charging, as it isn't updated unless you're driving. Likewise we don't need to ask for charging data while driving.
So we can limit the amount of CAN-messages by using these poll states properly. I haven't put much thought into it yet, but I will :)

So, the car do not need to be on, as there is stuff happening on the can-bus all the time :)
 
New version v0.42: http://geir.validalo.net/OVMS.KIA-v0.42unofficial.zip

// 0.42 25 Nov 2015 (Geir Øyvind Vælidalo)
// - Fixed Trip + added trip to AVG sms (untested)
// - chargefull_minsremaining calculation should calc to range or soc
// specified in CA if present. On ChaDeMo 83% is always max (BMS SOC 80%)
// - SMS-notification when starting charging is now back. Removed by mistake.
// - "Changed" the poll states to 0=off, 1=on, 2=charging
// - ChaDeMo charging is properly detected
 
Hi Geir,

I finally received my OVMS kit.

I programmed your 0.42 on it just now and the OVMS app is connecting to it and getting some information, but the TPMS info isn't showing up in the app.

The TPMS screen looks like:

https://goo.gl/photos/n4AQAjGrXUuarFwcA

I was wondering -- how are you getting the various bits of information you say your firmware reports? Are you sending text messages with it? Do you have to request it using a specific text message?

Please let me know, thanks!

Robert
 
Nice to hear you finally got your OVMS:)

TPMS, especially, needs some driving before the car picks up the sensors, until then we have nothing to display.
A lot of the other stuff is SMS-based, but as far as I understand, the latest Android beta app can send and receive "SMS" through the data connection.

If you look at the code in my git repository, you can find a list of all the available SMS-commands.
 
Thanks Geir,

I'll check out your code repository for the SMS instructions. I don't see a way to send them from the app, but I'll look for the beta version, maybe I need to sideload it.

I also got my wireless provider to give me free unlimited text messages, so that's good. :)

I want to install all the antennas and wiring in a permanent fashion in the Soul EV and just leave the box accessible for firmware updates. That way I can collect more data. So I'll try to get that done this weekend.

Thanks again for keeping this project going!

Rob
 
Just to clarify on TPMS, you need the wheels rotating for the sensors to work.

Each sensor has a battery inside it and to save battery life there is a G switch. If the wheel is spinning as you drive along then the centrifugal force closes the G switch and the sensor will measure temperature and pressure, and transmit the data. When working on the tyres in the garage, it is possible to send a special signal from a TPMS tool (like the ATEQ VT30) that causes the sensor to wake up and send the data anyway. I don't know if the car has the capability to send that signal and even if it did you probably don't want to as you will just run down the batteries in the sensors.
 
notfred said:
Just to clarify on TPMS, you need the wheels rotating for the sensors to work.

Each sensor has a battery inside it and to save battery life there is a G switch. If the wheel is spinning as you drive along then the centrifugal force closes the G switch and the sensor will measure temperature and pressure, and transmit the data. When working on the tyres in the garage, it is possible to send a special signal from a TPMS tool (like the ATEQ VT30) that causes the sensor to wake up and send the data anyway. I don't know if the car has the capability to send that signal and even if it did you probably don't want to as you will just run down the batteries in the sensors.

That makes total sense, thanks. :)

Once I have a more permanent installation, I'll be able to monitor TPMS while we're moving. Very cool!
 
Version 0.43: http://geir.validalo.net/OVMS.KIA-v0.43unofficial.zip

// 0.43 29 Nov 2015 (Geir Øyvind Vælidalo)
// - Fixed trip in AVG sms + added discharge and recuperation for last trip.
// - Changed AVG-sms to TRIP-sms
// - Added ambient temperature
// - MaxRange is adjusted based on ambient temp and assumes half range at -20C
 
New version, v.0.44: http://geir.validalo.net/OVMS.KIA-v0.44unofficial.zip

// 0.44 06 Dec 2015 (Geir Øyvind Vælidalo)
// - Removed unused bytes to make room for ACC
// - Fixed a bug with speed
// - Fixed issue with CarOn and CarOff not being detected properly, causing
// problems for trip.
// - Fixed ODOmeter. Could sometimes be reset.
// - Built with ACC, so more data is available for APP (E.g. Mins remaining
// until car will be full, Range Limits etc.) See protocol doc, and Tesla
// Roadster OVMS user guide.
// - Added more data to TRIP-sms
 
Today I managed to lock and unlock the doors from OVMS. This means I have now have a base for adding more commands as soon as we find them :)
I don't have a new version ready yet, but it is on it's way.
 
Back
Top