Add script for moving peaks
This commit is contained in:
102
peaks/automations/peak.yaml
Normal file
102
peaks/automations/peak.yaml
Normal file
@@ -0,0 +1,102 @@
|
||||
alias: Peak number
|
||||
description: ""
|
||||
triggers:
|
||||
- entity_id:
|
||||
- sensor.hourly_power
|
||||
to: "0"
|
||||
trigger: state
|
||||
conditions: []
|
||||
actions:
|
||||
- if:
|
||||
- condition: template
|
||||
value_template: "{{ now().day == 1 and now().hour == 0 }}"
|
||||
then:
|
||||
- metadata: {}
|
||||
data:
|
||||
value: "{{ states('input_number.peak_power_3') }}"
|
||||
target:
|
||||
entity_id: input_number.peak_power_1
|
||||
action: input_number.set_value
|
||||
- metadata: {}
|
||||
data:
|
||||
value: 0
|
||||
target:
|
||||
entity_id: input_number.peak_power_2
|
||||
action: input_number.set_value
|
||||
- metadata: {}
|
||||
data:
|
||||
value: 0
|
||||
target:
|
||||
entity_id: input_number.peak_power_3
|
||||
action: input_number.set_value
|
||||
else:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{{ previous > states.input_number.peak_power_1.state | float
|
||||
}}
|
||||
sequence:
|
||||
- metadata: {}
|
||||
data:
|
||||
peak: 2
|
||||
action: script.move_down_peak
|
||||
- metadata: {}
|
||||
data:
|
||||
peak: 1
|
||||
action: script.move_down_peak
|
||||
- metadata: {}
|
||||
data:
|
||||
value: "{{ previous }}"
|
||||
target:
|
||||
entity_id: input_number.peak_power_1
|
||||
action: input_number.set_value
|
||||
- metadata: {}
|
||||
data:
|
||||
date: "{{ (now()-timedelta(hours = 1)).strftime('%Y-%m-%d') }}"
|
||||
target:
|
||||
entity_id: input_datetime.peak_power_1
|
||||
action: input_datetime.set_datetime
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{{ previous > states.input_number.peak_power_2.state | float
|
||||
}}
|
||||
sequence:
|
||||
- metadata: {}
|
||||
data:
|
||||
peak: 2
|
||||
action: script.move_down_peak
|
||||
- metadata: {}
|
||||
data:
|
||||
value: "{{ previous }}"
|
||||
target:
|
||||
entity_id: input_number.peak_power_2
|
||||
action: input_number.set_value
|
||||
- metadata: {}
|
||||
data:
|
||||
date: "{{ (now()-timedelta(hours = 1)).strftime('%Y-%m-%d') }}"
|
||||
target:
|
||||
entity_id: input_datetime.peak_power_2
|
||||
action: input_datetime.set_datetime
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{{ previous > states.input_number.peak_power_3.state | float
|
||||
}}
|
||||
sequence:
|
||||
- metadata: {}
|
||||
data:
|
||||
value: "{{ previous }}"
|
||||
target:
|
||||
entity_id: input_number.peak_power_3
|
||||
action: input_number.set_value
|
||||
- metadata: {}
|
||||
data:
|
||||
date: "{{ (now()-timedelta(hours = 1)).strftime('%Y-%m-%d') }}"
|
||||
target:
|
||||
entity_id: input_datetime.peak_power_3
|
||||
action: input_datetime.set_datetime
|
||||
variables:
|
||||
previous: "{{ trigger.from_state.state | float }}"
|
||||
mode: single
|
||||
Reference in New Issue
Block a user