ERS Display
This python app displays the essential information about the ERS for driving a hybrid car with manual boost. There is also a feature that will alert the driver to deploy ERS when the car is in a pre-defined boost zone, and stop deploying ERS when the ERS remaining reaches a pre-defined level. The app is also heavily customisable in colours and functionality.
Scroll down for how to install, customise the app config and create the boost files. If you have any questions or problems with the app, feel free to use the discussion/support thread.
How to Install
Download the zip file, unzip it and drag and drop the folder called "apps" into your assettocorsa directory. Then enable "ERS Display" in the settings.
(I don't know whether the app can be installed using content manager, so it's safer to install it manually.)
How it Works
The first lap in the video below is boosting normally, and the second lap is demonstrating how the app adjusts the deployment if too much or too little boost is used in a boost zone.
Note: The boost zone allocation shows only 1 zone at the start because it has recalculated (only 1 boost zone left ahead). Skip to 0:25 in the video to see all the bars in action.
The top bar of the app shows how much of the allowed ERS per lap is remaining, with the different colours of the bar showing how the remaining ERS is allocated to each boost zone as defined by the boost config files.
The large number to the right of the top bar shows the same thing - amount of allowed ERS per lap remaining - but as a percentage.
The middle bar of the app shows how much ERS is currently stored in the batteries on the car.
The number next to the middle bar displays the same thing, just as a percentage.
For the bottom bar, if the car is in a boost zone, it displays a progress bar of the deployment of boost in that zone (basically a countdown for when to stop boosting). If the car is not in a boost zone, it displays how close the car is to the next boost zone (basically a countdown to when to start boosting).
The small number on the right of the bottom bar shows the car's location along the track spline - this is the value that is used in the car boost config to determine where boost zones start.
If boost alerts have been enabled in the boost config, the background of the app will also turn yellow when in the pre-defined boost zones when you should boost, and turn red when the pre-defined amount of boost to use for that boost zone has been reached and you should stop boosting (the colours can be changed in the app config).
The app will also account for and adjust deployment if too much or too little boost was deployed in a zone and scale and recalculate the remaining deployment zones when the driver brakes more than 25% and just before the next boost zone.
If the app detects that the car doesn't have ERS, the app will hide automatically (this can be changed in the app config such that the app stays on screen).
The app is also meant to be similar to the RaceEssentials app in styling - it's the same height as well - because that's how I'm using it.
Customisation - App Config
Look at app_config (Explanation).txt to see an explanation for each configuration option (assettocorsa\apps\python\ERS_Display\app_config (Explanation).txt).
Open app_config.txt and change the values to customise the app to your liking (assettocorsa\apps\python\ERS_Display\app_config.txt) .
The app mode can be changed such that the boost deployment is either fixed or adaptive (whether or not the deployment is recalculated if too much or too little ERS has been used in a boost zone).
The app can be set to always be shown even if the car used does not have ERS, though it's not of much use for obvious reasons.
The alert to deploy boost can be offset to show earlier or later (global setting).
The alert to stop deploying boost can be offset to show earlier or later (global setting). The alert offsets can also be changed to be specific to each car-track combo in the boost map configuration (see below).
The time that the app will allow the driver to be off boost before it determines that the boost zone has ended can be changed (adjust this as you want to allow you to stop boosting for a bit when changing directions behind another car on the straight then get back on boost, or to give allowance at the start of the boost zone).
The length of time that the stop boost alert is shown can also be adjusted.
The colours of the bars (including all the colours in the top bar representing different boost zones, adding and removing colours as well) and boost alert colours can also be changed. If the number of boost zones is greater than the number of colours, then the colours will loop for the top bar. If the number of boost zones is less than the number of colours, then only the first colours will be used.
To reload the app config within the session, simply deactivate and reactivate the app using the taskbar on the right of the screen (click to toggle the app off and on to reload). Exiting and loading up a new AC session will also reload the config.
Don't leave extra spaces after the values or between commas in the config, don't put spaces before and after the equal signs, and also don't remove lines (except at the bottom for the top bar colours).
Boost Map Configuration
The app will automatically create a new file in assettocorsa\apps\python\ERS_Display\car_boost_configs if there is not already a config there and the car has ERS. The file name format for the car boost configs is carName---trackName[trackConfig].txt.
If you want the app to give boost alerts for that car and track combo, make sure that boostAlertEnabled=True in the boost config file for the correct car and track. This is set to False by default when the app creates a new boost config so that it doesn't flash in your face at the start of every lap if you haven't made a custom boost config. (The boost alert is the background of the app changing colour to signal when to deploy ERS).
deployBoostAlertTrackDistOffset and stopBoostAlertERSPercentOffset can be changed to a custom value for the specific car and track combo, or left as "default" to use what has been defined in the app_config.txt file (See Customisation - App Config for what this does).
To define the actual car boost config, edit and add to the section below the dividing line. Each line below should look something like this: 0.xxx|xx|comments/anything you want to type here. This part of the boost config has the same format as the one for Intelliboost.
The number on the left is the distance on the track spline where that boost zone will start (this may change if you use a different AI file, and is also affected by the deployBoostAlertTrackDistOffset config).
The middle number is the amount of available ERS you want to have remaining after you have finished deploying ERS in that zone (this amount will change if the mode is adaptive and the boost has not been used as defined).
The part on the right is optional, but the vertical bar must still be there.
To create more boost zones, simply make another line and fill it in with the relevant information. The zones have to be put in order in the boost config file, with the left most number increasing down the list.
Example:
0.067|94|Dunlop Chicane (Use 6%)
At 0.067 along the track spline (exit of the Dunlop Chicane at Le Mans), alert the driver to deploy ERS until the allowed ERS per lap remaining is 94%. The bit saying "Dunlop Chicane (Use 6%)" is not needed for it to work, it's just comments for the user. Note that boostAlertEnabled is set to True so that the app alerts the driver to boost.
Make sure that there are no blank lines in the file, and don't add or remove lines before the horizontal divider.
To reload the car boost config within the session, simply deactivate and reactivate the app using the taskbar on the right of the screen (click to toggle the app off and on to reload). Exiting and loading up a new AC session will also reload the config.
I've also included a few boost configs (Porsche 919 Hybrid 2016 and Toyota TS040 at Le Mans 2017) as examples for you to reference for your own boost configs or use for yourself.
Possible Bug Fixes and Additions (not guaranteed)
There's a small bug where the bottom bar (countdown bar) stays full until the car is in the first boost zone. (I personally don't see this as too big of an issue as it only affects the first small stretch of the first lap after you load in).
Change the countdown bar logic to countdown from the last boost zone to the first, instead of counting down to the start line.
Possibly an addition of a beep for the boost alert, similar to a DRS activation beep.
Add an app icon for the sidebar.
Make configuration for the app possible through Content Manager, and clean up the way that the app reads the config file (make it more lenient to mistakes like extra spaces).
Add the ability to customise the scale of the app, including changing the width and height separately.
Additional Notes
If you release your boost button on the same frame (technically just before) the app is supposed to show the stop boost alert, no alert will be shown, but good job on your timing with your ERS.
Unlike Intelliboost, this app does not deploy ERS automatically for the driver. The driver still has to manually press the button to deploy ERS. You also don't have to stick to the boost map that you defined - deploy your ERS whenever you want to overtake someone, or save some ERS for later in the lap if you wish to do so.