Im sure there are better ways but here is how I solved it:
First I created a sensor:
- platform: template
sensors:
washing_maching_is_running:
friendly_name: Washing Machine Is Running
value_template: >-
{% if states('sensor.washing_machine_power_switch_power')|float > 3 %}
true
{% else %}
false
{% endif %}
And the automation to notify:
- id: notify_wash_cycle_completed
alias: Notify Wash Cycle Completed
trigger:
- entity_id: sensor.washing_maching_is_running
platform: state
to: 'false'
for:
minutes: 3
action:
service: script.set_washing_machine_alert
The waiting 3 mins solves the problem of getting false negatives when the power drops between cycles.