EVcharge-process-NG under test
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
blueprint:
|
||||
name: evcharge_process
|
||||
description: Mange charging process between two charging points
|
||||
description: Manage charging process between two charging points with Charged Energy calculation
|
||||
domain: automation
|
||||
author: Tiziano Trabattoni
|
||||
input:
|
||||
@@ -11,13 +11,6 @@ blueprint:
|
||||
entity:
|
||||
filter:
|
||||
- domain: switch
|
||||
evcharge_entity1_power:
|
||||
name: Charge via 'Controlled Plug1'
|
||||
description: Identifies the Switch1 power entity (eg EVcharge-front-power)
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- device_class: power
|
||||
|
||||
evcharge_entity2:
|
||||
name: Charge via 'Controlled Plug2'
|
||||
@@ -26,13 +19,6 @@ blueprint:
|
||||
entity:
|
||||
filter:
|
||||
- domain: switch
|
||||
evcharge_entity2_power:
|
||||
name: Charge via 'Controlled Plug2'
|
||||
description: Identifies the Switch1 power entity (eg EVcharge-back-power)
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- device_class: power
|
||||
|
||||
use_entity1:
|
||||
name: Enable charge via 'Controlled Plug1'
|
||||
@@ -74,34 +60,23 @@ conditions: []
|
||||
variables:
|
||||
evcharge_entity1_var: !input evcharge_entity1
|
||||
evcharge_entity2_var: !input evcharge_entity2
|
||||
evcharge_entity1_power_var: !input evcharge_entity1_power
|
||||
evcharge_entity2_power_var: !input evcharge_entity2_power
|
||||
|
||||
evcharge_entity1_power_var: >-
|
||||
{% from 'template_library.jinja' import getpower_id %}
|
||||
{{ getpower_id(evcharge_entity1_var) }}
|
||||
evcharge_entity2_power_var: >-
|
||||
{% from 'template_library.jinja' import getpower_id %}
|
||||
{{ getpower_id(evcharge_entity2_var) }}
|
||||
evcharge_entity1_energy_var: >-
|
||||
{% from 'template_library.jinja' import getenergy_id %}
|
||||
{{ getenergy_id(evcharge_entity1_var) }}
|
||||
evcharge_entity2_energy_var: >-
|
||||
{% from 'template_library.jinja' import getenergy_id %}
|
||||
{{ getenergy_id(evcharge_entity2_var) }}
|
||||
|
||||
use_entity1_var: !input use_entity1
|
||||
use_entity2_var: !input use_entity2
|
||||
|
||||
# tried to get entity for sensot.evcharge_front_power with jinja macro, macro working but using in automation is not
|
||||
# terefore added more inputs and entity and entity powe must be assigned correctly otherwise the automation won't work
|
||||
# jinja macro in config/custo_template/template_library.jinja
|
||||
#
|
||||
# Hereafter the macro for reference only:
|
||||
#
|
||||
# {% macro getpower_id(evcharge_id) %}
|
||||
# {% set attrib_list = device_entities( device_id (evcharge_id ) ) %}
|
||||
# {% for attrib in attrib_list %}
|
||||
# {% if ( attrib | regex_search('power$')) %}
|
||||
# {{ attrib }}
|
||||
# {% endif %}
|
||||
# {% endfor %}
|
||||
# {% endmacro %}
|
||||
|
||||
# Hereafter the attemped usage as variable initialization
|
||||
# evcharge_entity1_power_var: >-
|
||||
# {% from 'template_library.jinja' import getpower_id %}
|
||||
# {% getpower_id(evcharge_entity1_var) %}
|
||||
# evcharge_entity2_power_var: >-
|
||||
# {% from 'template_library.jinja' import getpower_id %}
|
||||
# {% getpower_id(evcharge_entity2_var) %}
|
||||
|
||||
# here list of mobile APP to be notified
|
||||
recipient_list:
|
||||
- notify.mobile_app_tiziano_iphone15pro
|
||||
@@ -112,10 +87,10 @@ actions:
|
||||
- or:
|
||||
- condition: template
|
||||
value_template: "{{ is_state(evcharge_entity1_var, 'on') }}"
|
||||
# TEST ONLY: value_template: "{{ false }}"
|
||||
# value_template: "{{ false }}" # TEST ONLY
|
||||
- condition: template
|
||||
value_template: "{{ is_state(evcharge_entity2_var, 'on') }}"
|
||||
# TEST ONLY: value_template: "{{ false }}"
|
||||
# value_template: "{{ false }}" # TEST ONLY
|
||||
|
||||
then:
|
||||
# charge already active, send message and terminate
|
||||
@@ -146,29 +121,34 @@ actions:
|
||||
message: >-
|
||||
"EVcharge process on {{ evcharge_entity1_var }} has started"
|
||||
title: EV Charge process
|
||||
|
||||
# Wait before starting charge
|
||||
- delay: 10
|
||||
# take energy counter before charging
|
||||
- variables:
|
||||
energy1_before: "{{ states(evcharge_entity1_energy_var) | float }}"
|
||||
|
||||
# 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 # TEST ONLY
|
||||
|
||||
# need to wait car to start charging
|
||||
- delay: 120
|
||||
# TEST ONLY: - delay: 10
|
||||
# - delay: 10 # TEST ONLY
|
||||
|
||||
- repeat:
|
||||
until: "{{ ( states(evcharge_entity1_power_var) | int ) < ( states('input_number.evcharge_no_charge_threshold') | int ) }}"
|
||||
# TEST ONLY: until: "{{ ( states('input_number.test_evcharge_front') | 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) }}" # TEST ONLY
|
||||
sequence:
|
||||
- delay: 120
|
||||
# - delay: 10 # TEST ONLY
|
||||
|
||||
# take energy counter after charging
|
||||
- variables:
|
||||
energy1_after: "{{ states(evcharge_entity1_energy_var) | float }}"
|
||||
|
||||
# turn off evcharge_entity1
|
||||
- action: switch.turn_off
|
||||
entity_id: !input evcharge_entity1
|
||||
# TEST ONLY: entity_id: switch.presa_smart_1
|
||||
# entity_id: switch.presa_smart_1 # TEST ONLY
|
||||
|
||||
- repeat: # send message to all recipient-list members
|
||||
for_each: "{{ recipient_list }}"
|
||||
@@ -178,13 +158,12 @@ actions:
|
||||
metadata: {}
|
||||
data:
|
||||
message: >-
|
||||
"EVcharge process on {{ evcharge_entity1_var }} has ended"
|
||||
"EVcharge process on {{ evcharge_entity1_var }} has ended: {{ energy1_after - energy1_before }} kW/h charged"
|
||||
title: EV Charge process
|
||||
|
||||
# wait couple of minutes before starting charge on plug2
|
||||
- delay: 120
|
||||
# TEST ONLY: - delay: 10
|
||||
|
||||
# - delay: 10 # TEST ONLY
|
||||
- if:
|
||||
- condition: template
|
||||
value_template: "{{ is_state(use_entity2_var, 'on') }}"
|
||||
@@ -202,25 +181,33 @@ actions:
|
||||
"EVcharge process on {{ evcharge_entity2_var }} has started"
|
||||
title: EV Charge process
|
||||
|
||||
# take energy counter before charging
|
||||
- variables:
|
||||
energy2_before: "{{ states(evcharge_entity2_energy_var) | float }}"
|
||||
|
||||
# turn_on evcharge_entity2
|
||||
- action: switch.turn_on
|
||||
entity_id: !input evcharge_entity2
|
||||
# TEST ONLY: entity_id: switch.presa_smart_2
|
||||
entity_id: switch.presa_smart_2 # TEST ONLY
|
||||
|
||||
# need to wait car to start charging
|
||||
- delay: 120
|
||||
# TEST ONLY: - delay: 10
|
||||
# - delay: 10 # TEST ONLY
|
||||
|
||||
- repeat:
|
||||
until: "{{ ( states(evcharge_entity2_power_var) | int ) < ( states('input_number.evcharge_no_charge_threshold') | int) }}"
|
||||
# until: "{{ ( states('input_number.test_evcharge_back') | int) < ( states('input_number.evcharge_no_charge_threshold') | int) }}"
|
||||
# until: "{{ ( states('input_number.test_evcharge_back') | int) < ( states('input_number.evcharge_no_charge_threshold') | int) }}" # TEST ONLY
|
||||
sequence:
|
||||
- delay: 120
|
||||
# - delay: 10 # TEST ONLY
|
||||
|
||||
# take energy counter after charging
|
||||
- variables:
|
||||
energy2_after: "{{ states(evcharge_entity2_energy_var) | float }}"
|
||||
|
||||
# turn off evcharge_entity2
|
||||
- action: switch.turn_off
|
||||
entity_id: !input evcharge_entity2
|
||||
# TEST ONLY: entity_id: switch.presa_smart_2
|
||||
# entity_id: !input evcharge_entity2
|
||||
entity_id: switch.presa_smart_2 # TEST ONLY
|
||||
|
||||
- repeat: # send message to all recipient-list members
|
||||
for_each: "{{ recipient_list }}"
|
||||
@@ -230,7 +217,7 @@ actions:
|
||||
metadata: {}
|
||||
data:
|
||||
message: >-
|
||||
"EVcharge process on {{ evcharge_entity2_var }} has ended"
|
||||
"EVcharge process on {{ evcharge_entity2_var }} has ended: {{ energy2_after - energy2_before }} kW/h charged"
|
||||
title: EV Charge process
|
||||
|
||||
- if:
|
||||
|
||||
Reference in New Issue
Block a user