Command line notify espeak command

I was following the configuration for command-line notify and I am not able to get my setup to speak.

When I execute espeak on my server it is able to execute and produce audio.
When I create a software switch with the same espeak command and click on/off it works
binary sensor 9 is a zwave door/window sensor. __sensor_9 relates to the magnet switch it reports On/Off

shell_command.test and notify.say_test fail when in the automation block. Im assuming I am calling something incorrectly but am too new to this platform to identify what.

This is what I have in my config (more but i wont paste all that junk here)

notify:
  name: say_test
  platform: command_line
  command: espeak "test alert"

shell_command:
  test: espeak "test alert"

switch:
  - platform: command_line
    switches:
      say:
        oncmd: espeak "test one"
        offcmd: espeak "test two

automation:
  condition:
    entity_id: binary_sensor.__sensor_9
    platform: state
    state: "on"
  action:
    service: notify.say_test
    data:
      message: Test

Now with HA 0.17 I can provide the error log message it confirms that I have a config issue but I am not sure if this is telling me that I need a trigger or if something else is broken.

16-04-09 11:18:54 homeassistant.bootstrap: Invalid platform config for [automation]: required key not provided @ data['trigger']. OrderedDict([('condition', OrderedDict([('entity_id', 'binary_sensor.__sensor_9'), ('platform', 'state'), ('state', 'on')])), ('action',OrderedDict([('service', 'notify.say_test')]))])

For anyone that stumbles on this the solution was to convert “condition” witch is optional to “trigger” which is mandatory for automation. Also the notify service did not work for me the shell_command worked best.

automation:
  trigger:
    entity_id: binary_sensor.__sensor_9
    platform: state
    state: "on"
  action:
    service: shell_command.test