En muchas ocasiones, cuando queremos usar la impresora para imprimir algo, o bien no funciona correctamente o no tiene tinta en alguno de los cartuchos Para lo primero ya os hemos dado muchas soluciones en otros tutoriales, y para lo segundo, si tienes un sistema de domótica como Home Assistant y quieres que te avise por Telegram cuando el nivel de tinta baja de un cierto umbral, entonces presta mucha atención a lo que hoy os vamos a explicar.
Actualmente la mayoría de impresoras nos avisan que no tenemos tinta directamente en la pequeña pantalla que incorporan, o bien a través de la aplicación oficial para sistemas operativos de escritorio o para móviles. Sin embargo, es posible que no miremos la pantalla ni tampoco usemos las aplicaciones oficiales nada más que para instalarla. Si este es tu caso, entonces te interesará integrar tu impresora en el sistema de domótica para que te avise por Telegram y saber si tienes que cambiar los cartuchos.
Qué necesitas antes de empezar
Para poder seguir esta guía de configuración paso a paso sin problemas, es totalmente necesario que tengas todos los «ingredientes» preparados. A continuación, os explicamos qué necesitas:
- Home Assistant instalado y operativo: Tu sistema de domótica debe estar funcionando en la red local donde quieres monitorizar la impresora, y, por tanto, el estado de la tinta. En nuestro caso, usamos Home Assistant OS virtualizado, pero en un sistema con Docker el funcionamiento es el mismo porque no necesitamos instalar complementos externos, ya que forma parte de las integraciones predeterminadas.
- Impresora compatible con IPP: La impresora debe estar conectada a tu red local (vía Wi-Fi o cable) y soportar el Protocolo de Impresión de Internet (IPP). Generalmente todas las impresoras soportan este protocolo, desde las más antiguas hasta las más modernas. No obstante, si tienes problemas a la hora de buscarla en la red, mira en la documentación oficial de tu impresora.
- Dirección IP Fija para la impresora: Es muy importante que la IP privada de la impresora no cambie. Configúrala como IP estática desde los ajustes de la propia impresora, o bien desde el router en la sección de «DHCP / Static DHCP». Es muy importante que esta IP nunca cambie.
- Servicio de Telegram configurado en Home Assistant: Es fundamental que ya tengas previamente las notificaciones por Telegram configuradas, incluyendo el bot, el chat ID donde enviar las notificaciones etc. Puedes ver nuestro tutorial de configuración de Telegram en Home Assistant. Si quieres usar otro tipo de notificaciones, como correo electrónico, Discord e incluso notificaciones push, tendrás que configurarlo previamente.
| Nº | Acción / Verificación esencial | Completado |
|---|---|---|
| 1 | Verificar que la impresora está encendida y conectada a la misma red que Home Assistant. | ☐ |
| 2 | Confirmar la dirección IP de la impresora y asegurarse de que es estática. | ☐ |
| 3 | Comprobar que la integración de notificaciones de Telegram funciona enviando un mensaje de prueba. | ☐ |
| 4 | Asegurarse de tener acceso como administrador a la interfaz de Home Assistant. | ☐ |
Una vez que ya tengamos todo esto listo, podemos seguir con el tutorial paso a paso.
Configura la integración de IPP en Home Assistant
Lo primero que debemos hacer es integrar la impresora en nuestro sistema de domótica. Para hacerlo, nos tenemos que ir a la sección de «Ajustes / Dispositivos y servicios» para realizar la integración.
Una vez en este menú, debemos pinchar en el botón que tenemos en la parte inferior derecha, se nos desplegará todo el listado de integraciones oficiales del sistema de domótica, y ponemos en el buscador «ipp», el primer resultado es el que debemos elegir: Internet Printing Protocol (IPP).
Para realizar esta configuración, simplemente debemos rellenar alguna información:
- Host: es la dirección IP de la impresora. Es necesario que tu impresora siempre obtenga la misma dirección IP privada, esto se puede hacer en la propia impresora poniendo IP fija, o bien directamente en el router que tengamos en la sección de «Static DHCP» donde pondremos tanto su dirección MAC como la IP privada que queremos que tenga.
- Puerto: el puerto predeterminado es el 631 y no deberíamos modificarlo, a no ser que tu impresora use otro diferente. Si usa otro diferente tendrás que mirar la documentación.
- Ruta relativa a la impresora: lo dejamos también con el valor predeterminado, si no es ese nos dará error y tendremos que buscarlo en la documentación de la impresora.
Las opciones de «Utiliza un certificado SSL» y «Verificar el certificado SSL» lo dejamos sin marcar, ya que normalmente las impresoras no usan certificados SSL para la conexión cifrada. Una vez que lo hayamos puesto todo, pinchamos en el botón de «ENVIAR».
| Parámetro | Valor requerido | Valor predeterminado | Notas importantes |
|---|---|---|---|
| Host | Dirección IP de la impresora | Ninguno | Debe ser una IP fija para evitar que la integración falle. |
| Puerto | Puerto de comunicación IPP | 631 | No modificar a menos que el manual de tu impresora indique otro. |
| Ruta relativa | Ruta de acceso a la impresora | /ipp/print | Déjalo por defecto. Si falla, consulta la documentación del fabricante. |
| Usar SSL | Casilla de verificación | Desmarcado | La mayoría de impresoras en red local no usan SSL para esto. |
Nos indicará que ha tenido éxito, y que se ha creado una configuración para la dirección IP que hemos indicado anteriormente. Aquí ya debería reconocerte la marca y modelo de la impresora en cuestión, tal y como nos aparece a nosotros.
Si nos metemos en la propia integración de «Internet Printing Protocol (IPP)» podemos ver el dispositivo que acabamos de añadir, el cual dispone de 5 entidades en total. En el caso de querer añadir más impresoras podemos seguir el mismo proceso que antes, o directamente pinchar en «Añadir dispositivo«.
Si nos metemos en el dispositivo de la impresora, podemos ver la marca y modelo, la versión de firmware, así como los sensores que tenemos disponibles. Básicamente tendremos un sensor por cada color de la impresora: negro, cyan, magenta y amarillo. También tendremos un sensor adicional de diagnóstico que podemos habilitar, pero de manera manual.
Si nos vamos a la sección de «Entidades», podemos ver todas las entidades que tenemos, incluyendo la que está deshabilitada que es el tiempo de funcionamiento de la impresora, tal y como podéis ver:
Si queremos habilitar esta entidad, basta con pinchar sobre ella, y activar la opción de «Habilitada», pinchamos en «Actualizar» y esperamos un minuto a que esté disponible.
Una vez que ya tenemos la integración lista de nuestra impresora, ahora tenemos que configurar una automatización para que compruebe continuamente el nivel de tinta de la impresora y nos avise por Telegram si baja de un cierto umbral.
Configura la automatización y que te avise por Telegram
El sistema de domótica de Home Assistant, a partir de la versión 2024.1 ha sufrido importantes cambios en las automatizaciones y scripts, cambiando los diferentes nombres que aparecían y también reordenando qué es lo que queremos automatizar, si dispositivos, entidades, entidades numéricas y un largo etcétera. De esta forma, la interfaz gráfica de usuario ha cambiado bastante con respecto a lo que teníamos antes, pareciéndose más a las automatizaciones que tenemos disponibles en los diferentes fabricantes de dispositivos de domótica, perfecto para que los usuarios no perciban ninguna diferencia ni les cueste cambiar de un sistema a otro.
Para configurar una automatización, debemos irnos a la sección de «Ajustes / Automatizaciones y escenas«, que es donde tendremos todas las automatizaciones configuradas.
Podremos ver todas las automatizaciones, aunque también tenemos acceso a las escenas, scripts y planos. En este menú, pinchamos en el botón que tenemos en la parte inferior derecha donde pone «Crear automatización«.
En el menú desplegable que nos aparece, pinchamos en «Crear nueva automatización«.
La automatización que vamos a crear consiste en comprobar uno a uno todos los niveles de tinta de la impresora, y si alguno baja del 35% entonces nos avisará por Telegram indicándonos que revisemos los niveles de tinta de la impresora. Lo primero que debemos indicar antes de crear una automatización, es que, tenemos varias formas de crearlas dependiendo del tipo de dispositivo y lo que queramos hacer, por ejemplo, para poder hacer esto que os hemos propuesto, en «Cuando» podemos elegir «Dispositivo» o «Entidad», ya que dentro de «Entidad» tenemos tanto el «Estado» como también el «Estado numérico».
En este ejemplo, hemos elegido en «Cuando» la opción de «Dispositivo«:
Elegiremos el dispositivo «HP OfficeJet Pro 8020 Series» que es nuestra impresora, dependiendo de qué marca y modelo sea la tuya, aparecerá de una forma u otra en el desplegable que nos permite elegir todos los dispositivos.
Una vez que lo hayamos elegido, en la sección de «Cuando» podemos ver las diferentes opciones, en este caso, hemos elegido «El valor de HP OfficeJet Pro 8020 series black cartridge cambia» y hemos puesto «Por debajo de 35«.
Podemos configurar un desencadenante por cada color de la impresora, es decir, un total de cuatro desencadenantes. La configuración sería exactamente igual, solamente debemos cambiar el desencadenante en cuestión.
Una vez que hayamos configurado los cuatro desencadenantes, nos vamos a la sección de «Entonces hacer» para proceder a enviarnos el aviso a través de Telegram. Si no has configurado las notificaciones de Telegram en Home Assistant, es necesario hacerlo antes de seguir, en RedesZone tienes un completo tutorial sobre cómo crear el correspondiente bot, cómo crear el grupo y añadir el bot a dicho grupo.
En esta sección elegiremos «Llamar a servicio«, y una vez dentro, ponemos «Notificaciones«, y elegiremos si queremos notificación en el grupo o individual, y posteriormente ponemos el título y también el mensaje en cuestión.
Ahora ya solamente necesitamos guardar esta «Automatización» con un nombre y una breve descripción, y pinchamos en el botón de «Guardar«.
El resumen de toda la configuración sería la siguiente:
Si tienes la tinta baja, la automatización te enviará cada cierto tiempo un mensaje por Telegram recordándotelo, lo que puede generar una repetición frecuente de alertas que afecte la experiencia de usuario. Tienes la posibilidad de apagar esta automatización durante un tiempo, y luego volver a activarla para que así no te moleste tanto. En «Llamar a servicio» puedes elegir el «Service > Automatización: Apagar«, eliges la opción «Elige entidad» y seleccionas la automatización que acabas de crear (la automatización en sí misma), es muy importante que no selecciones la opción de «Detener acciones», porque si no, no se podrá volver a activar automáticamente.
Después añades un retraso de 48 horas o las que quieras, y finalmente vuelves a llamar a la «Automatización: Encender» con la misma entidad.
El resumen de la configuración entera sería la siguiente:
De esta forma, la automatización nos avisará sobre si algún cartucho de tinta está por debajo del umbral del 35%, al avisarnos se desactivará la automatización, esperará 48 horas y volverá a activarla. De esta forma, no recibirás varios mensajes por Telegram en el mismo día. Un aspecto que debes tener muy en cuenta, es que si reinicias el sistema de domótica dentro de estas 48 horas donde se ha desactivado, luego no se volverá a activar la automatización hasta que tú lo hagas manualmente. Podrías crear una automatización al inicio del sistema, que cuando se termine de iniciar, habilite las automatizaciones que tú quieras y así podrás volver a recibir los avisos por Telegram sin ningún problema.
La potencia de Home Assistant reside en su flexibilidad. Aunque usamos Telegram en este ejemplo, puedes enviar la alerta a casi cualquier servicio, como por correo electrónico, a través de notificaciones push al móvil, e incluso cualquier otro servicio de mensajería que tengas, ya que este sistema de domótica tiene una gran compatibilidad con este tipo de servicios. Home Assistant proporciona un servicio genérico «notify» que permite usar cualquier tipo de comunicación con el usuario, por ejemplo, podrías elegir notify.mobile_app_nombre_del_movil (donde «nombre_del_movil» es el identificador único de tu dispositivo registrado en Home Assistant) para recibir notificaciones push directamente a través de la aplicación de Home Assistant.
Solución de problemas comunes
Pese a que es muy interesante configurar que, por ejemplo, al bajar de un 30% de tinta negra, recibamos un aviso, hay que conocer previamente una serie de posibles problemas que nos encontraremos a la hora de configurar esta integración y automatización.
- Compatibilidad: Como ya hemos comentado, y pese a que la mayoría de impresoras a día de hoy poseen este sistema de IPP, no todas serán compatibles, por lo que si estás pensando en adquirir una y agregarle este tipo de notificaciones, asegúrate de que lo sea, ya que podrías volverte loco y no conseguir configurarlo. Puedes verificarlo consultando la documentación oficial de la integración IPP en Home Assistant para obtener más detalles técnicos.
- Conexión siempre necesaria: Si alguien utiliza la impresora como fotocopiadora, por ejemplo, y no se conecta Internet, no recibirás ningún aviso, y en el momento de querer imprimir es probable que ya tengas un nivel muy inferior, por lo que, pese a ser un buen notificador, siempre tenemos que cogerlo con pinzas, puesto que es solo una medida de aviso más, pero nunca fiarnos de ella puesto que incluso podemos creer que está conectada y en ese momento haber algún problema con el router y que no pueda enviar la información, pese a que sí imprima.
- Fiabilidad de los niveles: Este punto es más personal, y es que no es la primera impresora que tengo que solo utiliza 4 niveles de tinta (25%, 50%, 75% y 100%), por lo que no podremos configurar más allá de ellas, sin embargo, ni siquiera podríamos confiar, pues he tenido algunos modelos que pasan del 50% al nivel bajo de golpe, así que también hay que tener en cuenta las opciones que nos da, y si tiene realmente un buen medidor de tinta. Home Assistant solo lee la información que la impresora proporciona, si los datos son imprecisos no es problema del sistema de domótica.
Como podéis ver, hay algunos problemas comunes que nos encontraremos a la hora de usar IPP. Si estos posibles problemas no suponen un inconveniente en tu equipo y uso, adelante, sin embargo, no está de más conocerlos, y no fiarnos siempre de los avisos recibidos, ya que están muy bien como segunda medida de seguridad, sin embargo, lo mejor será hacerlo manualmente de todas formas.
¿Qué hacer si Home Assistant no detecta mi impresora?
Este es el problema más habitual, es muy importante que compruebes la conectividad de la impresora y si está disponible el protocolo IPP.
- Paso 1: Verifica la conectividad de la impresora.
- Accede a la interfaz web de tu impresora desde un navegador web, tienes que poner https://ip_impresora y acceder a ella.
- Confirma que la impresora está conectada a la red local. Recuerda poner una IP fija privada a través de la impresora o del router.
- Paso 2: Intenta la detección automática en Home Assistant.
- Ve a «Ajustes / Dispositivos y Servicios / Integraciones».
- Home Assistant puede detectar automáticamente impresoras IPP conectadas a la red local.
- Si aparece como «Descubierta», haz clic para configurarla inmediatamente.
- Paso 3: Configuración manual si falla la detección automática.
- En la sección de Integraciones, haz clic en el botón Añadir integración (parte inferior derecha).
- Busca «IPP» y selecciona Internet Printing Protocol.
- Introduce manualmente: dirección IP de la impresora, puerto (631 por defecto) y la ruta relativa predeterminada (/ipp/print). Las opciones de SSL las dejas deshabilitadas.
- Haz clic en Siguiente y verifica que aparezca en la lista de integraciones.
Como podéis ver, los pasos son bastante sencillos.
¿Cómo puedo verificar la ruta IPP si la predeterminada falla?
En este caso tienes que acceder a tu impresora vía web, tienes que poner https://ip_impresora y acceder a ella a través de un navegador. Ahora tienes que buscar la opción de «Servicios de red», y verifica si hay alguna información relativa el protocolo IPP. Podrás ver la ruta de impresión, las más habituales son /ipp/print, /ipp, o /printer. Os recomendamos probar todas ellas para acertar con la ruta correcta, y así poder ver los datos de la tinta de impresora.
Si la ruta predeterminada por Home Assistant no funciona, edita la integración IPP pinchando en «Configurar» y vuelves a introducir los datos. Después de cada cambio, es recomendable reiniciar el sistema desde «Ajustes».
Mi impresora muestra niveles de tinta incorrectos, ¿se puede calibrar?
Los niveles de tinta reportados a Home Assistant dependen directamente de la impresora, no del propio sistema de domótica. Lo único que se hace es leer los valores que la impresora proporciona, así que no se pueden modificar ni calibrar de ninguna forma. Si los niveles son incorrectos, entonces hay que mirar los sensores de la impresora o su configuración.
En este caso, el problema está directamente en la impresora, es recomendable que mires los foros de Internet para ver opiniones de otros usuarios, y comprobar si todo funciona o no.
Conclusiones
Integrar nuestra impresora, independientemente de la marca que sea, en nuestro sistema de domótica con Home Assistant, es realmente fácil. Lo mejor de las integraciones es que podemos realizar automatizaciones para realizar ciertas acciones, como avisarnos por Telegram de que la tinta de nuestra impresora está baja, o directamente que haga alguna otra automatización como apagar la impresora si tenemos un enchufe inteligente, las posibilidades que tenemos son casi ilimitadas.
En nuestro caso, hemos usado una impresora HP multifunción, pero en principio, la gran mayoría de las impresoras deben ser compatibles, el único requisito es que estén conectadas por cable o Wi-Fi y que tengamos comunicación con Home Assistant. Habitualmente lo que se hace es crear una red WiFi y cableada separada entre la domótica y la red principal, y si la impresora la tenemos en la red principal, dependiendo de las políticas aplicadas es posible que no haya comunicación, debemos asegurarnos de esto previamente.
