Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sensor:
- - platform: rest
- name: elpriser_raw
- value_template: "{{ value_json.success }}"
- json_attributes_path: "$.result"
- json_attributes:
- - updatetime
- - region
- - records
- resource_template: >
- {% set s = {
- 'region': 'DK2',
- 'vat': 25,
- 'abonnement': 0.00,
- 'elafgift': 0.95375,
- 'systemydelse': 0.14,
- '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:
- friendly_name: "Elpriser fra energidataservice.dk"
- value_template: "{{ state_attr('sensor.elpriser_raw', 'records')[now().hour + (now().date() | string > state_attr('sensor.elpriser_raw', 'updatetime'))*24].TotalPriceDKK }}"
- device_class: energy
- attribute_templates:
- current_price: "{{ states('sensor.elpriser') }}"
- updatetime: "{{ state_attr('sensor.elpriser_raw', 'updatetime') }}"
- currency: DKK
- country: Denmark
- region: "{{ state_attr('sensor.elpriser_raw', 'region') }}"
- unit: kWh
- min: >
- {% set ns = namespace(value=100) %}
- {% for r in state_attr("sensor.elpriser_raw", "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", "records") %}
- {% set ns.value = max(ns.value, r.TotalPriceDKK | float) %}
- {% endfor %}
- {{ ns.value }}
- priser: "{{ state_attr('sensor.elpriser_raw', 'records') }}"
- unit_of_measurement: "DKK/kWh"
- - platform: rest
- name: currency_eur_dkk
- value_template: "{{ value_json.response[0].average_midpoint }}"
- json_attributes_path: "$.response[0]"
- json_attributes:
- - base_currency
- - quote_currency
- - start_time
- - open_time
- - close_time
- - average_bid
- - average_ask
- - average_midpoint
- - high_bid
- - high_ask
- - high_midpoint
- - low_bid
- - low_ask
- - low_midpoint
- resource_template: https://cc-api.oanda.com/cc-api/v1/currencies?base=EUR"e=DKK&data_type=general_currency_pair&start_date={{ now().date() }}&end_date={{ now().date() }}
- headers:
- Content-Type: application/json
- scan_interval: 3600
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement