PI-Hole – Sensores e Interruptor

En esta entrada voy a explicar como crear los sensores para PI-Hole así como un interruptor para poder deshabilitar durante una hora el bloqueo de anuncios.

El resultado será algo como esto:

Dando por sentado que tenemos Pi-Hole instalado el primer paso es crear los sensores:

 

En el configuration.yaml revisamos que tenemos creada la linea

sensor: !include_dir_merge_list sensors

y  la carpeta sensors en la raiz de .homeassistant (si no la tenemos, la creamos) dentro de sensors creamos un archivo llamado pihole.yaml introduciendo en el interior

################################################################################
########################### Servicio PiHole ####################################
################### http://192.168.x.x:8081/admin/ ##########################
################################################################################
– platform: pi_hole
host: 192.168.x.x

Mostrar Código

Despues vamos a crear el interruptor:

################################################################################
################################ PiHoleSwitch ##################################
################################################################################
– platform: command_line
switches:
pihole_switch:
command_on: “curl -X GET ‘http://192.168.x.x/admin/api.php?enable&auth=98974b95f31bdf12aae680acbab30ad0aa2aad79d0abdd9bf7123124124′”
command_off: “curl -X GET ‘http://192.168.x.x/admin/api.php?disable=3600&auth=98974b95f31bdf12aae680acbab30ad0aa2aad79d0abdd9bf71234124312′”
command_state: “curl -X GET ‘http://192.168.x.x/admin/api.php?status'”
value_template: “{{ value_json.status == ‘enabled’ }}”

Mostrar Código

OJO! Si tienes habilitada la autenticacion tienes que ver tu WEBPASSWORD en /etc/pihole/setupVars.conf y ponerlo después de &auth=

Ahora vamos a mostrar los sensores, podemos crear un archivo en nuestra carpeta de grupos llamado pihole.yaml por ejemplo…

################################################################################
############################# Pihole Grupo ####################################
################################################################################
varios:
name: varios
icon: mdi:tune
view: yes
entities:
– group.pihole
– sensor.pihole_ads_percentage_blocked_today
– sensor.pihole_ads_blocked_today
– sensor.pihole_dns_queries_today

pihole:
name: Pi-Hole
view: no
entities:
– switch.pihole_switch
– sensor.pihole_ads_percentage_blocked_today
– sensor.pihole_ads_blocked_today
– sensor.pihole_dns_queries_today

Mostrar Código

Y por ultimo le damos un toque personalizado:

sensor.pihole_ads_percentage_blocked_today:
friendly_name: Porcentaje Anuncios Bloqueados Hoy
entity_picture: /local/porcentaje.png

sensor.pihole_ads_blocked_today:
friendly_name: Anuncios Bloqueados Hoy
entity_picture: /local/adds.jpg
sensor.pihole_dns_queries_today:
friendly_name: Consultas DNS Hoy
entity_picture: /local/dns.png
switch.pihole_switch:
friendly_name: Off / ON Anuncios

Mostrar Código

el directorio /local que pone en el entity_picture hace referencia al directorio www de tu instalación de ha (/home/homeassistant/.homeassistant/www )

 

Y como siempre aquí tienes el paquete con los archivos para evitar problemas estructurales en el código.

pihole

 

Y aquí las imágenes que yo utilizo.

También te podría gustar...

5 Respuestas

  1. kruncher dice:

    Hola, he copiado el archivo pihole.yaml a “/home/homeassistant/.homeassistant/sensors” y ahora al intentar arrancar HA muestra el siguiente error, como si hubiese algún fallo en el archivo… sabéis qué puede ser?
    2018-01-28 11:03:12 ERROR (Thread-2) [homeassistant.util.yaml] while parsing a block collection
    in “/home/homeassistant/.homeassistant/sensors/pihole.yaml”, line 5, column 1
    expected , but found ‘?’
    in “/home/homeassistant/.homeassistant/sensors/pihole.yaml”, line 23, column 1
    2018-01-28 11:03:12 ERROR (MainThread) [homeassistant.bootstrap] Error loading /home/homeassistant/.homeassistant/configuration.yaml: while parsing a block collection
    in “/home/homeassistant/.homeassistant/sensors/pihole.yaml”, line 5, column 1
    expected , but found ‘?’
    in “/home/homeassistant/.homeassistant/sensors/pihole.yaml”, line 23, column 1

    • Segarra dice:

      Lo has llegado a solucionar?

      • kruncher dice:

        Al final he utilizado otro archivo con configuración mínima, no me hace falta encender y apagar el pihole.

        Con el fichero que descargué había otro problema, contenía caracteres “extraños” de MSDOS al final (^N), con el archivo actual ya no me salen (no se si es cosa mía entonces o lo habéis cambiado).

        Para solucionar el problema de caracteres MSDOS, hay una utilidad en linux llamada dos2unix.
        Si alguien tiene este problema, se soluciona ejecutando:
        dos2unix fichero.txt

        Saludos!

    • Rubenzori86 dice:

      Hola!, Cómo has copiado el archivo? Lo ideal sería que lo hicieras con winscp.
      Es probable que sea simplemente un problema en la sintaxis del .yaml

  1. 22 enero, 2018

    […] has ido siguiendo el blog de Home Assistant, habrás visto como crear desde un bloqueador de anuncios hasta una alarma o alguna otra filigrana, pero quizá nos hayamos saltado lo mas […]

Deja un comentario