

ถ้ามีหลอดไฟหลายดวงในห้องเดียวกัน การตั้งให้แต่ละดวงมีความสว่างกับสีสำหรับกิจกรรมหนึ่งผ่าน scene ช่วยให้เรียกชุดนั้นได้สะดวก กดครั้งเดียวก็ไม่ต้องปรับทีละดวง และยังนำฉากเดิมไปเรียกจากปุ่มหรือ automation ได้อีก
แต่หลังเรียกแล้ว คนในห้องอาจเปลี่ยนไฟเอง หรือเซนเซอร์ส่งข้อมูลใหม่เข้ามา จึงมีคำถามว่า scene ยังถือว่าทำงานอยู่และจะดึงไฟกลับตามชุดเดิมหรือไม่ หากเข้าใจว่ามันเป็นตัวคุมห้องตลอดเวลา การออกแบบส่วนถัดไปก็อาจไม่ตรงกับพฤติกรรมจริง
ก่อนเพิ่มเงื่อนไขจึงควรแยกว่ากำลังเก็บชุดสถานะ ลำดับการทำงาน หรือกติกาว่าเมื่อใดควรเริ่มครับ Home Assistant มี scene script และ automation ที่ช่วยทำงานคนละด้าน
Scene ใช้บอกว่า entity ที่เกี่ยวข้องควรอยู่ในสถานะใดเมื่อ activate เช่น ไฟดวงหนึ่งเปิดและอีกดวงมีระดับแสงที่กำหนด การเรียกเป็นการนำชุดสถานะไปใช้ครั้งนั้น ไม่ได้เปิดกระบวนการเฝ้ารักษาค่าต่อไปเรื่อยๆ หลังจากนั้น
ถ้าคนปรับความสว่างภายหลัง scene จึงไม่จำเป็นต้องดึงกลับเองตามฉบับเดิม และคำว่าปิด scene ก็ไม่ได้มีความหมายเหมือนปิดสวิตช์ที่มีสถานะเปิดค้างอยู่ หากต้องการชุดสำหรับอีกกิจกรรม อาจเรียกอีก scene หรือสั่งสถานะใหม่ตามกติกางาน
จุดนี้ช่วยเลือกวิธีเขียนได้ชัดขึ้น ถ้าต้องการเพียงชุดไฟที่เรียกซ้ำได้ scene ตอบโจทย์นั้น แต่ถ้าต้องการคอยประเมินเงื่อนไขของห้องต่อ ต้องมีส่วนเฝ้าเหตุการณ์กับตัดสินใจอีกชั้น ไม่ใส่ความคาดหวังทั้งหมดไว้กับชุดค่าอย่างเดียว

Scene ไม่ใช่ลำดับที่รับรองว่าจะเปลี่ยนดวงแรก รอแล้วค่อยเปลี่ยนดวงที่สอง หากงานต้องมีช่วงรอ ตรวจผลหรือแยกทางตามข้อมูล ควรพิจารณา script หรือโครง action ที่รองรับลำดับนั้นให้ชัด
ส่วน automation ใช้เชื่อมเหตุการณ์เริ่มกับเงื่อนไขและ action เช่น ถึงเวลาที่กำหนดแล้วเรียกชุดสถานะเมื่อเงื่อนไขของห้องผ่าน ตัว scene จึงนำกลับมาใช้เป็นองค์ประกอบได้โดยไม่ต้องคัดลอกค่าหลอดไฟหลายดวงไปไว้ในทุก automation
อย่างไรก็ตาม การแยกส่วนช่วยได้เมื่อหน้าที่ไม่ทับกัน หากมีทั้ง script และ automation หลายตัวคอยสั่งค่าเดิมซ้ำโดยไม่รู้ว่าใครกำลังคุม เราก็อาจกลับไปเจอไฟเปลี่ยนไปมาจากหลายเส้นทาง จึงควรมีเหตุผลว่าแต่ละจุดเป็นผู้เริ่มหรือเป็นผู้กำหนดชุดค่า
แม้ scene จัดค่ามาเป็นชุดเดียว อุปกรณ์ยังอาจสื่อสารผ่าน integration และเครือข่ายต่างกัน การรับ action จึงไม่ควรถูกตีความว่าเกิดผลทางกายภาพครบทุกดวงในขณะเดียวกัน โดยเฉพาะเมื่อบางดวงไม่พร้อมหรือการตอบกลับช้า
หากกิจกรรมต้องอาศัยผลจริง ควรตรวจสถานะที่อุปกรณ์รายงานตามสิ่งที่มันยืนยันได้ และกำหนดทางเมื่อบางชิ้นทำไม่สำเร็จ ไม่ใช้การบังคับเรียก scene ซ้ำถี่ๆ เป็นวิธีซ่อนความไม่พร้อมจนตามสาเหตุไม่ได้
รายละเอียดอย่าง transition ก็ขึ้นกับความสามารถที่แต่ละอุปกรณ์และ integration รองรับ ควรตรวจผลจากปลายทางที่ใช้จริงก่อนออกแบบว่าการเปลี่ยนทั้งห้องจะมีจังหวะเดียวกันแน่นอน ไม่รับรองจากหน้าตาของชุด config เพียงอย่างเดียว

Scene ที่เก็บไว้สำหรับกิจกรรมหนึ่งไม่ได้จดชุดค่าก่อนเรียกไว้ให้เองทุกครั้ง หากต้องการยืมไฟไปเปลี่ยนชั่วคราวแล้วคืนค่าเดิม ต้องมีขั้นเก็บ snapshot ที่เกี่ยวข้องตามที่ระบบรองรับก่อนเปลี่ยน
Home Assistant มีการสร้าง scene ชั่วคราวจากสถานะปัจจุบันสำหรับใช้ลักษณะนี้ แต่ต้องรู้ว่าตอนเก็บอุปกรณ์พร้อมและสถานะที่เห็นตรงกับสิ่งที่ต้องการคืนหรือไม่ ถ้าเก็บขณะข้อมูลยัง unknown หรือเป็นค่าค้าง ก็ไม่ได้สร้างหลักฐานค่าจริงขึ้นมาให้เอง
ยังต้องกำหนดกรณีมีคนเปลี่ยนไฟระหว่างช่วงชั่วคราวด้วย การคืน snapshot อาจเขียนทับความตั้งใจใหม่ของคนในห้องได้ จึงควรมีนโยบายว่าจะคืนเมื่อใดและเมื่อเงื่อนไขใดยังอนุญาต ไม่ถือว่า snapshot ที่เก่ากว่าได้สิทธิ์เหนือทุกการเปลี่ยนภายหลัง
เอกสารระบุว่า scene ที่สร้างชั่วคราวจาก automation หรือ script ถูกนำออกเมื่อ reload scenes หรือ restart Home Assistant ถ้างานยังรอคืนค่าอยู่หลังเหตุการณ์นั้น ก็ไม่ควรคาดว่าจะเรียกฉากชั่วคราวเดิมได้เสมอไป
การคืนค่าหลังรีสตาร์ตจึงต้องใช้แบบที่เก็บข้อมูลกับสถานะงานเหมาะกับอายุที่ต้องการ หรือเลือกทางที่เมื่อไม่มี snapshot แล้วทำสิ่งใดได้อย่างชัดเจน เช่น หยุดรอข้อมูลแทนการเดาชุดค่าเดิมขึ้นใหม่ ไม่ขยายหน้าที่ของ scene ชั่วคราวให้เป็นบันทึกถาวรโดยไม่มีการออกแบบรองรับ
การสร้างฉากชั่วคราวซ้ำด้วยรหัสเดียวกันก็ควรมีเจ้าของงานที่เข้าใจกัน ไม่ให้สองกิจกรรมต่างฝ่ายต่างเก็บก่อนหน้าไว้ชื่อเดียวแล้วเรียกคืนผิดชุด หากต้องซ้อนหลายช่วง ควรคิดความสัมพันธ์ของรอบงานก่อนเพิ่มชื่อ scene ไปเรื่อยๆ
ควรตั้งชื่อชุดที่ต้องการตามกิจกรรมหรือผลที่เห็น เพื่อให้คนเลือกใช้ได้ตรง ส่วนรหัสฉากที่ script อ้างอยู่ควรรักษาหรือย้ายการอ้างอิงอย่างตั้งใจ ไม่แก้ชื่อทั้งชุดแล้วปล่อยให้ขั้นคืนค่าชี้ไปยังรายการเดิมที่ไม่มีอยู่อีก
ชุดทดลองควรมีการเรียก scene ตามปกติ อุปกรณ์หนึ่งไม่พร้อม คนปรับไฟระหว่างกิจกรรม และการ reload หรือ restart ก่อนคืนค่า แล้วดูว่าสถานะงานกับค่าที่เหลือยังอธิบายได้ตามกติกาที่ตั้งใจ
ควรตามจาก trace ของเส้นทางที่เรียกและข้อมูลที่อุปกรณ์รายงานร่วมกัน ไม่ใช้การเห็นชื่อ scene ถูกเรียกเป็นหลักฐานแทนทุกผลของห้อง การตรวจแบบนี้จะช่วยแยกว่าต้องแก้ชุดค่า ลำดับของ script หรือเงื่อนไขใน automation
Scene เหมาะกับการเก็บชุดสถานะที่เรียกใช้ซ้ำ ส่วนลำดับการทำงานกับกติกาเริ่มต้องอยู่ในส่วนที่รองรับหน้าที่นั้น เมื่อแยกบทบาทและดูแลอายุของ snapshot พร้อมทางจัดการการเปลี่ยนแทรก เราจะควบคุมพฤติกรรมห้องได้เข้าใจง่ายขึ้น โดยรู้ว่าการเรียกชุดค่าและการรักษาผลให้ตรงตลอดเวลายังเป็นคนละงาน