Tarjeta para impresora 3d

Tarjeta para impresora 3d

Vamos a crear una tarjeta para impresora 3d, de forma que podamos visualizar toda la información y controlarla desde nuestro panel.

Requisitos previos

Para crear esta tarjeta para impresora 3d necesitas lo siguiente:

Código de la tarjeta

A continuación puedes encontrar el código completo de mi tarjeta para impresora 3d (que tendrás que adaptar a tus entidades y preferencias). Además en los siguientes apartados te explicaré cómo funciona cada apartado.

type: vertical-stack
cards:
  - type: custom:bubble-card
    card_type: pop-up
    hash: '#impresora3d'
    name: Impresora 3D
    icon: mdi:printer-3d
  - square: false
    columns: 2
    type: grid
    cards:
      - type: custom:mushroom-template-card
        primary: Ender 3 v3 SE
        secondary: >
          {% if (states('switch.impresora3d')) =="on" %}Encendida {% else
          %}Apagada {% endif %}
        icon: mdi:power
        icon_color: >
          {% if (states('switch.impresora3d')) =="on" %}lime {% else %}red {%
          endif %}
        tap_action:
          action: call-service
          service: switch.toggle
          target:
            entity_id: switch.impresora3d
        card_mod:
          style: |
            ha-card { 
              background: #222c40!important;
            }    
      - type: custom:mushroom-template-card
        primary: OctoPrint
        secondary: >
          {% if (states('sensor.octoprint_current_state')) =="Operational" %}On
          line {% else %}Off line {% endif %}
        icon: mdi:server-network
        icon_color: >
          {% if (states('sensor.octoprint_current_state')) == "Operational"
          %}lime {% else %}red {% endif %}
        tap_action:
          action: call-service
          service: script.lanzar_octoprint
          target: {}
        card_mod:
          style: |
            ha-card { 
              background: #222c40!important;
            }    
  - type: custom:bubble-card
    card_type: separator
    name: Control de la impresora
    icon: mdi:camera-control
  - type: picture-entity
    camera_view: live
    entity: camera.octoprint_camera
    show_state: false
    show_name: false
  - square: false
    columns: 3
    type: grid
    cards:
      - type: custom:mushroom-template-card
        icon: mdi:pause
        layout: vertical
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.octoprint_pause_job
        card_mod:
          style: |
            ha-card { 
              background: #222c40!important;
            }    
      - type: custom:mushroom-template-card
        icon: mdi:play
        layout: vertical
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.octoprint_resume_job
        card_mod:
          style: |
            ha-card { 
              background: #222c40!important;
            }    
      - type: custom:mushroom-template-card
        icon: mdi:stop
        layout: vertical
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.octoprint_stop_job
        card_mod:
          style: |
            ha-card { 
              background: #222c40!important;
            }    
  - type: custom:bubble-card
    card_type: separator
    name: Información
    icon: mdi:chart-box
  - type: entities
    entities:
      - entity: sensor.octoprint_job_percentage
        name: Grado de avance
        icon: mdi:cog
      - entity: sensor.octoprint_estimated_finish_time
        name: Tiempo restante
        icon: mdi:timer-sand
      - entity: sensor.octoprint_actual_bed_temp
        name: Tª Cama
        icon: mdi:square
      - entity: sensor.octoprint_actual_tool0_temp
        name: Tª Extrusor
        icon: mdi:printer-3d-nozzle
    card_mod:
      style: |
        ha-card { 
          background: transparent;
          box-shadow: none;
          margin-top: -25px;
          margin-bottom: -20px;
          margin-left: -16px;
          border: 0px;
        }

Apertura de la tarjeta

Primero vamos a definir cómo acceder a la para impresora 3d. Por supuesto, podrías crear simplemente una nueva vista dentro de tu panel de control y añadir ahí toda la información. No obstante, a largo plazo esta dinámica saturaría tu menú de muchas vistas con poca información.

En su lugar vamos a crear un elegante ‘pop-up’ utilizando la tarjeta Bubble Card, que además vamos a utilizar para definir las cabeceras de los apartados. Por lo demás no tiene nada de especial, y puedes crearlo siguiendo las instrucciones genéricas para crear pop-up personalizados.

💡 En mi caso voy a lanzar el pop-up desde una de mis tarjetas de habitación, desde la que controlo todos los elementos de mi casa. Además también me indicará visualmente si la impresora 3d está en pleno funcionamiento mediante el color y el movimiento del icono (utilizando el sensor de potencia del enchufe inteligente y sensor 'binary_sensor.octoprint_printing').
tarjeta habitación

Información de estado

Lo primero que me interesa es saber si la impresora está encendida o apagada, y si el servidor de OctoPrint está online. Esta información la voy a reflejar con dos tarjetas «Mushroom Template». Como puedes observar tanto la información como el color del icono varía en función de los estados correspondientes (que puedes personalizar como quieras).

tarjeta impresora 3d

Además, también quiero tener el control de la impresora de forma remota. Esto me va a resultar de gran utilidad para poder actuar rápidamente incluso aunque esté fuera de casa. En concreto quiero que al pulsar en la tarjeta correspondiente provoque:

  • Encendido y apagado remoto de la impresora. Esto me va a resultar de gran utilidad cuando me vaya de casa dejando una impresión en curso, para poder apagarla cuando termine. Para ello me voy a apoyar en el enchufe inteligente que tengo conectado a la impresora.
  • Lanzar la aplicación de OctoPrint. Como ya te he contado antes, tengo el servidor de OctoPrint funcionando en un teléfono viejo, por lo que haciendo uso de los ‘intents’ de Android puedo lanzar la aplicación de forma remota. Si te interesa esta opción, aquí te dejo el script que he creado para ello.
alias: Lanzar OctoPrint
sequence:
  - service: notify.mobile_app_DISPOSITIVO
    data:
      message: command_screen_on
      data:
        ttl: 0
        priority: high
  - service: notify.mobile_app_DISPOSITIVO
    data:
      message: command_launch_app
      data:
        package_name: com.octo4a
description: ""
icon: mdi:printer-3d

Control de la impresora

Por supuesto, uno de los motivos para crear la tarjeta para impresora 3d es poder tener acceso directo a la cámara durante una impresión y pausarla, reanudar la impresión o detenerla si es necesario.

Para ello he incluido la imagen que me proporciona el teléfono (colocado sobre un trípode para enfocar al área de impresión) y unas tarjetas «Mushroom template» que actúan de controles.

tarjeta impresora 3d

Información de la impresión

Por último pero no menos importante, he añadido en una tarjeta del tipo «Entidades» alguna información que siempre nos resulta de interés a la hora de realizar una impresión. En mi caso he incluido el grado de avance, el tiempo estimado de finalización y la temperatura de la cama y el extrusor. No obstante puedes personalizar la tuya como quieras!

tarjeta impresora 3d

¿Dudas?¿necesitas ayuda? entra aquí
Y si te ha gustado, compártelo! 🙂
Contenido exclusivo de Aguacatec
Send this to a friend