Fix dashboard summary status rendering
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.7.20 - 2026-06-17
|
||||||
|
- Dashboard-Übersicht ist kompatibel mit dem leichten Summary-Format und greift
|
||||||
|
nicht mehr auf `record.behavior.status` aus dem Vollformat zu.
|
||||||
|
|
||||||
## 0.7.19 - 2026-06-17
|
## 0.7.19 - 2026-06-17
|
||||||
- Dashboard-Übersicht nutzt einen leichten `/v1/actuators/summary`-Endpunkt
|
- Dashboard-Übersicht nutzt einen leichten `/v1/actuators/summary`-Endpunkt
|
||||||
statt voller Lernmuster und kompletter HA-Entityliste.
|
statt voller Lernmuster und kompletter HA-Entityliste.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: SillyHome Next
|
name: SillyHome Next
|
||||||
version: "0.7.19"
|
version: "0.7.20"
|
||||||
slug: sillyhome_next
|
slug: sillyhome_next
|
||||||
description: Lernt automatisch aus deinem Verhalten und steuert freigegebene Aktoren
|
description: Lernt automatisch aus deinem Verhalten und steuert freigegebene Aktoren
|
||||||
url: http://192.168.6.31:3000/pino/sillyhome-next
|
url: http://192.168.6.31:3000/pino/sillyhome-next
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ async def lifespan(app: FastAPI) -> AsyncIterator[None]:
|
|||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="SillyHome Next API",
|
title="SillyHome Next API",
|
||||||
description="Lokales Smart-Home-Intelligenzsystem für Home Assistant.",
|
description="Lokales Smart-Home-Intelligenzsystem für Home Assistant.",
|
||||||
version="0.7.19",
|
version="0.7.20",
|
||||||
lifespan=lifespan,
|
lifespan=lifespan,
|
||||||
)
|
)
|
||||||
app.state.settings = load_settings()
|
app.state.settings = load_settings()
|
||||||
|
|||||||
@@ -553,7 +553,7 @@ function renderConfiguredActuators() {
|
|||||||
<div>
|
<div>
|
||||||
<div><strong>${escapeHtml(entity.friendly_name || record.actuator_entity_id)}</strong></div>
|
<div><strong>${escapeHtml(entity.friendly_name || record.actuator_entity_id)}</strong></div>
|
||||||
<div class="entity-id">${escapeHtml(record.actuator_entity_id)}</div>
|
<div class="entity-id">${escapeHtml(record.actuator_entity_id)}</div>
|
||||||
<div class="${record.behavior.status === "trained" ? "ok" : "warn"}">${escapeHtml(behaviorLabel(record))}</div>
|
<div class="${(record.behavior_status || record.behavior?.status) === "trained" ? "ok" : "warn"}">${escapeHtml(behaviorLabel(record))}</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="chip">${escapeHtml(lifecycleLabel(record))}</span>
|
<span class="chip">${escapeHtml(lifecycleLabel(record))}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "sillyhome-next"
|
name = "sillyhome-next"
|
||||||
version = "0.7.19"
|
version = "0.7.20"
|
||||||
description = "Lokales Smart-Home-Intelligenzsystem für Home Assistant"
|
description = "Lokales Smart-Home-Intelligenzsystem für Home Assistant"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|||||||
@@ -32,5 +32,7 @@ def test_dashboard_is_served_at_root() -> None:
|
|||||||
assert "Kein frischer passender Sensorwechsel erkannt" in response.text
|
assert "Kein frischer passender Sensorwechsel erkannt" in response.text
|
||||||
assert "Vorhersage jetzt prüfen" not in response.text
|
assert "Vorhersage jetzt prüfen" not in response.text
|
||||||
assert "record.behavior.activation_ready" in response.text
|
assert "record.behavior.activation_ready" in response.text
|
||||||
|
assert "record.behavior.status ===" not in response.text
|
||||||
|
assert "record.behavior_status || record.behavior?.status" in response.text
|
||||||
assert "Automation-Entwurf" not in response.text
|
assert "Automation-Entwurf" not in response.text
|
||||||
assert "Manuelle Overrides" not in response.text
|
assert "Manuelle Overrides" not in response.text
|
||||||
|
|||||||
Reference in New Issue
Block a user