Device tracker group "on" instead of "home"

I am not sure when this issue started, but I use a group of device trackers for presence detection automation in my home.

Today, our lights kept going dark and when I checked the logs, it showed that Home Assistant thought the group showed no one home. I checked the state of the group entity and it showed “on” instead of “home”.

Initially, I thought this was some kind of change from the latest update, and started editing my automations. I was daunted by the editing so I tried resetting groups in the developer options screen. This reverted my group back to “home” and “not_home”.

However, upon resetting HA, the group went back to “on” until I reset the groups from the developer options screen. I have now added an automation to reset the group if it shows “on”, but that seems clunky.

Is there something I am getting wrong here? This configuration has worked without issue for nearly 2 years now…so I am not sure what I did or what changed.

Thanks for any help the community can provide.

I am running HAOS on an ODROID N2+.

2 Likes

I’m having exactly the same issue. Was previously “home” and now is showing as “on”. This happened after the most recent HA update, I’m on 2024.6.0.

I haven’t tried to actually fix it yet. Is this a bug or expected new behavior?

Hi, I’m having the same problem too. It’s due to a breaking change in 2024.6
https://developers.home-assistant.io/blog/2024/05/10/group-integration/
That article has gone abit over my head tbh, so if anyone can ELI5 on what we need to do to get this working again it would be much appreciated!

2 Likes

Same issue here, was a real pain to find this when we had all left the house, and the alarm didn’t arm and door didn’t lock… All fixed now, but I had to go through all our automations and change the states to ‘on’ and ‘off’ accordingly.

Actually a very annoying change to be honest, why was this necessary? Made me panic a little bit as we’re just getting ready to go on holiday…

1 Like

I don’t understand the article posted above. I guess it’s over my head. The strange thing is, when I restart groups, it changes the state to “home” from “on”.

I have to make a decision to edit my automations or not. Was it intentional to have the group default to on/off? If so, why does it change to"home"/“not_home” when groups are reset?

I solved it like this
file editor
customize.yaml
group.xxxxxx:
device_class: device_tracker

I can confirm that the issue with decide tracker giving ‘on’ instead of ‘home’ is resolved by reloading the groups in dev tools.

Hope this is resolved in a new update. Since on mobile haven’t looked of a ticket is already been opened.

Hello

could you send me the lines of code of your YAML so that I can do the same as you to test.

Thanks in advance

Running on 2024.6.2 since yesterday, the behavior for my group “is anyone at home” (group.daheim) changes on every configuration reload, seems like depending on “fast load” or “restart homeassistant” from developer tools.

As a workaround I’ve created a new sensor, based on Template: is_state() matching multiple values

  - sensor:
    - name: "Zuhause"
      state: >
          {% if states("group.daheim") in ["home", "on"] %}
            {{ "home" }}
          {% else %}
           {{ "not_home" }}
          {% endif %}

I’ve had the problem when upgrading to 2024.6. The behaviour of the group object has changed in this release.

I was using a group with device trackers to determine if anyone is home:

device_track:
  name: Person_home
  entities:
    - device_tracker.iphone_xxx
    - device_tracker.iphone_xxx_app
    - device_tracker.iphone_yyy
    - device_tracker.iphone_yyy_app

This now results on the group changing to “on” or “off”.

I use the same device trackers on persons in my setup:

person:
  - name: xxx
    id: !secret person_id_xxx
    user_id: !secret user_id_xxx
    device_trackers:
     - device_tracker.iphone_xxx_app
     - device_tracker.iphone_xxx

  - name: yyy
    id: !secret person_id_yyy
    user_id: !secret user_id_yyy
    device_trackers:
      - device_tracker.iphone_yyy_app
      - device_tracker.iphone_yyy

I’ve changed the group to use the persons instead the seperate device trackers and now have the old behaviour back!

device_track:
  name: Person_home
  entities:
    - person.xxx
    - person.yyy

Hope this helps!

This is not a valid device class, see my post below for the fix.
List of valid device classes can be found here: https://www.home-assistant.io/integrations/sensor/#device-class

groups with only device_trackers should get the group state home /not_home according to the documentation (see right above this Group - Home Assistant)

If you can confirm this not to happen in

(which you didnt post so we can not check) , and you have followed the correct settings for yaml configuration, you should open an issue

Thanks. I will confirm. I will also post the code below…it’s been working fine for a long time, but it’s very possible I did something wrong.

#### Somebody Home #####################################
somebody_home:
  name: Somebody is home
  entities:
    - device_tracker.sm_g998u
    - device_tracker.sm_g965u
    - device_tracker.kim_s_phone_ha_app
    - device_tracker.camryn_hornbrook
# OPNSense Device Trackers #
    - device_tracker.wilsons_phone_opnsense
    - device_tracker.jimmys_phone_opnsense
    - device_tracker.kims_phone_opnsense
    - device_tracker.moms_phone_opnsense
    - device_tracker.jami_s_phone
  all: false

Here’s a screenshot of the current state of “Somebody is Home”:

Can folks confirm this code is correct before I open an issue?

just to be sure, please post a screenshot from the dev tools state, like this:

and

not that it will matter, but the all: false is default, so no need to add that

group:

  phone_trackers:
    name: Phone trackers
    entities:
      - device_tracker.marijn
      - device_tracker.wijke

also, check the more-info, which would show like this:

showing the group members with their state too

Changing my tracker to a ping (to get it to go not_home)

Here you go. Thanks for helping me out!

I have removed the “all: false” parameter.

If you think I should open an issue, I will do that next.

I believe it’s the zones that throw it off… (Kim)

those are not home/not_home, so then the group will default to on/off

you should give it a try with a few ping device_trackers, which you know for sure will only be home/not_home

3 Likes

Thanks. I won’t file another issue. Tracking this one.

@Mariusthvdb mentioned using only home/not_home in my trackers. I will give that a shot when I get back to this today. The only issue is, the zones are used to trigger other automations in Home Assistant (audio alerts at the house, security system states, etc.) so I’m not sure I want to break all of that just to save the inconvenience of resetting groups manually every time HASS restarts (which is usually only for an update where I’m sitting at the computer anyway).

It’s inconvenient to have to reload groups to fix the issue, but it’s a once-per-restart thing. I tried automating it…but that didn’t work or I didn’t know how to do it.

Thanks for the help all, I’ll track the issue.

you might not need groups at all.
Depending on your specific requirements, binary_sensors could be useful to trigger automations, or maybe even a template sensor.

I did away with all groups completely, presence is superbly tracked.

If you add some of the trackers to the person entities, you can use those.

Even improve on the core trackers, by using custom Composite tracker (which does Not make the person entity lose lat/long when Home…)

anyways, options galore, so re-composing your config might be helpful/possible

1 Like