EVcharge Process WIP cont

This commit is contained in:
2025-02-07 16:13:12 +01:00
parent 4c0903c690
commit e787da4d86

View File

@@ -59,83 +59,154 @@ conditions: []
variables:
evcharge_entity1_var: !input evcharge_entity1
evcharge_entity2_var: !input evcharge_entity2
use_entity1_var: !input use_entity1
use_entity2_var: !input use_entity2
recipient_list:
- notify.mobile_app_ttrabatt_iphone15
#- notify.mobile_app_emanuele_s24
actions:
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity1_var }} has started"
title: EV Charge process
- if:
- or:
- condition: template
#value_template: "{{ is_state(evcharge_entity1_var, 'on') }}"
# TEST ONLY: value_template: "{{ false }}"
value_template: "{{ false }}"
- condition: template
#value_template: "{{ is_state(evcharge_entity2_var, 'on') }}"
# TEST ONLY: value_template: "{{ false }}"
value_template: "{{ false }}"
then:
# charge already active, send message and terminate
repeat:
for_each: "{{ recipient_list }}"
# switch of all plugs
- action: switch.turn_off
# entity_id: !input evcharge_entity1
entity_id: switch.presa_smart_1
- delay: 10
- action: switch.turn_off
# entity_id: !input evcharge_entity2
entity_id: switch.presa_smart_2
# Start plug1 and wait until power measured is below input_number.evcharge_no_charge_threshold for 10 minutes = 600 seconds
- action: switch.turn_on
# entity_id: !input evcharge_entity1
entity_id: switch.presa_smart_1
# need to wait car to start charging
#- delay: 60
- delay: 10
- repeat:
# until: "{{ state_attr( evcharge_entity1_var, 'power') < states('input_number.evcharge_no_charge_threshold') }}"
until: "{{ state_attr('sensor.evcharge_front', 'power') < states('input_number.evcharge_no_charge_threshold') }}"
sequence:
- action: "{{ repeat.item }}"
metadata: {}
data:
message: >-
"EVcharge process is ALREADY RUNNING"
title: EV Charge process ERROR
else:
sequence:
- delay: 60
- if:
- condition: template
value_template: "{{ is_state(use_entity1_var, 'on') }}"
then: # EVcharge entity_1 (eg front) charge is requested
sequence:
- repeat: # send message to all recipient-list members
for_each: "{{ recipient_list }}"
- action: switch.turn_off
# entity_id: !input evcharge_entity1
entity_id: switch.presa_smart_1
sequence:
- action: "{{ repeat.item }}"
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity1_var }} has started"
title: EV Charge process
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity1_var }} has ended"
title: EV Charge process
# Wait before starting charge
- delay: 10
# wait couple of minutes before starting charge on plug2
#- delay: 120
- delay: 10
# Start plug1 and wait until power measured is below input_number.evcharge_no_charge_threshold for 10 minutes = 600 seconds
- action: switch.turn_on
# entity_id: !input evcharge_entity1
# TEST ONLY: entity_id: switch.presa_smart_1
entity_id: switch.presa_smart_1
# then start plug2 and wait until power measured is below input_number.evcharge_no_charge_threshold for 10 minutes = 600 seconds
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity2_var }} has started"
title: EV Charge process
# need to wait car to start charging
#- delay: 60
# TEST ONLY: - delay: 10
- delay: 10
- action: switch.turn_on
# entity_id: !input evcharge_entity1
entity_id: switch.presa_smart_2
- repeat:
# until: "{{ ( states( evcharge_entity1_var, 'power') | int ) < ( states('input_number.evcharge_no_charge_threshold') | int ) }}"
until: "{{ ( states('input_number.test_evcharge_front') | int) < (states('input_number.evcharge_no_charge_threshold') | int) }}"
sequence:
- delay: 60
# need to wait car to start charging
#- delay: 60
- delay: 10
- action: switch.turn_off
# entity_id: !input evcharge_entity1
# TEST ONLY: entity_id: switch.presa_smart_1
entity_id: switch.presa_smart_1
- repeat:
# until: "{{ state_attr( evcharge_entity2_var, 'power') < states('input_number.evcharge_no_charge_threshold') }}"
until: "{{ state_attr('sensor.evcharge_back', 'power') < states('input_number.evcharge_no_charge_threshold') }}"
sequence:
- delay: 60
- repeat:
for_each: "{{ recipient_list }}"
- action: switch.turn_off
# entity_id: !input evcharge_entity2
entity_id: switch.presa_smart_2
sequence:
- action: "{{ repeat.item }}"
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity1_var }} has ended"
title: EV Charge process
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity2_var }} has ended"
title: EV Charge process
# wait couple of minutes before starting charge on plug2
#- delay: 120
# TEST ONLY: - delay: 10
- delay: 10
- if:
- condition: template
value_template: "{{ is_state(use_entity2_var, 'on') }}"
then:
sequence:
# then start plug2 and wait until power measured is below input_number.evcharge_no_charge_threshold for 10 minutes = 600 seconds
- repeat: # send message to all recipient-list members
for_each: "{{ recipient_list }}"
sequence:
- action: "{{ repeat.item }}"
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity2_var }} has started"
title: EV Charge process
# turn_on evcharge_entity1
- action: switch.turn_on
# entity_id: !input evcharge_entity1
# TEST ONLY: entity_id: switch.presa_smart_2
entity_id: switch.presa_smart_2
# need to wait car to start charging
#- delay: 120
# TEST ONLY: - delay: 10
- delay: 10
- repeat:
# until: "{{ state_attr( evcharge_entity2_var, 'power') < states('input_number.evcharge_no_charge_threshold') }}"
until: "{{ ( states('input_number.test_evcharge_back') | int) < ( states('input_number.evcharge_no_charge_threshold') | int) }}"
sequence:
- delay: 60
- action: switch.turn_off
# entity_id: !input evcharge_entity2
# TEST ONLY: entity_id: switch.presa_smart_2
entity_id: switch.presa_smart_2
- repeat: # send message to all recipient-list member
for_each: "{{ recipient_list }}"
sequence:
- action: "{{ repeat.item }}"
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity2_var }} has ended"
title: EV Charge process
- if:
- and:
- condition: template
value_template: "{{ is_state(use_entity1_var, 'off') }}"
- condition: template
value_template: "{{ is_state(use_entity2_var, 'off') }}"
then:
sequence:
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process activation ERROR, select what to charge"
title: EV Charge process ERROR