One snag on cansniffer (tool from videos above) - looks like 29bit PID support was only recently added. On Ubuntu 20.04 cansniffer is blank for 500e (but candump shows correct data.) After building from source it works correctly.
Actions are as interesting as information. Locking/unlocking doors. Preconditioning. Starting/stopping the charger.I’ve made good progress on passive signals and recently started figuring out requesting specific data. That’s more time consuming (and feels sort of sketchy) so I’d rather focus on what people would use - what is most interesting?
I imagine the EV basics? SoC, range, SoH, speed, motor RPM, 12v, etc. For the most part I’m able to see what the common apps are doing, but each data point takes time to figure out and test.
Thanks. I've already got a yellow adapter, so I'll give it a go. Seems fun, though I'll probably need to rig up a smaller adapter to leave it connected all the time. I'll play with it a bit and report back.You need a yellow adapter since it’s on CAN-B. Then it’s all about configuring the ELM327 and sending the command. Does the dongle stay active all the time or does it eventually shut down? Power management could get annoying. Similarly the CAN bus shuts down shortly after you exit the vehicle. Not entirely sure if you need to wake it up in a special way, but sending the command twice seemed to work for me in my initial testing.
ATD // reset to default
ATZ // close what's open
ATL1 // show linefeeds so it's easier interactively
ATSP7 // 29-bit 500k canbus
ATAL // long addressing
ATH1 // Show the header while doing stuff
ATCRA0C10A040 // Estimated range address
ATMA // Monitor with that filter
// Try to set to 18da44f1
> ATCP 18
> ATSH DA 44 F1
// Try to request the PID for 12V
> 03 22 A0 10
18 DA F1 44 03 7F 03 11
I found that I was partially able to get an OBDLink SX to work.
For the passive CAN-C stuff, it works just fine to do something like:
Where I'm running into trouble (and this is likely my understanding of ELM327) is getting the CAN-B bus to monitor at all. I set to the protocol "C" on the ELM, which should switch into the 50-kbit mode, and set the 2E parameter to 60, which should allow for 29-bit addressing, but nothing shows up with monitoring.Code:ATD // reset to default ATZ // close what's open ATL1 // show linefeeds so it's easier interactively ATSP7 // 29-bit 500k canbus ATAL // long addressing ATH1 // Show the header while doing stuff ATCRA0C10A040 // Estimated range address ATMA // Monitor with that filter
Monitoring aside, I also don't seem to be able to get PIDs to do anything interesting, and this might also be an ELM327 issue. For example, if I do something like:
I do get a response back, but it doesn't seem to match what I'd expect from the example, and it's the same response for the three options that are there against the same address.Code:// Try to set to 18da44f1 > ATCP 18 > ATSH DA 44 F1 // Try to request the PID for 12V > 03 22 A0 10 18 DA F1 44 03 7F 03 11
I do know that the OBDLink SX has worked for me in the past on the CAN-C bus with multiecuscan, so I think that the adapter is good.
Hi,Hey people,
I've been poking around the 500e CAN bus in my spare time, trying to decipher messages for custom behavior, data collection (like performance and battery health over time), and remote control. I believe I've identified 30+ messages, but want to confirm before sharing widely and going further down this rabbit hole. Any chance someone is willing to collect and share a minute or two of logs? You can PM me with an attachment if you aren't comfortable sharing publicly. Here is what would be helpful:
No adapter:
Yellow adapter (requires a physical Alfa/Fiat yellow adapter or direct wire like it does):
- Connect the logger directly to the ODB-II port (I believe this is CAN-C?)
- 500k speed
- Make sure car is "ready"
- Take note of any metrics you have access to: % charge and GOM from cluster. Pack voltage, Soc, SoH-R, SoH-C, ODO, 12v from AlfaOBD or Multiecuscan would be extra helpful.
Any format is fine. Here is a snippet (of pressing vol- on steering wheel) if you need an example of what I am looking for:
- Connect the logger to OBD-II through a yellow adapter (I think this is CAN-B?)
- 50k speed
- Make sure car is "ready"
- Perform some actions inside the cabin (change gear, turn climate on/off, turn various lights on/off, press SWC buttons, open doors)
- Write down which actions you did
Thanks for any help/consideration. Also, if you've already done some of this work I'd be happy to help or compare notes. I'd love to get this all documented for tinkerers, apps, and integrations.Code:Timestamp;Type;ID;Data 24034253896;1;6284000;0000000000000000 24034253896;1;6284000;4000000000000000 24034253897;1;6284000;0000000000000000