Ứng dụng đã tự dựng cho bạn một bảng điều khiển hoạt động được khi bạn Sync - trang này là phiên bản cao cấp, tự tay xây dựng. Mười bước, YAML của từng thẻ, và một giao diện hoàn chỉnh để dán một lần. Ô kính xanh lá, bảng hiển thị hình ảnh trực tiếp, các Cảnh của bạn và biểu đồ số giờ laser, tất cả từ một cảm biến máy chiếu. Đổi hai chuỗi là thành của bạn.
configuration.yaml và khởi động lại Home Assistant. Đây là bước tạo ra các script mà mọi nút điều khiển bên dưới đều gọi.Dashboard này được nuôi bởi hai nguồn, và sự khác biệt giữa chúng quan trọng ở mọi bước bên dưới.
| Đến từ | Cho bạn |
|---|---|
Cảm biến máy chiếu, sensor.YOUR_PROJECTOR | Mọi số liệu đọc. Nguồn, nguồn vào, chế độ màu, tất cả thông số hình ảnh, HDR và tín hiệu, ống kính và hình học, số giờ bóng đèn. Hoạt động trực tiếp ngay khi bạn đăng nhập và đồng bộ, không cần khối Copy. |
Các script đã đồng bộ của ứng dụng, script.projpilot_YOURSERIAL_... | Mọi điều khiển. Nguồn, nguồn vào, chế độ màu, bộ nhớ ống kính và các Cảnh của bạn. Chúng chỉ tồn tại sau khi khối Copy được dán, Home Assistant được khởi động lại và bạn đã chạm Sync With HA. |
Cả bốn đều có trong kho HACS mặc định. Trong Home Assistant: HACS › Frontend › Explore & Download Repositories, tìm theo tên, bấm Download, rồi tải lại trình duyệt.
| Tìm | Dùng cho | Nếu bỏ qua |
|---|---|---|
| Mushroom | Mọi ô thông tin, nút điều khiển và ô Cảnh | Dùng thẻ button thông thường. Vẫn chạy, nhưng trông vuông vức hơn. |
| button-card | Thẻ chính, với nhãn trực tiếp | Dùng thẻ entity, hoặc thẻ mẫu Mushroom với ít chi tiết hơn. |
| card-mod | Nền kính xanh lá, viền và dải chuyển màu | Mọi thứ vẫn hoạt động. Chỉ là không có hiệu ứng phát sáng. |
| mini-graph-card | Lịch sử số giờ laser trong mục Bảo trì | Dùng thẻ history-graph có sẵn. |
Mọi đoạn mã trên trang này dùng hai chỗ giữ chỗ. Chỉ cần tìm ID của bạn một lần, phần còn lại là sao chép và dán.
sensor.YOUR_PROJECTOR → Developer Tools › States trong Home Assistant, lọc theo projector_pilot. Sẽ có dạng như sensor.projector_pilot_epson_qb1000b_qb1000w.YOURSERIAL → mở ứng dụng, Cài đặt › Home Automation › Home Assistant. Id dẫn xuất từ số sê-ri hiển thị ngay tại đó, và nó là phần giữa của mọi tên script đã đồng bộ: script.projpilot_YOURSERIAL_power_on, script.projpilot_YOURSERIAL_input_hdmi1, v.v.Bạn cũng có thể lọc Developer Tools › States theo projpilot để xem toàn bộ danh sách điều khiển đã đồng bộ cùng lúc, sau khi khối Copy ở step 1's và Sync đã xong.
Cài đặt riêng của chế độ xem, nếu bạn thích tự gõ:
title: Projector Pilot views: - title: Projector Pilot path: projector-pilot icon: mdi:projector cards: []
Bắt đầu với thứ chỉ để đọc, để bạn biết ID thực thể của mình đúng trước khi chạm vào bất cứ thứ gì gửi lệnh. Ô này hoạt động trực tiếp ngay khi cảm biến máy chiếu tồn tại, không cần khối Copy, không cần đồng bộ. Thêm một thẻ, Edit in YAML, rồi dán:
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; }'
Cùng cấu trúc đó đọc được bất kỳ thuộc tính nào trong ~80 thuộc tính mà cảm biến mang theo: thay brightness bằng contrast, gamma, color_temp, hdr_pq, lamp_hours, bất cứ thứ gì bạn muốn hiển thị trên ô.
Lưu lại. Nếu một con số hoặc từ thật hiện ra, ID thực thể của bạn đúng và mọi thứ bên dưới sẽ hoạt động. Nếu hiển thị trống, hãy quay lại bước 2.
Một tiêu đề trơn chỉ là khoảng trống. Đây là thẻ markdown với nền chuyển màu từ card-mod, và nó biến một chồng ô thành các mục có tên. Mọi mục trên bảng đều bắt đầu bằng một thẻ như thế này, chỉ khác nhãn và biểu tượng cảm xúc.
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; }'
Đổi mã biểu tượng cảm xúc và văn bản nhãn; khối card-mod giống hệt nhau ở mọi mục.
Nút này gửi lệnh thay vì chỉ đọc giá trị, nên các script phải tồn tại trước. Nó gọi script.projpilot_YOURSERIAL_power_on, thứ mà ứng dụng chỉ ghi sau khi bạn dán khối Copy vào configuration.yaml, khởi động lại Home Assistant và chạm 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; }'
Cùng một thẻ cho Tắt nguồn, Che màn hình, HDMI 1, HDMI 2, A/V Mute, một chế độ màu hoặc một bộ nhớ ống kính: chỉ nhãn, biểu tượng và service thay đổi.
Thẻ chính ở đầu bảng là một button-card: trạng thái nguồn cỡ lớn, một dòng tóm tắt tạo từ nhiều thuộc tính cùng lúc, và hiệu ứng kính xanh lá trên toàn bộ thẻ chứ không chỉ viền.
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'' ]]]'
Đã rút gọn còn những phần thay đổi theo từng bản cài đặt. Thẻ đầy đủ còn đặt cả vị trí lưới của biểu tượng, tên và nhãn; xem bản tải về ở bước 10 để có tất cả.
Muốn một dải gọn hơn? Thẻ mushroom-chips-card làm cùng việc đó trong một hàng chip nhỏ: trạng thái nguồn, nguồn vào, chế độ màu, dải video và số giờ bóng đèn, mỗi chip là một mẫu đọc state_attr('sensor.YOUR_PROJECTOR', ...). Dùng cái này hoặc cái kia, không dùng cả hai, ở đầu bảng.
Mỗi Cảnh bạn lưu trong ứng dụng sẽ trở thành một script tên script.projpilot_YOURSERIAL_scene_<id> sau khi đồng bộ, và ô cho một Cảnh chính là thẻ nút điều khiển ở bước 6 với tên và biểu tượng Cảnh.
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; }'
Thay YOURSCENE1 bằng id hiển thị cho Cảnh đó trong danh sách điều khiển đã đồng bộ của ứng dụng. Mỗi Cảnh một ô, trong một horizontal-stack.
Cảm biến máy chiếu được Home Assistant ghi lại như mọi cảm biến khác, nên lamp_hours có sẵn lịch sử miễn phí. Không cần cảm biến thêm, không cần helper, không phải cấu hình gì trước, nằm trong mục Bảo trì.
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 giờ là hai tuần. Số giờ laser và bóng đèn tăng đều đặn chứ không nhảy lung tung, nên khoảng hai tuần thường đủ để thấy xu hướng mà biểu đồ không bị phẳng.
Giao diện hoàn chỉnh, mọi mục và mọi thẻ trong ảnh chụp màn hình ở đầu trang này, với phần giữ chỗ thay cho entity IDs.
YOUR_PROJECTOR bằng entity id cảm biến máy chiếu của bạn từ bước 2, và YOURSERIAL bằng id dẫn xuất từ số sê-ri của bạn từ bước 2.YOURSCENE1, YOURSCENE2 và YOURSCENE3 bằng ba id Cảnh của riêng bạn, hoặc thêm và xóa ô cho khớp với số Cảnh bạn thực sự có.configuration.yaml, Home Assistant được khởi động lại và bạn đã chạm Sync With HA.Hãy đối chiếu tên thuộc tính với những gì cảm biến thực sự mang theo: Developer Tools › States, thực thể sensor.YOUR_PROJECTOR của bạn, rồi đọc danh sách thuộc tính của nó. Một vài số liệu, như HDR PQ hay HDR HLG, chỉ có dữ liệu khi máy chiếu đang thực sự nhận loại tín hiệu đó, nên Unknown ở hai mục này có thể là đúng chứ không phải lỗi. Nếu cả cảm biến trông thưa thớt, hãy đánh thức máy chiếu: máy ở chế độ chờ công bố rất ít dữ liệu.
Bạn chưa dán khối Copy, hoặc Home Assistant chưa được khởi động lại kể từ khi bạn dán. Các nút điều khiển và Cảnh gọi những script do ứng dụng ghi, và các script đó không tồn tại cho đến khi Cài đặt › Home Automation › Home Assistant trong ứng dụng đã có khối Copy được dán vào configuration.yaml, Home Assistant được khởi động lại một lần, và Sync With HA được chạm. Hãy chạy Kiểm tra kết nối trong ứng dụng trước - nó cho bạn biết khối đó có mặt hay không trước khi bạn đi tìm lỗi ở bảng điều khiển.
Lọc theo projpilot thay vì toàn bộ số sê-ri - dễ nhìn cả danh sách hơn. Nếu một điều khiển hoặc Cảnh bạn mới thêm bị thiếu, hãy chạm Sync With HA lần nữa; nó cập nhật tại chỗ chứ không đòi hỏi thiết lập lại từ đầu. Nếu các script cũ, đã chết làm rối danh sách sau khi bạn xóa một Cảnh, hãy dùng Remove orphaned scripts trong ứng dụng.
Mẫu thì cố định, phần giữa thì không. Cảm biến của bạn được đặt tên theo model máy chiếu của bạn, và mọi script mang số sê-ri máy chiếu của bạn, không phải phần giữ chỗ trên trang này. Hãy lấy cả hai từ Developer Tools › States và màn hình Home Assistant của ứng dụng, như ở bước 2, và dùng chúng thay vì gõ văn bản ví dụ.
Home Automation là tiện ích bổ sung mua một lần. Không đăng ký, không tài khoản, không đám mây. Một lần mua mở khóa trên mọi nền tảng bạn sở hữu.
Không. Khi bạn chạm Sync With HA trong ứng dụng, ứng dụng sẽ dựng sẵn cho bạn một bảng điều khiển Projector Pilot ngay trong Home Assistant - cảm biến máy chiếu trực tiếp cùng một nút cho mọi điều khiển và Cảnh - và nó xuất hiện trên thanh bên với tên Projector Pilot. Trang này dành cho việc tự tay dựng phiên bản kính xanh lá phong phú hơn, hoặc tùy chỉnh những gì Sync đã tạo.
Để có giao diện giống ảnh chụp màn hình thì có: Mushroom, button-card, card-mod và mini-graph-card. Không thẻ nào trong số đó bắt buộc để các điều khiển cốt lõi hoạt động - mỗi nút chỉ là một lệnh gọi script thông thường, còn các thẻ tùy chỉnh chỉ là lớp trang trí bên trên.
Cảm biến máy chiếu công bố số liệu ngay khi bạn đăng nhập và đồng bộ trong ứng dụng, nên các ô thông tin hoạt động trực tiếp ngay. Các nút điều khiển và Cảnh gọi những script chỉ tồn tại trong Home Assistant sau khi bạn dán khối Copy của ứng dụng vào configuration.yaml, khởi động lại Home Assistant và chạm Sync With HA một lần.
Mẫu thì có, còn các ký tự chính xác thì không. Cảm biến máy chiếu của bạn được đặt tên theo model máy chiếu, và mọi script được đặt tên theo số sê-ri máy chiếu. Ở bất cứ chỗ nào trang này ghi YOUR_PROJECTOR, hãy điền entity id cảm biến của chính bạn; ở bất cứ chỗ nào ghi YOURSERIAL, hãy điền id dẫn xuất từ số sê-ri hiển thị trên màn hình Home Assistant của ứng dụng.