Issues calling functions through serial.

Not saying it's your whole problem, but these things need to be fixed:

This is an assignment, not a test for equality:

if (s = 'on') { //decide if days on or off and change the led state if it does.

But, I honestly can't tell you what is being assigned because 'on' is not a string literal. Try "on".

This is a test for equality, but I don't know against what. Try "off".

} else if (s == 'off') {

This sets a char equal to a char pointer (i.e. char *). Not going to be helpful.

c = receivedChars;

Look up the 'strcpy()' function. Or better yet, use:

s = String(receivedChars);

Or even better yet, don't use the C++ class 'String' at all.

'a()' is a really bad function name.