🌐 Zone Notification Extended

Just to check, the “x minutes before notification fires off”, this is doing these two things (assume x = 2 mins):

1, Person arrives at zone, is in zone for 2 minutes. “Arrive” notification sent
2, Person leaves a zone, once they have left and stay gone for 2 mins, “left” notification sent.

What happens if someone is just driving through the zone?
Seems like 1 would not trigger, but 2 would. Unless the logic for 2 is only trigger leaving notification once person has BEEN in the zone for 2 mins and then leaves. Is this possible?

1 Like

I think this needs a little more digging, but it seems difficult to me since automations are stateless and only operates with the current and maybe last state of an entity.
What it needs is the duration between the over last and the last state (not current one) and imho there is no way described to get these information.
I’d setup some sql sensors in my setup but not for that purpose.

1 Like

OK so perhaps it needs a proxy for the state? So something like:

  • When a person enters a zone, turn on a dummy switch.
  • When person leaves a zone, turn off dummy switch.
    If when the switch turns off, it has been on for 2 mins, fire the notification?

Or using something like this?

$moment(data.old_state.last_changed).diff($now())

Thanks for the hint: trigger.from_state.last_changed should do the trick.

1 Like

Really like the Zone Notifications Extended Blueprint!

Is it possible to make finer steps in Duration? I have experienced WiFi glitches that trigger a zone automation, but only last a short time. There are some correct zone changes that open my garage door for instance that 1 minute could be longer than desired. Maybe 30 sec steps for Durations?

Thanks

1 Like

Yes, I will change the slider selector to duration selectors but that also means to resetup or edit the existing automations. (breaking change)

I’ve got basic notifications set up for entering/leaving a zone. I wanted to add a button for viewing my map for each notification but I cant get this working.

what do you need to confirm this? i had to add a tag to get notifications to work to a iPhone.

i am tracking andriod user and send to iphone?

Did you try the suggested service call and check about critical notifications?

Hello, I’ve been trying to diagnose a issue, it’s not working for my ios device, but on Android is working. All type of notifications are enabled in the settings, tried using the notify group and also selected the device to be notified in the ui. Other integrations can send messages to the same device.

I remember iOS notification had this issue when the tag wasn’t set. (I may need to find a default. For android it works flawlessly) Could you test it out? You also can trigger the automation just for your iOS device and share the trace log with me.

I may not have understood your response, but I reloaded the Extended Blueprint (shows version 3.5.2) but the slider is still 1 min steps. I thought I would see a duration to specify min, sec etc.

Should I be doing something different to get the 30 sec duration?

Thanks, that worked! If anyone needs the info, it stopped working after adding a device with a newer version of iOS.

Have you tried entering .5 in the text box? It shows red, but a saves fine. I haven’t tested, but it should work.

I didn’t make that change yet. I’ll try to update the version today.

//EDIT: I’d just updated the blueprint

  1. if no tag is defined the blueprint generates an random tag so iOS notifications should work again per default
  2. duration selector instead of a slider (breaking change) you may delete your duration value in yaml mode and define it again

Could you give an example on how you should do that inside the UI or YAML-code?
I can’t seem to grasp it, and would like to experiment with this…

Scenario:
If user is in a zone for 30 sec => Notification "{{user}} arrived at zone {{zone}};
If user !== in a zone for 30 sec => Notification “{{user}} passed through {{zone}}”
If user left the zone after more than 30 sec => "{{user}} left zone {{zone}} "

Could you please give me some directions, or give a hand in this?

Thanks for the suggestion. It appears to work! I will amend this if further testing shows up some issue, but none for now.

1 Like

I’m getting an the following error when using the new blueprint:
Fout: UndefinedError: 'dict object' has no attribute 'entity_id'"
There are no other errors shown. (Could be the above error is because I was manually triggering the automation instead of the normal way)

Which is strange, because the blueprint worked perfectly before.
I do not recieve any notifications at all anymore, and I’m sure the zone is for the tracked person is updated properly (checked using the entity status of the tracked person)

I’m using iOS notifications, but nothing is recieved/sent.

Whe I go to developer tools, and change the current zone to another using the entity status editor, I also do not receive any notification on my iPhone.

@panhans Any idea what’s wrong? Could I share some code with you so it could be fixed? I think there is a bug in the updated code unfortunately…

Are you on the latest version? Could you trigger the automation and share the trace log with me? Thanks!

After a restart of HA the error disappears, although the notifications are not being sent out or recieved on my iPhone.

@panhans:
The logbook of HA itself (inside system => logbook) says:

Logger: homeassistant.helpers.template
Bron: helpers/template.py:2613
Eerst voorgekomen: 11:14:17 (1 gebeurtenissen)
Laatst gelogd: 11:14:17

Template variable warning: 'tag' is undefined when rendering '{{ iif(tag != '', tag, 'zne'+(range(1, 99999) | random | string)) }}'

And 1 second after that the following error is there in the system logbook:

Logger: homeassistant.components.mobile_app.notify
Bron: components/mobile_app/notify.py:199
integratie: Mobiele app (documentatie, problemen)
Eerst voorgekomen: 11:14:17 (2 gebeurtenissen)
Laatst gelogd: 11:14:18

[apns-collapse-id] header cannot be empty. This message is generated externally to Home Assistant.