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

Índice
Requisitos previos
Para crear esta tarjeta para impresora 3d necesitas lo siguiente:
- Obviamente, una impresora 3d.
- Opcionalmente, un enchufe inteligente si quieres controlar el encendido y apagado remoto.
- Haber integrado OctoPrint en Home Assistant.
- Instalar a través de HACS las tarjetas de Card Mod, Bubble Card y Mushroom Cards.
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.

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).

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.

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!


