Add automations/peak.yaml

This commit is contained in:
zyberzero 2024-12-01 17:40:59 +00:00
parent 38acf9a217
commit 8b9cee1b5e

102
automations/peak.yaml Normal file
View 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