Головна › Посібник користувача › Дашборд Home Assistant
Home Assistant · крок за кроком

Створіть дашборд проєктора для Home Assistant приблизно за годину

Застосунок уже будує вам робочий дашборд під час синхронізації - ця сторінка містить розкішну версію, зібрану вручну. Десять кроків, YAML кожної картки та повне подання, яке можна вставити одним махом. Плитки із зеленого скла, живе відображення зображення, ваші сцени та графік годин роботи лазера - усе від одного датчика проєктора. Змініть два рядки, і воно ваше.

Sync будує безкоштовно4 картки HACS для виглядуПлитки інформації одразу живіКнопки після одного вставлення
Готовий дашборд Projector Pilot у Home Assistant: живлення й джерело, режими кольору, повне меню зображення, HDR і сигнал, калібрування RGB, об'єктив і геометрія, обслуговування з графіком годин роботи лазера та сцени - усе у вигляді плиток із зеленого скла
Те, що ви будуєте. Прокрутіть або клацніть, щоб збільшити.
Потрібна просто робоча панель? Вона в вас уже є. Торкніться Sync With HA у застосунку, і він збудує для вас готовий дашборд Projector Pilot на бічній панелі Home Assistant з усіма елементами керування та живим датчиком - без карток, без YAML, без вставлення. Див. Sync будує дашборд за вас. Ця сторінка призначена для збирання багатшої версії із зеленого скла вручну або налаштування того, що дав Sync.
Поспішаєте до власного вигляду? Перейдіть до кроку 10, завантажте повне подання, змініть два рядки та три ID сцен і вставте. Кроки між ними пояснюють, що робить кожна частина, щоб ви могли її змінити.

Перш ніж почати

Цей дашборд живлять дві речі, і різниця між ними важлива на кожному кроці нижче.

Походить ізДає вам
Датчик проєктора, sensor.YOUR_PROJECTORКожне показання. Живлення, вхід, режим кольору, усі параметри зображення, HDR і сигнал, об'єктив і геометрія, години роботи лампи. Живі, щойно ви входите й синхронізуєте, блок Copy не потрібен.
Синхронізовані скрипти застосунку, script.projpilot_YOURSERIAL_...Кожен елемент керування. Живлення, входи, режими кольору, пам'ять об'єктива та ваші сцени. Вони існують лише після того, як вставлено блок Copy, перезапущено Home Assistant і ви торкнулися Sync With HA.
Крок 1

Установіть чотири картки з HACS

Усі чотири є в стандартному магазині HACS. У Home Assistant: HACS › Frontend › Explore & Download Repositories, знайдіть назву, натисніть Download, потім перезавантажте браузер.

ШукайтеДля чого потрібнаЯкщо пропустити
MushroomКожна плитка інформації, кнопка керування й плитка сцениВикористайте звичайну картку button. Працює, але виглядає квадратніше.
button-cardГоловна картка з живим підписомВикористайте картку entity або шаблонну картку Mushroom з меншою кількістю деталей.
card-modТло із зеленого скла, рамки й градієнтиУсе працює. Просто без сяйва.
mini-graph-cardІсторія годин роботи лазера в розділі «Обслуговування»Використайте вбудовану картку history-graph.
Жодна з них не обов'язкова для роботи. Кожен елемент керування нижче працює зі стандартної кнопки Home Assistant, спрямованої на той самий скрипт. Картки спільноти дають вигляд із зеленого скла, а не механіку.
Крок 2

Знайдіть свій ID сутності та серійний номер

Кожен фрагмент на цій сторінці використовує два заповнювачі. Знайдіть свої один раз - і решта зводиться до копіювання та вставлення.

Також можна відфільтрувати Інструменти розробника › Стани за projpilot, щоб побачити весь список синхронізованих елементів керування одразу, коли блок Copy з кроку 1 і Sync виконано.

Списку скриптів ще немає? Це очікувано, поки ви не вставили блок Copy. Датчик усе одно існує й оновлюється; скрипти з'являються лише після успішного виконання Sync With HA.
Крок 3

Створіть подання

  1. Налаштування › Дашборди › Додати дашборд › Новий дашборд з нуля. Назвіть його Projector Pilot.
  2. Відкрийте його, потім торкніться значка олівця у верхньому правому куті для редагування.
  3. Додайте подання. Підійде будь-яка розкладка; справжня панель використовує стандартний стос карток одна під одною, у який найпростіше вставляти.
  4. Щоб вставити YAML, скористайтеся меню з трьома крапками на картці та виберіть Редагувати в YAML, або меню з трьома крапками на дашборді та Редактор вихідної конфігурації, щоб вставити все подання одразу.

Власні налаштування подання, якщо волієте вводити їх самі:

title: Projector Pilot
views:
- title: Projector Pilot
  path: projector-pilot
  icon: mdi:projector
  cards: []
Крок 4

Додайте живу плитку інформації

Почніть із чогось, що лише читає, щоб переконатися у правильності вашого ID сутності, перш ніж торкатися чогось, що надсилає команду. Ця плитка жива, щойно існує датчик проєктора, без блока Copy й без синхронізації. Додайте картку, Редагувати в YAML, вставте:

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; }'

Така сама форма читає будь-який із приблизно 80 атрибутів датчика: замініть brightness на contrast, gamma, color_temp, hdr_pq, lamp_hours - що завгодно на плитці.

Збережіть. Якщо з'явилося справжнє число чи слово, ваш ID сутності правильний і все нижче працюватиме. Якщо порожньо, поверніться до кроку 2.

Крок 5

Додайте зелений заголовок розділу

Простий заголовок - це порожній простір. Це картка markdown із градієнтним тлом від card-mod, і саме вона перетворює стос плиток на іменовані розділи. Кожен розділ на панелі починається з такої картки, лише з іншим підписом і емодзі.

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; }'

Змініть код емодзі й текст підпису; блок card-mod однаковий у кожному розділі.

Крок 6

Додайте кнопку керування

Ця кнопка надсилає команду, а не лише читає значення, тому спершу мають існувати скрипти. Вона викликає script.projpilot_YOURSERIAL_power_on, який застосунок записує лише після того, як ви вставите його блок Copy в configuration.yaml, перезапустите Home Assistant і торкнетеся Sync With 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; }'

Така сама картка для Power Off, Screen Blank, HDMI 1, HDMI 2, A/V Mute, режиму кольору або пам'яті об'єктива: змінюються лише підпис, значок і service.

Якщо все виглядає правильно, але нічого не відбувається після дотику, блок Copy або не вставлено, або Home Assistant не перезапускали відтоді. Запустіть Test Connection у застосунку, що перевіряє саме це, перш ніж вирішувати, що помилка в дашборді.
Крок 7

Додайте головну картку

Головна картка вгорі панелі - це button-card: великий стан живлення, однорядковий підсумок з кількох атрибутів одразу та оформлення із зеленого скла на всій картці, а не лише на рамці.

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'' ]]]'

Скорочено до частин, що змінюються від встановлення до встановлення. Повна картка також задає значок, назву й позиції підписів у сітці; усе це є у файлі для завантаження на кроці 10.

Волієте тоншу смугу? mushroom-chips-card виконує ту саму роботу в одному рядку маленьких чипів: стан живлення, вхід, режим кольору, відеодіапазон і години роботи лампи, кожен - шаблон, що читає state_attr('sensor.YOUR_PROJECTOR', ...). Використовуйте або одне, або інше, не обидва, угорі панелі.

Крок 8

Додайте свої сцени

Кожна сцена, яку ви зберігаєте в застосунку, після синхронізації стає скриптом із назвою script.projpilot_YOURSERIAL_scene_<id>, а плитка для неї - це та сама картка кнопки керування з кроку 6 з назвою й значком сцени.

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; }'

Замініть YOURSCENE1 на ID, показаний для цієї сцени у списку синхронізованих елементів керування застосунку. Одна плитка на сцену, у horizontal-stack.

Крок 9

Додайте історію годин роботи лазера

Датчик проєктора записується Home Assistant, як і будь-який інший, тож lamp_hours отримує історію безкоштовно. Жодних додаткових датчиків, помічників чи попереднього налаштування, у розділі «Обслуговування».

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 годин - це два тижні. Години роботи лазера й лампи зростають рівномірно, а не стрибками, тож двотижневого вікна зазвичай досить, щоб побачити тенденцію, а графік не здавався пласким.

Крок 10

Або візьміть усе одразу

Повне подання, кожен розділ і кожна картка зі скриншота на початку цієї сторінки, із заповнювачами замість ID сутностей.

  1. Завантажити YAML подання.
  2. Відкрийте його в будь-якому текстовому редакторі та замініть усюди, де вони трапляються: YOUR_PROJECTOR на ID сутності вашого датчика проєктора з кроку 2, а YOURSERIAL на ваш ID на основі серійного номера з кроку 2.
  3. У розділі «Сцени» ближче до низу замініть YOURSCENE1, YOURSCENE2 і YOURSCENE3 на ваші три ID сцен або додайте й видаліть плитки відповідно до того, скільки сцен у вас насправді є.
  4. У Home Assistant відкрийте свій дашборд, значок олівця, меню з трьома крапками, Редактор вихідної конфігурації і вставте його як подання.
Назви та кількість ваших сцен не збігатимуться. Файл містить три приклади сцен: Movie Night, Gaming, Sports Day. Перейменуйте плитки, спрямуйте їх на власні ID сцен і додавайте чи видаляйте плитки, доки розділ не відповідатиме кількості збережених вами сцен.
Плитки інформації працюють одразу після вставлення. Їм потрібен лише існуючий датчик. Кнопки керування й сцен залишаються неживими, доки блок Copy не вставлено в configuration.yaml, Home Assistant не перезапущено й ви не торкнулися Sync With HA.

Усунення несправностей

Плитка показує Unknown

Звірте назву атрибута з тим, що датчик справді містить: Інструменти розробника › Стани, ваша сутність sensor.YOUR_PROJECTOR, і прочитайте її перелік атрибутів. Деякі показання, як-от HDR PQ чи HDR HLG, заповнюються лише тоді, коли проєктор активно отримує такий сигнал, тож Unknown для цих двох може бути правильним, а не збоєм. Якщо весь датчик виглядає розрідженим, розбудіть проєктор: пристрій у режимі очікування публікує дуже мало.

Кнопка нічого не робить

Ви ще не вставили блок Copy або Home Assistant не перезапускали відтоді. Кнопки керування й сцен викликають скрипти, які пише застосунок, а вони не існують, доки в застосунку в Налаштування › Домашня автоматизація › Home Assistant блок Copy не вставлено в configuration.yaml, Home Assistant не перезапущено один раз і не торкнуто Sync With HA. Спершу запустіть Test Connection у застосунку - він скаже, чи є блок, перш ніж ви шукатимете помилку в дашборді.

Очікуваних скриптів немає в Інструменти розробника › Стани

Відфільтруйте за projpilot, а не за повним серійним номером - так легше побачити весь список. Якщо нещодавно доданого елемента керування чи сцени немає, ще раз торкніться Sync With HA; він оновлює наявне, а не вимагає нового налаштування. Якщо після видалення сцени список засмічують старі мертві скрипти, скористайтеся Remove orphaned scripts у застосунку.

Мій ID сутності не схожий на той, що в цьому посібнику

Шаблон сталий, середина - ні. Ваш датчик названо за моделлю вашого проєктора, а кожен скрипт містить серійний номер вашого проєктора, а не заповнювачі з цієї сторінки. Візьміть обидва значення з Інструменти розробника › Стани та з екрана Home Assistant у застосунку, як на кроці 2, і використовуйте їх замість прикладу тексту.

Увесь ваш проєктор - на одній стіні

Домашня автоматизація - це одноразове доповнення. Без підписки, без облікового запису, без хмари. Одна покупка розблоковує її на кожній платформі, якою ви користуєтеся.

Google Play - уже доступно App Store - очікує схвалення Microsoft Store - очікує схвалення Mac App Store - очікує схвалення

Назад до домашньої автоматизації → · Повний посібник користувача →

FAQ

Короткі відповіді

Чи обов'язково будувати цей дашборд вручну?

Ні. Коли ви торкаєтеся Sync With HA у застосунку, він сам створює готовий дашборд Projector Pilot просто в Home Assistant - живий датчик проєктора та кнопку для кожного елемента керування й кожної сцени, - і він з'являється на бічній панелі як Projector Pilot. Ця сторінка потрібна, щоб зібрати багатшу версію із зеленого скла вручну або налаштувати те, що створив Sync.

Чи потрібні для цього власні картки з HACS?

Щоб відтворити вигляд зі скриншота - так: Mushroom, button-card, card-mod і mini-graph-card. Жодна з них не потрібна для роботи самих елементів керування - кожна кнопка це звичайний виклик скрипта, а картки спільноти лише додають оформлення.

Чому плитки інформації показують значення, а кнопки нічого не роблять?

Датчик проєктора публікує свої показання, щойно ви входите та синхронізуєте у застосунку, тож плитки інформації оживають одразу. Кнопки керування й сцен викликають скрипти, які існують у Home Assistant лише після того, як ви вставите блок Copy із застосунку в configuration.yaml, перезапустите Home Assistant і один раз торкнетеся Sync With HA.

Чи збігатимуться мої ID сутностей з тими, що в цьому посібнику?

Шаблон збігатиметься, а точні символи - ні. Датчик вашого проєктора названо за моделлю вашого проєктора, а кожен скрипт названо за його серійним номером. Скрізь, де ця сторінка пише YOUR_PROJECTOR, підставте ID власного датчика; скрізь, де вона пише YOURSERIAL, підставте ID на основі серійного номера, показаний на екрані Home Assistant у застосунку.