CCCPaste

Sammensætning af elpris_SL - Strømligning

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