Retire l'intégration Home Assistant (code mort + config + env.example)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
"""Configuration centralisée de Monitorink, chargée depuis l'environnement.
|
||||
|
||||
Toutes les valeurs sensibles (token Claude, token Home Assistant) viennent de variables
|
||||
Toutes les valeurs sensibles (token Claude, identifiants trackers) viennent de variables
|
||||
d'environnement / `.env` et ne sont jamais versionnées.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
@@ -22,23 +22,6 @@ def _get_list(name: str) -> list[str]:
|
||||
return [item.strip() for item in raw.split(",") if item.strip()]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class HAEntity:
|
||||
"""Une entité Home Assistant à afficher. Format env: `entity_id|Libellé|unité`."""
|
||||
|
||||
entity_id: str
|
||||
label: str
|
||||
unit: str = ""
|
||||
|
||||
@classmethod
|
||||
def parse(cls, spec: str) -> "HAEntity":
|
||||
parts = [p.strip() for p in spec.split("|")]
|
||||
entity_id = parts[0]
|
||||
label = parts[1] if len(parts) > 1 and parts[1] else entity_id
|
||||
unit = parts[2] if len(parts) > 2 else ""
|
||||
return cls(entity_id=entity_id, label=label, unit=unit)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class TrackerSpec:
|
||||
"""Un tracker torrent privé dont on affiche le ratio. `type` choisit le fetcher
|
||||
@@ -95,10 +78,6 @@ class Config:
|
||||
weather_lat: float = field(default_factory=lambda: float(_get("MONITORINK_LAT", "48.8566")))
|
||||
weather_lon: float = field(default_factory=lambda: float(_get("MONITORINK_LON", "2.3522")))
|
||||
|
||||
# --- Home Assistant ---
|
||||
ha_base_url: str = field(default_factory=lambda: _get("MONITORINK_HA_URL").rstrip("/"))
|
||||
ha_token: str = field(default_factory=lambda: _get("MONITORINK_HA_TOKEN"))
|
||||
|
||||
# --- NAS (moniteur maison nas_monitor, endpoint /api/status) ---
|
||||
nas_url: str = field(default_factory=lambda: _get("MONITORINK_NAS_URL"))
|
||||
|
||||
@@ -144,10 +123,6 @@ class Config:
|
||||
"""Marge proactive de refresh en millisecondes (cf. claude_refresh_lead_minutes)."""
|
||||
return self.claude_refresh_lead_minutes * 60_000
|
||||
|
||||
@property
|
||||
def ha_entities(self) -> list[HAEntity]:
|
||||
return [HAEntity.parse(s) for s in _get_list("MONITORINK_HA_ENTITIES")]
|
||||
|
||||
@property
|
||||
def trackers(self) -> list[TrackerSpec]:
|
||||
"""Trackers actifs : `MONITORINK_TRACKERS=c411,autre` + un bloc d'env par clé,
|
||||
@@ -168,9 +143,5 @@ class Config:
|
||||
))
|
||||
return specs
|
||||
|
||||
@property
|
||||
def ha_enabled(self) -> bool:
|
||||
return bool(self.ha_base_url and self.ha_token)
|
||||
|
||||
|
||||
config = Config()
|
||||
|
||||
Reference in New Issue
Block a user