It might happen that Home Assistant floods your network with DNS lookups, more specifically, PTR records.

A PTR record is used to find the hostname associated with an IP address. This is the opposite of what we see in the real world, because when we browse to e.g. google.com we already know the host name, but our browser will get the IP address. This is known as an A record.

This is why the PTR record is bascially the IP address, but in reverse, such as “100.1.168.192.in-addr.arpa”

What is causing this flood of DNS PTR lookups?

The configuration item that is causing this is “dhcp:”. But DHCP is part of the “default_config:” entry in the configuration.yml file. So how do we remove dhcp: then?

What is default_config actually loading?

This page tells us what default_config: is actually loading: https://www.home-assistant.io/integrations/default_config/

So now that we know what it is loading, we can just add all those integrations ourselves, and exclude “dhcp:”

Always consult this page for the latest list of integrations that default_config: is loading!

Very important

The only problem is, we have to make sure that when new Home Assistant releases come out, our manual list is up to date otherwise we might lose out on new integrations, or old integrations might get deprecated that we have to manually comment out or delete from our config file.

If you have issues adding new entities, or entities are not discoverable or existing entities behave strangely, it might be because you uncommented the dhcp integration.

List of configuration items to add

As you can see, I commented out “default_config:” and added all the integrations from the above link manually.

I also commented out bluetooth (because I do not use it) and of course dhcp.

# Loads default set of integrations. Do not remove.
# default_config:
# https://www.home-assistant.io/integrations/default_config/ #this shows what default_config loads
assist_pipeline:
backup:
# bluetooth:
config:
conversation:
# dhcp:
energy:
history:
homeassistant_alerts:
cloud:
image_upload:
logbook:
media_source:
mobile_app:
my:
ssdp:
stream:
sun:
usb:
webhook:
zeroconf:
new config

And for interest sake, this is what my pihole query log looked like before removing dhcp. Every hour my pihole received about 600 PTR lookups over a period of 10 minutes.