TorbenH

Sammensætning af elpris_SL - Strømligning

Nov 4th, 2025 (edited)
987
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 5.73 KB | Source Code | 0 0
  1. type: custom:apexcharts-card
  2. apex_config:
  3.   tooltip:
  4.     x:
  5.       format: ddd kl. HH
  6.     fixed:
  7.       enabled: true
  8.       position: topRight
  9.   chart:
  10.     height: 350px
  11.     defaultLocale: da
  12.     locales:
  13.       - name: da
  14.         options:
  15.           shortDays:
  16.            - Søn
  17.             - Man
  18.             - Tir
  19.             - Ons
  20.             - Tor
  21.             - Fre
  22.             - Lør
  23.   xaxis:
  24.     axisTicks:
  25.       offsetX: 0
  26.       offsetY: -3
  27.     labels:
  28.       show: true
  29.       format: HH
  30.       tickAmount: 11
  31.       style:
  32.         fontSize: 10px
  33.         fontWeight: 399
  34.   plotOptions:
  35.     bar:
  36.       dataLabels:
  37.         position: center
  38.         maxItems: 32
  39.         hideOverflowingLabels: true
  40.         orientation: vertical
  41.       columnWidth: 90%
  42.   dataLabels:
  43.     enabled: true
  44.     style:
  45.       fontSize: 10px
  46.       colors:
  47.        - "#fff"
  48.     distributed: true
  49.     background:
  50.       enabled: false
  51.     formatter: |
  52.      EVAL:function(value) {
  53.         return value.toFixed(2);
  54.       }
  55. all_series_config:
  56.   unit: " kr."
  57. experimental:
  58.   color_threshold: true
  59. header:
  60.   title: Sammensætning af elpris_SL
  61.   show: true
  62.   standard_format: true
  63.   show_states: false
  64.   colorize_states: true
  65. stacked: true
  66. now:
  67.   show: true
  68.   label: Nu
  69. graph_span: 23h
  70. span:
  71.   start: day
  72.   offset: "-0h"
  73. yaxis:
  74.   - min: 0
  75.     max: "|+0.1|"
  76.     apex_config:
  77.       tickAmount: 5
  78.       forceNiceScale: true
  79. series:
  80.   - entity: sensor.stromligning_current_price_vat
  81.     type: line
  82.     name: Total
  83.     data_generator: |
  84.      var data = entity.attributes.prices.map((start, index) => {
  85.         return [new Date(start["start"]).getTime(), entity.attributes.prices[index]["price"]];
  86.       });
  87.  
  88.       if (hass.states['binary_sensor.stromligning_tomorrow_available_vat'].state
  89.       == "on") {
  90.         var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices.map((start, index) => {
  91.           return [new Date(start["start"]).getTime(), hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices[index]["price"]];
  92.         });
  93.         data = data.concat(tomorrow)
  94.       } return data;
  95.     float_precision: 2
  96.     show:
  97.       legend_value: false
  98.       in_header: false
  99.       datalabels: false
  100.     extend_to: now
  101.     color_threshold:
  102.       - value: 0
  103.         color: green
  104.       - value: 2
  105.         color: yellow
  106.       - value: 3
  107.         color: orange
  108.       - value: 4
  109.         color: red
  110.       - value: 5
  111.         color: darkred
  112.   - entity: sensor.stromligning_current_price_vat
  113.     type: column
  114.     name: Elafgift
  115.     color: "#00B0F0"
  116.     data_generator: >
  117.      var tax =
  118.       parseFloat(hass.states['sensor.stromligning_electricity_tax_vat'].state)
  119.       || 0;
  120.  
  121.       var data = entity.attributes.prices.map((start, index) => {
  122.         return [new Date(start["start"]).getTime(), tax];
  123.       });
  124.  
  125.  
  126.       if (hass.states['binary_sensor.stromligning_tomorrow_available_vat'].state
  127.  
  128.       == "on") {
  129.         var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices.map((start, index) => {
  130.           return [new Date(start["start"]).getTime(), tax];
  131.         });
  132.         data = data.concat(tomorrow)
  133.       } return data;
  134.     float_precision: 2
  135.     show:
  136.       legend_value: false
  137.       in_header: false
  138.       datalabels: true
  139.   - entity: sensor.stromligning_current_price_vat
  140.     type: column
  141.     name: Elselskab
  142.     color: "#00DDD0"
  143.     data_generator: >
  144.      var avance =
  145.       parseFloat(hass.states['sensor.stromligning_surcharge_vat'].state) || 0;
  146.  
  147.       var data = entity.attributes.prices.map((start, index) => {
  148.         return [new Date(start["start"]).getTime(), avance];
  149.       });
  150.  
  151.  
  152.       if (hass.states['binary_sensor.stromligning_tomorrow_available_vat'].state
  153.  
  154.       == "on") {
  155.         var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_available_vat'].attributes.prices.map((start, index) => {
  156.           return [new Date(start["start"]).getTime(), avance];
  157.         });
  158.         data = data.concat(tomorrow)
  159.       } return data;
  160.     float_precision: 2
  161.     show:
  162.       legend_value: false
  163.       in_header: false
  164.       datalabels: true
  165.   - entity: sensor.stromligning_distribution_vat
  166.     type: column
  167.     name: Tariffer
  168.     color: "#63666A"
  169.     data_generator: >
  170.      var nettariff =
  171.       parseFloat(hass.states['sensor.stromligning_nettariff_vat'].state) || 0;
  172.       var systemtariff =
  173.       parseFloat(hass.states['sensor.stromligning_systemtariff_vat'].state) ||
  174.       0; var energinet = nettariff + systemtariff;  var data =
  175.       entity.attributes.prices.map((start, index) => {
  176.         return [new Date(start["start"]).getTime(), entity.attributes.prices[index]["price"] + energinet];
  177.       }); return data;
  178.     float_precision: 2
  179.     show:
  180.       legend_value: false
  181.       in_header: false
  182.       datalabels: true
  183.   - entity: sensor.stromligning_spotprice_vat
  184.     type: column
  185.     name: Spot
  186.     color: "#92D050"
  187.     data_generator: >
  188.      var data = entity.attributes.prices.map((start, index) => {
  189.         return [new Date(start["start"]).getTime(), entity.attributes.prices[index]["price"]];
  190.       });
  191.  
  192.       if (hass.states['binary_sensor.stromligning_tomorrow_spotprice_vat'].state
  193.       == "on") {
  194.         var tomorrow = hass.states['binary_sensor.stromligning_tomorrow_spotprice_vat'].attributes.prices.map((start, index) => {
  195.           return [new Date(start["start"]).getTime(), hass.states['binary_sensor.stromligning_tomorrow_spotprice_vat'].attributes.prices[index]["price"]];
  196.         });
  197.         data = data.concat(tomorrow)
  198.       } return data;
  199.     float_precision: 2
  200.     show:
  201.       legend_value: false
  202.       in_header: false
  203.       datalabels: true
  204.  
Advertisement
Comments
Add Comment
Please, Sign In to add comment