Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- automation.yaml:
- [...]
- - id: '1663398489357'
- alias: 'Set device start time'
- description: ''
- trigger:
- - platform: time
- at: '23:10:00'
- condition:
- - condition: not
- conditions:
- - condition: state
- entity_id: sensor.cheapest_hours_energy_tomorrow
- state: unknown
- action:
- - service: input_datetime.set_datetime
- data:
- time: '{{ as_timestamp(states(''sensor.cheapest_hours_energy_tomorrow'')) | timestamp_custom(''%H:%M'') }}'
- target:
- entity_id: input_datetime.device_start_time
- - service: input_datetime.set_datetime
- data:
- time: '{{ ((as_timestamp(states(''sensor.cheapest_hours_energy_tomorrow'')) + (3600*3)) | timestamp_custom(''%H:%M'')) }}'
- target:
- entity_id: input_datetime.device_end_time
- mode: single
- # This works and was "last_triggered: last_triggered: 2023-02-23T22:00:00.001828+00:00"
- - id: '1663399614818'
- alias: Increase heating
- description: ''
- trigger:
- - platform: time
- at: input_datetime.device_start_time
- condition: []
- action:
- - service: climate.set_temperature
- data:
- temperature: 23
- target:
- entity_id: climate.ac_12494102
- mode: single
- # This does not work since it was "last_triggered: 2023-02-23T22:00:00.002180+00:00"
- - id: '1678659614819'
- alias: Decrease heating
- description: ''
- trigger:
- - platform: time
- at: input_datetime.device_end_time
- condition: []
- action:
- - service: climate.set_temperature
- data:
- temperature: 21
- target:
- entity_id: climate.ac_12494102
- mode: single
- config.yaml:
- [...]
- # Helper to keep the start time
- input_datetime:
- device_start_time:
- name: Device Start Time
- has_time: true
- has_date: false
- device_end_time:
- name: Device End Time
- has_time: true
- has_date: false
- automation: !include automations.yaml
- sensor: !include sensors.yaml
- [...]
- sensors.yaml:
- [...]
- - platform: template
- sensors:
- energy_spot_price:
- friendly_name: "Nordpool Spot Price"
- unit_of_measurement: 'c/kWh'
- value_template: "{{ ('sensor.nordpool_kwh_fi_eur_2_10_01') }}"
- energy_helen:
- friendly_name: "Helen Spot Price β¬/kWh"
- unit_of_measurement: 'β¬/kWh'
- value_template: "{{ (states('sensor.nordpool_kwh_fi_eur_2_10_01') | float / 100 ) | round(4) + 0.0034 }}"
- energy_helen_alv10c:
- friendly_name: "Helen Spot Price c/kWh alv. 10%"
- unit_of_measurement: 'c/kWh'
- value_template: "{{ (states('sensor.nordpool_kwh_fi_eur_2_10_01') | float + 0.34 ) }}"
- cheapest_hours_energy_tomorrow:
- device_class: timestamp
- friendly_name: Cheapest sequential electricity hours
- value_template: >
- {%- set numberOfSequentialHours = 3 -%}
- {%- set lastHour = 23 -%}
- {%- set firstHour = 0 -%}
- {%- if state_attr('sensor.nordpool_kwh_fi_eur_3_10_024', 'tomorrow_valid') == true -%}
- {%- set ns = namespace(counter=0, list=[], cheapestHour=today_at("00:00") + timedelta( hours = (24)), cheapestPrice=999.00) -%}
- {%- for i in range(firstHour + numberOfSequentialHours, lastHour+1) -%}
- {%- set ns.counter = 0.0 -%}
- {%- for j in range(i-numberOfSequentialHours, i) -%}
- {%- set ns.counter = ns.counter + state_attr('sensor.nordpool_kwh_fi_eur_3_10_024', 'tomorrow')[j] -%}
- {%- endfor -%}
- {%- set ns.list = ns.list + [ns.counter] -%}
- {%- if ns.counter < ns.cheapestPrice -%}
- {%- set ns.cheapestPrice = ns.counter -%}
- {%- set ns.cheapestHour = today_at("00:00") + timedelta( hours = (24 + i - numberOfSequentialHours)) -%}
- {%- endif -%}
- {%- endfor -%}
- {{ ns.cheapestHour }}
- {%- set ns.cheapestPrice = ns.cheapestPrice / numberOfSequentialHours -%}
- {%- endif -%}
- [...]
Add Comment
Please, Sign In to add comment