Meldung verschwindet durch das Neuladen, zu dem sie auffordert
Vorgabe des Eigentuemers: klarer Zustand statt einer Meldung, die auch nach dem Neuladen stehenbleibt. Panel: nach einem Update ohne Neustart wird der Sidebar-Eintrag mit der neuen Versionsnummer neu angemeldet (koordinator.panel_neu_anmelden) - ohne das traegt die Modul-URL weiter die alte Nummer. Das Panel vergleicht jetzt die Version aus seiner Modul-URL mit der von der Platte gelesenen: sind sie gleich, laeuft es bereits auf der installierten Fassung und die Meldung entfaellt. Sie verschwindet damit genau durch das Neuladen, zu dem sie auffordert. App: fuer ein Update ohne Neustart erscheint gar nichts mehr. Geaendert wurden Dateien des Panels; die App hat hier nichts zu tun. Damit gilt durchgehend: keine Meldung = alles in Ordnung, Neustart-Knopf = handeln. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -83,7 +83,12 @@ from .const import (
|
||||
E_REIFEN_WINTER,
|
||||
E_TANKVORGAENGE,
|
||||
E_ZUORDNUNG,
|
||||
PANEL_ICON,
|
||||
PANEL_KOMPONENTE,
|
||||
PANEL_TITEL,
|
||||
PANEL_URL,
|
||||
SIGNAL_AKTUALISIERT,
|
||||
STATIK_URL,
|
||||
)
|
||||
from .veroeffentlichung import (
|
||||
fahrzeugstatus,
|
||||
@@ -695,6 +700,34 @@ class Koordinator:
|
||||
_LOGGER.info("Version nach Update: %s -> %s", self.version, neu)
|
||||
self.version = neu
|
||||
|
||||
async def panel_neu_anmelden(self) -> None:
|
||||
"""Meldet den Sidebar-Eintrag mit der aktuellen Versionsnummer neu an.
|
||||
|
||||
Noetig nach einem Update OHNE Neustart: die Modul-URL traegt die Version
|
||||
als Cache-Brecher (`?v=`), und die stammt vom Anmelden beim Einrichten.
|
||||
Ohne diesen Schritt bliebe dort die alte Nummer stehen - und das Panel
|
||||
koennte nicht erkennen, ob es bereits die neuen Dateien ausfuehrt.
|
||||
Genau darauf beruht die Meldung "Seite neu laden", die nach dem Neuladen
|
||||
verschwinden soll (Vorgabe des Eigentuemers, 05.09.2026).
|
||||
|
||||
Die statische Route bleibt unberuehrt - sie zeigt auf einen Ordner,
|
||||
dessen Inhalt sich geaendert hat, nicht auf einzelne Dateien."""
|
||||
from homeassistant.components import frontend, panel_custom
|
||||
|
||||
frontend.async_remove_panel(self.hass, PANEL_URL)
|
||||
await panel_custom.async_register_panel(
|
||||
self.hass,
|
||||
frontend_url_path=PANEL_URL,
|
||||
webcomponent_name=PANEL_KOMPONENTE,
|
||||
sidebar_title=PANEL_TITEL,
|
||||
sidebar_icon=PANEL_ICON,
|
||||
module_url=f"{STATIK_URL}/audi-dashboard-panel.js?v={self.version}",
|
||||
embed_iframe=False,
|
||||
require_admin=False,
|
||||
config={"version": self.version, "statik": STATIK_URL},
|
||||
)
|
||||
_LOGGER.info("Panel mit Version %s neu angemeldet", self.version)
|
||||
|
||||
async def app_version_veroeffentlichen(self) -> None:
|
||||
buendel = await self.hass.async_add_executor_job(self._buendel_lesen)
|
||||
bildstaende = await bilder.staende(
|
||||
|
||||
Reference in New Issue
Block a user