Created
February 26, 2025 06:40
-
-
Save topdng/36492394cd6eeee495ffd3fa5fcf02f5 to your computer and use it in GitHub Desktop.
HA YAML WEATHER HVAC CARDS REDDIT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
views: | |
- title: HVAC | |
path: hvac | |
type: sections | |
sections: | |
- type: grid | |
cards: | |
- type: heading | |
heading: HVAC | |
heading_style: title | |
- type: custom:mini-graph-card | |
entities: | |
- entity: climate.upstairs_thermostat_thermostat | |
attribute: current_temperature | |
- entity: climate.downstairs_thermostat_thermostat | |
attribute: current_temperature | |
show: | |
fill: false | |
icon: false | |
points_per_hour: 0.5 | |
hours_to_show: 270 | |
name: Upstairs Temperature | |
- type: custom:mini-graph-card | |
name: Total Thermostat Heating | |
entities: | |
- entity: sensor.total_heating_hours_today | |
show_state: true | |
color: gray | |
hours_to_show: 536 | |
lower_bound: 0 | |
group_by: date | |
aggregate_func: max | |
show: | |
labels: true | |
graph: bar | |
average: true | |
extrema: true | |
- type: grid | |
cards: | |
- type: heading | |
heading: Weather | |
heading_style: title | |
- type: custom:apexcharts-card | |
graph_span: 9d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
offset: '-1d' | |
header: | |
show: true | |
title: Hourly Temperature Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.outside_temperature_and_humidity_temperature | |
extend_to: now | |
name: Outside Temperature | |
show: | |
legend_value: false | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Temperature Forecast | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.temperature]; | |
}); | |
color_threshold: | |
- value: 50 | |
color: steelblue | |
- value: 60 | |
color: midnightblue | |
- value: 75 | |
color: orange | |
- value: 85 | |
color: orangered | |
- value: 100 | |
color: red | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Apparent Temperature | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.apparent_temperature]; | |
}); | |
stroke_width: 1 | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 30 | |
max: 120 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 9d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
offset: '-1d' | |
header: | |
show: true | |
title: Hourly Humidity Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.outside_temperature_and_humidity_humidity | |
extend_to: false | |
name: Humidity | |
show: | |
legend_value: false | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Humidity | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.humidity]; | |
}); | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 0 | |
max: 110 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 8d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
header: | |
show: true | |
title: Hourly Cloud Cover Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
type: area | |
stroke_width: 0 | |
name: Cloud Cover | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.cloud_coverage]; | |
}); | |
color_threshold: | |
- value: 0 | |
color: steelblue | |
- value: 60 | |
color: gray | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
yaxis: | |
- min: 0 | |
max: 100 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 8d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
header: | |
show: true | |
title: Hourly Precipitation Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Precipitation | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.precipitation_probability]; | |
}); | |
color_threshold: | |
- value: 50 | |
color: steelblue | |
- value: 60 | |
color: midnightblue | |
- value: 75 | |
color: orange | |
- value: 85 | |
color: orangered | |
- value: 100 | |
color: red | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 0 | |
max: 100 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 8d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
header: | |
show: true | |
title: Hourly Wind Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Wind Gust | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.wind_gust_speed]; | |
}); | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Wind Speed | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.wind_speed]; | |
}); | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 0 | |
max: 50 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 8d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
header: | |
show: true | |
title: Hourly UV Index Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: UV Index | |
data_generator: | | |
return entity.attributes.forecast | |
.filter(forecast => forecast.uv_index <= 13) // Only include UV index values <= 13 | |
.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.uv_index]; | |
}); | |
color_threshold: | |
- value: 0 | |
color: steelblue | |
- value: 11 | |
color: red | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 0 | |
max: 12 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 8d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
header: | |
show: true | |
title: Hourly Dewpoint Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Dewpoint | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.dew_point]; | |
}); | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 0 | |
max: 100 | |
apex_config: | |
grid: | |
show: false | |
- type: custom:apexcharts-card | |
graph_span: 8d | |
experimental: | |
color_threshold: true | |
show: | |
last_updated: true | |
span: | |
start: day | |
header: | |
show: true | |
title: Hourly Pressure Forecast | |
show_states: true | |
colorize_states: true | |
now: | |
show: true | |
color: red | |
label: Now | |
series: | |
- entity: sensor.pirate_weather_hourly | |
extend_to: false | |
name: Pressure | |
data_generator: | | |
return entity.attributes.forecast.map(forecast => { | |
return [new Date(forecast.datetime).getTime(), forecast.pressure]; | |
}); | |
show: | |
extremas: true | |
legend_value: false | |
in_header: after_now | |
chart_type: line | |
yaxis: | |
- min: 29 | |
max: 31 | |
apex_config: | |
grid: | |
show: false | |
column_span: 2 |
Author
topdng
commented
Feb 26, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment