wubbl0rz / FiatChamp

FIAT (uconnect) Home Assistant Addon 🚗
https://github.com/wubbl0rz/FiatChamp
MIT License
91 stars 17 forks source link

Considerable Success but Some Issues with FiatChamp #45

Open AndyBowden opened 1 year ago

AndyBowden commented 1 year ago

Great work with FiatChamp, wubbl0rz!

I've been struggling to control the charging of my La Prima for over a year. My solar system includes a GivEnergy hybrid inverter and 8.2kW domestic battery and a Zappi2 charger. I was unable to control the car's charging as I would wish until I realised last week that FiatChamp was available. I’m now using FiatChamp in conjunction with myenergi and GivEnergy integrations to great effect. I charge the car overnight up to a manually entered SoC threshold. In the daytime, I initiate charging if the domestic battery's SoC exceeds a high threshold and to cease charging if it drops below a second lower threshold.

There do seem to be some anomalies when using FiatChamp with my April 2021 La Prima, which I believe has all software updates up to about 6 months ago.

The drain on the car’s 12V when BatteryRefresh is set true is a concern. To offset this effect, I tried setting the refresh interval to a high number, however FiatChamp seems to effect refreshes every 15minutes whatever number is set in its configuration.

To reduce the 12V battery drain, I have chosen to set Force Refresh Battery Status false and have my HA automations request a battery refresh just at times when the car’s SoC is needed by them.

Today, just after I’d gone for a short drive throughout which FiatChamp was reporting valid data, FiatChamp has started logging ‘Wrong Pin?’ following each BatteryRefresh attempt. The Fiat iPhone app is still working fine with my normal pin. I’ve tried everything on HA including a re-install of FiatChamp to no avail. The Fiat System must have got confused. Hopefully, it will sort itself out.

I’m finding that the car’s battery charging level is reported as Level_2 whatever is selected in the car. I’d really like FiatChamp to be able to manage the car’s charging level. Perhaps the Fiat API doesn’t permit this.

I will be getting a new Alfa Romeo Giulia soon and I’d like FiatChamp to collect both cars’ data without having to restart FiatChamp each time after changing ‘Brand’ from Fiat to Alfa Romeo and vice versa.

wubbl0rz commented 1 year ago

hi 😀

  1. so you want to collect data from multiple cars from different vendors at the same time ? this sounds like a good use case but i did not expect that 😅 its currently not possible to enter different credentials and different vendors at the same time... 🤔 it shouldn't be too hard to implement this. i need to think about this. currently my motivation for changing much in FiatChamp internals is a bit lacking. but there is a lot cool things left to implement. multiple accounts will be one of the first things todo when i start working on fiatchamp again.

  2. the error with pin and api error might be because of too frequent api calls ? idk fiat api is really weird sometimes. i cannot recommend using refreshbattery because of the battery drain and weird behavior. it does the same as when you click on refresh in the app. it needs to wake up the car. read battery status and go to sleep again. maybe they limited how often this can be done. "live" update battery over the whole day might not be possible. i have setup my charger this way. as soon as i plugin the car it checks every 15min for battery state and sends a finished message when 100%. https://github.com/wubbl0rz/FiatChamp/issues/4#issuecomment-1271866433

  3. Level_2 charging is normal. i think they only support 2 states Level_2 and Level_1. for Level_1 is 110v and Level_2 is 200v+. they dont report anything else as far as i know.

AndyBowden commented 1 year ago

1 is not urgent and not vital. Firstly, the earliest I'll take delivery of the Alfa Giulia is September . Secondly as it's an ICE not an EV, I would only be using FiatChamp for the car's general data not for controlling it. 2 I think your explanation about too many API calls rings true. I shut down FiatChamp overnight. When I tried again this morning, I was still getting 'Wrong PIN?'. This evening I can get batterystatus data again without difficulty. I believe I was locked out for 24hours. I should be able to control overnight charging of my La Prima making use of a small number of Battery Refreshes over a period of no more than 4 hours and not as frequently as every 15 minutes. I'll try this and let you know. 3 In my La Prima all 5 charging levels can be selected from within the car and allow differing maximum charge rates. I use Level 2 for day time charging from my PV system mainly, that gives a charging rate of a little under 3kW. Any more than 3kW in daytime can drain the domestic storage battery if it's not a sunny day. I use Level_5 mainly at night and when charging away from home. That results in charging at whatever the charger can offer. So far I've not used a charger over 50kW. My home charger gives 7kW. I would find it useful if FiatChamp could select charging level, but I realise that the API may not permit it.

In short, I'm very relieved that the lock out was temporary and I'll be further exploring how I can make best use of FiatChamp over coming days.

Many thanks

wubbl0rz commented 1 year ago

do you mean the charging level inside the car settings ? LOW to HIGH in 5 steps ? i got a 500e myself and this is NOT the same as the charging level over the api. i got confused about this myself but after reading the wikipedia page you can see there are only 2 charging level standards right now LEVEL_1 and LEVEL_2 and this is what the api reports. https://en.wikipedia.org/wiki/Charging_station
image

AndyBowden commented 1 year ago

Yes it was the 5 levels set from inside the car I had in mind. I guess the API is reporting the level as defined by the standard which was used at the last charge. That will be established automatically over the car/charger interface. For AC I'd always expect Level2. It might be Level 1 for DC. I proposed to Fiat over a year ago that their app should allow selection between the 5 charge levels. I'm not holding my breath for an API change.

AndyBowden commented 1 year ago

Update: I have created HA automations to manage 2 charging regimes:

Daytime - if the domestic storage battery's State of Charge is above a user defined threshold, an Automation commands my charger to commence charging (so long as FiatChamp shows the car_evinfo_battery_pluginstatus to be true). Another Automation will terminate charging when the domestic storage battery's SoC drops below a second threshold. By this means, I am preventing the storage battery getting to 100% and preventing Solar energy being fed to the Grid. (I am not paid for any energy I feed to the grid.) . Night Time - if the car's battery SoC is below a user defined threshold, an Automation initiates charging at the start of the cheap rate period. Automations terminate charging when the SoC rises above the threshold or at the end of the cheap rate period whichever is the earlier.

My mileage is such in sunny weather in spring, I am charging the car solely from solar energy. In winter, I rely more on the grid.