Netgear not updating device trackers anymore

Hi All,
Today I upgraded Home Assistant to 105.3 (coming from 103.x). Now al the network devices I monitor via my netgear router are not updating status anymore. This concerns both tracked phones as well as hard wired IP devices. No changes to the config was made or to the know_devices.yaml, I read somethings about know_devices.yaml on the forum, but its unclear to me.

Any suggestions anyone.

Thanks in advance,

Ralph

What router do you have? If it’s an orbi, did you add this?

A recent updates of Orbi APs introduced a bug which takes several hours to detects presence on your local network. The current workaround is to force this integration to use the Orbi’s API v2 by adding the accesspoints: node to your configuration.

Try deleting the known_devices.yaml file?

Hi Jim, No I did not, but I don’t have Orbi AP’s (or any other Netgear AP’s) Should I add it anyway?

The only change from 103 to 105 is it now checks link_rate of the tracked devices.

        # when link_rate is None this means the router still knows about
        # the device, but it is not in range.
        if tracked and dev.link_rate is not None:

Do the tracked devices report a link rate?

Not 100% sure what link_rate is, but if it’s None, the devices won’t be tracked.

# Not all routers will report link type and rate

Seems odd this change was needed. What router do you have?

It’s a netgear Nighthawk R7000. The only attributes I see are source_type, friendly_name and icon. No link_rate and/or link_type. If this is the root cause it’s a major issue. Why should a router report something like this for devices that are hard wired?

I looked at the homeassistant github for this and found two PR’s #29434 and the related #30581. Description:
Netgear device tracker takes 300+ seconds to see a device as no longer on the network. This PR fixes that by looking at the link_rate returned by the API.

So the integration did change and now to checks for link_rate. This probably kills my Netgear integration and likely the integration for many users of the popular Nighthawk routers. Any one can tell how to get around it. My presence detection based on Wifi presence and my hardware monitoring are now dead and useless. Its not documented as a breaking change, but it is. Not happy with this…

Yeah, you can take that out yourself.

Copy the entire Netgear component to your custom integrations folder then modify the lines yourself to take out the change.

Custom integrations with the same name as a built-in will be loaded instead of the built in.

Ok, think I can do that, is next level ha tinkering for me. What do I need to copy? The entire netgear folder, or only the device_tracker.py. I guess there are more device_tracker.py files in other (router) integrations.

I’m not 100%, but might want the whole folder. (homeassistant/components/netgear)

Put it in your custom_components folder (if you have one). If you don’t have one, create it. Check out the following doc for that info:

Do note, you will no longer get updates on the netgear component as long as you have this.

Also, the link_rate won’t be an attribute of the sensor. It’s an internal value that pynetgear attempted to parse with the SOAP api. If you’re already modifying the component, maybe add some _LOGGER.DEBUG messages showing the soap reply from your router.

Hi Jim, thanks for you help sofar. I will give it a go today. Looking at the docs i need the folder.

I know it will not update anymore, but that is not a problem as the Netgear is about to be retired. Its time to go for serious segmented networking considering the growing number of home automation devices.

Will update this post with the outcome.

1 Like