GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release)
Screenshot 2025年12月22日 at 13 07 14 Screenshot 2025年12月24日 at 08 15 27Custom Lovelace card that renders rooms on floors with current/target temperature, heating state, and an optional top labels strip. Built to complement home assistant's climate entities.
- Each room can show a climate or temperature entity
- When the heating is on for any room, rooms on the same circuit will also show heating (unless climate entity is off). E.g. you have a room that has a temperature sensor, a radiator, but not smart heating.
- You can set a room to have no heating source if you just want to show the temperature (like attic).
- You can add rooms to different heating circuits.
- Rooms are spread over floors, and show up in the UI as such.
- Rooms are organised on floors by circuits, then by the order you add in the config.
Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.
Search for "Home Climate Card" in HACS. Otherwise:
- Goto HACS (if you dont have that installed, install HACS)
- Add a custom repository
- Add the URL to this repo:
https://github.com/pacemaker82/Home-Climate-Cardusing the categoryDashboard(used to beLovelacepre HACS 2.0.0) - Go back to HACS and search for "home climate card" in the HACS store
- Download and refresh
- Goto dashboard, edit dashboard, select 'add card' button, and add the new custom Home Climate Card. Use the configuration below to setup.
type: custom:home-climate-card entities: - entity: climate.living_room floor: 1 circuit: 1 name: Living Room - entity: climate.bedroom floor: 2 circuit: 2 name: Bedroom
entities(required): list of room entries (see below).labels: list of label entries for the top strip (optional).primary_accent_color: Override the default card color (HEX, RGB etc)
entities: - entity: climate.living_room floor: 1 circuit: 1 name: Living Room no_heat_source: false is_heating_entity: binary_sensor.living_room_heat_call color: red
entity(required): climate or temperature entity that represents "a room".floor: Which floor is the entity on. Default1for ground.circuit: Default1. If you have heating on different circuits make sure to set this appropriately.name: Label override for the room. Falls back to entity friendly name.no_heat_source: iftrue, suppresses heating visuals for this room.is_heating_entity: optional binary_sensor used to detect heating when not using a climate sensor.color: Override the specific room color (HEX, RGB etc)valve_entity: Entity to represent the % open a TRV valve is for the room. Shows when room is heating.
By default, a floor of "1" is set on entity's that don't configure it. This means all rooms will render on the same floor (row) in the UI. Setting a floor number will render the room in different rows in the UI, lowest to highest. This allows you to create a visual representation of your rooms on floors from basement to attic and anything in between. There is no limit on floors.
Heating is not always on the same circuit, a good example can be underfloor heating in a certain room/s. The card lets you add climate and temperature entities on the same circuit to further group heating entities together. This allows you to see if rooms are heating that dont have a climate entity, because that circuit is being heated elsewhere.
E.g. Room 1 has smart TRV with climate entity, Room 2 has radiator with simple temperature sensor. If both are on the same circuit, Room 2 will show as "heating" if Room 1 climate entity triggers the heating.
To override this functionality, either set the room to a random circuit number e.g. 999 or set no_heat_source: true on the entity.
Each room will display an up or down chevron icon momentarily when the room temperature increases or decreases from the previous value. This is to help you identify room temperature changes.
Each room temperature label will change color to identify that its within 0.3C/0.5F of the target temperature, allowing you to see if the heating will turn on or off soon for that room.
Each label renders an icon + name + state + optional secondary line. You can show a max of 6 labels (1-3 on the top row, 4-6 on a second row after the rooms).
labels: - entity: binary_sensor.heating_on_off icon: mdi:radiator name: Heating secondary: last_updated color: "#FFFFFF" - entity: sensor.outside_temperature icon: mdi:weather-partly-cloudy name: Outside color: "rgb(100,100,100)" - entity: binary_sensor.hot_water_on_off icon: mdi:water-boiler name: Hot Water secondary: sensor.hot_water_on_minutes secondary_name: Total Time
entity(required): entity to display.icon: icon override (defaults to entity icon when available).name: label title (defaults to entity friendly name).secondary:last_updatedor another entity id.secondary_name: prefix text for the secondary line (e.g.,Total Time).color: Override the specific label color (HEX, RGB etc)
Notes:
- Numeric values are shown with up to 2 decimals (trailing zeros trimmed).
- The icon color changes to
var(--state-climate-heat-color)when the entity state ison. - Label layout:
- 1 label: full-width center.
- 2 labels: left and right slots.
- 3 labels: left, center, right.
- 4-6 labels: first row (1-3), rooms/floors, second row (4-6).
type: custom:home-climate-card primary_accent_color: "#FF0000" labels: - entity: binary_sensor.heating_on_off icon: mdi:radiator name: Heating secondary: last_updated secondary_name: Last Change color: blue - entity: sensor.oil_tank_volume_percentage icon: mdi:barrel name: Heating Oil secondary: sensor.tempest_temperature secondary_name: Outside - entity: binary_sensor.hot_water_on_off icon: mdi:water-boiler name: Hot Water secondary: sensor.hot_water_on_minutes secondary_name: Total Time entities: - entity: climate.entrance_hall_better_thermostat floor: 0 name: Entrance Hall color: yellow - entity: climate.kitchen_thermostat floor: 0 name: Kitchen circuit: 2 - entity: climate.living_room_better_thermostat floor: 0 name: Living - entity: climate.snug_better_thermostat floor: 0 name: Snug - entity: sensor.toilet_h_t_temperature floor: 0 name: Toilet - entity: climate.master_bedroom_better_thermostat floor: 1 name: Master - entity: sensor.en_suite_h_t_temperature floor: 1 name: Master Bath - entity: climate.joe_better_thermostat floor: 1 name: Joe - entity: sensor.joe_bath_h_t_temperature floor: 1 name: Joe Bath - entity: climate.daisy_better_thermostat floor: 1 name: Daisy - entity: climate.office_better_thermostat floor: 1 name: Office