Usar Octoprint de forma remota vía Telegram

Preámbulo

Segunda parte de la guía para usar Octoprint, esta vez será para poder controlarlo de forma remota y segura a través de la aplicación Telegram. Hay varias maneras de controlarlo, pero la más sencilla y segura de hacerlo es a través de la aplicación de mensajería Telegram mediante comandos.

Elementos a preparar

  • Octoprint instalado y funcionando. Consultar aquí.
  • Telegram instalado en tu móvil o en el ordenador.
  • El complemento OctoPrint Telegram.

Preparación del bot en Telegram y Octoprint

Creación del bot

Será como una especie de conversación con nuestro bot que se va a crear. Para permitir que el complemento de Telegram pueda enviar mensajes hay que registrar el bot.

Para ello se inicia una conversación con @BotFather en la aplicación de Telegram. Inicias el bot con /start y empiezas a conversar con él.

  1. Envía /newbot y pon un nombre a tu bot de Telegram, el mío se llamára Zepyrynter, y hay que asignarle un nombre de usuario, que debe de terminar en bot, será: @ZepyrnterBot.
  2. El bot te dará un token, que es como un código único que autentifica la sesión. Es una especie de usuario y contraseña unificado en uno. Manténgalo en un sitio seguro.

Configuración del complemento en Octoprint

El bot que configuramos funciona gracias al complemento (llamado también plugin), hay que instalarlo y configurarlo. Empecemos:

  1. Instalar el complemento a través de la administración de complementos (Plugin Manager) o instalarlo manualmente usando la siguiente dirección: https://github.com/fabianonline/OctoPrint-Telegram/archive/stable.zip

    Opción mediante administrador de complementos.

    Opción mediante URL.

  2. Una vez instalado, reiniciar el servidor de Octoprint.
  3. Al recargar el servidor después de reiniciar, se nos abrirá automáticamente el asistente de configuración de Telegram.
    • En caso de que no se nos aparezca el panel, lo podemos encontrar en configuración de Octoprint, en el panel derecho donde pone Telegram.
  4. Introducir el token que nos dio @BotFather al crear el bot. Probar el token, y si todo ha salido bien, dar al botón finalizar.

    Prueba del token en el complemento Telegram.

     

Configuración del usuario

En la aplicación Telegram, debemos de buscar nuestro bot, que hay varias maneras de buscarlos:

  • Una de ellas es usar el buscador de usuarios y escribir el nombre de usuario, el que terminaba con bot,
  • La otra manera es ir a la conversación con BotFather y pinchar en el enlace que nos dio en el último mensaje.

Empezar una conversación con el bot, lanzando el comando /start o bien, dándole a Iniciar. Nos saldría algo como esto:

Inicio del bot en Telegram.

Mientras que en Octoprint, hay que ir a configuración, panel izquierdo, abajo del todo en Telegram en el apartado Known Chats, dar al botón Reload y nos saldrá algo como esto:

Chat reconocido por el complemento Telegram.

Abajo del todo estará el botón de guardar, presionar y volver otra vez al panel de configuración de Telegram, en la sección de Known Chats. Veremos que está marcado en X los permisos de enviar comandos y notificaciones. Para habilitar, le damos al lápiz, permitimos ambas cosas, y en los botones azules, permitir todos los comandos y todas las notificaciones, cerramos el panel y volvemos a darle a guardar. Nos debería de quedar algo como esto:

Permisos concedidos.

Si hay más de un usuario en el bot podemos conceder/denegar los permisos a los nuevos usuarios según nos parezca, e incluso los podemos sacar de la sala dándole a la papelera.

Notificaciones

Las notificaciones están en el apartado Messages at… y están escritas por defecto en inglés, podemos cambiarlo por el mensaje que queramos. Cojamos de ejemplo el PrintStarted.

El mensaje por defecto es: Started printing {file}., lo cambiamos a: Impresión iniciada. El archivo utilizado es {file}.

Impresión iniciada.

Además, también se nos enviará una imagen.

Guardamos en el botón que está abajo del todo y probamos. Le damos a imprimir cualquier archivo y en la aplicación de Telegram nos saldrá esto:

Impresión iniciada en Telegram

A partir de ahí, podemos cambiar en todos los mensajes de notificación o dejarlo como están. Podemos configurar también si queremos que se nos envíe una foto o no.

Comandos

Listado de comandos disponibles para interactuar con Octoprint, por ejemplo si ha empezado a imprimir, pedirle que se nos envíe una foto para ver cómo va o bien, si las cosas se ponen feas, parar la impresión.

  • /abort – Detiene la impresión. Requiere confirmación.
  • /shutup – Silencia el bot hasta que la impresión termine.
  • /dontshutup – Vuelve a permitir al bot que te mande notificaciones.
  • /status – Información del estado de la impresora.
  • /settings – Configura el intervalo de las notificaciones, ajustable en cada altura o en cada tiempo. Por defecto 5 milímetros o cada 15 minutos.
  • /files – Muestra un listado de ficheros en el que tienes guardado en la microSD de la Raspberry. También te permite subir nuevos archivo e incluso descargarlos. Si presionamos sobre un archivo GCode nos mostrará información sobre el tiempo de impresión, filamento que gastará y lo que ocupa.
  • /print – Comienza una impresión. En ella seleccionamos el archivo a imprimir.
  • /togglepause – Pausa o reanuda la impresión.
  • /con – Conecta / desconecta la impresora.
  • /upload – Sube un archivo a Octoprint.
  • /sys – Ejecuta un comando de Octoprint que pueden ser reiniciar, apagar o reiniciar el servidor.
  • /ctrl – Controla la impresora, como haríamos con G28, G0 Z10… Es un poco inútil y necesita ser configurado.
  • /tune – Ajusta la temperatura del cabezal, cama, feedrate flowrate. Con ella podemos precalentar la impresora.
  • /user – Muestra la información del usuario, permisos que tienes y las notificaciones permitidas.
  • /help – Muestra la lista de comandos.

Fuente

https://github.com/fabianonline/OctoPrint-Telegram

Bonus

Para poner una imagen a nuestro bot, tenemos que hablar con @BotFather y escribirle /setuserpic, se nos pedirá a que bot, le damos al de la impresora y le enviamos una foto.

Para crear la lista de comandos mencionada arriba y que se nos autocomplete en el bot, le escribimos /setcommands, se nos pedirá el bot, y pegamos el listado de abajo.

abort - Detiene la impresión. Requiere confirmación.
shutup - Silencia el bot hasta que la impresión termine.
dontshutup - Vuelve a permitir al bot que te mande notificaciones.
status - Información del estado de la impresora.
settings - Configura el intervalo de las notificaciones, ajustable en cada altura o en cada tiempo. Por defecto 5 milímetros o cada 15 minutos.
files - Muestra un listado de ficheros en el que tienes guardado en la microSD de la Raspberry. También te permite subir nuevos archivo e incluso descargarlos. Si presionamos sobre un archivo GCode nos mostrará información sobre el tiempo de impresión, filamento que gastará y lo que ocupa.
print - Comienza una impresión. En ella seleccionamos el archivo a imprimir.
togglepause - Pausa o reanuda la impresión.
con - Conecta / desconecta la impresora.
upload - Sube un archivo a Octoprint.
sys - Ejecuta un comando de Octoprint que pueden ser reiniciar, apagar o reiniciar el servidor.
ctrl - Controla la impresora, como haríamos con G28, G0 Z10... Es un poco inútil y necesita ser configurado.
tune - Ajusta la temperatura del cabezal, cama, feedrate y flowrate. Con ella podemos precalentar la impresora.
user - Muestra la información del usuario, permisos que tienes y las notificaciones permitidas.
help - Muestra la lista de comandos.

Con ello tenemos todo para empezar lo básico de Telegram y Octoprint, tampoco hay mucho más.
Para cualquier duda puedes contactar conmigo sin dudarlo (¡valga la redundancia!) a través de Telegram o bien a través del grupo Anycubic ES. Estamos encantados de ayudarte. Si tienes alguna petición por una guía o mejorar, házmelo saber.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *