Basically, you want it to execute its actions only if the value of the automation’s last_triggered is before 05:00 today. If the value is after 05:00 that means it has already triggered once today.
The condition to achieve this is simple:
condition:
- condition: time
after: '05:00:00'
before: '09:30:00'
- "{{ state_attr(this.entity_id, 'last_triggered') | default(today_at(), true) < today_at('05:00') }}"
In fact it can be even simpler but it’s designed to also work with an automation that has never been triggered (the value of last_triggered would be None).
This is the simpler version but I suggest using the more robust version that employs the default filter:
condition:
- condition: time
after: '05:00:00'
before: '09:30:00'
- "{{ state_attr(this.entity_id, 'last_triggered') < today_at('05:00') }}"