fesch / CanZE

Take a closer look at your ZE car
http://canze.fisch.lu
Other
125 stars 71 forks source link

New Zoe ZE50 and CanZE (iOS and Android) #588

Closed FredLeudon closed 1 year ago

FredLeudon commented 5 years ago

Hi, all

I could approach a new Z.E. 50 Zoe yesterday.

After adding the first 9 digits of the vin to my online vin decoder database, I could identify the new Zoe with the latest iOS beta.

As the car was only in the showroom, I couldn’t start it but it was possible to CanZE to identify at least one ecu.

I wish I can spend one hour next week to plug my dongle in a new Zoe and use CanZE to identify all ecu’s

If it work’s, I’ll publish the results ;-)

yoh-there commented 5 years ago

Nice. What command did you send? 7df (broadcast)? That is what the tool of the general mechanic did and he indeed pulled out the VIN but nothing more

FredLeudon commented 5 years ago

First, to read the VIN,

For each address (26, 27, 51, 67, 68, 77, 95), I send an isotp request (xxx.2181) on can network with can protocol first and if vin is not read, same request with kwp2000 protocol.

Next step is to analyze ecus

For each address available (my vehicle database comes from ddt2000 files)

I first send start session can (1003) Next I send 22F1A0 request Next 22F18A Next 22F194 And finally 22F195

So I get Diagversion, supplier, soft, etc

Next step is to find ecu or approximate ecu or a list of available ecu corresponding to data I get. (I have build a database of ecu by analyzing and aggregating different ddt 2000 databases I found)

And finally, download xml ecu definition from my server and building internal database ecu -> request -> send & receive data items -> datas

Don’t know if I my explanations are limpidity :-)

Frédéric RICHARD

Le 30 nov. 2019 à 16:39, yoh-there notifications@github.com a écrit :

 Nice. What command did you send? 7df (broadcast)? That is what the tool of the general mechanic did and he indeed pulled out the VIN but nothing more

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

yoh-there commented 5 years ago

Yes it makes sense :-) I am very curious if all the ECU's responded and if not, which one did.

I am pretty sure there are no free frames on the Diagnostic bus and it looks like the MM bus has been removed.

yoh-there commented 4 years ago

What exactly do you mean with "for each address"? I don't understand as those (26, 27, ...) are not ECU CAN addresses. I would expect 765/745, 7bc/79c etcetera.

FredLeudon commented 4 years ago

Each address can be mapped into rx and tx address.

I think I got this list on a vehicle.xml file in ddt2000 database.

I check this tomorrow if I have time.

Frédéric RICHARD

Le 1 déc. 2019 à 15:31, yoh-there notifications@github.com a écrit :

 What exactly do you mean with "for each address"? I don't understand as those (26, 27, ...) are not ECU CAN addresses. I would expect 765/745, 7bc/79c etcetera.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

yoh-there commented 4 years ago

Oh I see what you mean, I think you meant eculist.xml.

The universal car diagnostic computer issues a broadcast. But I couldn't see which ECU responded with the VIN. Oh well, next time ;-)

FredLeudon commented 4 years ago

49C0752C-0E94-430F-A135-0B5D3D1A2FFF

There is no link between ecu list and vin

I use vin as primary key to store ecu information on my database

This is to avoid to rescan ecus after each install or reinstall.

Frédéric RICHARD

Le 1 déc. 2019 à 16:30, yoh-there notifications@github.com a écrit :  Oh I see what you mean, I think you meant eculist.xml.

The universal car diagnostic computer issues a broadcast. But I couldn't see which ECU responded with the VIN. Oh well, next time ;-)

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

FredLeudon commented 4 years ago

Vin is necessary to know witch vehicle CanZE is talking with ;-)

805B6C2C-2227-44C6-8EE2-C0830A4015D8

Frédéric RICHARD

Le 1 déc. 2019 à 16:30, yoh-there notifications@github.com a écrit :

 Oh I see what you mean, I think you meant eculist.xml.

The universal car diagnostic computer issues a broadcast. But I couldn't see which ECU responded with the VIN. Oh well, next time ;-)

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

yoh-there commented 4 years ago

Someone in the German forum suggested the ZE50 uses 29 bit CAN addressing. If true I would be very surprised as I would not have suspected such a serious change. Then again, if it's true , the problem is probably simpler to solve than we thought, and my sniffer might just have been ignoring all the frames. Do you know more already Frédéric?

FredLeudon commented 4 years ago

Happy new year !

At this time, no infos.

I will meet ZE50 user on Monday January 13.

Wait and see.

Regards,

Frédéric RICHARD

Le 1 janv. 2020 à 11:48, yoh-there notifications@github.com a écrit :

 Someone in the German forum suggested the ZE50 uses 29 bit CAN addressing. If true I would be very surprised as I would not have suspected such a serious change. Then again, if it's true , the problem is probably simpler to solve than we thought, and my sniffer might just have been ignoring all the frames. Do you know more already Frédéric?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

yoh-there commented 4 years ago

Same to you and the (new) family ;-)

Cool (Monday). If you bring any sniffer material, remember the 29 bits stuff. My current sniffer (CanSee) does throw numbers other than standard 11 bits addressing away, so maybe I have been working with completely wrong assumptions all along. I will try to have a bit more confirmation before Monday and will post here if so.

FredLeudon commented 4 years ago

Thanks.

At first time, i will do my Ecu scan procedure to load right ecu xml file.

Once done, I will analyze request, data items , data’s ... and I will try to add Z.E. 50 to my CanZE sid array.

Regards

Frédéric RICHARD

Le 1 janv. 2020 à 13:40, yoh-there notifications@github.com a écrit :

 Same to you and the (new) family ;-)

Cool (Monday). If you bring any sniffer material, remeber the 29 bits stuff. My current sniffer (CanSee) does throw numbers other than standard 11 bits addressing away, so maybe I have been working with completely wrong assumptions all along. I will try to have a bit more confirmation before Monday and will post here if so.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

yoh-there commented 4 years ago

Can you maybe send me the very very most recent xml's you could find please? Google does drive me nuts on this one. I would appreciate it.

KarelSvo commented 4 years ago

Someone in the German forum suggested the ZE50 uses 29 bit CAN addressing. If true I would be very surprised as I would not have suspected such a serious change.

All new Renault, Dacia, Nissan on C1A electronics platform use 29 bit addresses for the drive control units.

yoh-there commented 4 years ago

Thanks @KarelSvo , good to know. The guy from the German forum suggested only the motor controller used extended addressing, the remainder standard. Mixing is allowed on the network level of course but ick!

yoh-there commented 4 years ago

The 11 <> 29 bits addressing is quite a bit more complicated. Many new or upgraded boxes, some 11 bits, some 29, some both. I will amend the massive spreadsheet (ECU tab) as soon as I can.

yoh-there commented 4 years ago

First Beta is out, actually more alpha regarding the ZE50 stuff. The ECU tab in the spreadsheet is slowly being ammended,

arqueox commented 4 years ago

There is something i can do to use a beta version of ios app on my ZE50? I could try and give you my feedback about.

arqueox commented 4 years ago

First Beta is out, actually more alpha regarding the ZE50 stuff. The ECU tab in the spreadsheet is slowly being ammended,

No IOS beta app yet?

FredLeudon commented 4 years ago

Hi,

A new iOS beta app will be available soon

Regards

Frédéric RICHARD

Le 24 févr. 2020 à 10:54, arqueox notifications@github.com a écrit :

 First Beta is out, actually more alpha regarding the ZE50 stuff. The ECU tab in the spreadsheet is slowly being ammended,

No IOS beta app yet?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

arqueox commented 4 years ago

Hi, A new iOS beta app will be available soon Regards Frédéric RICHARD

Oh thnx! I’ll wait then

Steckmaestro commented 4 years ago

I can borrow this.

I tried CanZE for Android using Samsung S8. Appversion 1.52beta4.

Tried with Zoe R135 (ZE50) - Swedish car.

I used two different ODBII dongles (first a bluetooth one I bought previously and after reading your recommendation I ordered Konweii and tried with that one.

Hopefully debug logs can tell you something. I'm really looking forward to be able to see more detailed information about my Zoe :)

debug-2020-02-27-17-38-40.log

KarelSvo commented 4 years ago

I'm really looking forward to be able to see more detailed information about my Zoe :)

Yes there is a python kivy app that can show such information ;) tested on new Zoe and connected to over 20 ecus

yoh-there commented 4 years ago

Getting there. Seems like the braking system has changed significantly, so we might need to defer the torques, but there is progress. Getting info out is "cracked". Getting the same info presented consistently is a different game.

ik2wxx commented 4 years ago

Hello, how can I apply for iOS beta test for Zoe ZE50 ? Thank you

kkornel13 commented 4 years ago

Hey guys, A month ago I used CanZE on Reanult Zoe Q90 with LELink iOS bluetooth adapter. I connacted it with my iPad, and it worked really well. But I would like to export the real-time consumption datas (the numbers), but the app does not send the log files. So my question is how can I export the log files? Unfortunatelly I am not exactly a tech expert, so every help is greatly appreciated. Thank you very much

abrensch commented 4 years ago

Hi,

I have a couple of question on CanZE / new ZOE / Bluetooth Dongle, hoping someone can steepen my learning curve.

I'm expecting my ZOE R 110 Z.E. 40 next week (seems I made it before the production shutdown at 16.3.2020 ...). I was occasional User of CanZE with car-sharing rents of ZOE

I am working on integrated range assistence that need to read realtime data from the ZOE. It's only a very small subset of what CanZE can read (just speed, SOC, amps and volts). I append below some pseudo code, that is working with a KONNWEI Bluetooth dongle and an "old" ZOE 40. Any chance to get that running on the "new" ZOE40?

thanx, Arndt

here the pseudo-code (that was inspired by what's inside CanZE):

        reader.writeToElm("atz");  // full reset
        reader.writeToElm("ate0");  // no echo
        reader.writeToElm("ats0");
        reader.writeToElm("ath0");  // header off
        reader.writeToElm("atl0");
        reader.writeToElm("atal");
        reader.writeToElm("atcaf0");
        reader.writeToElm("atfcsh77b");
        reader.writeToElm("atfcsd300000");
        reader.writeToElm("atfcsm1");
        reader.writeToElm("atsp6");

        // now periodic commands
        for (; ; ) {
            .... cycle wait ...
            reader.writeToElm("atar");
            reader.writeToElm("atsh7e4");
            reader.writeToElm("atfcsh7e4");

            reader.writeToElm("03223203");
            p = reader.getResult().get(0);
            reading.lbcvolt = read2(p,4) * 0.5;

            reader.writeToElm("03223204");
            p = reader.getResult().get(0);
            reading.lbcamps = (32768 - read2(p,4))*0.25;

            p = reader.readFreeFrame( "5d7", 7 );
            reading.speed = 0.01 * read2(p, 0);

            p = reader.readFreeFrame( "427", 0 );
            reading.aenergy = (read2(p, 6) >> 6 )* 0.1;
        }
yoh-there commented 4 years ago

If it's the ZOE with the OBD2 on the far left side, consider it for CanZE purposes, a ZE50, sorry

You do not need a CanSee dongle. It nice and fast, but decent ELMs do work for the ZE50.

That code won't work at the moment. The free frames are not present on the OBD2 connector. The others work "in principle". LBC commands work for sure, though they are different (unless your car uses the "old" battery computer, I don't know that). You need to open the secure gateway (easy, just one command) and then do exactly the same. That is already in the code base.

KarelSvo commented 4 years ago

here the pseudo-code (that was inspired by what's inside CanZE):

        reader.writeToElm("atz");  // full reset
        reader.writeToElm("ate0");  // no echo
        reader.writeToElm("ats0");
        reader.writeToElm("ath0");  // header off
        reader.writeToElm("atl0");
        reader.writeToElm("atal");
        reader.writeToElm("atcaf0");
        reader.writeToElm("atfcsh77b");
        reader.writeToElm("atfcsd300000");
        reader.writeToElm("atfcsm1");
        reader.writeToElm("atsp6");

        // now periodic commands
        for (; ; ) {
            .... cycle wait ...
            reader.writeToElm("atar");
            reader.writeToElm("atsh7e4");
            reader.writeToElm("atfcsh7e4");

            reader.writeToElm("03223203");
            p = reader.getResult().get(0);
            reading.lbcvolt = read2(p,4) * 0.5;

            reader.writeToElm("03223204");
            p = reader.getResult().get(0);
            reading.lbcamps = (32768 - read2(p,4))*0.25;

            p = reader.readFreeFrame( "5d7", 7 );
            reading.speed = 0.01 * read2(p, 0);

            p = reader.readFreeFrame( "427", 0 );
            reading.aenergy = (read2(p, 6) >> 6 )* 0.1;
        }

Hi The free frame 5d7, on phase 1 transmits from the ABS but on phase 2 with it Cell voltages sent by the BMS. Phase 2 uses the new Renault Nissan electronics platform. You must to build your project for phase 2 from scratch. For more information, give an email address.

abrensch commented 4 years ago

Thank you guys for making me hopeful that I can get that working

The free frame 5d7, on phase 1 transmits from the ABS but on phase 2 with it Cell voltages sent by the BMS. Phase 2 uses the new Renault Nissan electronics platform. You must to build your project for phase 2 from scratch. For more information, give an email address.

For speed (that I was reasding from free frame 5d7) I have the GPS-speed as a fallback, just in case.

The available energy read from free frame 427 is 0.1 kWh in resolution, which is not enough for my use case, so I added some averaging/filtering with the electric power. I have a similar adapter working for Nissan Leaf (at least the older models) where there's a 6-digit "micro-soc" that worked out-of-the box. So I am curious what's possible for ZOE ph2.

abrensch commented 4 years ago

I am working on integrated range assistence that need to read realtime data from the ZOE. It's only a very small subset of what CanZE can read (just speed, SOC, amps and volts).

I got that working (with some Help from Karel)

Reading 5 fields now per cycle from the EVC only, in that order:

It's about 400ms (80ms per field).

Actually, it works better then my solution for Phase1 ( faster, less latency, better resoltion SOC)

Thanx again

ZE135 commented 4 years ago

Hi, I would like to use CanZE as well with my new ZE50.

@abrensch: Can you describe how to did read out? I am sure many ZE50 users are very much interested.

Thanks in advance

TomC-Zoe commented 4 years ago

Hello, I have made a CanSee dongle, it is recognized by CanZe (beta), however I have only "fail" messages with my Zoe ZE50, and I cannot find any dump file created by CanZe. Did I forget something ? Do you have an idea to break the deadlock ? Thank you

FredLeudon commented 4 years ago

Hi,

CanSee dongle is still under development.

COVID stopped CanZE development for my part. I plan to work again on CanZE and CanSee integration on September. Sorry for the delay.

Regards.

Frédéric RICHARD

Le 2 août 2020 à 11:24, TomC-Zoe notifications@github.com a écrit :

 Hello, I have made a CanSee dongle, it is recognized by CanZe (beta), however I have only "fail" messages with my Zoe ZE50, and I cannot find any dump file created by CanZe. Did I forget something ? Do you have an idea to break the deadlock ? Thank you

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

KarelSvo commented 4 years ago

Do you have an idea to break the deadlock ?

Applications for Android, Windows and Linux have been around for a long time and can read ZE50 data without any problems. Only a compatible Elm interface is required.

TomC-Zoe commented 4 years ago

The problem is that I gave my ELM dongle to a friend, as I thought that CanSee was operationnal, or at least could read some data from the ZE50. So I will wait until further developments.

g7pfv commented 4 years ago

Where is the OBD2 PORT ON THE ze50 R135 ?

i cant seem to locate it !

yoh-there commented 4 years ago

https://canze.fisch.lu/ze50/

g7pfv commented 4 years ago

Thankyou - just tried Powercruisecontrol app and works perfectly

On Tuesday, 1 September 2020, 21:04:51 BST, yoh-there <notifications@github.com> wrote:  

https://canze.fisch.lu/ze50/

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

MarkRotNF commented 4 years ago

Are there any news for the ZE50 support? Information in the app about the charging speed would be very nice :D

FredLeudon commented 4 years ago

Hi,

I have now a new Zoe so I can check data on Ecus.

I’m working hard, but there is a lot of work.

I will give infos asap

Cordialement,

Frédéric RICHARD

Le 1 oct. 2020 à 20:40, Markus notifications@github.com a écrit :

Are there any news for the ZE50 support? Information in the app about the charging speed would be very nice :D

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/fesch/CanZE/issues/588#issuecomment-702324957, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADA3PSAPWXPSFZFTK2HPE43SITEK3ANCNFSM4JTGZ4AQ.

miguel-negrao commented 4 years ago

Hi

I have a zoe ze50, a konnwei bluetooth dongle and programming knowledge. Is there anything I can do to help get ze50 support ?

Leobaillard commented 4 years ago

Same here and I have an oscilloscope, logic analyser and CAN hardware as well.

yoh-there commented 4 years ago

@miguel-negrao @Leobaillard My advice would be to fork the project into Android studio and get a feeling on how it works. All the ZE50 specific code is done (I think), but you probably want to add specific debug code to figure a new problem.

The issue is more getting things done field-by-field. I have XML files that describe the new ECUs, but only part of the fields work. It's really painstakingly defining and testing each single one on the car.

If you don't fancy digging into Android Studio, you can also use the Research screen in CanZE to check fields, but it's results would still need to be incorporated in the app.

Of course you could concentrate immediately only on getting some parameter from the car, but you would have to make custom code for your dongle to get to that; just typing commands would not work as things would time out before you got everything done. Especially the ELMs is a deep rabbit hole just by itself. If you really want to go this route, I strongly advise building your own CanSee dongle as it's super fast and fully customizable.

For Bob and myself, the main issue is lack of both time and a car. It's proven to be truly impossible to get this done without having both. I had a ZE50 on loan for a week, and then time collapsed. When I have time, I don't have a car.

If there is anything I can do to help, please do reach out.

Leobaillard commented 4 years ago

@yoh-there thanks for all the pointers and your hard work! I might have a go at it this weekend. I'm in France and we are on lockdown, so I guess I have time!

yoh-there commented 4 years ago

Hah, yeah I know the deal :-( Needed, but no fun. Good luck and feel free to ask. It might be a bit uphill, but with the car available it should be much easier to give it a go.

ik2wxx commented 4 years ago

My wife has a ZE50 so please count me in for ZE50 test and development. I prefer iOS but I can try to help on Android. Here in Italy there is already an Android app that can read the SOH for ZE50 (but costs a lot). I have 3 OBD dongle but don't know very much of CAN bus.

yoh-there commented 4 years ago

@ik2wxx Great, feel free to follow the pointers given above. Source code is in this githib repository.

How silly, I think if you download the CanZE beta, SOH actually works. The battery was about the easiest ECU to get working. So no need to pay!

I have no access to the iOS source. You might want to reach out to @FredLeudon for that.

KarelSvo commented 4 years ago

Here in Italy there is already an Android app that can read the SOH for ZE50 (but costs a lot).

There is Android software that can read all ZE50 data and it costs ZERO.This APP also writes logs to learn from.All you need is a WLAN or Bluetooth ELM that supports many AT commands.

ik2wxx commented 4 years ago

How silly, I think if you download the CanZE beta, SOH actually works. The battery was about the easiest ECU to get working. So no need to pay!

Unless it only works while charging or other situations, for me it's not working. But I'm here if I can help. If anyone can tell us how we can help, it will be great. I don't know anything about the app and I know a very little of CANBUS.