Required key not provided @ data['platform']

Hi guys, new to HA, follow the guide http://ronmar.co/ha/2017/03/10/Ultimate-Alarm-Clock/

Reached an issue but HA error log:

Invalid config for [sensor]: required key not provided @ data[‘platform’]. Got None. (See /home/homeassistant/.homeassistant/configuration.yaml, line 174). Please check the docs at Sensor - Home Assistant

my config.yaml

sensor:
  - platform: time_date
    display_options:
        - 'time'

  - input_slider:
    alarm_clock_hour:
        initial: 6
        min: 0
        max: 23
        step: 1

  - alarm_clock_minute:
        initial: 15
        min: 0
        max: 55
        step: 5

  - input_boolean:
    alarm_clock_status:
        initial: on

  - platform: template
    sensors:
        alarm_clock_hour:
            value_template: "{{ states.input_slider.alarm_clock_hour.state | int }}"
        alarm_clock_minute:
            value_template: "{{ states.input_slider.alarm_clock_minute.state | int }}"
        alarm_clock_time:
            value_template: >-
              {{ states.sensor.alarm_clock_hour.state }}:
              {%- if states.sensor.alarm_clock_minute.state|length == 1 -%}
                0
              {%- endif -%}
                {{ states.sensor.alarm_clock_minute.state }}
        alarm_clock_time_long:
            value_template: >-
              {% if states.sensor.alarm_clock_hour.state|length == 1 -%}
                0
              {%- endif -%}
                {{ states.sensor.alarm_clock_hour.state }}:
              {%- if states.sensor.alarm_clock_minute.state|length == 1 -%}
                0
              {%- endif -%}
                {{ states.sensor.alarm_clock_minute.state }}

Not sure where i went wrong. I have check it with yamllint its ok but the error keeps appearing.

Any help would be great. Thanks :slight_smile:

If your code above is copied directly from your config, your spacing is incorrect, and input_slider and input_booleans are not sensors.

I am using spacing for the indents, why is it still wrong?

Do I put my input_slider and input_booleans outside? Like this?

input_boolean:
alarm_clock_status:
initial: on

input_slider:
alarm_clock_hour:
initial: 6
min: 0
max: 23
step: 1

Why the spacing are not showing? I am directly copying and pasting…?

The page you linked to tells you where to put it. You put input_boolean and input_slider in the config.yaml, and the other stuff in the sensors section

you’re using quote and not code blocks?

I have edited the input_boolean and input_slider to the outside of config.yaml but HA says ‘Unable to find component input_slider’.

sensor:
  - platform: time_date
    display_options:
        - 'time'

  - alarm_clock_minute:
        initial: 15
        min: 0
        max: 55
        step: 5

  - platform: template
    hline_1:
        value_template: hline
    hline_2:
        value_template: hline
    sensors:
      alarm_clock_hour:
        value_template: "{{ states.input_slider.alarm_clock_hour.state | int }}"
      alarm_clock_minute:
        value_template: "{{ states.input_slider.alarm_clock_minute.state | int }}"
      alarm_clock_time:
        value_template: >-
          {{ states.sensor.alarm_clock_hour.state }}:
          {%- if states.sensor.alarm_clock_minute.state|length == 1 -%}
            0
          {%- endif -%}
            {{ states.sensor.alarm_clock_minute.state }}
      alarm_clock_time_long:
        value_template: >-
          {% if states.sensor.alarm_clock_hour.state|length == 1 -%}
            0
          {%- endif -%}
            {{ states.sensor.alarm_clock_hour.state }}:
          {%- if states.sensor.alarm_clock_minute.state|length == 1 -%}
            0
          {%- endif -%}
            {{ states.sensor.alarm_clock_minute.state }}

config.yaml:

input_slider:
  alarm_clock_hour:
    initial: 6
    min: 0
    max: 23
    step: 1
  alarm_clock_minute:
    initial: 15
    min: 0
    max: 55
    step: 5
input_boolean:
  alarm_clock_status:
    initial: on

sensor:
  - platform: time_date
    display_options:
      - 'time'
  - platform: template
    sensors:
      alarm_clock_hour:
        value_template: '{{ states.input_slider.alarm_clock_hour.state | int }}'
      alarm_clock_minute:
        value_template: '{{ states.input_slider.alarm_clock_minute.state | int }}'
      alarm_clock_time:
        value_template: >-
          {{ states.sensor.alarm_clock_hour.state }}:
          {%- if states.sensor.alarm_clock_minute.state|length == 1 -%}
            0
          {%- endif -%}
            {{ states.sensor.alarm_clock_minute.state }}
      alarm_clock_time_long:
        value_template: >-
          {% if states.sensor.alarm_clock_hour.state|length == 1 -%}
            0
          {%- endif -%}
            {{ states.sensor.alarm_clock_hour.state }}:
          {%- if states.sensor.alarm_clock_minute.state|length == 1 -%}
            0
          {%- endif -%}
            {{ states.sensor.alarm_clock_minute.state }}

It is as easy as reading the documentation for input boolean:

input_boolean:
  - alarm_clock_minute:
        initial: 15
        min: 0
        max: 55
        step: 5

sensor:
  - platform: time_date
    display_options:
        - 'time'

  - platform: template
    ...

Sorry guys to put you thru this.
I copy and paste into my config.yaml what you posted but there’s a ‘Component not found: input_slider’ error message.

Is it because they renamed it back to input_number? https://community.home-assistant.io/t/0-57-0-unable-to-find-component-input-slider/31520

You’re following an old guide.

Please read up on the components that you are using.

So sorry for everything and thank you so much.