Timers don't work?

I used the event of a timer to trigger something and it doesn’t work. Can someone maybe explain how it’s supposed to work? I just installed home assistant so it’s the current version. It’s timer.finished right? Not timer.finish? That’s what this website seemed to say to do. The “traces” doesn’t show it ever triggering or anything. I manually started the timer and watched it finish, and nothing happens. Can someone explain what I’m supposed to do like I have no idea what I’m doing? Sorry.

Yes, the event is timer.finished

What are you trying to do?

Share your automation configuration.

- id: '1719027229200'
  alias: 'Mracdefrosting finished '
  description: Mracdefrosting timer done start mrac run
  trigger:
  - platform: event
    event_type: Timer.finished
    event_data:
      entity_id: timer.mracdefrosting
  condition: []
  action:
  - service: timer.start
    metadata: {}
    data: {}
    target:
      entity_id: timer.mracrun
  - if:
    - condition: numeric_state
      entity_id: sensor.mainroom1av
      above: input_number.mainroomsettemp
    then:
    - service: switch.turn_on
      metadata: {}
      data: {}
      target:
        entity_id: switch.mrac2
  - service: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
      - input_boolean.mracdefrosting
      - input_boolean.mracdefrostmode
  

Get rid of the capital T.

You gotta be kidding me… That’s super pedantic… Also. Starting a timer is “Timer.start” so that seems super inconsistent. Is there a reason it can’t be a trigger that’s available via the GUI so this kind of pedantry doesn’t affect others as equally stupid as me?

Event triggers are the most open-ended and also most literal/pedantic type of trigger. I think there may be an expectation that the people who employee them are relatively experienced users.

The service is technically timer.start… but maybe the editors can correct those typos, I haven’t noticed that being a thing. I know there have been efforts made to have some aspects of templating less case-sensitive.

AFAIK there is no reason a more user-friendly Timer trigger couldn’t be created… someone just has to build it and follow through with the process.

It looks like there was a request that timers be given some attention in the '22 WTH. It may be that they have been a bit neglected because there were larger architecture questions regarding timers and Voice that needed to be ironed out before it made sense to invest dev time into a Timer trigger… :man_shrugging:

Where did you see that?

If you refer to the examples in the documentation for the Timer integration, you’ll see all its service calls, and events, are lowercase. All service calls in all integrations are lowercase.

It looks like service calls aren’t case sensitive any more. Timer.start does work on my instance… as does timer.Start and TIMER.START.

But that raises the question, why is it working with a lower case T and not with an upper case T for the OP?

OP’s “T” was in the event_type of an Event trigger, not a service call.

In addition to their general “advanced” status, it may be that case sensitivity is being kept in events because users could have custom events that rely on capitalization… some people love camel case.

1 Like

Life sometimes IS difficult! :joy: Thanks for the clarification! :+1:

I was referring to the documentation. All YAML examples show lowercase service calls. Curious to know where OP saw something different.

1 Like

Should they reject the evidence of their eyes…? :upside_down_face:

I saw it on the GUI for starting a timer. It defaults to capitalize the first letter. Idk man. Seems super pedantic. I mean is there a way to ask someone to just add a capitalized version or change the GUI to not capitalize the first letter? Just trying to see if some consistency can be achieved. Idk just seems silly.

This is what is displayed in the Automation Editor in Visual mode.

image

It shows Timer: Start

If you switch the Automation Editor to YAML mode, Timer: Start is displayed like this:
image

It shows timer.start

So where exactly did you see Timer.start in the GUI?