diff --git a/automations.yaml b/automations.yaml index 37c0988..15a37cd 100644 --- a/automations.yaml +++ b/automations.yaml @@ -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 diff --git a/blueprints/automation/homeassistant/evcharge-process.yaml b/blueprints/automation/homeassistant/evcharge-process.yaml new file mode 100644 index 0000000..89ccde0 --- /dev/null +++ b/blueprints/automation/homeassistant/evcharge-process.yaml @@ -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