New AVM Fritz!box Tools problems

Is there a way to get the old FritzBox device tracker back? Through a custom component or something similar?
The new tools break more than they help.

I need the device tracker for two entities and not for about 150 network devices stored in the FritzBox. And I don’t need another 150 switches to turn off the internet connection of those 150 devices.

It’s great that when setting up FritzBox Tools I can select a room for all devices, but why can’t I deselect or at least disable them there directly?
I have to select every single entry in the list and I don’t even get the MAC address displayed for the duplicate names.

And then all the errors: "Connection pool is full, discarding connection: 192.168.178.1. Connection pool size: 30" and "Exception in async_on_demand_update when dispatching 'fritz-device-update...".

A chance to get a notification when a new device appears in the network doesn’t exist now either?

Apart from the fact that the old device tracker did not require a username and password.

The tools are not usable like this!

So is there any chance to get the old device tracker back?

It is very frustrating!

3 Likes

Same problem here. Very frustrating, and irritating have the log file spilled with those error messages.

1 Like

I have the same errors.
it seems, homeassistant bombards the fritzbox with requests and fritzbox blocks further requests.

Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 445, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 440, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1345, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 268, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/lib/python3.9/socket.py", line 704, in readinto
return self._sock.recv_into(b)
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/usr/lib/python3.9/site-packages/urllib3/util/retry.py", line 532, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
raise value
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 447, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 336, in _raise_timeout
raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='192.168.0.1', port=49000): Read timed out. (read timeout=60.0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/homeassistant/config_entries.py", line 313, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/usr/lib/python3.9/site-packages/homeassistant/components/fritz/__init__.py", line 45, in async_setup_entry
await fritz_tools.async_setup()
File "/usr/lib/python3.9/site-packages/homeassistant/components/fritz/common.py", line 151, in async_setup
await self.hass.async_add_executor_job(self.setup)
File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/lib/python3.9/site-packages/homeassistant/components/fritz/common.py", line 155, in setup
self.connection = FritzConnection(
File "/usr/lib/python3.9/site-packages/fritzconnection/core/fritzconnection.py", line 155, in __init__
self.device_manager.add_description(source)
File "/usr/lib/python3.9/site-packages/fritzconnection/core/devices.py", line 75, in add_description
root = get_xml_root(source, timeout=self.timeout, session=self.session)
File "/usr/lib/python3.9/site-packages/fritzconnection/core/utils.py", line 59, in get_xml_root
source = get_content_from(source, timeout=timeout, session=session)
File "/usr/lib/python3.9/site-packages/fritzconnection/core/utils.py", line 41, in get_content_from
with session.get(url, timeout=timeout) as response:
File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='192.168.0.1', port=49000): Read timed out. (read timeout=60.0)

that’s why I get many timeout errors (can’t reach the fritzbox on port 49000 in the browser either for some time)

I now use the old “fritz” integration from an old Home Assistant version as a custom component. So the device tracker and the new device notification work again for now. There is an error at the start of Home Assistant, because the config flow is missing, but that can be tolerated.
Thanks to @arganto for the hint!

@Flop2006 could you please share the old component? I am sick and tired of the new fritzbox tool. Since we switched to it, I don’t remember it working for more than a couple of weeks before new breaking changes, change of logic, new and old bugs and so on. There is nothing working, only bugs from both AVM and the mantainers. I just want to track some devices and not get spammed by new devices entering my guest wifi (even if the option is deactivated!) nor remove hundreds of useless switches. Thanks!!!

My 2 cents: they want to add too many things. Maybe it could be easier to ask if you want some services to be active or not.

2 Likes

I took the three files from https://github.com/home-assistant/core/tree/2021.1.5/homeassistant/components/fritz, put them under /custom_components/fritz/ and changed the content of manifest.json to

{
  "domain": "fritz",
  "name": "AVM FRITZ!Box",
  "version": "1.5",
  "documentation": "https://www.home-assistant.io/integrations/fritz",
  "requirements": ["fritzconnection==1.4.0"],
  "codeowners": []
}

(respectively added the version string).

With the old fritz configuration

device_tracker:
  - platform: fritz
    interval_seconds: 60
    consider_home: 300
    new_device_defaults:
      track_new_devices: false

I can now use the old fritz device tracker and known_devices.yaml again.

1 Like

@Flop2006 I reverted back with your instruction and I finally said bye bye to the buggy, breaking changing, redundant, cumbersome and entity spamming fritzbox tools integration. Thanks!!! People really should learn that less is better.

I think we should open kind of survey to ask people if we really need all these “tools” functions together with the simple device_tracker. I think we need simple device_tracker AND a separate integration for all the fancy tools.

4 Likes

Hi, would be a very nice idea, to get rid of the device tracker - perhaps as an option.
I know have to deativate 149 devices - 5 clicks each… :frowning:
I only want to use the Tools!!

3 Likes

Or an easy include filter. See

Hi, I don’t find any switch, and the documentation only says, you have to activate them manually - but where and how?

Or you could just go to settings > devices > entities, filter by “device_tracker”, select all and deactivate them all with one click.

You can always do some sort of workaround, but is it really the way to go? There are a ton of services and entities that are created for nothing (at least for some users). Since I removed the fritzbox tools and reverted back to the simple fritz device tracker (without bugs, breaking changes, change of logic and everything else we experienced during this months), my HA boots faster. While manually rebooting, I used to see “Fritzbox tools is loading” for seconds. It was one of the slowest integration to boot.
We really should have a way to choose what service(s) we want to use.

1 Like

I’m just saying: don’t over dramatize it. There seems to be a lot of that lately.

1 Like

My comment on current situation

Simone

1 Like

@chemelli could I just quickly confirm something?

A couple of HA versions ago, the device trackers for my router (Fritzbox 7590) and mesh repeater (3000) vanished from my set-up. Everything is working perfectly, so I was just wondering if that was deliberate or not?

Not an issue either way around, as of course if either goes offline then all the devices connected to it will also go offline and so it can be seen easily. Plus internet access switches for both are also rather meaningless.

I was just curious if this removal was a design decision or accidental (or unplanned and a symptom of something wrong in the code somewhere)?

Thanks for all the ongoing work on the integration though - still most appreciated and highly useful.

@DarrenHill, true the new API doesn’t list the Fritz devices themselves. But those are entities so you can check if they are “unavailable” in any case.
Internet access switches should not be there anymore for those 2 as well.

Simone

I’ve got all the sensors etc for the 7590 router that I can check the availability of, but no direct entity for either the router or repeater. I presume the repeater has no sensors as it’s in the mesh so controlled by the router.

As I said, not a problem at all, was just curious.

no, you can’t cause they are not created at all since, as you said, the new API doesn’t list the fritz devices. I do want to track them directly, (I cannot tracking them tracking the devices connected cause they connect to other repeaters) how to deal with it?
And it is not true they are not tracked, few days ago I found out that a repeater started to be tracked, but in reverse mode (ethernet cable on → not_home; ethernet cable off → home).

I really don’t understand the logic of this integration in the long run.

Hi, does someone (@chemelli )know how to use the Parental control nowadays? I don’t find it in the home assistant options and no documentation on the internet. :frowning:

in HA, you have a “Internet Access” switch for each device