Filter room management maintenance actions
This commit is contained in:
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 1.7.8 - 2026-07-26
|
||||||
|
- Raumverwaltung blendet Wartungs-/Diagnose-Aktoren wie Batterie-Reset,
|
||||||
|
Ping, Identify, Restart/Reboot/Reload und Wake-on-LAN aus den
|
||||||
|
Raumvorschlägen aus.
|
||||||
|
- Dadurch bleiben Räume auf nutzbare Steuerungen fokussiert: Licht, Strom,
|
||||||
|
Schalter, Steckdosen, Heizung, Wasser, Belüftung, Sicherheit, Rollos und
|
||||||
|
echte Szenen/Regler.
|
||||||
|
|
||||||
## 1.7.7 - 2026-07-26
|
## 1.7.7 - 2026-07-26
|
||||||
- Raumverwaltung erzeugt jetzt eine vollständige Übersicht aus allen
|
- Raumverwaltung erzeugt jetzt eine vollständige Übersicht aus allen
|
||||||
Home-Assistant-Bereichen, nicht nur aus bereits konfigurierten Aktoren.
|
Home-Assistant-Bereichen, nicht nur aus bereits konfigurierten Aktoren.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: SillyHome Next
|
name: SillyHome Next
|
||||||
version: "1.7.7"
|
version: "1.7.8"
|
||||||
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
|
||||||
|
|||||||
@@ -604,6 +604,8 @@ def room_management_overview(request: Request) -> RoomManagementOverview:
|
|||||||
actuator = entities.get(entity_id)
|
actuator = entities.get(entity_id)
|
||||||
if actuator is None:
|
if actuator is None:
|
||||||
continue
|
continue
|
||||||
|
if not _is_management_actuator(actuator):
|
||||||
|
continue
|
||||||
room = _entity_room(actuator)
|
room = _entity_room(actuator)
|
||||||
if room not in rooms:
|
if room not in rooms:
|
||||||
rooms[room] = RoomManagementGroup(room=room, actuator_count=0)
|
rooms[room] = RoomManagementGroup(room=room, actuator_count=0)
|
||||||
@@ -1151,6 +1153,41 @@ def _entity_room(entity: HaEntitySummary) -> str:
|
|||||||
return room or "Ohne Raum"
|
return room or "Ohne Raum"
|
||||||
|
|
||||||
|
|
||||||
|
def _is_management_actuator(entity: HaEntitySummary) -> bool:
|
||||||
|
if entity.domain not in {
|
||||||
|
"climate",
|
||||||
|
"cover",
|
||||||
|
"fan",
|
||||||
|
"humidifier",
|
||||||
|
"input_boolean",
|
||||||
|
"light",
|
||||||
|
"lock",
|
||||||
|
"number",
|
||||||
|
"scene",
|
||||||
|
"siren",
|
||||||
|
"switch",
|
||||||
|
"valve",
|
||||||
|
}:
|
||||||
|
return False
|
||||||
|
text = " ".join(
|
||||||
|
str(value).lower().replace("_", " ")
|
||||||
|
for value in [entity.entity_id, entity.friendly_name, entity.device_name]
|
||||||
|
if value
|
||||||
|
)
|
||||||
|
noisy_tokens = {
|
||||||
|
"battery replaced",
|
||||||
|
"identify",
|
||||||
|
"ping",
|
||||||
|
"reboot",
|
||||||
|
"reload",
|
||||||
|
"restart",
|
||||||
|
"wake on lan",
|
||||||
|
}
|
||||||
|
if any(token in text for token in noisy_tokens):
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def _room_from_text(value: str) -> str | None:
|
def _room_from_text(value: str) -> str | None:
|
||||||
normalized = value.replace("_", " ").replace("-", " ").strip()
|
normalized = value.replace("_", " ").replace("-", " ").strip()
|
||||||
if not normalized:
|
if not normalized:
|
||||||
|
|||||||
@@ -117,7 +117,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="1.7.7",
|
version="1.7.8",
|
||||||
lifespan=lifespan,
|
lifespan=lifespan,
|
||||||
)
|
)
|
||||||
app.state.settings = load_settings()
|
app.state.settings = load_settings()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "sillyhome-next"
|
name = "sillyhome-next"
|
||||||
version = "1.7.7"
|
version = "1.7.8"
|
||||||
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 = [
|
||||||
|
|||||||
Reference in New Issue
Block a user