type: custom:apexcharts-card
apex_config:
tooltip:
x:
format: ddd kl. HH
fixed:
enabled: true
position: topRight
chart:
height: 350px
defaultLocale: da
locales:
- name: da
options:
shortDays:
- Søn
- Man
- Tir
- Ons
- Tor
- Fre
- Lør
xaxis:
axisTicks:
offsetX: 0
offsetY: -3
labels:
show: true
format: HH
tickAmount: 11
style:
fontSize: 10px
fontWeight: 399
plotOptions:
bar:
dataLabels:
position: center
maxItems: 32
hideOverflowingLabels: true
orientation: vertical
columnWidth: 90%
dataLabels:
enabled: true
style:
fontSize: 10px
colors:
- "#fff"
distributed: true
background:
enabled: false
formatter: |
EVAL:function(value) {
return value.toFixed(2);
}
all_series_config:
unit: " kr."
experimental:
color_threshold: true
header:
title: Sammensætning af elpris_SL
show: true
standard_format: true
show_states: false
colorize_states: true
stacked: true
now:
show: true
label: Nu
graph_span: 23h
span:
start: day
offset: "-0h"
yaxis:
- min: 0
max: "|+0.1|"
apex_config:
tickAmount: 5
forceNiceScale: true
series:
- entity: sensor.stromligning_current_price_vat
type: line
name: Total
data_generator: |
var data = entity.attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), entity.attributes.prices[index]["price"]];
});
if (hass.states['binary_sensor.stromligning_tomorrow_available_vat'].state
== "on") {
var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices[index]["price"]];
});
data = data.concat(tomorrow)
} return data;
float_precision: 2
show:
legend_value: false
in_header: false
datalabels: false
extend_to: now
color_threshold:
- value: 0
color: green
- value: 2
color: yellow
- value: 3
color: orange
- value: 4
color: red
- value: 5
color: darkred
- entity: sensor.stromligning_current_price_vat
type: column
name: Elafgift
color: "#00B0F0"
data_generator: >
var tax =
parseFloat(hass.states['sensor.stromligning_electricity_tax_vat'].state)
|| 0;
var data = entity.attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), tax];
});
if (hass.states['binary_sensor.stromligning_tomorrow_available_vat'].state
== "on") {
var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), tax];
});
data = data.concat(tomorrow)
} return data;
float_precision: 2
show:
legend_value: false
in_header: false
datalabels: true
- entity: sensor.stromligning_current_price_vat
type: column
name: Elselskab
color: "#00DDD0"
data_generator: >
var avance =
parseFloat(hass.states['sensor.stromligning_surcharge_vat'].state) || 0;
var data = entity.attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), avance];
});
if (hass.states['binary_sensor.stromligning_tomorrow_available_vat'].state
== "on") {
var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), avance];
});
data = data.concat(tomorrow)
} return data;
float_precision: 2
show:
legend_value: false
in_header: false
datalabels: true
- entity: sensor.stromligning_distribution_vat
type: column
name: Tariffer
color: "#63666A"
data_generator: >
var nettariff =
parseFloat(hass.states['sensor.stromligning_nettariff_vat'].state) || 0;
var systemtariff =
parseFloat(hass.states['sensor.stromligning_systemtariff_vat'].state) ||
0; var energinet = nettariff + systemtariff; var data =
entity.attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), entity.attributes.prices[index]["price"] + energinet];
}); return data;
float_precision: 2
show:
legend_value: false
in_header: false
datalabels: true
- entity: sensor.stromligning_spotprice_vat
type: column
name: Spot
color: "#92D050"
data_generator: >
var data = entity.attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), entity.attributes.prices[index]["price"]];
});
if (hass.states['binary_sensor.stromligning_tomorrow_spotprice_vat'].state
== "on") {
var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_spotprice_vat'].attributes.prices.map((start, index) => {
return [new Date(start["start"]).getTime(), hass.states['binary_sensor.stromligning_tomorrow_spotprice_vat'].attributes.prices[index]["price"]];
});
data = data.concat(tomorrow)
} return data;
float_precision: 2
show:
legend_value: false
in_header: false
datalabels: true