- JavaScript 79.4%
- Python 20.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| custom_components/room_climate | ||
| .gitignore | ||
| AGENTS.md | ||
| hacs.json | ||
| info.md | ||
| LICENSE | ||
| README.md | ||
| room-climate-card.js | ||
Room Climate Card
Eine dynamische Raumklima-Karte für Home Assistant. Sie erkennt automatisch Räume, Etagen sowie Temperatur- und Luftfeuchtigkeitssensoren über die Geräte-/Entitätsregister. Kein Jinja, keine Auto-Entities und keine manuell gepflegten Entitätslisten erforderlich.
Eigenschaften
- Automatische Erkennung von Bereichen (Areas), Etagen (Floors) sowie Temperatur- und Luftfeuchtigkeitssensoren über das Entity-/Device-Registry.
- Etagen-Ansicht: Räume werden nach Etage gruppiert und sortiert dargestellt.
- Detailansicht pro Raum mit Durchschnittswerten und Verlaufsdiagramm (12/24 Stunden).
- Klimasteuerung (optional): Steuerung beliebiger
climate.*-Geräte (z. B. TRV oder Better Thermostat) direkt aus der Karte –- Temperatur-Dial (Dreh-/Klickregler wie HA bzw. Better Thermostat),
- HVAC-Modus als Dropdown (z. B. off/heat/auto) mit Anzeige des aktuellen Zustands,
- Presets aus dem Gerät (
preset_modes), bei Geräten ohne Presets ausgegraut.
- Visueller Editor: Die Karte kann im Dashboard sowohl per YAML als auch über die GUI konfiguriert werden.
- Live-Update: Reagiert automatisch auf Änderungen im Bereichs-, Etagen-, Entitäts- und Geräte-Registry.
- Backend-Integration (
custom_components/room_climate): Erzeugt automatisch echte HA-Durchschnittssensoren (Temperatur/Luftfeuchtigkeit) pro Bereich. Die Karte nutzt diese automatisch, wenn sie vorhanden sind, und fällt andernfalls auf ihre eigene Berechnung zurück.
Installation
Wichtig: Dieses Repo enthält die Backend-Integration (
custom_components/room_climate) und die Karte (room-climate-card.js). Die Installation primär als Integration über HACS.
HACS (Integration)
- Öffne HACS → Integrationen.
- Klicke auf „Benutzerdefiniertes Repository hinzufügen“ (
⋮→ Custom repositories). - Füge die folgende URL ein:
https://github.com/sbot2/room-climate-card - Wähle als Kategorie Integration.
- Lade Home Assistant neu (ggf.
Strg+Shift+Rim Browser). - Einstellungen → Geräte & Dienste → Integration hinzufügen → „Room Climate Sensors“. Die Durchschnittssensoren werden daraufhin automatisch für alle Bereiche mit Temperatur-/Feuchtesensoren angelegt.
Karte einbinden
Die Karte liegt in diesem Repo und wird als Frontend-Ressource eingebunden:
- Lade
room-climate-card.js(ausdist/bzw. dem Reporoot) herunter und lege sie in deinwww/-Verzeichnis (config/www/). - Füge in deine Lovelace-Ressourcen folgende Zeile ein (URL entsprechend anpassen,
/local/fürwww/):resources: - url: /local/room-climate-card.js type: module - Lade die Seite neu.
Manuell (Integration)
- Kopiere
custom_components/room_climate/in deinconfig/custom_components/. - Starte Home Assistant neu.
- Integration über Einstellungen → Geräte & Dienste → Integration hinzufügen aktivieren.
Verwendung
Füge folgenden Code zu deinem Dashboard hinzu (Bearbeiten → Karte hinzufügen → Nach Typ suchen → room-climate-card):
type: custom:room-climate-card
title: Temperaturen/Luftfeuchtigkeit
columns: 2
exclude_areas:
- fussboden
- fußboden
| Option | Typ | Standard | Beschreibung |
|---|---|---|---|
title |
string | Temperaturen/Luftfeuchtigkeit |
Titel der Karte. |
columns |
number | 2 |
Anzahl der Raum-Spalten pro Etage (1–4). |
exclude_areas |
list | ["fussboden", "fußboden"] |
Bereiche, die nicht angezeigt werden (per Bereichsname oder Area-ID). |
Hinweis:
exclude_areasprüft ausschließlich Area-Namen/-IDs. Möchtest du eine gesamte Etage ausschließen, blende den jeweiligen Bereich bzw. dessen Areas entsprechend aus.
Funktionsweise / Voraussetzungen
- Die Karte nutzt die WebSocket-APIs (
config/area_registry/list,config/floor_registry/list,config/entity_registry/list,config/device_registry/list) sowie die Verlaufs-API. - Sensoren werden über ihre
device_class(temperature/humidity) erkannt. Sie müssen einem Bereich (Area) zugeordnet sein (direkt oder über ihr Gerät bzw. das übergeordnete Gerät). - Klimageräte werden über die Domain
climate.erkannt. Wenn sie einem Bereich zugeordnet sind (direkt oder über ihr Gerät), erscheinen sie in der Detailansicht des Raumes mit Temperatur-Dial, HVAC-Dropdown und (sofern vorhanden) Presets. - Für den visuellen Editor genügt die normale Dashboard-Integration; die Karte stellt automatisch ein Konfigurationsformular bereit.
Backend-Integration (Durchschnittssensoren)
Die Karte liegt zusammen mit einer optionalen Backend-Integration (custom_components/room_climate) im selben Repository. Sie erzeugt pro Bereich automatisch echte HA-Sensoren:
sensor.<bereich>_durchschnitt_temperatur(z. B. „Wohnzimmer Durchschnitt Temperatur")sensor.<bereich>_durchschnitt_luftfeuchtigkeit(z. B. „Wohnzimmer Durchschnitt Luftfeuchtigkeit")
Diese Sensoren stehen dann als normale HA-Entitäten für History, Automationen und Dashboards zur Verfügung. Die Karte erkennt sie automatisch (über das area_id-Attribut) und verwendet ihre Werte für die Anzeige — sofern vorhanden. Fehlt die Integration, berechnet die Karte die Durchschnittswerte weiterhin selbst.
Die Installation der Integration erfolgt über HACS (Kategorie Integration) — siehe Abschnitt Installation oben.