La app ya te crea un panel que funciona cuando sincronizas - esta página es la versión de lujo, hecha a mano. Diez pasos, el YAML de cada tarjeta y una vista completa que puedes pegar de una vez. Recuadros de cristal verde, una lectura de imagen en vivo, tus escenas y un gráfico de horas del láser, todo desde un solo sensor de proyector. Cambia dos cadenas y es tuyo.
configuration.yaml y reiniciar Home Assistant. Esto es lo que crea los scripts a los que llama cada botón de control de abajo.Este panel se alimenta de dos fuentes, y la diferencia importa en cada paso que sigue.
| Procede de | Te da |
|---|---|
El sensor del proyector, sensor.YOUR_PROJECTOR | Cada lectura. Encendido, entrada, modo de color, todas las cifras de imagen, HDR y señal, objetivo y geometría, horas de lámpara. En vivo en cuanto inicias sesión y sincronizas, sin necesidad del bloque Copiar. |
Los scripts sincronizados de la app, script.projpilot_YOURSERIAL_... | Cada control. Encendido, entradas, modos de color, memorias de objetivo y tus escenas. Solo existen después de pegar el bloque Copiar, reiniciar Home Assistant y tocar Sincronizar con HA. |
Las cuatro están en la tienda HACS predeterminada. En Home Assistant: HACS › Frontend › Explorar & descargar repositorios, busca el nombre, pulsa Descargar y recarga el navegador.
| Busca | Se usa para | Si te la saltas |
|---|---|---|
| Mushroom | Cada recuadro de información, botón de control y recuadro de escena | Usa una tarjeta button normal. Funciona, pero queda más cuadrada. |
| button-card | El elemento principal, con su etiqueta en vivo | Usa una tarjeta entity, o una tarjeta de plantilla de Mushroom con menos detalle. |
| card-mod | El fondo de cristal verde, los bordes y los degradados | Todo sigue funcionando. Solo que nada recibe su brillo. |
| mini-graph-card | El historial de horas del láser bajo Mantenimiento | Usa la tarjeta history-graph integrada. |
Cada fragmento de esta página usa dos marcadores de posición. Búscalos una sola vez y el resto es copiar y pegar.
sensor.YOUR_PROJECTOR → Herramientas para desarrolladores › Estados en Home Assistant, filtra por projector_pilot. Algo como sensor.projector_pilot_epson_qb1000b_qb1000w.YOURSERIAL → abre la app, Ajustes › Domótica › Home Assistant. El ID derivado del número de serie se muestra ahí mismo, y es la parte central del nombre de cada script sincronizado: script.projpilot_YOURSERIAL_power_on, script.projpilot_YOURSERIAL_input_hdmi1, etc.También puedes filtrar Herramientas para desarrolladores › Estados por projpilot para ver de una vez toda tu lista de controles sincronizados, una vez hechos el bloque Copiar del paso 1 y la sincronización.
Los ajustes propios de la vista, si prefieres escribirlos:
title: Projector Pilot views: - title: Projector Pilot path: projector-pilot icon: mdi:projector cards: []
Empieza por algo que solo lea, para saber que tu ID de entidad es correcto antes de tocar nada que envíe un comando. Este está en vivo en cuanto existe tu sensor de proyector, sin bloque Copiar ni sincronización. Añade una tarjeta, Editar en YAML, pega:
type: custom:mushroom-template-card
primary: Brightness
secondary: '{{ state_attr(''sensor.YOUR_PROJECTOR'',''brightness'') }}'
icon: mdi:brightness-6
icon_color: green
layout: vertical
fill_container: true
card_mod:
style: 'ha-card { background: rgba(18,26,20,0.60); border: 1px solid rgba(61,220,107,0.20);
border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32); backdrop-filter: blur(8px);
min-height: 104px; }'
La misma forma lee cualquiera de los ~80 atributos que lleva el sensor: cambia brightness por contrast, gamma, color_temp, hdr_pq, lamp_hours, lo que quieras en el recuadro.
Guárdalo. Si aparece un número o una palabra real, tu ID de entidad es correcto y todo lo de abajo funcionará. Si sale en blanco, vuelve al paso 2.
Un título simple es espacio muerto. Esto es una tarjeta markdown con un fondo degradado de card-mod, y es lo que convierte una pila de recuadros en secciones con nombre. Cada sección del panel empieza con una de estas, solo cambian la etiqueta y el emoji.
type: markdown
content: '🔌 **POWER & SOURCE**'
card_mod:
style: 'ha-card { background: linear-gradient(135deg, rgba(61,220,107,0.30), rgba(16,120,60,0.30));
border: 1px solid rgba(61,220,107,0.45); border-radius: 14px; box-shadow: 0 6px 20px rgba(0,0,0,0.3); }
ha-markdown { padding: 12px 20px !important; } ha-markdown p { margin: 0 !important;
letter-spacing: 3px; color: #eafff0; font-size: 14px; font-weight: 700; }'
Cambia el código del emoji y el texto de la etiqueta; el bloque de card-mod es idéntico en todas las secciones.
Este envía un comando en lugar de limitarse a leer un valor, así que antes tienen que existir los scripts. Llama a script.projpilot_YOURSERIAL_power_on, que la app solo escribe después de que pegues su bloque Copiar en configuration.yaml, reinicies Home Assistant y toques Sincronizar con HA.
type: custom:mushroom-template-card
primary: Power On
icon: mdi:power
icon_color: green
layout: vertical
fill_container: true
tap_action:
action: call-service
service: script.projpilot_YOURSERIAL_power_on
card_mod:
style: 'ha-card { background: linear-gradient(135deg, rgba(61,220,107,0.16), rgba(16,90,46,0.20));
border: 1px solid rgba(61,220,107,0.34); border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32);
min-height: 92px; }'
La misma tarjeta sirve para Apagar, Ocultar pantalla, HDMI 1, HDMI 2, Silencio A/V, un modo de color o una memoria de objetivo: solo cambian la etiqueta, el icono y service.
El elemento principal arriba del panel es un button-card: un estado de encendido grande, un resumen de una línea construido con varios atributos a la vez, y el tratamiento de cristal verde en toda la tarjeta y no solo en su borde.
type: custom:button-card entity: sensor.YOUR_PROJECTOR name: Epson QB1000 show_state: true show_label: true size: 48px state_display: '[[[ return entity.state==''on'' ? ''Powered on'' : ''Standby''; ]]]' label: '[[[ var a=entity.attributes; return (a.input||''-'')+'' • ''+(a.color_mode||''-'')+ '' • ''+(a.video_range||''-'')+'' • ''+(a.lamp_hours||0)+'' h''; ]]]' styles: card: - height: 176px - background: linear-gradient(135deg, rgba(61,220,107,0.32), rgba(11,64,34,0.6)) - border: 1px solid rgba(61,220,107,0.5) - border-radius: 22px - box-shadow: 0 12px 36px rgba(0,0,0,0.42) - padding: 20px state: - color: '[[[ return entity.state==''on'' ? ''#3ddc6b'' : ''#8a9'' ]]]'
Recortado a las piezas que cambian en cada instalación. La tarjeta completa también define el icono, el nombre y las posiciones de la cuadrícula de etiquetas; consulta la descarga del paso 10 para verlo todo.
¿Prefieres una tira más fina? Un mushroom-chips-card hace lo mismo en una sola fila de pequeños chips: estado de encendido, entrada, modo de color, rango de vídeo y horas de lámpara, cada uno una plantilla que lee state_attr('sensor.YOUR_PROJECTOR', ...). Usa uno u otro, no los dos, arriba del panel.
Cada escena que guardas en la app se convierte en un script llamado script.projpilot_YOURSERIAL_scene_<id> cuando sincronizas, y un recuadro para una es la misma tarjeta de botón de control del paso 6 con un nombre de escena y un icono.
type: custom:mushroom-template-card
primary: Movie Night
icon: mdi:movie-open
icon_color: green
layout: vertical
fill_container: true
tap_action:
action: call-service
service: script.projpilot_YOURSERIAL_scene_YOURSCENE1
card_mod:
style: 'ha-card { background: linear-gradient(135deg, rgba(61,220,107,0.16), rgba(16,90,46,0.20));
border: 1px solid rgba(61,220,107,0.34); border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32);
min-height: 92px; }'
Sustituye YOURSCENE1 por el ID que se muestra para esa escena en la lista de controles sincronizados de la app. Un recuadro por escena, en un horizontal-stack.
Home Assistant registra el sensor del proyector como cualquier otro, así que lamp_hours tiene un historial gratis. Sin sensores extra, sin helpers, sin nada que configurar antes, bajo la sección Mantenimiento.
type: custom:mini-graph-card
entities:
- entity: sensor.YOUR_PROJECTOR
attribute: lamp_hours
name: Laser hours
name: Laser hours
icon: mdi:lightbulb-on-outline
line_color: '#3ddc6b'
line_width: 4
hours_to_show: 336
points_per_hour: 0.5
height: 96
animate: true
card_mod:
style: 'ha-card { background: rgba(18,26,20,0.60); border: 1px solid rgba(61,220,107,0.20);
border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32); backdrop-filter: blur(8px); }'
336 horas son dos semanas. Las horas de láser y de lámpara suben de forma constante en lugar de dar saltos, así que una ventana de dos semanas suele bastar para ver la tendencia sin que el gráfico parezca plano.
La vista completa, cada sección y cada tarjeta de la captura de la parte superior de esta página, con marcadores de posición en lugar de IDs de entidad.
YOUR_PROJECTOR por el ID de entidad de tu sensor de proyector del paso 2, y YOURSERIAL por tu ID derivado del número de serie del paso 2.YOURSCENE1, YOURSCENE2 y YOURSCENE3 por tus tres ID de escena, o añade y quita recuadros según cuántas escenas tengas realmente.configuration.yaml, se reinicia Home Assistant y tocas Sincronizar con HA.Comprueba el nombre del atributo con lo que el sensor lleva de verdad: Herramientas para desarrolladores › Estados, tu entidad sensor.YOUR_PROJECTOR, y lee su lista de atributos. Algunas lecturas, como HDR PQ o HDR HLG, solo se rellenan mientras el proyector recibe de forma activa ese tipo de señal, así que Desconocido en esas dos puede ser correcto y no un fallo. Si todo el sensor parece escaso, despierta el proyector: un equipo en espera publica muy poco.
Aún no has pegado el bloque Copiar, o Home Assistant no se ha reiniciado desde que lo hiciste. Los botones de control y de escena llaman a scripts que escribe la app, y esos scripts no existen hasta que Ajustes › Domótica › Home Assistant en la app tiene el bloque Copiar pegado en configuration.yaml, Home Assistant reiniciado una vez y Sincronizar con HA pulsado. Ejecuta primero Probar conexión en la app - te dice si el bloque está presente antes de que busques un error en el panel.
Filtra por projpilot en lugar del número de serie completo - es más fácil ver toda la lista. Si falta un control o una escena que añadiste hace poco, toca Sincronizar con HA otra vez; se actualiza sobre la marcha sin necesidad de una configuración nueva. Si scripts antiguos y muertos llenan la lista tras borrar una escena, usa Quitar scripts huérfanos en la app.
El patrón es fijo, la parte central no. Tu sensor lleva el nombre del modelo de tu propio proyector, y cada script lleva el número de serie de tu propio proyector, no los marcadores de esta página. Obtén ambos en Herramientas para desarrolladores › Estados y en la pantalla de Home Assistant de la app, como en el paso 2, y úsalos en lugar de escribir el texto de ejemplo.
Domótica es un complemento de pago único. Sin suscripción, sin cuenta, sin nube. Una sola compra lo desbloquea en todas las plataformas que tengas.
No. Cuando tocas Sincronizar con HA en la app, esta te crea directamente en Home Assistant un panel de Projector Pilot ya hecho - el sensor del proyector en vivo más un botón para cada control y escena - y aparece en tu barra lateral como Projector Pilot. Esta página es para montar a mano la versión más rica de cristal verde, o para personalizar lo que creó Sincronizar.
Para igualar el aspecto de la captura, sí: Mushroom, button-card, card-mod y mini-graph-card. Ninguna es imprescindible para que funcionen los controles de fondo - cada botón es una simple llamada a un script, y las tarjetas personalizadas son el estilo por encima.
El sensor del proyector publica sus lecturas en cuanto inicias sesión y sincronizas en la app, así que los recuadros de información están en vivo enseguida. Los botones de control y de escena llaman a scripts que solo existen en Home Assistant después de pegar el bloque Copiar de la app en configuration.yaml, reiniciar Home Assistant y tocar Sincronizar con HA una vez.
El patrón sí, los caracteres exactos no. Tu sensor de proyector lleva el nombre del modelo de tu proyector, y cada script lleva el nombre del número de serie de tu proyector. Donde esta página escribe YOUR_PROJECTOR, pon el ID de entidad de tu propio sensor; donde escribe YOURSERIAL, pon el ID derivado del número de serie que se muestra en la pantalla de Home Assistant de la app.