EVcharge Process WIP

This commit is contained in:
2025-02-02 01:55:48 +01:00
parent 8ec1110473
commit 4c0903c690
2 changed files with 161 additions and 45 deletions

View File

@@ -96,51 +96,6 @@
input:
light_target:
device_id: e0397b54f1c2d1514be403e2996ca368
- id: '1738142303265'
alias: test-pulsante1
description: ''
triggers:
- trigger: mqtt
topic: zigbee2mqtt/Pulsante-01
payload: single
value_template: '{{ value_json[''action''] }}'
id: Pulsante1-single
- trigger: mqtt
topic: zigbee2mqtt/Pulsante-01
payload: double
value_template: '{{ value_json[''action''] }}'
id: Pulsante1-double
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- Pulsante1-single
sequence:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 255
- 0
- 0
brightness_pct: 100
transition: 10
target:
device_id: '{{ device_id(''light.test_lamp1'')}}'
- conditions:
- condition: trigger
id:
- Pulsante1-double
sequence:
- action: light.turn_off
metadata: {}
data:
transition: 10
target:
device_id: '{{ device_id(''light.test_lamp1'')}}'
mode: queued
- id: '1738366774549'
alias: Test-motion-light-ng
description: ''
@@ -152,3 +107,23 @@
light_target:
device_id: 9f46c5b7c07f1495e0f4bf8d6f72a525
no_motion_wait: 0
dont_disturb: false
- id: '1738426726761'
alias: Test-Pulsante01
description: ''
use_blueprint:
path: homeassistant/button_action.yaml
input:
light_target:
entity_id: light.test_lamp1
- id: '1738428672069'
alias: Test-EVcharge-process
description: ''
use_blueprint:
path: homeassistant/evcharge-process.yaml
input:
evcharge_entity1: switch.evcharge_front
evcharge_entity2: switch.evcharge_back
use_entity1: input_boolean.evcharge_front_request
use_entity2: input_boolean.evcharge_back_request
start_button: input_button.evcharge_start

View File

@@ -0,0 +1,141 @@
blueprint:
name: evcharge_process
description: Mange charging process between two charging points
domain: automation
author: Tiziano Trabattoni
input:
evcharge_entity1:
name: Charge via 'Controlled Plug1'
description: Identifies the Switch1 (eg EVcharge-front)
selector:
entity:
filter:
- domain: switch
evcharge_entity2:
name: Charge via 'Controlled Plug2'
description: Identifies the Switch2 (eg EVcharge-back)
selector:
entity:
filter:
- domain: switch
use_entity1:
name: Enable charge via 'Controlled Plug1'
description: Identifies the input flag for charging on 'Controlled Plug1' (eg EVcharge_front_request)
selector:
entity:
filter:
- domain: input_boolean
use_entity2:
name: Enable charge via 'Controlled Plug2'
description: Identifies the input flag for charging on 'Controlled Plug2' (eg EVcharge_back_request)
selector:
entity:
filter:
- domain: input_boolean
start_button:
name: start_button
description: Identifies the button to start EVcharge process
selector:
entity:
filter:
- domain: input_button
triggers:
- trigger: state # Want to trigger start now
entity_id: !input start_button
id: start_now
- trigger: time # Start at F3 start tome
at: input_datetime.evcharge_good_time_start
id: start_at_good_time
# for time being let's do sequential charge for Plug1 and then Plug2
mode: single
# here we could stop immediately if sensor.pw_load_power is above 5000W but lets decide after
conditions: []
variables:
evcharge_entity1_var: !input evcharge_entity1
evcharge_entity2_var: !input evcharge_entity2
actions:
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity1_var }} has started"
title: EV Charge process
# 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:
- delay: 60
- action: switch.turn_off
# entity_id: !input evcharge_entity1
entity_id: switch.presa_smart_1
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity1_var }} has ended"
title: EV Charge process
# wait couple of minutes before starting charge on plug2
#- delay: 120
- delay: 10
# 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
- action: switch.turn_on
# entity_id: !input evcharge_entity1
entity_id: switch.presa_smart_2
# need to wait car to start charging
#- delay: 60
- delay: 10
- 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
- action: switch.turn_off
# entity_id: !input evcharge_entity2
entity_id: switch.presa_smart_2
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >-
"EVcharge process on {{ evcharge_entity2_var }} has ended"
title: EV Charge process