tl;dr: made a excel file for calculating charging time of Opel Corsa F e Cars since there is no proper done limiter by the manufacturer. Turned it into a php file, so you can selfhost it for ease of use.
Have a look at the two pics to generate a view of what it would look like.
I know probably nobody will care about this topic and it seems offtopic for this community but this is the closest community I could find and I wanted to try to remove some inconveniance for some people.
Pic of it before Calcing: https://lemmy.ml/pictrs/image/dd3724e4-6729-4188-9e24-d0c5a737ab48.png
Pic of it when clicking Calculate: https://lemmy.ml/pictrs/image/59a50f0a-b2e5-432b-ba25-7de9731332f5.png
LOOONG Version:
For those wondering and even caring about this nieche topic: Some PSA based cars - like the Opel/Vauxhall Corsa F e (e - electric) do not have a charging limiter built in.
Just like your Phone you should charge only until 80%.
A workaround (for Opel) is, that when charging via AC you can tell the car to stop charging right now but start again later.
Now you could calc out at what time in the night your car should start chargin to get to 80% by leaving the house.
Doing such is also not that conveniant.
To make this thing more easy - I’ve made myself a simple excel sheet that calcs all those things.
Since I hate Spreadsheets and wanted my partner to also benefit from it without having to have this stupid file on their phone I let ChatGPT transfer my calculus into one done in PHP. Its a simple transfer of math operations and I’ve checked - it didnt fuck up the calculations.
Soooo to the point: I’ve got a php file for ya’ll that you can put on a dummy webserver driving php wich will enable you to do those calcs in a glance.
I’ve let it define some standard-values that you can edit:
- Wanted charging State: 80%
- Battery MAX Capaticy (for my case 52KWH but yours might differ, since the changable value)
- ChargingPower: 1,8KW (when charging via normal power-outlets with the default Opel-Charger - and not any 11KW Charger) – Again Value is chagnabel
- Loss of load (apparrently some cars are not that great at 1-Phase Charging – looking at you Renault Zoe… (24% Loss)) – Also changable.
php file contents following in the comments (If it will allow me to post comments of such length. If not, just hit me up with a DM. I’ll figure out a way if anyone actually wants it ^^)
And times and again, I am wondering why tf someone would downvote sth innocent and helpful as this…
There is always at least 1 downvote. Dont take it seriously, it is not worth the energy to say something about that.
Someone must really hate PHP
The mentioned php file:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Charging Time Calculator (PHP)</title> <style> body { font-family: Arial, sans-serif; background: #f4f4f4; color: #333; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; } .box { background: #fff; padding: 20px 30px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); width: 100%; max-width: 400px; } h1 { margin-top: 0; text-align: center; } .field { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; font-weight: bold; } input[type="number"] { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; } button { width: 100%; padding: 10px; background: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer; } button:hover { background: #218838; } .result { margin-top: 20px; background: #e9ecef; padding: 15px; border-radius: 4px; } </style> </head> <body> <div class="box"> <h1>Charging Time Calculator</h1> <?php // Default values at the top $default_capacity = 52.0; // kWh $default_current_pct = 55.0; // % $default_target_pct = 80.0; // % $default_power_kw = 1.8; // kW $default_loss_pct = 15.2; // Charging loss in % // I have extended the PHP script with the new field for charging loss (default 15.2%). // The loss is applied immediately after calculating the net energy requirement, // so the charging time is determined based on the inclusive energy requirement (net + loss). // Additionally, the result view now shows the following values: // - Net energy required // - Configured charging loss // - Energy requirement including loss // Take from POST or use defaults $capacity = isset($_POST['capacity']) ? floatval($_POST['capacity']) : $default_capacity; $current = isset($_POST['current']) ? floatval($_POST['current']) : $default_current_pct; $target = isset($_POST['target']) ? floatval($_POST['target']) : $default_target_pct; $power = isset($_POST['power']) ? floatval($_POST['power']) : $default_power_kw; $loss = isset($_POST['loss']) ? floatval($_POST['loss']) : $default_loss_pct; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Calculation $percent_to_charge = max(0, $target - $current); // Net energy requirement $energy_needed_raw = ($percent_to_charge / 100) * $capacity; // in kWh // Energy requirement including charging loss $energy_needed = $energy_needed_raw * (1 + $loss / 100); // Charging time based on the increased energy requirement $time_hours = $power > 0 ? $energy_needed / $power : 0; // in hours $hours = floor($time_hours); $minutes = round(($time_hours - $hours) * 60); ?> <div class="result"> <p><strong>Remaining Charging Time:</strong> <?= $hours ?> h <?= $minutes ?> min</p> <p><strong>Percent to Charge:</strong> <?= number_format($percent_to_charge, 1) ?> %</p> <p><strong>Energy to Charge (net):</strong> <?= number_format($energy_needed_raw, 2) ?> kWh</p> <p><strong>Charging Loss:</strong> <?= number_format($loss, 1) ?> %</p> <p><strong>Energy to Charge (incl. loss):</strong> <?= number_format($energy_needed, 2) ?> kWh</p> </div> <?php } ?> <form method="post"> <div class="field"> <label for="capacity">Battery Capacity (kWh)</label> <input type="number" step="0.1" name="capacity" id="capacity" value="<?= htmlspecialchars($capacity) ?>" required> </div> <div class="field"> <label for="current">Current Charge Level (%)</label> <input type="number" step="1" min="0" max="100" name="current" id="current" value="<?= htmlspecialchars($current) ?>" required> </div> <div class="field"> <label for="target">Desired Charge Level (%)</label> <input type="number" step="1" min="0" max="100" name="target" id="target" value="<?= htmlspecialchars($target) ?>" required> </div> <div class="field"> <label for="power">Charging Power (kW)</label> <input type="number" step="0.1" min="0.1" name="power" id="power" value="<?= htmlspecialchars($power) ?>" required> </div> <div class="field"> <label for="loss">Charging Loss (%)</label> <input type="number" step="0.1" min="0" max="100" name="loss" id="loss" value="<?= htmlspecialchars($loss) ?>" required> </div> <button type="submit">Calculate</button> </form> </div> </body> </html>