BUG-003: HeatingRule auf heizungsrelevante Sensoren begrenzen
- matches(): nur climate oder sensor mit device_class in {temperature, humidity, occupancy, presence, heating}
- Tests: ergänzt für relevante und nicht-relevante Sensoren
- Verhindert falsche Empfehlungen bei Strom-/Tür-/Wetter-Sensoren
This commit is contained in:
@@ -9,7 +9,21 @@ from app.rules.recommender import Rule
|
||||
class HeatingRule(Rule):
|
||||
def matches(self, entities: Sequence[HaEntitySummary]) -> bool:
|
||||
domains = {item.domain for item in entities}
|
||||
return "climate" in domains or "sensor" in domains
|
||||
if "climate" in domains:
|
||||
return True
|
||||
if "sensor" in domains:
|
||||
# Nur Sensoren mit Heizungs-/Klimarelevanz
|
||||
relevant_device_classes = {
|
||||
"temperature",
|
||||
"humidity",
|
||||
"occupancy",
|
||||
"presence",
|
||||
"heating",
|
||||
}
|
||||
for entity in entities:
|
||||
if entity.domain == "sensor" and entity.device_class in relevant_device_classes:
|
||||
return True
|
||||
return False
|
||||
|
||||
def recommendation(self, entities: Sequence[HaEntitySummary]) -> str:
|
||||
return "Prüfe Heizungsregelung: Aktiviere energiesparenden Modus bei Abwesenheit."
|
||||
Reference in New Issue
Block a user