I want to change tariff on different time between differnet periods of the year.
So I want from 1 May to 31 October the changes to happen on 23:00 and on 07:00 and from 1 November to 30 April changes to happen on 02:00 , 08:00 , 15:30 and 17:30
Only once you have done that can you use the next.tariff service.
For being conditional on dates, see this example:
condition:
- condition: template # Only between December 1 and January 6.
value_template: >
{% set n = now() %}
{{ n.month == 12 or ( n.month == 1 and ( 1 <= n.day <= 5 )) }}
I think I did it
From 1/5 to 31/10 and from 23:00 to 07:00 should be offpeak
From 1/11 to 30/4 and from 02:00 to 08:00 and 15:30 to 17:30 should also be offpeak
all other timeframe should be peak
Automations that I created
- id: '1622836530021'
alias: Utility meter summer period (offpeak)
description: Set night power for summer period
trigger:
- platform: time
at: '23:01:00'
condition:
- condition: and
conditions:
- condition: time
after: '23:00:00'
before: 07:00:00
- condition: template
value_template: '{% set n = now() %} {{ n.month >= 5 or n.month < 11 }}'
action:
- service: utility_meter.select_tariff
target:
entity_id: utility_meter.daily_energy_serverroom
data:
tariff: offpeak
- service: utility_meter.select_tariff
data:
tariff: offpeak
target:
entity_id: utility_meter.monthly_energy_serverroom
- service: utility_meter.select_tariff
data:
tariff: offpeak
target:
entity_id: utility_meter.daily_energy_home
- service: utility_meter.select_tariff
data:
tariff: offpeak
target:
entity_id: utility_meter.monthly_energy_home
mode: single
- id: UtilitySummerPeak
alias: Utility meter summer period (peak)
description: Set day power for summer period
trigger:
- platform: time
at: 07:01:00
condition:
- condition: and
conditions:
- condition: time
after: 07:00:00
before: '23:00:00'
- condition: template
value_template: '{% set n = now() %} {{ n.month >= 5 or n.month < 11 }}'
action:
- service: utility_meter.select_tariff
target:
entity_id: utility_meter.daily_energy_serverroom
data:
tariff: peak
- service: utility_meter.select_tariff
data:
tariff: peak
target:
entity_id: utility_meter.monthly_energy_serverroom
- service: utility_meter.select_tariff
data:
tariff: peak
target:
entity_id: utility_meter.daily_energy_home
- service: utility_meter.select_tariff
data:
tariff: peak
target:
entity_id: utility_meter.monthly_energy_home
mode: single
- id: UtilityWinterPeak1
alias: Utility meter winter period (peak)
description: Set day power for winter period
trigger:
- platform: time
at: 08:01:00
- platform: time
at: '17:31:00'
condition:
- condition: and
conditions:
- condition: or
conditions:
- condition: time
after: 08:00:00
before: '15:30:00'
- condition: time
after: '17:30:00'
before: 02:00:00
- condition: template
value_template: '{% set n = now() %} {{ n.month >= 11 or n.month < 5 }}'
action:
- service: utility_meter.select_tariff
target:
entity_id: utility_meter.daily_energy_serverroom
data:
tariff: peak
- service: utility_meter.select_tariff
data:
tariff: peak
target:
entity_id: utility_meter.monthly_energy_serverroom
- service: utility_meter.select_tariff
data:
tariff: peak
target:
entity_id: utility_meter.daily_energy_home
- service: utility_meter.select_tariff
data:
tariff: peak
target:
entity_id: utility_meter.monthly_energy_home
mode: single
- id: UtilityWinterOffpeak1
alias: Utility meter winter period (offpeak)
description: Set nightpower for winter period
trigger:
- platform: time
at: 02:01:00
- platform: time
at: '15:31:00'
condition:
- condition: and
conditions:
- condition: or
conditions:
- condition: time
after: 02:00:00
before: 08:00:00
- condition: time
after: '15:30:00'
before: '17:30:00'
- condition: template
value_template: '{% set n = now() %} {{ n.month >= 11 or n.month < 5 }}'
action:
- service: utility_meter.select_tariff
target:
entity_id: utility_meter.daily_energy_serverroom
data:
tariff: offpeak
- service: utility_meter.select_tariff
data:
tariff: offpeak
target:
entity_id: utility_meter.monthly_energy_serverroom
- service: utility_meter.select_tariff
data:
tariff: offpeak
target:
entity_id: utility_meter.daily_energy_home
- service: utility_meter.select_tariff
data:
tariff: offpeak
target:
entity_id: utility_meter.monthly_energy_home
mode: single
Attributes still says collecting for a peak time when the automation I think should be running off peak now at 3pm. Only after 7pm - 11pm should be ‘collecting’ for peak.