homeassistant
Home Assistant is open source home automation that puts local control and privacy first.
Powered by a worldwide community of tinkerers and DIY enthusiasts.
Home Assistant can be self-installed on ProxMox, Raspberry Pi, or even purchased pre-installed: Home Assistant: Installation
Discussion of Home-Assistant adjacent topics is absolutely fine, within reason.
If you're not sure, DM @GreatAlbatross@feddit.uk
I don’t even have the right terminology so google and ChatGPT were not helpful ….. does ha have some sort of trend graph that is a combination of different sets of values, over the same time axis?
A goal might be to identify events and their effects. For example perhaps turning on the dryer raises particulates and CO2: I know when I turn on the dryer so want to look at the graph for any matching changes in any measurement .
(Or maybe I’m fooling myself: I have no idea what the sampling frequency is yet)
I've found apexcharts-card to be fairly configurable and good looking. I've put 2 different data types on the one graph and used two axes (price left, % right). Sometimes the values get "stuck", but a refresh fixes it.

YAML code for my chart
type: custom:apexcharts-card
apex_config:
legend:
show: false
graph_span: 12h
span:
start: minute
yaxis:
- id: price
min: ~-10
max: ~40
decimals: 0
- id: renewables
opposite: true
min: 0
max: ~100
decimals: 0
header:
show: true
title: Amber Prices
show_states: true
colorize_states: true
series:
- entity: sensor.amber_general_forecast
name: General Forecast
unit: c/kWh
color: "#3498DB"
yaxis_id: price
data_generator: >
const data = [];
data.push([hass.states['sensor.amber_general_price'].attributes.nem_date.replace(/0{2}$/,
"30"), hass.states['sensor.amber_general_price'].attributes.per_kwh*100]);
for(let i = 0; i <= 24; i++) {
data.push([entity.attributes.forecasts[i].nem_date.replace(/0{2}$/, "30"), entity.attributes.forecasts[i].per_kwh*100])
}
return data.reverse();
- entity: sensor.amber_feed_in_forecast
name: Feed In Forecast
unit: c/kWh
color: "#ff9800"
yaxis_id: price
data_generator: >
const data = [];
data.push([hass.states['sensor.amber_feed_in_price'].attributes.nem_date.replace(/0{2}$/,
"30"), hass.states['sensor.amber_feed_in_price'].attributes.per_kwh*100]);
for(let i = 0; i <= 24; i++) {
data.push([entity.attributes.forecasts[i].nem_date.replace(/0{2}$/, "30"), entity.attributes.forecasts[i].per_kwh*100])
}
return data.reverse();
- entity: sensor.amber_feed_in_forecast
name: Renewables
yaxis_id: renewables
unit: "%"
color: "#2ECC71"
data_generator: >
const data = [];
Thanks but this needs like half a dozen, so I don’t think this type of chart will scale





