Mini Project: Hallway Plus Office 2.0
Module 11 closed with a hallway and an office running simple, single-piece automations. This project rebuilds both rooms with everything this module has taught, helpers, timers, scenes, and scripts, working together as one properly layered system.
What this mini project brings together
The hallway already has its full schema working from Lesson 8, test_mode_hallway, timer.hallway_off, and two scripts. This project extends the exact same pattern to the office, then adds one small scene tying both rooms together, genuinely proving the pattern generalizes rather than only ever working for the one room it was first built in.
Step 1: create input_boolean.test_mode_office
Create a second test-mode helper specifically for the office, mirroring test_mode_hallway exactly, named and iconed consistently so the two are genuinely obvious as a matched pair on your dashboard. Record its definition in your notebook immediately, exactly as every earlier helper in this module has been recorded.
Step 2: create timer.office_off
Build a second timer for the office, giving it its own genuinely sensible duration rather than simply copying the hallway's thirty seconds, an office LED signal might reasonably stay lit a little longer. Add it to your diagnostic dashboard's Timers group right alongside timer.hallway_off.
Step 3: build script.office_arrival and script.office_departure
Mirror hallway_arrival and hallway_departure exactly, one script turning the office LED on and logging a notification, the other turning it off and logging a matching one. Naming these two scripts consistently with their hallway counterparts means anyone reading your entity list instantly understands the pattern without needing any further explanation.
Step 4: rebuild the office's two automations
Update the office's motion automation so it checks test_mode_office, starts timer.office_off, and calls script.office_arrival, then build a second automation triggered by the timer finishing that calls script.office_departure. This is genuinely the identical structure built for the hallway in Lesson 8, just pointed at office entities instead.
Step 5: add a "Both Rooms Off" scene
Build one new scene capturing both the hallway and office LEDs off together, genuinely useful as a single manual reset button for testing, or for whenever you're leaving the house and want both signal lights cleared at once regardless of their timers' current state.
Step 6: extend your diagnostic dashboard
Add every new office entity, helper, timer, both scripts, to your existing diagnostic dashboard from Lesson 9, grouped alongside their hallway counterparts rather than in a separate section. A dashboard organized by concept, Helpers, Timers, Scenes and Scripts, scales naturally to a second room without needing any real restructuring.
Testing the full two-room system end to end
Trigger motion in the hallway and confirm its full chain runs correctly, then trigger the office sensor and confirm its own independent chain runs too, without either room's timer or scripts interfering with the other's. Finally activate "Both Rooms Off" and confirm both LEDs turn off together in one single action.
What can genuinely go wrong
The most common mistake when copying a pattern to a second room is accidentally referencing the hallway's entities somewhere in the office's new automation or script, a copy-paste error that's easy to miss until testing reveals the wrong light responding. Read through every new automation and script carefully, confirming each one references only office entities before considering this project complete.
A hands-on exercise
Run the full end-to-end test described above and record every trace and script run for both rooms in your notebook, right alongside your existing hallway schema diagram, now expanded to cover the office too. Then flip both test-mode helpers on together and confirm neither room's LED responds to motion at all, proving both chains genuinely respect their own separate helper entirely independently of one another.
Reflecting on this module's whole arc
This module began with a single on/off flag and ends here, two rooms each running a genuinely proper schema of helpers, timers, scenes, and scripts, built, tested, documented, and now visible on one shared diagnostic dashboard. Every single piece introduced along the way genuinely turned out to matter, and the discipline of naming things clearly and writing them down carefully has paid for itself many times over by this final lesson.
Why the office's timer duration should genuinely differ
Copying the hallway's exact thirty-second duration onto the office timer without a second thought would genuinely work, but it misses an opportunity this module has emphasized repeatedly, that each helper's value should reflect its own real-world purpose rather than simply inheriting whatever number a different room happened to use first. An office LED signaling "someone's working in here" arguably deserves a longer window than a hallway light meant only to bridge a brief walk-through, so pick office_off's duration deliberately rather than out of pure convenience.
Where office_temp_threshold fits into this project
The office already has input_number.office_temp_threshold running independently from Lesson 5, and this project deliberately leaves that automation untouched, it's a genuinely separate concern from motion-triggered lighting and doesn't need folding into this particular schema. Recognizing which pieces of a room's automation genuinely belong together, and which are better left as their own independent, unrelated logic, is itself part of the design judgment this module has been building toward.
Recording the office's schema in your notebook
Extend your existing schema diagram from Lesson 8 to fully include the office's mirrored pieces, drawn genuinely side by side with the hallway's own diagram so the parallel structure is immediately obvious at a glance. A notebook that shows both rooms following the identical shape is considerably more valuable than two separate, disconnected diagrams that don't visibly relate to each other at all.
Looking ahead to a third room
Nothing about this project's overall structure is genuinely specific to having exactly two rooms, a bedroom, a garage, or a living room could each adopt this identical pattern later using precisely the same six steps walked carefully through here. The real work involved in extending to a third room isn't inventing anything genuinely new at all, it's simply repeating a pattern you now understand well enough to apply confidently without needing to relearn it completely from scratch each time.
Reviewing your diagnostic dashboard one final time
Before considering this project genuinely finished, walk through your entire diagnostic dashboard one last time, confirming every helper, timer, scene, and script from both rooms is present, correctly grouped, and clearly named exactly as this module has practiced throughout. This final review is a genuinely small investment of time that pays off considerably the very next time something needs debugging, whether that's next week or well over a year from now.
What this project deliberately leaves out
This project deliberately stops short of script fields, shared generic scripts, or a single input_select mode governing both rooms at once, all genuinely reasonable next steps once you're fully comfortable with everything built here first. Layering in that extra sophistication before the basic two-room pattern is genuinely solid would risk exactly the over-engineering Lesson 10 warned against earlier, so this lesson leaves that refinement for you to pursue later, entirely on your own terms.
A closing thought on this module as a whole
Every helper type this module introduced, a flag, a mode, a number, a countdown, a saved snapshot, a reusable sequence, exists to solve one genuinely specific kind of problem, and the real skill this module has built isn't memorizing each one individually but recognizing which single piece a given situation actually calls for. That judgment, genuinely choosing the right tool rather than simply reaching for the most familiar one, is exactly what carries forward confidently into every single module still ahead.
Key takeaways
The hallway's full schema, helper, timer, two scripts, generalizes cleanly to the office with the same clear naming pattern.
A shared "Both Rooms Off" scene gives you one manual reset covering both rooms regardless of timer state.
Double-check every new automation and script references only the correct room's entities before calling it complete.
Your diagnostic dashboard and notebook both scale naturally to a second room without needing real restructuring.
What's next
With two rooms now running a genuinely proper schema and a full diagnostic dashboard to watch over them, Module 13 turns to dashboards themselves, building the everyday, non-diagnostic views your whole household will actually use.