Updated apps
This commit is contained in:
@@ -894,6 +894,10 @@ async def _async_setup_shared(hass: HomeAssistant) -> bool:
|
||||
unsub_digest,
|
||||
]
|
||||
|
||||
# Once HA has started (all entries loaded), flag object entries that were
|
||||
# orphaned by a deleted global entry as a fixable repair issue (#86).
|
||||
async_at_started(hass, _sync_missing_global_entry_issue)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -1058,6 +1062,11 @@ async def async_setup_entry(hass: HomeAssistant, entry: MaintenanceSupporterConf
|
||||
# HA-started so the store has finished loading.
|
||||
entry.async_on_unload(async_at_started(hass, _check_document_storage_issues))
|
||||
|
||||
# A global entry now exists — clear the orphan repair issue immediately
|
||||
# (e.g. right after the repair flow recreated it, when HA is already
|
||||
# started and the async_at_started check above won't fire again).
|
||||
_sync_missing_global_entry_issue(hass)
|
||||
|
||||
_LOGGER.debug("Global config entry set up: %s", entry.entry_id)
|
||||
else:
|
||||
# Maintenance object entry: create Store + coordinator
|
||||
@@ -1188,6 +1197,39 @@ async def _check_document_storage_issues(hass: HomeAssistant) -> None:
|
||||
ir.async_delete_issue(hass, DOMAIN, _DOC_STORAGE_ISSUE_ID)
|
||||
|
||||
|
||||
_MISSING_GLOBAL_ISSUE_ID = "missing_global_entry"
|
||||
|
||||
|
||||
@callback
|
||||
def _sync_missing_global_entry_issue(hass: HomeAssistant) -> None:
|
||||
"""Surface "object entries exist but the global entry is gone" as a repair.
|
||||
|
||||
The config flow always creates the global "Maintenance Supporter" entry
|
||||
before the first object, but a user can later delete just that entry from
|
||||
Settings → Devices & Services, leaving orphan object entries behind. That
|
||||
strips the summary sensors, the sidebar panel and the digests — and the
|
||||
dashboard KPI chips read "unknown" (#86, 2nd report). The fixable issue's
|
||||
flow recreates the global entry with default settings; it clears itself once
|
||||
a global entry is present again.
|
||||
"""
|
||||
from homeassistant.helpers import issue_registry as ir
|
||||
|
||||
entries = hass.config_entries.async_entries(DOMAIN)
|
||||
has_global = any(e.unique_id == GLOBAL_UNIQUE_ID for e in entries)
|
||||
has_objects = any(e.unique_id != GLOBAL_UNIQUE_ID for e in entries)
|
||||
if has_objects and not has_global:
|
||||
ir.async_create_issue(
|
||||
hass,
|
||||
DOMAIN,
|
||||
_MISSING_GLOBAL_ISSUE_ID,
|
||||
is_fixable=True,
|
||||
severity=ir.IssueSeverity.ERROR,
|
||||
translation_key=_MISSING_GLOBAL_ISSUE_ID,
|
||||
)
|
||||
else:
|
||||
ir.async_delete_issue(hass, DOMAIN, _MISSING_GLOBAL_ISSUE_ID)
|
||||
|
||||
|
||||
async def _async_global_options_updated(hass: HomeAssistant, entry: ConfigEntry) -> None:
|
||||
"""React to global options changes (panel toggle / sidebar title)."""
|
||||
panel_enabled = entry.options.get(CONF_PANEL_ENABLED, DEFAULT_PANEL_ENABLED)
|
||||
@@ -1349,6 +1391,10 @@ async def async_unload_entry(hass: HomeAssistant, entry: MaintenanceSupporterCon
|
||||
async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None:
|
||||
"""Clean up store file when a config entry is permanently deleted."""
|
||||
if entry.unique_id == GLOBAL_UNIQUE_ID:
|
||||
# Deleting the global entry while object entries remain is a broken
|
||||
# state (no summary sensors / panel / digests) — surface it right away
|
||||
# as a fixable repair issue so the user can restore it (#86).
|
||||
_sync_missing_global_entry_issue(hass)
|
||||
return
|
||||
store = MaintenanceStore(hass, entry.entry_id)
|
||||
await store.async_remove()
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -164,6 +164,25 @@ class MaintenanceSupporterConfigFlow(TriggerConfigMixin, ConfigFlow, domain=DOMA
|
||||
errors=errors,
|
||||
)
|
||||
|
||||
async def async_step_import(self, import_data: dict[str, Any] | None = None) -> ConfigFlowResult:
|
||||
"""Programmatically (re)create the global entry with default settings.
|
||||
|
||||
Used by the missing-global-entry repair flow to restore the global
|
||||
"Maintenance Supporter" configuration after it was deleted while object
|
||||
entries remained (which strips the summary sensors + panel). Aborts if a
|
||||
global entry already exists, so it's safe to trigger unconditionally.
|
||||
"""
|
||||
await self.async_set_unique_id(GLOBAL_UNIQUE_ID)
|
||||
self._abort_if_unique_id_configured()
|
||||
return self.async_create_entry(
|
||||
title="Maintenance Supporter",
|
||||
data={
|
||||
CONF_DEFAULT_WARNING_DAYS: DEFAULT_WARNING_DAYS,
|
||||
CONF_NOTIFICATIONS_ENABLED: False,
|
||||
CONF_NOTIFY_SERVICE: "",
|
||||
},
|
||||
)
|
||||
|
||||
async def async_step_create_from_template(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult:
|
||||
"""Step 1: Select a template category."""
|
||||
if user_input is not None:
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+54
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* #86 (2nd report): the dashboard KPI chips must never read "unknown" when the
|
||||
* summary sensors are absent (orphan object entries after the global entry was
|
||||
* deleted). The chips prefer the live summary sensor when its entity id
|
||||
* resolves, but fall back to the literal count from the statistics WS payload
|
||||
* otherwise.
|
||||
*/
|
||||
import { expect } from "@open-wc/testing";
|
||||
import { kpiMarkdownCard } from "../maintenance-dashboard-strategy";
|
||||
|
||||
function contentOf(card: unknown): string {
|
||||
return (card as { content: string }).content;
|
||||
}
|
||||
|
||||
describe("dashboard KPI chips (#86)", () => {
|
||||
it("uses live sensor templates when the summary entity ids resolve", () => {
|
||||
const content = contentOf(
|
||||
kpiMarkdownCard(
|
||||
{
|
||||
overdue: "sensor.maintenance_supporter_overdue",
|
||||
triggered: "sensor.maintenance_supporter_triggered",
|
||||
due_soon: "sensor.maintenance_supporter_due_soon",
|
||||
ok: "sensor.maintenance_supporter_ok",
|
||||
},
|
||||
{ overdue: 2, triggered: 1, due_soon: 3, ok: 4 },
|
||||
),
|
||||
);
|
||||
// Reactive template, not the literal number.
|
||||
expect(content).to.include("{{ states('sensor.maintenance_supporter_overdue') }}");
|
||||
expect(content).to.include("overdue");
|
||||
});
|
||||
|
||||
it("falls back to the literal WS counts when no summary sensor exists", () => {
|
||||
const content = contentOf(
|
||||
kpiMarkdownCard(
|
||||
{ overdue: null, triggered: null, due_soon: null, ok: null },
|
||||
{ overdue: 2, triggered: 1, due_soon: 3, ok: 4 },
|
||||
),
|
||||
);
|
||||
// No entity templates at all — the counts are baked in as real numbers.
|
||||
expect(content).to.not.include("states(");
|
||||
expect(content).to.not.include("unknown");
|
||||
expect(content).to.include("**2** overdue");
|
||||
expect(content).to.include("**1** triggered");
|
||||
expect(content).to.include("**3** due soon");
|
||||
expect(content).to.include("**4** ok");
|
||||
});
|
||||
|
||||
it("shows an em dash rather than a template when neither id nor count is available", () => {
|
||||
const content = contentOf(kpiMarkdownCard({}, {}));
|
||||
expect(content).to.not.include("states(");
|
||||
expect(content).to.include("**—** overdue");
|
||||
});
|
||||
});
|
||||
+38
-12
@@ -204,18 +204,32 @@ const SMALL_SCREEN_CONDITION: ViewColumnsCondition = {
|
||||
// documented sensor.maintenance_supporter_<key> ids are NOT guaranteed —
|
||||
// a user rename, a _2 collision suffix, or a pre-pinning install that
|
||||
// registered localized ids all made the hardcoded templates read "unknown".
|
||||
type SummaryEntityIds = Partial<Record<"overdue" | "triggered" | "due_soon" | "ok", string | null>>;
|
||||
type SummaryKey = "overdue" | "triggered" | "due_soon" | "ok";
|
||||
type SummaryEntityIds = Partial<Record<SummaryKey, string | null>>;
|
||||
type SummaryCounts = Partial<Record<SummaryKey, number>>;
|
||||
|
||||
function kpiMarkdownCard(ids: SummaryEntityIds = {}): CardConfig {
|
||||
const eid = (key: keyof SummaryEntityIds) => ids[key] || `sensor.maintenance_supporter_${key}`;
|
||||
// One chip's value: prefer the live summary sensor (reactive template) when its
|
||||
// entity exists, but fall back to the literal count from the statistics WS when
|
||||
// it doesn't. The summary sensors only exist while the global "Maintenance
|
||||
// Supporter" entry is set up; if it was deleted (orphan object entries — #86,
|
||||
// 2nd report) the templated `states()` reads "unknown". The count from the WS
|
||||
// is always authoritative, so the chips stay correct either way.
|
||||
function kpiValue(key: SummaryKey, ids: SummaryEntityIds, counts: SummaryCounts): string {
|
||||
const id = ids[key];
|
||||
if (id) return `{{ states('${id}') }}`;
|
||||
const n = counts[key];
|
||||
return n === undefined || n === null ? "—" : String(n);
|
||||
}
|
||||
|
||||
export function kpiMarkdownCard(ids: SummaryEntityIds = {}, counts: SummaryCounts = {}): CardConfig {
|
||||
return {
|
||||
type: "markdown",
|
||||
text_only: true,
|
||||
content: [
|
||||
`🔴 **{{ states('${eid("overdue")}') }}** overdue`,
|
||||
`⚡ **{{ states('${eid("triggered")}') }}** triggered`,
|
||||
`🟡 **{{ states('${eid("due_soon")}') }}** due soon`,
|
||||
`🟢 **{{ states('${eid("ok")}') }}** ok`,
|
||||
`🔴 **${kpiValue("overdue", ids, counts)}** overdue`,
|
||||
`⚡ **${kpiValue("triggered", ids, counts)}** triggered`,
|
||||
`🟡 **${kpiValue("due_soon", ids, counts)}** due soon`,
|
||||
`🟢 **${kpiValue("ok", ids, counts)}** ok`,
|
||||
].join(" · "),
|
||||
};
|
||||
}
|
||||
@@ -270,8 +284,8 @@ function emptyStateView(): ViewConfig {
|
||||
};
|
||||
}
|
||||
|
||||
function overviewView(summaryIds: SummaryEntityIds = {}): ViewConfig {
|
||||
const kpiCard = kpiMarkdownCard(summaryIds);
|
||||
function overviewView(summaryIds: SummaryEntityIds = {}, counts: SummaryCounts = {}): ViewConfig {
|
||||
const kpiCard = kpiMarkdownCard(summaryIds, counts);
|
||||
return {
|
||||
title: "Overview",
|
||||
icon: "mdi:wrench-clock",
|
||||
@@ -621,19 +635,31 @@ export class MaintenanceDashboardStrategy extends HTMLElement {
|
||||
calendar: () => viewsByCalendar(objects),
|
||||
};
|
||||
|
||||
// Registry-resolved summary-sensor ids (#86); tolerate older backends.
|
||||
// Registry-resolved summary-sensor ids + live counts (#86); tolerate older
|
||||
// backends. The counts are the fallback the chips render when the summary
|
||||
// sensors don't exist (orphan object entries after the global entry was
|
||||
// deleted), so they never read "unknown".
|
||||
let summaryIds: SummaryEntityIds = {};
|
||||
let counts: SummaryCounts = {};
|
||||
try {
|
||||
const stats = await hass.connection.sendMessagePromise<{ summary_entity_ids?: SummaryEntityIds }>({
|
||||
const stats = await hass.connection.sendMessagePromise<
|
||||
{ summary_entity_ids?: SummaryEntityIds } & SummaryCounts
|
||||
>({
|
||||
type: "maintenance_supporter/statistics",
|
||||
});
|
||||
summaryIds = stats.summary_entity_ids || {};
|
||||
counts = {
|
||||
overdue: stats.overdue,
|
||||
triggered: stats.triggered,
|
||||
due_soon: stats.due_soon,
|
||||
ok: stats.ok,
|
||||
};
|
||||
} catch { /* fall back to the documented default ids */ }
|
||||
|
||||
return {
|
||||
title: "Maintenance",
|
||||
views: [
|
||||
overviewView(summaryIds),
|
||||
overviewView(summaryIds, counts),
|
||||
...(viewBuilders[groupBy] ?? viewBuilders.area)(),
|
||||
],
|
||||
};
|
||||
|
||||
Binary file not shown.
+2
-2
File diff suppressed because one or more lines are too long
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -22,5 +22,5 @@
|
||||
"requirements": [
|
||||
"pypdf>=4.3.0"
|
||||
],
|
||||
"version": "2.22.0"
|
||||
"version": "2.22.2"
|
||||
}
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -15,6 +15,14 @@ from .helpers.global_options import get_panel_title
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
# Static routes live for the whole HA process (they are never removed on entry
|
||||
# unload), so their "already registered" memo must survive the pop of
|
||||
# hass.data[DOMAIN] on last-entry unload. Keep it as a TOP-LEVEL hass.data key —
|
||||
# same reasoning as the document-views guard (journey O1) — otherwise a repair-
|
||||
# recreate / reinstall re-adds a route HA still holds and aiohttp raises
|
||||
# "Added route will never be executed, method GET is already registered".
|
||||
_PANEL_STATIC_URL_KEY = f"{DOMAIN}_panel_static_url"
|
||||
|
||||
|
||||
async def _async_file_hash(hass: HomeAssistant, path: Path) -> str:
|
||||
"""Return a short hash of a file for cache busting."""
|
||||
@@ -55,9 +63,21 @@ async def async_register_panel(hass: HomeAssistant, *, force: bool = False) -> N
|
||||
|
||||
# Static path is registered once per versioned URL; on a forced re-register
|
||||
# the URL is unchanged (same bundle hash), so guard against re-adding it.
|
||||
if hass.data.get(DOMAIN, {}).get("_panel_static_url") != versioned_url:
|
||||
# The memo is a top-level hass.data key (see _PANEL_STATIC_URL_KEY) so it
|
||||
# survives the hass.data[DOMAIN] pop and can't desync from the process-long
|
||||
# static route the way the old hass.data[DOMAIN] guard could.
|
||||
if hass.data.get(_PANEL_STATIC_URL_KEY) != versioned_url:
|
||||
await hass.http.async_register_static_paths([StaticPathConfig(versioned_url, str(panel_path), False)])
|
||||
hass.data.setdefault(DOMAIN, {})["_panel_static_url"] = versioned_url
|
||||
hass.data[_PANEL_STATIC_URL_KEY] = versioned_url
|
||||
|
||||
# Idempotency against HA's ACTUAL panel registry — our `_panel_registered`
|
||||
# flag lives in hass.data[DOMAIN], which is popped when the last entry
|
||||
# unloads, so it desyncs from HA's frontend on a reinstall or a repair that
|
||||
# recreates the deleted global entry. Registering over a panel HA still
|
||||
# holds raises "Overwriting panel" and fails the whole global entry setup
|
||||
# (#86, 2nd report). Drop any stale registration first so this can't happen.
|
||||
if PANEL_NAME in hass.data.get(frontend.DATA_PANELS, {}):
|
||||
frontend.async_remove_panel(hass, PANEL_NAME, warn_if_unknown=False)
|
||||
|
||||
await panel_custom.async_register_panel(
|
||||
hass,
|
||||
@@ -81,9 +101,15 @@ async def async_register_panel(hass: HomeAssistant, *, force: bool = False) -> N
|
||||
|
||||
async def async_unregister_panel(hass: HomeAssistant) -> None:
|
||||
"""Remove the maintenance supporter sidebar panel."""
|
||||
if not hass.data.get(DOMAIN, {}).get("_panel_registered"):
|
||||
# Remove when EITHER our flag says so OR HA's actual registry still holds the
|
||||
# panel. Reconciling with the real registry (not just the flag, which is lost
|
||||
# when hass.data[DOMAIN] is popped on last-entry unload) means deleting the
|
||||
# global entry can't leave a dead sidebar panel behind.
|
||||
flagged = bool(hass.data.get(DOMAIN, {}).get("_panel_registered"))
|
||||
in_registry = PANEL_NAME in hass.data.get(frontend.DATA_PANELS, {})
|
||||
if not flagged and not in_registry:
|
||||
return
|
||||
|
||||
frontend.async_remove_panel(hass, PANEL_NAME)
|
||||
frontend.async_remove_panel(hass, PANEL_NAME, warn_if_unknown=False)
|
||||
hass.data.setdefault(DOMAIN, {})["_panel_registered"] = False
|
||||
_LOGGER.debug("Maintenance Supporter sidebar panel removed")
|
||||
|
||||
@@ -633,6 +633,28 @@ class DocumentStorageRepairFlow(RepairsFlow):
|
||||
return self.async_show_form(step_id="init", data_schema=vol.Schema({}))
|
||||
|
||||
|
||||
class MissingGlobalEntryRepairFlow(RepairsFlow):
|
||||
"""Recreate the global "Maintenance Supporter" entry after it was deleted.
|
||||
|
||||
When the global entry is removed but object entries remain, the summary
|
||||
sensors, sidebar panel and digests all disappear and the dashboard KPI chips
|
||||
read "unknown" (#86). Submitting this flow kicks off the config flow's import
|
||||
step, which recreates the global entry with default settings (it aborts
|
||||
harmlessly if one already exists). To leave things as they are, use HA's
|
||||
built-in **Ignore** button.
|
||||
"""
|
||||
|
||||
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> data_entry_flow.FlowResult:
|
||||
"""Confirm, then recreate the global entry on submit."""
|
||||
if user_input is not None:
|
||||
from homeassistant.config_entries import SOURCE_IMPORT
|
||||
|
||||
await self.hass.config_entries.flow.async_init(DOMAIN, context={"source": SOURCE_IMPORT})
|
||||
return self.async_create_entry(data={})
|
||||
|
||||
return self.async_show_form(step_id="init", data_schema=vol.Schema({}))
|
||||
|
||||
|
||||
async def async_create_fix_flow(
|
||||
hass: HomeAssistant,
|
||||
issue_id: str,
|
||||
@@ -645,4 +667,6 @@ async def async_create_fix_flow(
|
||||
return StaleActionEntityRepairFlow()
|
||||
if issue_id == "document_storage_issues":
|
||||
return DocumentStorageRepairFlow()
|
||||
if issue_id == "missing_global_entry":
|
||||
return MissingGlobalEntryRepairFlow()
|
||||
return MissingTriggerEntityRepairFlow()
|
||||
|
||||
@@ -1538,6 +1538,17 @@
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporter global configuration is missing",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Restore the global configuration",
|
||||
"description": "Your maintenance objects still exist, but the global \"Maintenance Supporter\" entry was deleted — so the summary sensors, the sidebar panel and the dashboard counts are gone, and the KPI chips read \"unknown\".\n\nClick **Submit** to recreate the global configuration with default settings. Your objects and tasks are left untouched. You can adjust notifications and defaults afterwards under Settings → Devices & Services.\n\n(To leave things as they are, use Home Assistant's **Ignore** button.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"document_storage_issues": {
|
||||
"title": "Document storage needs cleanup",
|
||||
"fix_flow": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Služba oznámení `{service}` nebyla nalezena",
|
||||
"description": "Maintenance Supporter je nastaven tak, aby odesílal oznámení přes `{service}`, ale tato služba v Home Assistantu aktuálně neexistuje, takže připomenutí tiše selhávají.\n\nObvykle to znamená, že služba byla přejmenována nebo že integrace, která ji poskytuje (mobilní aplikace, skupina oznámení, …), byla odebrána. Náprava: obnovte tuto službu nebo otevřete **Nastavení → Zařízení a služby → Maintenance Supporter → Konfigurovat → Obecná nastavení** a vyberte platnou službu `notify.*`.\n\nPoznámka: kontroluje se pouze samotná nastavená služba. Pokud oznámení dorazí na některá zařízení, ale na jiná ne, je pravděpodobně špatně nastaven člen *uvnitř* vaší skupiny oznámení — to zde není vidět; zkontrolujte **systémový protokol** Home Assistantu (Nastavení → Systém → Protokoly)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Globální konfigurace Maintenance Supporter chybí",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Obnovit globální konfiguraci",
|
||||
"description": "Vaše údržbové objekty stále existují, ale globální záznam \"Maintenance Supporter\" byl smazán — proto chybí souhrnné senzory, postranní panel a počítadla na nástěnce a ukazatele KPI zobrazují \"unknown\".\n\nKliknutím na **Odeslat** znovu vytvoříte globální konfiguraci s výchozím nastavením. Vaše objekty a úkoly zůstanou nedotčeny. Oznámení a výchozí hodnoty můžete upravit později v Nastavení → Zařízení a služby.\n\n(Chcete-li nic neměnit, použijte tlačítko **Ignorovat** v Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Notifikationstjenesten `{service}` blev ikke fundet",
|
||||
"description": "Maintenance Supporter er konfigureret til at sende notifikationer via `{service}`, men den tjeneste findes ikke i Home Assistant lige nu, så påmindelser fejler lydløst.\n\nDet betyder normalt, at tjenesten er blevet omdøbt, eller at integrationen bag den (en mobilapp, en notifikationsgruppe, …) er blevet fjernet. For at løse det: gendan tjenesten, eller åbn **Indstillinger → Enheder og tjenester → Maintenance Supporter → Konfigurer → Generelle indstillinger** og vælg en gyldig `notify.*`-tjeneste.\n\nBemærk: dette tjekker kun selve den konfigurerede tjeneste. Hvis notifikationer når nogle enheder, men ikke andre, er et medlem *inde i* din notifikationsgruppe sandsynligvis forkert konfigureret — det er ikke synligt her; tjek Home Assistants **systemlog** (Indstillinger → System → Logfiler)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporters globale konfiguration mangler",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Gendan den globale konfiguration",
|
||||
"description": "Dine vedligeholdelsesobjekter findes stadig, men den globale \"Maintenance Supporter\"-post blev slettet — derfor mangler oversigtssensorerne, sidepanelet og dashboard-tællerne, og KPI-chipsene viser \"unknown\".\n\nKlik på **Send** for at genoprette den globale konfiguration med standardindstillinger. Dine objekter og opgaver røres ikke. Du kan justere notifikationer og standardværdier bagefter under Indstillinger → Enheder og tjenester.\n\n(Brug Home Assistants **Ignorer**-knap for ikke at ændre noget.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Benachrichtigungsdienst `{service}` nicht gefunden",
|
||||
"description": "Maintenance Supporter ist so konfiguriert, dass Benachrichtigungen über `{service}` gesendet werden, aber dieser Dienst existiert derzeit nicht in Home Assistant — Erinnerungen schlagen daher still fehl.\n\nMeist wurde der Dienst umbenannt oder die dahinterliegende Integration (eine Mobile-App, eine Notify-Gruppe, …) entfernt. Zum Beheben: den Dienst wiederherstellen, oder unter **Einstellungen → Geräte & Dienste → Maintenance Supporter → Konfigurieren → Allgemeine Einstellungen** einen gültigen `notify.*`-Dienst auswählen.\n\nHinweis: Geprüft wird nur der konfigurierte Dienst selbst. Wenn Benachrichtigungen einige Geräte erreichen, andere aber nicht, ist wahrscheinlich ein Mitglied *innerhalb* deiner Notify-Gruppe falsch konfiguriert — das ist hier nicht sichtbar; prüfe das Home-Assistant-**Systemprotokoll** (Einstellungen → System → Protokolle)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Globale Konfiguration von Maintenance Supporter fehlt",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Globale Konfiguration wiederherstellen",
|
||||
"description": "Deine Wartungsobjekte existieren noch, aber der globale Eintrag \"Maintenance Supporter\" wurde gelöscht — dadurch fehlen die Zusammenfassungs-Sensoren, das Seitenleisten-Panel und die Dashboard-Zähler, und die KPI-Chips zeigen \"unknown\".\n\nKlicke auf **Absenden**, um die globale Konfiguration mit Standardeinstellungen neu anzulegen. Deine Objekte und Aufgaben bleiben unangetastet. Benachrichtigungen und Standardwerte kannst du danach unter Einstellungen → Geräte & Dienste anpassen.\n\n(Um nichts zu ändern, nutze die Schaltfläche **Ignorieren** von Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Notification service `{service}` not found",
|
||||
"description": "Maintenance Supporter is configured to send notifications via `{service}`, but that service does not currently exist in Home Assistant, so reminders fail silently.\n\nThis usually means the service was renamed, or the integration behind it (a mobile app, a notify group, …) was removed. To fix it: restore that service, or open **Settings → Devices & Services → Maintenance Supporter → Configure → General settings** and pick a valid `notify.*` service.\n\nNote: this only checks the configured service itself. If notifications reach some devices but not others, a member *inside* your notify group is likely misconfigured — that is not visible here; check Home Assistant's **system log** (Settings → System → Logs)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporter global configuration is missing",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Restore the global configuration",
|
||||
"description": "Your maintenance objects still exist, but the global \"Maintenance Supporter\" entry was deleted — so the summary sensors, the sidebar panel and the dashboard counts are gone, and the KPI chips read \"unknown\".\n\nClick **Submit** to recreate the global configuration with default settings. Your objects and tasks are left untouched. You can adjust notifications and defaults afterwards under Settings → Devices & Services.\n\n(To leave things as they are, use Home Assistant's **Ignore** button.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Servicio de notificación `{service}` no encontrado",
|
||||
"description": "Maintenance Supporter está configurado para enviar notificaciones mediante `{service}`, pero ese servicio no existe actualmente en Home Assistant, por lo que los recordatorios fallan de forma silenciosa.\n\nNormalmente esto significa que el servicio fue renombrado, o que la integración que lo proporciona (una aplicación móvil, un grupo de notificación, …) fue eliminada. Para solucionarlo: restaura ese servicio, o abre **Ajustes → Dispositivos y servicios → Maintenance Supporter → Configurar → Ajustes generales** y elige un servicio `notify.*` válido.\n\nNota: esto solo comprueba el servicio configurado en sí. Si las notificaciones llegan a algunos dispositivos pero no a otros, probablemente un miembro *dentro* de tu grupo de notificación está mal configurado — eso no se ve aquí; revisa el **registro del sistema** de Home Assistant (Ajustes → Sistema → Registros)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Falta la configuración global de Maintenance Supporter",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Restaurar la configuración global",
|
||||
"description": "Tus objetos de mantenimiento aún existen, pero la entrada global \"Maintenance Supporter\" se eliminó — por eso faltan los sensores de resumen, el panel lateral y los contadores del panel, y los indicadores muestran \"unknown\".\n\nHaz clic en **Enviar** para recrear la configuración global con los ajustes predeterminados. Tus objetos y tareas quedan intactos. Puedes ajustar las notificaciones y los valores por defecto después en Ajustes → Dispositivos y servicios.\n\n(Para no cambiar nada, usa el botón **Ignorar** de Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Ilmoituspalvelua `{service}` ei löytynyt",
|
||||
"description": "Maintenance Supporter on määritetty lähettämään ilmoituksia palvelun `{service}` kautta, mutta kyseistä palvelua ei tällä hetkellä ole Home Assistantissa, joten muistutukset epäonnistuvat huomaamatta.\n\nYleensä tämä tarkoittaa, että palvelu on nimetty uudelleen tai sen taustalla oleva integraatio (mobiilisovellus, ilmoitusryhmä, …) on poistettu. Korjaaminen: palauta kyseinen palvelu tai avaa **Asetukset → Laitteet ja palvelut → Maintenance Supporter → Määritä → Yleiset asetukset** ja valitse kelvollinen `notify.*`-palvelu.\n\nHuomaa: tämä tarkistaa vain määritetyn palvelun itsensä. Jos ilmoitukset tavoittavat jotkin laitteet mutta eivät muita, jokin ilmoitusryhmäsi *sisällä* oleva jäsen on todennäköisesti väärin määritetty — se ei näy täällä; tarkista Home Assistantin **järjestelmäloki** (Asetukset → Järjestelmä → Lokit)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporterin yleinen määritys puuttuu",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Palauta yleinen määritys",
|
||||
"description": "Huoltokohteesi ovat yhä olemassa, mutta yleinen \"Maintenance Supporter\"-merkintä poistettiin — siksi yhteenvetoanturit, sivupalkki ja koontinäytön laskurit puuttuvat ja KPI-merkit näyttävät \"unknown\".\n\nNapsauta **Lähetä** luodaksesi yleisen määrityksen uudelleen oletusasetuksilla. Kohteesi ja tehtäväsi säilyvät ennallaan. Voit säätää ilmoituksia ja oletusarvoja myöhemmin kohdassa Asetukset → Laitteet ja palvelut.\n\n(Jos et halua muuttaa mitään, käytä Home Assistantin **Ohita**-painiketta.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Service de notification `{service}` introuvable",
|
||||
"description": "Maintenance Supporter est configuré pour envoyer les notifications via `{service}`, mais ce service n'existe pas actuellement dans Home Assistant : les rappels échouent donc silencieusement.\n\nCela signifie généralement que le service a été renommé, ou que l'intégration associée (une application mobile, un groupe de notification, …) a été supprimée. Pour corriger : rétablissez ce service, ou ouvrez **Paramètres → Appareils et services → Maintenance Supporter → Configurer → Paramètres généraux** et choisissez un service `notify.*` valide.\n\nRemarque : seul le service configuré lui-même est vérifié. Si les notifications arrivent sur certains appareils mais pas d'autres, un membre *à l'intérieur* de votre groupe de notification est probablement mal configuré — ce n'est pas visible ici ; consultez le **journal système** de Home Assistant (Paramètres → Système → Journaux)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "La configuration globale de Maintenance Supporter est manquante",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Restaurer la configuration globale",
|
||||
"description": "Vos objets de maintenance existent toujours, mais l'entrée globale \"Maintenance Supporter\" a été supprimée — les capteurs de synthèse, le panneau latéral et les compteurs du tableau de bord ont donc disparu, et les indicateurs affichent \"unknown\".\n\nCliquez sur **Envoyer** pour recréer la configuration globale avec les paramètres par défaut. Vos objets et tâches restent intacts. Vous pourrez ajuster les notifications et les valeurs par défaut ensuite dans Paramètres → Appareils et services.\n\n(Pour ne rien changer, utilisez le bouton **Ignorer** de Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "सूचना सेवा `{service}` नहीं मिली",
|
||||
"description": "Maintenance Supporter को `{service}` के माध्यम से सूचनाएँ भेजने के लिए कॉन्फ़िगर किया गया है, लेकिन यह सेवा फ़िलहाल Home Assistant में मौजूद नहीं है, इसलिए अनुस्मारक चुपचाप विफल हो जाते हैं।\n\nआमतौर पर इसका मतलब है कि सेवा का नाम बदल दिया गया है, या उसके पीछे का इंटीग्रेशन (कोई मोबाइल ऐप, कोई सूचना समूह, …) हटा दिया गया है। ठीक करने के लिए: उस सेवा को पुनर्स्थापित करें, या **सेटिंग्स → डिवाइस और सेवाएँ → Maintenance Supporter → कॉन्फ़िगर करें → सामान्य सेटिंग्स** खोलें और एक मान्य `notify.*` सेवा चुनें।\n\nनोट: यह केवल कॉन्फ़िगर की गई सेवा की ही जाँच करता है। यदि सूचनाएँ कुछ डिवाइसों तक पहुँचती हैं पर अन्य तक नहीं, तो संभवतः आपके सूचना समूह के *भीतर* कोई सदस्य ग़लत कॉन्फ़िगर है — वह यहाँ दिखाई नहीं देता; Home Assistant का **सिस्टम लॉग** देखें (सेटिंग्स → सिस्टम → लॉग)।"
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporter की वैश्विक कॉन्फ़िगरेशन गायब है",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "वैश्विक कॉन्फ़िगरेशन पुनर्स्थापित करें",
|
||||
"description": "आपके रखरखाव ऑब्जेक्ट अभी भी मौजूद हैं, लेकिन वैश्विक \"Maintenance Supporter\" प्रविष्टि हटा दी गई थी — इसलिए सारांश सेंसर, साइडबार पैनल और डैशबोर्ड गिनती गायब हैं, और KPI चिप्स \"unknown\" दिखाते हैं।\n\nडिफ़ॉल्ट सेटिंग्स के साथ वैश्विक कॉन्फ़िगरेशन फिर से बनाने के लिए **सबमिट** पर क्लिक करें। आपके ऑब्जेक्ट और कार्य अछूते रहते हैं।"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Servizio di notifica `{service}` non trovato",
|
||||
"description": "Maintenance Supporter è configurato per inviare notifiche tramite `{service}`, ma quel servizio attualmente non esiste in Home Assistant, quindi i promemoria falliscono silenziosamente.\n\nDi solito significa che il servizio è stato rinominato, o che l'integrazione che lo fornisce (un'app mobile, un gruppo di notifica, …) è stata rimossa. Per risolvere: ripristina quel servizio, oppure apri **Impostazioni → Dispositivi e servizi → Maintenance Supporter → Configura → Impostazioni generali** e scegli un servizio `notify.*` valido.\n\nNota: viene controllato solo il servizio configurato. Se le notifiche arrivano ad alcuni dispositivi ma non ad altri, probabilmente un membro *all'interno* del tuo gruppo di notifica è configurato male — non è visibile qui; controlla il **log di sistema** di Home Assistant (Impostazioni → Sistema → Log)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "La configurazione globale di Maintenance Supporter è mancante",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Ripristina la configurazione globale",
|
||||
"description": "I tuoi oggetti di manutenzione esistono ancora, ma la voce globale \"Maintenance Supporter\" è stata eliminata — quindi i sensori di riepilogo, il pannello laterale e i contatori della dashboard sono spariti e i chip KPI mostrano \"unknown\".\n\nFai clic su **Invia** per ricreare la configurazione globale con le impostazioni predefinite. I tuoi oggetti e le attività restano intatti. Puoi regolare notifiche e valori predefiniti in seguito in Impostazioni → Dispositivi e servizi.\n\n(Per non cambiare nulla, usa il pulsante **Ignora** di Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "通知サービス `{service}` が見つかりません",
|
||||
"description": "Maintenance Supporter は `{service}` 経由で通知を送信するよう設定されていますが、そのサービスは現在 Home Assistant に存在しないため、リマインダーは何も表示されずに失敗します。\n\n通常、これはサービスの名前が変更されたか、その背後にある統合(モバイルアプリ、通知グループなど)が削除されたことを意味します。修正するには、そのサービスを復元するか、**設定 → デバイスとサービス → Maintenance Supporter → 設定 → 一般設定** を開いて有効な `notify.*` サービスを選択してください。\n\n注: ここでは設定されたサービス自体のみを確認します。一部のデバイスには通知が届くのに他のデバイスには届かない場合、通知グループ*内*のメンバーの設定が誤っている可能性があります。これはここでは確認できません。Home Assistant の**システムログ**(設定 → システム → ログ)を確認してください。"
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporter のグローバル設定がありません",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "グローバル設定を復元",
|
||||
"description": "メンテナンス対象はまだ存在しますが、グローバルな「Maintenance Supporter」エントリが削除されました—そのためサマリーセンサー、サイドバーパネル、ダッシュボードのカウントがなくなり、KPIチップは「unknown」と表示されます。\n\n**送信**をクリックすると、既定設定でグローバル設定を再作成します。対象とタスクはそのまま保持されます。"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Varslingstjenesten `{service}` ble ikke funnet",
|
||||
"description": "Maintenance Supporter er konfigurert til å sende varsler via `{service}`, men den tjenesten finnes ikke i Home Assistant akkurat nå, så påminnelser feiler stille.\n\nDette betyr vanligvis at tjenesten har blitt omdøpt, eller at integrasjonen bak den (en mobilapp, en varslingsgruppe, …) har blitt fjernet. For å løse det: gjenopprett tjenesten, eller åpne **Innstillinger → Enheter og tjenester → Maintenance Supporter → Konfigurer → Generelle innstillinger** og velg en gyldig `notify.*`-tjeneste.\n\nMerk: dette sjekker bare selve den konfigurerte tjenesten. Hvis varsler når noen enheter, men ikke andre, er sannsynligvis et medlem *inne i* varslingsgruppen din feil konfigurert — det er ikke synlig her; sjekk Home Assistants **systemlogg** (Innstillinger → System → Logger)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Global konfigurasjon for Maintenance Supporter mangler",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Gjenopprett den globale konfigurasjonen",
|
||||
"description": "Vedlikeholdsobjektene dine finnes fortsatt, men den globale \"Maintenance Supporter\"-oppføringen ble slettet — derfor mangler sammendragssensorene, sidepanelet og dashbordtellerne, og KPI-brikkene viser \"unknown\".\n\nKlikk **Send** for å gjenopprette den globale konfigurasjonen med standardinnstillinger. Objektene og oppgavene dine forblir urørt. Du kan justere varsler og standardverdier etterpå under Innstillinger → Enheter og tjenester.\n\n(Bruk Home Assistants **Ignorer**-knapp for å ikke endre noe.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Meldingsservice `{service}` niet gevonden",
|
||||
"description": "Maintenance Supporter is ingesteld om meldingen te versturen via `{service}`, maar die service bestaat momenteel niet in Home Assistant, waardoor herinneringen stilletjes mislukken.\n\nMeestal betekent dit dat de service is hernoemd, of dat de integratie erachter (een mobiele app, een meldingsgroep, …) is verwijderd. Om dit op te lossen: herstel die service, of open **Instellingen → Apparaten en services → Maintenance Supporter → Configureren → Algemene instellingen** en kies een geldige `notify.*`-service.\n\nLet op: dit controleert alleen de geconfigureerde service zelf. Als meldingen sommige apparaten wel en andere niet bereiken, is waarschijnlijk een lid *binnen* je meldingsgroep verkeerd geconfigureerd — dat is hier niet zichtbaar; bekijk het **systeemlogboek** van Home Assistant (Instellingen → Systeem → Logboeken)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Globale configuratie van Maintenance Supporter ontbreekt",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Globale configuratie herstellen",
|
||||
"description": "Je onderhoudsobjecten bestaan nog, maar de globale \"Maintenance Supporter\"-vermelding is verwijderd — daardoor ontbreken de samenvattingssensoren, het zijbalkpaneel en de dashboardtellers, en tonen de KPI-chips \"unknown\".\n\nKlik op **Verzenden** om de globale configuratie opnieuw aan te maken met standaardinstellingen. Je objecten en taken blijven ongemoeid. Je kunt meldingen en standaardwaarden daarna aanpassen via Instellingen → Apparaten en diensten.\n\n(Gebruik de knop **Negeren** van Home Assistant om niets te wijzigen.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Nie znaleziono usługi powiadomień `{service}`",
|
||||
"description": "Maintenance Supporter jest skonfigurowany do wysyłania powiadomień przez `{service}`, ale ta usługa obecnie nie istnieje w Home Assistant, więc przypomnienia zawodzą po cichu.\n\nZwykle oznacza to, że usługa została przemianowana lub że integracja stojąca za nią (aplikacja mobilna, grupa powiadomień, …) została usunięta. Aby to naprawić: przywróć tę usługę lub otwórz **Ustawienia → Urządzenia i usługi → Maintenance Supporter → Konfiguruj → Ustawienia ogólne** i wybierz prawidłową usługę `notify.*`.\n\nUwaga: sprawdzana jest tylko sama skonfigurowana usługa. Jeśli powiadomienia docierają do niektórych urządzeń, ale nie do innych, prawdopodobnie błędnie skonfigurowany jest członek *wewnątrz* Twojej grupy powiadomień — to nie jest tu widoczne; sprawdź **dziennik systemowy** Home Assistant (Ustawienia → System → Dzienniki)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Brak globalnej konfiguracji Maintenance Supporter",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Przywróć globalną konfigurację",
|
||||
"description": "Twoje obiekty konserwacji nadal istnieją, ale globalny wpis \"Maintenance Supporter\" został usunięty — dlatego brakuje czujników podsumowania, panelu bocznego i liczników pulpitu, a wskaźniki KPI pokazują \"unknown\".\n\nKliknij **Wyślij**, aby ponownie utworzyć globalną konfigurację z ustawieniami domyślnymi. Twoje obiekty i zadania pozostają nienaruszone. Powiadomienia i wartości domyślne możesz dostosować później w Ustawienia → Urządzenia i usługi.\n\n(Aby niczego nie zmieniać, użyj przycisku **Ignoruj** w Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Serviço de notificação `{service}` não encontrado",
|
||||
"description": "O Maintenance Supporter está configurado para enviar notificações através de `{service}`, mas esse serviço não existe atualmente no Home Assistant, por isso os lembretes falham silenciosamente.\n\nNormalmente isto significa que o serviço foi renomeado, ou que a integração por trás dele (uma aplicação móvel, um grupo de notificação, …) foi removida. Para corrigir: restaure esse serviço, ou abra **Definições → Dispositivos e serviços → Maintenance Supporter → Configurar → Definições gerais** e escolha um serviço `notify.*` válido.\n\nNota: isto verifica apenas o serviço configurado em si. Se as notificações chegam a alguns dispositivos mas não a outros, provavelmente um membro *dentro* do seu grupo de notificação está mal configurado — isso não é visível aqui; verifique o **registo do sistema** do Home Assistant (Definições → Sistema → Registos)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "A configuração global do Maintenance Supporter está ausente",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Restaurar a configuração global",
|
||||
"description": "Os seus objetos de manutenção ainda existem, mas a entrada global \"Maintenance Supporter\" foi eliminada — por isso os sensores de resumo, o painel lateral e os contadores do painel desapareceram, e os indicadores mostram \"unknown\".\n\nClique em **Enviar** para recriar a configuração global com as definições padrão. Os seus objetos e tarefas ficam intactos. Pode ajustar as notificações e os valores padrão depois em Definições → Dispositivos e serviços.\n\n(Para não alterar nada, use o botão **Ignorar** do Home Assistant.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Служба уведомлений `{service}` не найдена",
|
||||
"description": "Maintenance Supporter настроен отправлять уведомления через `{service}`, но эта служба сейчас не существует в Home Assistant, поэтому напоминания молча не отправляются.\n\nОбычно это значит, что служба была переименована или интеграция, предоставляющая её (мобильное приложение, группа уведомлений, …), была удалена. Чтобы исправить: восстановите эту службу или откройте **Настройки → Устройства и службы → Maintenance Supporter → Настроить → Общие настройки** и выберите корректную службу `notify.*`.\n\nПримечание: проверяется только сама настроенная служба. Если уведомления приходят на одни устройства, но не на другие, вероятно, неправильно настроен участник *внутри* вашей группы уведомлений — здесь это не видно; проверьте **системный журнал** Home Assistant (Настройки → Система → Журналы)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Отсутствует глобальная конфигурация Maintenance Supporter",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Восстановить глобальную конфигурацию",
|
||||
"description": "Ваши объекты обслуживания всё ещё существуют, но глобальная запись \"Maintenance Supporter\" была удалена — поэтому сводные датчики, боковая панель и счётчики панели отсутствуют, а показатели KPI показывают \"unknown\".\n\nНажмите **Отправить**, чтобы заново создать глобальную конфигурацию с настройками по умолчанию. Ваши объекты и задачи останутся нетронутыми."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Aviseringstjänsten `{service}` hittades inte",
|
||||
"description": "Maintenance Supporter är konfigurerad att skicka aviseringar via `{service}`, men den tjänsten finns inte i Home Assistant just nu, så påminnelser misslyckas tyst.\n\nDet betyder oftast att tjänsten har bytt namn, eller att integrationen bakom den (en mobilapp, en aviseringsgrupp, …) har tagits bort. För att åtgärda: återställ tjänsten, eller öppna **Inställningar → Enheter och tjänster → Maintenance Supporter → Konfigurera → Allmänna inställningar** och välj en giltig `notify.*`-tjänst.\n\nObs: detta kontrollerar bara själva den konfigurerade tjänsten. Om aviseringar når vissa enheter men inte andra är troligen en medlem *inuti* din aviseringsgrupp felkonfigurerad — det syns inte här; kontrollera Home Assistants **systemlogg** (Inställningar → System → Loggar)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Maintenance Supporters globala konfiguration saknas",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Återställ den globala konfigurationen",
|
||||
"description": "Dina underhållsobjekt finns fortfarande, men den globala \"Maintenance Supporter\"-posten togs bort — därför saknas sammanfattningssensorerna, sidopanelen och instrumentpanelens räknare, och KPI-chipsen visar \"unknown\".\n\nKlicka på **Skicka** för att återskapa den globala konfigurationen med standardinställningar. Dina objekt och uppgifter lämnas orörda. Du kan justera aviseringar och standardvärden efteråt under Inställningar → Enheter och tjänster.\n\n(Använd Home Assistants **Ignorera**-knapp för att inte ändra något.)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "Службу сповіщень `{service}` не знайдено",
|
||||
"description": "Maintenance Supporter налаштовано надсилати сповіщення через `{service}`, але ця служба зараз не існує в Home Assistant, тому нагадування мовчки не надсилаються.\n\nЗазвичай це означає, що службу перейменували або інтеграцію, яка її надає (мобільний застосунок, групу сповіщень, …), було видалено. Щоб виправити: відновіть цю службу або відкрийте **Налаштування → Пристрої та служби → Maintenance Supporter → Налаштувати → Загальні налаштування** і виберіть коректну службу `notify.*`.\n\nПримітка: перевіряється лише сама налаштована служба. Якщо сповіщення надходять на одні пристрої, але не на інші, ймовірно, неправильно налаштовано учасника *всередині* вашої групи сповіщень — тут це не видно; перегляньте **системний журнал** Home Assistant (Налаштування → Система → Журнали)."
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "Відсутня глобальна конфігурація Maintenance Supporter",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Відновити глобальну конфігурацію",
|
||||
"description": "Ваші об'єкти обслуговування все ще існують, але глобальний запис \"Maintenance Supporter\" було видалено — тому зведені сенсори, бічна панель та лічильники панелі зникли, а показники KPI показують \"unknown\".\n\nНатисніть **Надіслати**, щоб знову створити глобальну конфігурацію з типовими налаштуваннями. Ваші об'єкти та завдання залишаються незмінними."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
@@ -1619,6 +1619,17 @@
|
||||
"notify_service_missing": {
|
||||
"title": "找不到通知服务 `{service}`",
|
||||
"description": "Maintenance Supporter 配置为通过 `{service}` 发送通知,但该服务目前在 Home Assistant 中不存在,因此提醒会静默失败。\n\n这通常意味着该服务被重命名,或其背后的集成(移动应用、通知群组等)已被移除。要修复:恢复该服务,或打开 **设置 → 设备与服务 → Maintenance Supporter → 配置 → 常规设置** 并选择一个有效的 `notify.*` 服务。\n\n注意:此处仅检查所配置的服务本身。如果通知能到达部分设备但无法到达其他设备,则可能是通知群组*内部*的某个成员配置有误——这在此处不可见;请查看 Home Assistant 的**系统日志**(设置 → 系统 → 日志)。"
|
||||
},
|
||||
"missing_global_entry": {
|
||||
"title": "缺少 Maintenance Supporter 全局配置",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "恢复全局配置",
|
||||
"description": "您的维护对象仍然存在,但全局“Maintenance Supporter”条目已被删除——因此汇总传感器、侧边栏面板和仪表盘计数都消失了,KPI 芯片显示“unknown”。\n\n点击**提交**,使用默认设置重新创建全局配置。您的对象和任务保持不变。"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user