Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - platform: rest
- name: elpriser_raw_dk1
- value_template: "{{ value_json.success }}"
- json_attributes_path: "$.result"
- json_attributes:
- - updatetime
- - region
- - records
- resource_template: >
- {% set s = {
- 'region': 'DK1',
- 'vat': 25,
- 'abonnement': 0.00,
- 'elafgift': 1.12875,
- 'systemydelse': 0.09,
- 'transport_lavlast': 0.3754,
- 'transport_spidslast': 0.9564,
- } %}
- {% set cdt = now() %}
- {% set transport = s.transport_spidslast if (cdt.month >= 10 or cdt.month <= 3) and cdt.hour >= 17 and cdt.hour < 20 else s.transport_lavlast %}
- {% set additional_cost = s.abonnement + s.elafgift + s.systemydelse + transport %}
- {% set EUR = states('sensor.currency_eur_dkk') | float(7.44060) %}
- https://api.energidataservice.dk/datastore_search_sql?sql=SELECT "SpotPriceEUR"/1000*{{ EUR }} AS "PriceDKK" , ROUND(CAST(FLOAT8 ("SpotPriceEUR"*{{ EUR/1000*(1+s.vat/100) }}%2B{{additional_cost}}) as numeric),2) AS "TotalPriceDKK" ,"HourDK" FROM "elspotprices" WHERE "PriceArea"='{{s.region}}' AND "HourDK" >= '{{ now().date() }}' order by "HourDK"®ion={{ s.region }}&updatetime={{ now() }}
- scan_interval: 3600
- - platform: template
- sensors:
- elpriser_dk1:
- friendly_name: "Elpriser DK1"
- value_template: "{{ state_attr('sensor.elpriser_raw_dk1', 'records')[now().hour + (now().date() | string > state_attr('sensor.elpriser_raw_dk1', 'updatetime'))*24].TotalPriceDKK }}"
- device_class: energy
- attribute_templates:
- current_price: "{{ states('sensor.elpriser_dk1') }}"
- updatetime: "{{ state_attr('sensor.elpriser_raw_dk1', 'updatetime') }}"
- currency: DKK
- country: Denmark
- region: "{{ state_attr('sensor.elpriser_raw_dk1', 'region') }}"
- unit: kWh
- min: >
- {% set ns = namespace(value=100) %}
- {% for r in state_attr("sensor.elpriser_raw_dk1", "records") %}
- {% set ns.value = min(ns.value, r.TotalPriceDKK | float) %}
- {% endfor %}
- {{ ns.value }}
- max: >
- {% set ns = namespace(value=0) %}
- {% for r in state_attr("sensor.elpriser_raw_dk1", "records") %}
- {% set ns.value = max(ns.value, r.TotalPriceDKK | float) %}
- {% endfor %}
- {{ ns.value }}
- priser: "{{ state_attr('sensor.elpriser_raw_dk1', 'records') }}"
- unit_of_measurement: "DKK/kWh"
Add Comment
Please, Sign In to add comment