De app bouwt al een werkend dashboard voor je wanneer je synchroniseert - deze pagina is de deluxe, met de hand gebouwde versie. Tien stappen, de YAML van elke kaart en een complete weergave die je in één keer plakt. Groene glazen tegels, een live beeldweergave, je scènes en een grafiek van laseruren, allemaal vanuit één projectorsensor. Pas twee tekenreeksen aan en het is van jou.
configuration.yaml hebt geplakt en Home Assistant opnieuw hebt gestart. Hierdoor ontstaan de scripts die elke bedieningsknop hieronder aanroept.Twee bronnen voeden dit dashboard, en het verschil doet er bij elke stap hieronder toe.
| Komt van | Levert |
|---|---|
De projectorsensor, sensor.YOUR_PROJECTOR | Elke waarde. Voeding, bron, kleurmodus, alle beeldwaarden, HDR en signaal, lens en geometrie, lampuren. Live zodra je inlogt en synchroniseert, geen Copy-blok nodig. |
De gesynchroniseerde scripts van de app, script.projpilot_YOURSERIAL_... | Elke bediening. Voeding, bronnen, kleurmodi, lensgeheugens en je scènes. Deze bestaan pas nadat het Copy-blok is geplakt, Home Assistant opnieuw is gestart en je op Sync With HA hebt getikt. |
Alle vier staan in de standaard HACS-winkel. In Home Assistant: HACS › Frontend › Verkennen & repositories downloaden, zoek de naam, kies Downloaden en laad daarna je browser opnieuw.
| Zoek naar | Gebruikt voor | Als je het overslaat |
|---|---|---|
| Mushroom | Elke infotegel, bedieningsknop en scènetegel | Gebruik een gewone button-kaart. Werkt, ziet er hoekiger uit. |
| button-card | De hero, met zijn live label | Gebruik een entity-kaart, of een Mushroom-templatekaart met minder detail. |
| card-mod | De groene glazen achtergrond, randen en kleurverlopen | Alles werkt nog steeds. Alleen mist alles zijn gloed. |
| mini-graph-card | De geschiedenis van de laseruren onder Onderhoud | Gebruik de ingebouwde history-graph-kaart. |
Elk fragment op deze pagina gebruikt twee plaatshouders. Zoek de jouwe één keer op en de rest is kopiëren en plakken.
sensor.YOUR_PROJECTOR → Developer Tools › States in Home Assistant, filter op projector_pilot. Iets als sensor.projector_pilot_epson_qb1000b_qb1000w.YOURSERIAL → open de app, Instellingen › Domotica › Home Assistant. De van het serienummer afgeleide id staat daar, en hij vormt het middenstuk van elke gesynchroniseerde scriptnaam: script.projpilot_YOURSERIAL_power_on, script.projpilot_YOURSERIAL_input_hdmi1, enzovoort.Je kunt Developer Tools › States ook filteren op projpilot om je hele gesynchroniseerde bedieningslijst in één keer te zien, zodra het Copy-blok en de Sync van stap 1 klaar zijn.
De eigen instellingen van de weergave, als je ze liever zelf typt:
title: Projector Pilot views: - title: Projector Pilot path: projector-pilot icon: mdi:projector cards: []
Begin met iets wat alleen leest, zodat je weet dat je entity-ID klopt voordat je iets aanraakt wat een commando verstuurt. Deze is live zodra je projectorsensor bestaat, geen Copy-blok, geen sync. Voeg een kaart toe, Edit in YAML, plak:
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; }'
Dezelfde opzet leest elk van de ~80 attributen die de sensor bevat: vervang brightness door contrast, gamma, color_temp, hdr_pq, lamp_hours, wat je maar op de tegel wilt.
Sla op. Verschijnt er een echt getal of woord, dan klopt je entity-ID en werkt alles hieronder. Blijft het leeg, ga dan terug naar stap 2.
Een gewone titel is dode ruimte. Dit is een markdown-kaart met een kleurverloopachtergrond van card-mod, en daarmee wordt een stapel tegels een reeks benoemde secties. Elke sectie op het dashboard opent met zo'n kaart, alleen met een ander label en andere 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; }'
Wijzig de emojicode en de labeltekst; het card-mod-blok is bij elke sectie identiek.
Deze verstuurt een commando in plaats van alleen een waarde te lezen, dus de scripts moeten eerst bestaan. Hij roept script.projpilot_YOURSERIAL_power_on aan, dat de app pas schrijft nadat je het Copy-blok in configuration.yaml hebt geplakt, Home Assistant opnieuw hebt gestart en op Sync With HA hebt getikt.
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; }'
Dezelfde kaart voor Uitschakelen, Beeld uit, HDMI 1, HDMI 2, A/V-mute, een kleurmodus of een lensgeheugen: alleen het label, het pictogram en service veranderen.
De hero bovenaan het dashboard is een button-card: een grote voedingsstatus, een samenvatting van één regel opgebouwd uit meerdere attributen tegelijk, en de groene glazen behandeling over de hele kaart in plaats van alleen de rand.
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'' ]]]'
Ingekort tot de onderdelen die per installatie veranderen. De volledige kaart stelt ook de posities van pictogram, naam en label in het raster in; zie de download in stap 10 voor alles.
Liever een slankere strook? Een mushroom-chips-card doet hetzelfde werk in één rij kleine chips: voedingsstatus, bron, kleurmodus, videobereik en lampuren, elk een template dat state_attr('sensor.YOUR_PROJECTOR', ...) leest. Gebruik de ene of de andere, niet allebei, bovenaan het dashboard.
Elke scène die je in de app opslaat, wordt na een sync een script met de naam script.projpilot_YOURSERIAL_scene_<id>, en een tegel ervoor is dezelfde bedieningsknopkaart uit stap 6 met een scènenaam en pictogram.
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; }'
Vervang YOURSCENE1 door de id die voor die scène in de gesynchroniseerde bedieningslijst van de app staat. Eén tegel per scène, in een horizontal-stack.
De projectorsensor wordt door Home Assistant net als elke andere vastgelegd, dus lamp_hours heeft gratis een geschiedenis. Geen extra sensoren, geen helpers, niets om eerst in te stellen, onder de sectie Onderhoud.
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 uur is twee weken. Laser- en lampuren lopen gestaag op in plaats van te springen, dus een venster van twee weken is meestal genoeg om de trend te zien zonder dat de grafiek er vlak uitziet.
De complete weergave, elke sectie en elke kaart van de schermafbeelding bovenaan deze pagina, met plaatshouders in plaats van entity-IDs.
YOUR_PROJECTOR door de entity-id van je projectorsensor uit stap 2, en YOURSERIAL door je van het serienummer afgeleide id uit stap 2.YOURSCENE1, YOURSCENE2 en YOURSCENE3 door je eigen drie scène-id's, of voeg tegels toe of verwijder ze zodat het aantal overeenkomt met het aantal scènes dat je echt hebt.configuration.yaml is geplakt, Home Assistant opnieuw is gestart en je op Sync With HA hebt getikt.Controleer de attribuutnaam met wat de sensor echt bevat: Developer Tools › States, je sensor.YOUR_PROJECTOR-entity, en lees de attribuutlijst. Een paar waarden, zoals HDR PQ of HDR HLG, worden alleen gevuld als de projector dat soort signaal actief ontvangt, dus Unknown bij die twee kan juist kloppen en hoeft niet kapot te zijn. Ziet de hele sensor er schaars uit, maak de projector dan wakker: een toestel in stand-by publiceert heel weinig.
Je hebt het Copy-blok nog niet geplakt, of Home Assistant is sindsdien niet opnieuw gestart. Bedienings- en scèneknoppen roepen scripts aan die de app schrijft, en die scripts bestaan pas als in de app bij Instellingen › Domotica › Home Assistant het Copy-blok in configuration.yaml is geplakt, Home Assistant één keer opnieuw is gestart en Sync With HA is aangetikt. Voer eerst Verbinding testen uit in de app - dat vertelt je of het blok aanwezig is voordat je een fout in het dashboard gaat zoeken.
Filter op projpilot in plaats van op het volledige serienummer - zo zie je de hele lijst makkelijker. Ontbreekt een bediening of scène die je onlangs hebt toegevoegd, tik dan nogmaals op Sync With HA; hij werkt ter plekke bij en vereist geen nieuwe installatie. Als oude, dode scripts de lijst vervuilen nadat je een scène hebt verwijderd, gebruik dan Verweesde scripts verwijderen in de app.
Het patroon staat vast, het middenstuk niet. Je sensor is genoemd naar het model van je eigen projector en elk script draagt het serienummer van je eigen projector, niet de plaatshouders op deze pagina. Haal beide uit Developer Tools › States en het Home Assistant-scherm van de app, zoals in stap 2, en gebruik die in plaats van de voorbeeldtekst over te typen.
Domotica is een eenmalige uitbreiding. Geen abonnement, geen account, geen cloud. Eén aankoop ontgrendelt het op elk platform dat je bezit.
Nee. Als je in de app op Sync With HA tikt, bouwt hij rechtstreeks in Home Assistant een kant-en-klaar Projector Pilot-dashboard voor je - de live projectorsensor plus een knop voor elke bediening en scène - en dat verschijnt in je zijbalk als Projector Pilot. Deze pagina is bedoeld om de rijkere groene-glasversie met de hand te bouwen, of om aan te passen wat Sync heeft gemaakt.
Om de look van de schermafbeelding na te bouwen: ja, Mushroom, button-card, card-mod en mini-graph-card. Geen van deze is nodig om de onderliggende bediening te laten werken - elke knop is een gewone scriptaanroep en de custom kaarten zijn de opmaak daarbovenop.
De projectorsensor publiceert zijn waarden zodra je in de app inlogt en synchroniseert, dus infotegels zijn meteen live. De bedienings- en scèneknoppen roepen scripts aan die pas in Home Assistant bestaan nadat je het Copy-blok van de app in configuration.yaml hebt geplakt, Home Assistant opnieuw hebt gestart en één keer op Sync With HA hebt getikt.
Het patroon wel, de exacte tekens niet. Je projectorsensor is genoemd naar het model van je projector en elk script naar het serienummer van je projector. Overal waar deze pagina YOUR_PROJECTOR schrijft, zet je de entity-id van je eigen sensor; overal waar YOURSERIAL staat, zet je de van het serienummer afgeleide id die op het Home Assistant-scherm van de app staat.