diff --git a/.prettierignore b/.prettierignore index f3e4faa11..44e8a288e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,7 +2,7 @@ build node_modules templates -static +public/openapi.yaml # Prettier mangles MDX with nested inside numbered lists inside src/content/docs/de/installation/linux.mdx diff --git a/screenshot-generator/recipes/basics.evcc.yaml b/screenshot-generator/recipes/basics.evcc.yaml index a4d3789d7..4fe59aa72 100755 --- a/screenshot-generator/recipes/basics.evcc.yaml +++ b/screenshot-generator/recipes/basics.evcc.yaml @@ -43,6 +43,7 @@ meters: source: js script: | 42 + batterymodes: ["normal", "hold", "charge", "holdcharge"] batterymode: source: js vm: shared diff --git a/screenshot-generator/recipes/batterie-boost.evcc.yaml b/screenshot-generator/recipes/batterie-boost.evcc.yaml index 20b035995..b3b93c491 100644 --- a/screenshot-generator/recipes/batterie-boost.evcc.yaml +++ b/screenshot-generator/recipes/batterie-boost.evcc.yaml @@ -35,6 +35,7 @@ meters: source: js script: | 75 + batterymodes: ["normal", "hold", "charge", "holdcharge"] batterymode: source: js vm: shared diff --git a/screenshot-generator/recipes/battery.spec.js b/screenshot-generator/recipes/battery.spec.js index b0a699de0..45dcca1e2 100644 --- a/screenshot-generator/recipes/battery.spec.js +++ b/screenshot-generator/recipes/battery.spec.js @@ -1,14 +1,6 @@ import { loop } from "./utils/loop"; const { test, expect } = require("@playwright/test"); -import { - CURSOR, - ONE, - TWO, - THREE, - FOUR, - placeOverlay, - removeOverlays, -} from "./utils/overlay"; +import { CURSOR, placeOverlay, removeOverlays } from "./utils/overlay"; const { start, stop } = require("./utils/evcc"); const BASE_PATH = "features/screenshots"; @@ -39,41 +31,35 @@ loop((screenshot) => { await page .locator('[data-testid="bottom-tab-bar"] a[href="#/battery"]') .click(); - await expect(page.locator(".batteryLimits")).toBeVisible(); + const usageCard = "main section:has(#batteryPriority)"; + await expect(page.locator(usageCard)).toBeVisible(); - await page.locator("#batterySettingsPriority").selectOption("50"); + await page.locator("#batteryPriority").selectOption("50"); await wait(300); - await placeOverlay(page, "#batterySettingsPriority", CURSOR, 0, 10); - await placeOverlay(page, ".battery .bg-darkest-green", ONE, -100, -21); - await placeOverlay(page, ".battery .bg-darker-green", TWO, -100, -21); + await placeOverlay(page, "#batteryPriority", CURSOR, 0, 10); - await screenshot(page, `${BASE_PATH}/battery-priority`, "main > .row", { + await screenshot(page, `${BASE_PATH}/battery-priority`, usageCard, { all: 20, - top: 80, }); await removeOverlays(page); // buffer soc - await page.locator("#batterySettingsBuffer").selectOption("75"); + await page.locator("#batteryBuffer").selectOption("75"); await wait(300); - await placeOverlay(page, "#batterySettingsBuffer", CURSOR, 0, 10); - await placeOverlay(page, ".battery .bg-dark-green", THREE, -100, -21); + await placeOverlay(page, "#batteryBuffer", CURSOR, 0, 10); - await screenshot(page, `${BASE_PATH}/battery-buffer`, "main > .row", { + await screenshot(page, `${BASE_PATH}/battery-buffer`, usageCard, { all: 20, - top: 80, }); await removeOverlays(page); // buffer start - await page.locator("#batterySettingsBufferStart").selectOption("90"); + await page.locator("#batteryBufferStart").selectOption("90"); await wait(300); - await placeOverlay(page, "#batterySettingsBufferStart", CURSOR, 0, 10); - await placeOverlay(page, ".bufferStartIndicator", FOUR, -100, -21); + await placeOverlay(page, "#batteryBufferStart", CURSOR, 0, 10); - await screenshot(page, `${BASE_PATH}/battery-bufferstart`, "main > .row", { + await screenshot(page, `${BASE_PATH}/battery-bufferstart`, usageCard, { all: 20, - top: 80, }); await removeOverlays(page); }); @@ -91,10 +77,17 @@ loop((screenshot) => { await wait(300); await page.locator("main #smartCostLimit-battery").selectOption("0.12"); + // card sits at the bottom of a long page: make it fit and hide the fixed tab bar + await page.setViewportSize({ width: 1280, height: 1800 }); + await page.addStyleTag({ + content: '[data-testid="bottom-tab-bar"] { display: none !important }', + }); + await wait(300); + await screenshot( page, `${BASE_PATH}/battery-grid-charging`, - "main > div:has(#smartCostLimit-battery)", + "main section:has(#smartCostLimit-battery)", { all: 20, }, diff --git a/src/assets/features/screenshots/battery-buffer-de-dark-1x.webp b/src/assets/features/screenshots/battery-buffer-de-dark-1x.webp index f4176f31d..a7c5866e8 100644 Binary files a/src/assets/features/screenshots/battery-buffer-de-dark-1x.webp and b/src/assets/features/screenshots/battery-buffer-de-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-de-dark-2x.webp b/src/assets/features/screenshots/battery-buffer-de-dark-2x.webp index 663dca348..b769a1c54 100644 Binary files a/src/assets/features/screenshots/battery-buffer-de-dark-2x.webp and b/src/assets/features/screenshots/battery-buffer-de-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-de-light-1x.webp b/src/assets/features/screenshots/battery-buffer-de-light-1x.webp index 8b6622daf..f7ad8f508 100644 Binary files a/src/assets/features/screenshots/battery-buffer-de-light-1x.webp and b/src/assets/features/screenshots/battery-buffer-de-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-de-light-2x.webp b/src/assets/features/screenshots/battery-buffer-de-light-2x.webp index 9554f1737..38d409510 100644 Binary files a/src/assets/features/screenshots/battery-buffer-de-light-2x.webp and b/src/assets/features/screenshots/battery-buffer-de-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-en-dark-1x.webp b/src/assets/features/screenshots/battery-buffer-en-dark-1x.webp index ec35c58fa..ac7b6a44f 100644 Binary files a/src/assets/features/screenshots/battery-buffer-en-dark-1x.webp and b/src/assets/features/screenshots/battery-buffer-en-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-en-dark-2x.webp b/src/assets/features/screenshots/battery-buffer-en-dark-2x.webp index a766c6548..768beaff6 100644 Binary files a/src/assets/features/screenshots/battery-buffer-en-dark-2x.webp and b/src/assets/features/screenshots/battery-buffer-en-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-en-light-1x.webp b/src/assets/features/screenshots/battery-buffer-en-light-1x.webp index 62f9337a0..9d165edf9 100644 Binary files a/src/assets/features/screenshots/battery-buffer-en-light-1x.webp and b/src/assets/features/screenshots/battery-buffer-en-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-buffer-en-light-2x.webp b/src/assets/features/screenshots/battery-buffer-en-light-2x.webp index 2ff4c68ba..a1481b8ba 100644 Binary files a/src/assets/features/screenshots/battery-buffer-en-light-2x.webp and b/src/assets/features/screenshots/battery-buffer-en-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-de-dark-1x.webp b/src/assets/features/screenshots/battery-bufferstart-de-dark-1x.webp index e3577db8a..7aa862db2 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-de-dark-1x.webp and b/src/assets/features/screenshots/battery-bufferstart-de-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-de-dark-2x.webp b/src/assets/features/screenshots/battery-bufferstart-de-dark-2x.webp index eec62ad50..86ce71391 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-de-dark-2x.webp and b/src/assets/features/screenshots/battery-bufferstart-de-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-de-light-1x.webp b/src/assets/features/screenshots/battery-bufferstart-de-light-1x.webp index 99621e35c..d1113c68a 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-de-light-1x.webp and b/src/assets/features/screenshots/battery-bufferstart-de-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-de-light-2x.webp b/src/assets/features/screenshots/battery-bufferstart-de-light-2x.webp index 1359a948d..1bd225ef3 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-de-light-2x.webp and b/src/assets/features/screenshots/battery-bufferstart-de-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-en-dark-1x.webp b/src/assets/features/screenshots/battery-bufferstart-en-dark-1x.webp index 4b85e39e4..ac5472590 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-en-dark-1x.webp and b/src/assets/features/screenshots/battery-bufferstart-en-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-en-dark-2x.webp b/src/assets/features/screenshots/battery-bufferstart-en-dark-2x.webp index eee46dd77..d17a3f234 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-en-dark-2x.webp and b/src/assets/features/screenshots/battery-bufferstart-en-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-en-light-1x.webp b/src/assets/features/screenshots/battery-bufferstart-en-light-1x.webp index f3e1b0959..a15fe73cd 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-en-light-1x.webp and b/src/assets/features/screenshots/battery-bufferstart-en-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-bufferstart-en-light-2x.webp b/src/assets/features/screenshots/battery-bufferstart-en-light-2x.webp index 7d179e239..b90a31fb1 100644 Binary files a/src/assets/features/screenshots/battery-bufferstart-en-light-2x.webp and b/src/assets/features/screenshots/battery-bufferstart-en-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-de-dark-1x.webp b/src/assets/features/screenshots/battery-grid-charging-de-dark-1x.webp index ceb9eac84..022bbbc73 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-de-dark-1x.webp and b/src/assets/features/screenshots/battery-grid-charging-de-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-de-dark-2x.webp b/src/assets/features/screenshots/battery-grid-charging-de-dark-2x.webp index 12f498afe..b4814de37 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-de-dark-2x.webp and b/src/assets/features/screenshots/battery-grid-charging-de-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-de-light-1x.webp b/src/assets/features/screenshots/battery-grid-charging-de-light-1x.webp index a65471439..e3ef79334 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-de-light-1x.webp and b/src/assets/features/screenshots/battery-grid-charging-de-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-de-light-2x.webp b/src/assets/features/screenshots/battery-grid-charging-de-light-2x.webp index 38fdcee20..1a54daa1f 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-de-light-2x.webp and b/src/assets/features/screenshots/battery-grid-charging-de-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-en-dark-1x.webp b/src/assets/features/screenshots/battery-grid-charging-en-dark-1x.webp index 213038d7e..a78c706bf 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-en-dark-1x.webp and b/src/assets/features/screenshots/battery-grid-charging-en-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-en-dark-2x.webp b/src/assets/features/screenshots/battery-grid-charging-en-dark-2x.webp index 10c5b5c81..dcb91ccf6 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-en-dark-2x.webp and b/src/assets/features/screenshots/battery-grid-charging-en-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-en-light-1x.webp b/src/assets/features/screenshots/battery-grid-charging-en-light-1x.webp index a525093b0..053fa4193 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-en-light-1x.webp and b/src/assets/features/screenshots/battery-grid-charging-en-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-grid-charging-en-light-2x.webp b/src/assets/features/screenshots/battery-grid-charging-en-light-2x.webp index c6878551e..7ec5dcf7d 100644 Binary files a/src/assets/features/screenshots/battery-grid-charging-en-light-2x.webp and b/src/assets/features/screenshots/battery-grid-charging-en-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-de-dark-1x.webp b/src/assets/features/screenshots/battery-priority-de-dark-1x.webp index a29766b85..c6aa5e5f9 100644 Binary files a/src/assets/features/screenshots/battery-priority-de-dark-1x.webp and b/src/assets/features/screenshots/battery-priority-de-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-de-dark-2x.webp b/src/assets/features/screenshots/battery-priority-de-dark-2x.webp index edd3d7002..fd5645b2f 100644 Binary files a/src/assets/features/screenshots/battery-priority-de-dark-2x.webp and b/src/assets/features/screenshots/battery-priority-de-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-de-light-1x.webp b/src/assets/features/screenshots/battery-priority-de-light-1x.webp index d668a2bf4..07097a501 100644 Binary files a/src/assets/features/screenshots/battery-priority-de-light-1x.webp and b/src/assets/features/screenshots/battery-priority-de-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-de-light-2x.webp b/src/assets/features/screenshots/battery-priority-de-light-2x.webp index 55f07196e..3845807f6 100644 Binary files a/src/assets/features/screenshots/battery-priority-de-light-2x.webp and b/src/assets/features/screenshots/battery-priority-de-light-2x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-en-dark-1x.webp b/src/assets/features/screenshots/battery-priority-en-dark-1x.webp index 33e00c4ff..60527afd4 100644 Binary files a/src/assets/features/screenshots/battery-priority-en-dark-1x.webp and b/src/assets/features/screenshots/battery-priority-en-dark-1x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-en-dark-2x.webp b/src/assets/features/screenshots/battery-priority-en-dark-2x.webp index f28774e0c..eb0b28c20 100644 Binary files a/src/assets/features/screenshots/battery-priority-en-dark-2x.webp and b/src/assets/features/screenshots/battery-priority-en-dark-2x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-en-light-1x.webp b/src/assets/features/screenshots/battery-priority-en-light-1x.webp index 4387ace6f..8e067ddba 100644 Binary files a/src/assets/features/screenshots/battery-priority-en-light-1x.webp and b/src/assets/features/screenshots/battery-priority-en-light-1x.webp differ diff --git a/src/assets/features/screenshots/battery-priority-en-light-2x.webp b/src/assets/features/screenshots/battery-priority-en-light-2x.webp index a2cd574ba..5c068dbf9 100644 Binary files a/src/assets/features/screenshots/battery-priority-en-light-2x.webp and b/src/assets/features/screenshots/battery-priority-en-light-2x.webp differ diff --git a/src/content/docs/de/features/battery.mdx b/src/content/docs/de/features/battery.mdx index 46a316726..89b2b1bdb 100644 --- a/src/content/docs/de/features/battery.mdx +++ b/src/content/docs/de/features/battery.mdx @@ -25,8 +25,9 @@ Dieses Verhalten kannst du auf der **Batterie**-Seite konfigurieren, die du übe caption="Batterie-Seite in der Navigationsleiste" /> -Hier stellst du ein, bis zu welchem Ladestand die Hausbatterie prioritär geladen werden soll und ab wann das Elektroauto den Überschuss nutzen darf. -Mit der unteren Grenze legst du fest, wie viel Energie für Hausverbrauch reserviert bleibt (1) und in welchem Bereich das Fahrzeug Vorrang hat (2). +Die Seite zeigt den aktuellen Zustand jeder Batterie und den Ladestand der letzten Tage. +Unter **Batterienutzung** stellst du ein, bis zu welchem Ladestand die Hausbatterie prioritär geladen wird. +Oberhalb dieses Ladestands erhalten die Ladepunkte den Überschuss. -Here you set the charge level up to which the home battery should be charged with priority and from when the electric car can use the surplus. -With the lower limit you determine how much energy is reserved for home consumption (1) and in which area the vehicle has priority (2). +The page shows the current state of each battery and the charge level over the past days. +Under **Battery usage** you set the charge level up to which the home battery is charged with priority. +Above this level the charging points receive the surplus.