How can I use a text input variable as a time condition

I want to be able to set a time in the frontend using the input text component and then using that variable in my automations as an after condition. However, no matter what I try HA does not seem to like it. Can someone show me what I’m doing wrong? This is my code…

automation:

  - alias: 'Door alarm'
    trigger:
      platform: state
      entity_id: binary_sensor.door_sensor_sensor
      from: 'off'
      to: 'on'
    condition:
      condition: and
      conditions:
        - condition: state
          entity_id: calendar.availabilty
          state: 'on'
        - condition: time
          after: '{{ state.input_text.after_time }}'
    action:
      - service: notify.sms

The value of my text input is 16:00:00

I then get the following errors. I thought it was something to do with the quotation marks but I have tried a number of different combinations and still the same thing.

2017-10-16 22:11:05 ERROR (Thread-7) [homeassistant.util.yaml] invalid key: "OrderedDict([('state.input_text.after_time', None)])"
  in "/home/homeassistant/.homeassistant/automations.yaml", line 14, column 0
2017-10-16 22:11:05 ERROR (MainThread) [homeassistant.components.automation] invalid key: "OrderedDict([('state.input_text.after_time', None)])"
  in "/home/homeassistant/.homeassistant/automations.yaml", line 14, column 0
2017-10-16 22:13:44 ERROR (MainThread) [homeassistant.config] Invalid config for [automation]: extra keys not allowed @ data['condition'][0]['conditions'][1]['after']. Got None
not a valid value for dictionary value @ data['condition'][0]['conditions'][1]['condition']. Got None
required key not provided @ data['condition'][0]['conditions'][1]['entity_id']. Got None. (See /home/homeassistant/.homeassistant/configuration.yaml, line 67). Please check the docs at https://home-assistant.io/components/automation/
2017-10-16 22:31:44 ERROR (MainThread) [homeassistant.core] Error doing job: Fatal read error on socket transport
Traceback (most recent call last):

templates can only be added where they are expected.
The documentation for time condition does not indicate that it supports a template comparison.
You can switch to a template condition and compare the time completely inside the template.
I don’t know what format you are entering text to represent time, but you are going to have to convert it to a timestamp to do any kind of comparison with the current time. Use strptime to do the coversion. See the documentation here:

and here:
https://docs.python.org/3.4/library/datetime.html#strftime-and-strptime-behavior