3.7 KiB

title, description, ha_category, ha_iot_class, ha_release, ha_codeowners, ha_domain
title description ha_category ha_iot_class ha_release ha_codeowners ha_domain
Pi-hole Instructions on how to integrate Pi-hole with Home Assistant.
System Monitor
Local Polling 0.28
@fabaff
@johnluetke
pi_hole

The pi_hole integration allows you to retrieve statistics and interact with a Pi-hole system.

Configuration

To enable this integration with the default configuration, add the following lines to your configuration.yaml file

# Example configuration.yaml entry
pi_hole:
  - host: IP_ADDRESS

{% configuration %} host: description: > The hostname (and port), e.g., '192.168.0.3:4865' of the host where Pi-hole is running. Home Assistant add-on users should be sure to specify port 4865. required: true type: string name: description: > The name for this Pi-hole. This name will be a part of the sensors created, e.g., name: My Awesome Pi-hole would result in sensor names beginning with sensor.my_awesome_pi_hole_.

**Note:** If you configure multiple Pi-Holes, each one *must* have a unique name.

required: false type: string default: Pi-hole location: description: The installation location of the Pi-hole API. required: false type: string default: admin ssl: description: "If true, use SSL/TLS to connect to the Pi-Hole system." required: false type: boolean default: false verify_ssl: description: > Verify the SSL/TLS certificate of the system. If your Pi-Hole instance uses a self-signed certificate, you should specify false. required: false type: boolean default: true api_key: description: API Key for interacting with the Pi-hole. This is not required if you want to just query the Pi-hole for usage statistics. required: false type: string default: None {% endconfiguration %}

Full examples

Single Pi-hole running via Home Assistant add-on:

pi_hole:
  - host: 'localhost:4865'

Multiple Pi-holes:

pi_hole:
  - host: '192.168.0.2'
  - host: '192.168.0.3'
    name: 'Secondary Pi-Hole'

Pi-hole with a self-signed certificate:

pi_hole:
  - host: 'pi.hole'
    ssl: true
    verify_ssl: false

Pi-hole with an api_key that allows it to be enabled or disabled:

pi_hole:
  - host: 'pi.hole'
    api_key: !secret pi_hole_api_key

Services

The platform provides the following services to interact with your Pi-hole.

Service pi_hole.disable

Disables configured Pi-hole(s) for the specified amount of time.

Service data attribute Required Type Description
duration True timedelta Time for which Pi-hole should be disabled
name False string If preset, disables the named Pi-hole, otherwise, disables all configured Pi-holes

Note: This service requires api_key to be specified in the configuration.

Service pi_hole.enable

Enables configured Pi-holes(s).

Service data attribute Required Type Description
name False string If preset, enables the named Pi-hole, otherwise, enables all configured Pi-holes

Note: This service requires api_key to be specified in the configuration.

This integration was not made by Pi-hole LLC or the Pi-hole community. They did not provide support, feedback, testing, or any other help during its creation. This is a third party platform which may break if Pi-hole changes their API in a later release. It is not official, not developed, not supported, and not endorsed Pi-hole LLC or the Pi-hole community. The trademark Pi-hole and the logo is used here to describe the platform. Pi-hole is a registered trademark of Pi-hole LLC.