แอปสร้างแดชบอร์ดที่ใช้งานได้ให้คุณอยู่แล้วเมื่อคุณซิงค์ หน้านี้คือเวอร์ชันสร้างเองสุดหรู สิบขั้นตอน YAML ของทุกการ์ด และมุมมองสมบูรณ์ที่วางได้ในครั้งเดียว ไทล์กระจกสีเขียว ค่าภาพแบบสด ฉากของคุณ และกราฟชั่วโมงเลเซอร์ ทั้งหมดจากเซนเซอร์โปรเจกเตอร์ตัวเดียว แก้แค่สองสตริงก็เป็นของคุณ
configuration.yaml และรีสตาร์ท Home Assistant แล้ว ขั้นตอนนี้คือสิ่งที่สร้างสคริปต์ซึ่งปุ่มควบคุมทุกปุ่มด้านล่างเรียกใช้แดชบอร์ดนี้ได้ข้อมูลจากสองแหล่ง และความแตกต่างนี้สำคัญในทุกขั้นตอนต่อจากนี้
| มาจาก | ให้คุณได้ |
|---|---|
เซนเซอร์โปรเจกเตอร์ sensor.YOUR_PROJECTOR | ทุกค่าที่อ่านได้ เปิดปิด อินพุต โหมดสี ตัวเลขภาพทั้งหมด HDR และสัญญาณ เลนส์และรูปทรง ชั่วโมงหลอดภาพ เป็นค่าสดทันทีที่คุณเข้าสู่ระบบและซิงค์ ไม่ต้องใช้บล็อกคัดลอก |
สคริปต์ที่ซิงค์จากแอป script.projpilot_YOURSERIAL_... | ทุกตัวควบคุม เปิดปิด อินพุต โหมดสี หน่วยความจำเลนส์ และฉากของคุณ สิ่งเหล่านี้จะมีก็ต่อเมื่อวางบล็อกคัดลอก รีสตาร์ท Home Assistant และแตะซิงค์กับ HA แล้วเท่านั้น |
ทั้งสี่ตัวอยู่ในร้านค้าเริ่มต้นของ HACS ใน Home Assistant ให้ไปที่ HACS › Frontend › Explore & Download Repositories ค้นหาชื่อ กด Download แล้วรีโหลดเบราว์เซอร์
| ค้นหาว่า | ใช้สำหรับ | ถ้าข้ามไป |
|---|---|---|
| Mushroom | ทุกไทล์ข้อมูล ปุ่มควบคุม และไทล์ฉาก | ใช้การ์ด button ธรรมดาแทน ใช้งานได้ แต่ดูเหลี่ยมกว่า |
| button-card | ส่วนหลักพร้อมป้ายสถานะสด | ใช้การ์ด entity หรือการ์ดเทมเพลตของ Mushroom ที่มีรายละเอียดน้อยกว่า |
| card-mod | พื้นหลังกระจกสีเขียว เส้นขอบ และการไล่สี | ทุกอย่างยังทำงานได้ แค่ไม่มีแสงเรืองรอง |
| mini-graph-card | ประวัติชั่วโมงเลเซอร์ในส่วนการบำรุงรักษา | ใช้การ์ด history-graph ที่มีมาในตัว |
ทุกโค้ดตัวอย่างในหน้านี้ใช้ตัวแทนสองตัว หาของคุณเพียงครั้งเดียว ที่เหลือก็แค่คัดลอกแล้ววาง
sensor.YOUR_PROJECTOR → เครื่องมือนักพัฒนา › สถานะ ใน Home Assistant กรองด้วย projector_pilot จะได้ผลลัพธ์ประมาณ sensor.projector_pilot_epson_qb1000b_qb1000wYOURSERIAL → เปิดแอป แล้วไปที่ การตั้งค่า › ระบบอัตโนมัติในบ้าน › Home Assistant ID ที่มาจากซีเรียลแสดงอยู่ตรงนั้น และเป็นส่วนกลางของชื่อสคริปต์ที่ซิงค์ทุกตัว: script.projpilot_YOURSERIAL_power_on, script.projpilot_YOURSERIAL_input_hdmi1 และอื่นๆคุณยังกรองเครื่องมือนักพัฒนา › สถานะ ด้วย projpilot เพื่อดูรายการตัวควบคุมที่ซิงค์ทั้งหมดในครั้งเดียว เมื่อบล็อกคัดลอกและการซิงค์ของขั้นตอนที่ 1 เสร็จแล้ว
การตั้งค่าของมุมมองเอง หากคุณชอบพิมพ์เอง:
title: Projector Pilot views: - title: Projector Pilot path: projector-pilot icon: mdi:projector cards: []
เริ่มจากสิ่งที่อ่านค่าอย่างเดียว คุณจะได้รู้ว่า ID เอนทิตีของคุณถูกต้องก่อนแตะต้องสิ่งที่ส่งคำสั่ง ไทล์นี้ใช้งานสดทันทีที่เซนเซอร์โปรเจกเตอร์ของคุณมีอยู่ ไม่ต้องใช้บล็อกคัดลอก ไม่ต้องซิงค์ เพิ่มการ์ด แก้ไขใน 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
ชื่อเปล่าๆ เป็นพื้นที่เปล่าประโยชน์ นี่คือการ์ด 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 เหมือนกันทุกส่วน
ปุ่มนี้ส่งคำสั่งแทนที่จะแค่อ่านค่า จึงต้องมีสคริปต์อยู่ก่อน มันเรียก script.projpilot_YOURSERIAL_power_on ซึ่งแอปจะเขียนให้ก็ต่อเมื่อคุณวางบล็อกคัดลอกลงใน configuration.yaml รีสตาร์ท Home Assistant และแตะซิงค์กับ 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; }'
การ์ดเดียวกันใช้ได้กับปิดเครื่อง ปิดภาพหน้าจอ HDMI 1 HDMI 2 ปิดเสียง/ภาพ โหมดสี หรือหน่วยความจำเลนส์ เปลี่ยนเฉพาะป้าย ไอคอน และ service
ส่วนหลักที่ด้านบนสุดของบอร์ดคือ 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', ...) ใช้แบบใดแบบหนึ่ง ไม่ใช้ทั้งสองอย่างที่ด้านบนของบอร์ด
ทุกฉากที่คุณบันทึกในแอปจะกลายเป็นสคริปต์ชื่อ 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
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 ชั่วโมงคือสองสัปดาห์ ชั่วโมงเลเซอร์และหลอดภาพเพิ่มขึ้นเรื่อยๆ ไม่ได้กระโดดไปมา ช่วงสองสัปดาห์จึงมักพอให้เห็นแนวโน้มโดยที่กราฟไม่ดูแบนราบ
มุมมองสมบูรณ์ ทุกส่วนและทุกการ์ดจากภาพหน้าจอที่ด้านบนของหน้านี้ โดยใช้ตัวแทนแทน ID เอนทิตี
YOUR_PROJECTOR ด้วย ID เอนทิตีของเซนเซอร์โปรเจกเตอร์ของคุณจากขั้นตอนที่ 2 และ YOURSERIAL ด้วย ID ที่มาจากซีเรียลของคุณจากขั้นตอนที่ 2YOURSCENE1, YOURSCENE2 และ YOURSCENE3 ด้วย ID ฉากทั้งสามของคุณเอง หรือเพิ่มและลบไทล์ให้ตรงกับจำนวนฉากที่คุณมีจริงconfiguration.yaml รีสตาร์ท Home Assistant และแตะซิงค์กับ HAตรวจสอบชื่อแอตทริบิวต์กับสิ่งที่เซนเซอร์มีอยู่จริง: เครื่องมือนักพัฒนา › สถานะ เอนทิตี sensor.YOUR_PROJECTOR ของคุณ แล้วอ่านรายการแอตทริบิวต์ ค่าบางอย่าง เช่น HDR PQ หรือ HDR HLG จะมีค่าก็ต่อเมื่อโปรเจกเตอร์กำลังรับสัญญาณประเภทนั้นอยู่ ดังนั้นการแสดงว่าไม่ทราบในสองค่านี้อาจถูกต้องแล้วและไม่ได้เสีย หากเซนเซอร์โดยรวมดูโล่ง ให้ปลุกโปรเจกเตอร์ เพราะเครื่องในโหมดสแตนด์บายเผยแพร่ข้อมูลน้อยมาก
คุณยังไม่ได้วางบล็อกคัดลอก หรือ Home Assistant ยังไม่ได้รีสตาร์ทหลังจากวาง ปุ่มควบคุมและปุ่มฉากเรียกสคริปต์ที่แอปเขียนขึ้น และสคริปต์เหล่านั้นจะไม่มีอยู่จนกว่าในแอป การตั้งค่า › ระบบอัตโนมัติในบ้าน › Home Assistant จะวางบล็อกคัดลอกลงใน configuration.yaml รีสตาร์ท Home Assistant หนึ่งครั้ง และแตะซิงค์กับ HA ให้รันทดสอบการเชื่อมต่อในแอปก่อน เพราะมันบอกคุณว่ามีบล็อกอยู่หรือไม่ ก่อนที่คุณจะไปหาข้อผิดพลาดของแดชบอร์ด
กรองด้วย projpilot แทนซีเรียลเต็ม จะเห็นรายการทั้งหมดได้ง่ายกว่า หากตัวควบคุมหรือฉากที่คุณเพิ่งเพิ่มหายไป ให้แตะซิงค์กับ HA อีกครั้ง ระบบจะอัปเดตในที่เดิมโดยไม่ต้องตั้งค่าใหม่ หากสคริปต์เก่าที่ใช้ไม่ได้แล้วรกรายการหลังจากที่คุณลบฉาก ให้ใช้ลบสคริปต์ที่ไม่มีเจ้าของในแอป
รูปแบบคงที่ แต่ส่วนกลางไม่ใช่ เซนเซอร์ของคุณตั้งชื่อตามรุ่นของโปรเจกเตอร์คุณเอง และทุกสคริปต์มีซีเรียลของโปรเจกเตอร์คุณเอง ไม่ใช่ตัวแทนในหน้านี้ ดึงทั้งสองค่าจากเครื่องมือนักพัฒนา › สถานะ และหน้าจอ Home Assistant ของแอปตามขั้นตอนที่ 2 แล้วใช้ค่าเหล่านั้นแทนการพิมพ์ข้อความตัวอย่าง
ระบบอัตโนมัติในบ้านเป็นส่วนเสริมที่ซื้อครั้งเดียว ไม่มีค่าสมาชิก ไม่ต้องมีบัญชี ไม่ต้องใช้คลาวด์ ซื้อครั้งเดียวปลดล็อกได้ทุกแพลตฟอร์มที่คุณมี
ไม่ต้อง เมื่อคุณแตะซิงค์กับ HA ในแอป แอปจะสร้างแดชบอร์ด Projector Pilot สำเร็จรูปให้ใน Home Assistant โดยตรง ประกอบด้วยเซนเซอร์โปรเจกเตอร์แบบสดและปุ่มสำหรับทุกตัวควบคุมและฉาก และจะปรากฏในแถบด้านข้างของคุณในชื่อ Projector Pilot หน้านี้สำหรับสร้างเวอร์ชันกระจกสีเขียวที่หรูกว่าด้วยมือ หรือปรับแต่งสิ่งที่การซิงค์สร้างไว้
ถ้าอยากให้หน้าตาเหมือนในภาพหน้าจอ ต้องใช้: Mushroom, button-card, card-mod และ mini-graph-card แต่ไม่มีตัวไหนจำเป็นต่อการทำงานของตัวควบคุมพื้นฐานเลย ทุกปุ่มเป็นการเรียกสคริปต์ธรรมดา ส่วนการ์ดแบบกำหนดเองเป็นแค่การตกแต่งด้านบน
เซนเซอร์โปรเจกเตอร์เผยแพร่ค่าที่อ่านได้ทันทีที่คุณเข้าสู่ระบบและซิงค์ในแอป ไทล์ข้อมูลจึงแสดงค่าสดทันที ส่วนปุ่มควบคุมและปุ่มฉากเรียกสคริปต์ที่จะมีอยู่ใน Home Assistant ก็ต่อเมื่อคุณวางบล็อกคัดลอกของแอปลงใน configuration.yaml รีสตาร์ท Home Assistant และแตะซิงค์กับ HA หนึ่งครั้งแล้วเท่านั้น
รูปแบบจะเหมือนกัน แต่ตัวอักษรจริงจะไม่เหมือน เซนเซอร์โปรเจกเตอร์ของคุณตั้งชื่อตามรุ่นของโปรเจกเตอร์ และทุกสคริปต์ตั้งชื่อตามซีเรียลของโปรเจกเตอร์ ในหน้านี้ ที่ใดเขียนว่า YOUR_PROJECTOR ให้ใส่ ID เอนทิตีของเซนเซอร์ของคุณเอง และที่ใดเขียนว่า YOURSERIAL ให้ใส่ ID ที่มาจากซีเรียลซึ่งแสดงในหน้าจอ Home Assistant ของแอป