diff --git a/automations/peak.yaml b/automations/peak.yaml new file mode 100644 index 0000000..f416fff --- /dev/null +++ b/automations/peak.yaml @@ -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