Detection how long someone is in a zone?

I can check enter or leave, but any way of seeing if someone is in a zone for say 5 minutes or more?

When asking for help like this it’s usually a good idea to share your current code.

You should be able to do what you want using a state trigger instead of a zone trigger. A device_tracker or person entity’s state will be the name of the zone when they enter it. So:

- trigger:
    - platform: state
      to: zone_name
        minutes: 5

This will only trigger when the person enters the zone and stays there for at least 5 minutes.

if you want a template to see for how long a person currently is in a zone (or at least changed lastly…) you can do something like:

{{(now() -|timestamp_custom('%X')

filter to be in a Zonze:

{% set zones =|map(attribute='name')|list %}
{% if states('') in zones %}
{{(now() - |timestamp_custom('%X')
{% else %} Not in zone
{% endif %}

check for more tha. 5 minutes would be

{{(now() - > 300 }}

not sure if that can be done more efficiently with one of the recently introduced new template options, must have a look…