En este artículo, voy a guiarte a través del proceso de crear sensores para PI-Hole, una herramienta de bloqueo de anuncios muy popular, y además te mostraré cómo crear un interruptor para deshabilitar temporalmente el bloqueo de anuncios durante una hora. Esta funcionalidad es útil cuando necesitas acceder a sitios web que pueden ser bloqueados por error o cuando deseas permitir temporalmente la publicidad en tu red.
El resultado será algo similar a 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
[expander_maker id="1" more="Mostrar Código" less="Ocultar"] ################################################################################ ########################### Servicio PiHole #################################### ################### http://192.168.x.x:8081/admin/ ########################## ################################################################################ - platform: pi_hole host: 192.168.x.x [/expander_maker] Despues vamos a crear el interruptor: [expander_maker id="1" more="Mostrar Código" less="Ocultar"] ################################################################################ ################################ 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' }}" [/expander_maker] |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[expander_maker id="1" more="Mostrar Código" less="Ocultar"] ################################################################################ ############################# 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 [/expander_maker] |
Y por ultimo le damos un toque personalizado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[expander_maker id="1" more="Mostrar Código" less="Ocultar"] 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 [/expander_maker] |
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: Pi-Hole
Y aquí las imágenes que yo utilizo: