Lighting¶
Current State¶
Most of the house uses standard manual switches today. Smart switches are being installed in phases — starting with the outdoor/exterior locations.
The Full Lighting Schedule¶
Every light that runs on its own is listed here in one place — when it changes, why, and how it decides. The deep-dive on each light is further down this page; this is the at-a-glance master schedule.
Two kinds of light live here:
- Scheduled lights change at fixed moments — a clock time, or a sun event (sunset / civil dusk / civil dawn).
- Smart lights don't follow a clock at all. They re-decide whenever something changes (you walk past, you go to bed, a leak trips, the sun moves) by running down a priority list — the first rule that matches wins. Those are the night lights, the sitting lamp, and the two Govee ambiance lamps.
Times below are approximate and self-adjusting
Anything tied to the sun (sunset, civil dusk/dawn, the ambiance-lamp sky phases) shifts with the seasons automatically — "civil dusk" is ~20–30 min after sunset year-round, but that's 8:50 PM in June and 5:20 PM in December. Clock times (9:30 PM, midnight, market hours) are fixed.
A day in the life¶
Reading top to bottom, this is roughly what the house's lights do over a full day and night:
| When | Lights that change | What happens & why |
|---|---|---|
| Sunrise (the dark threshold, default 0°) | Exterior front & side | Porch / watch / flood lights turn off — they've been on all night for security. |
| Phone off charger after 6 AM → you reach the kitchen | Night lights, sitting lamp, ambiance lamps, TOU bulb | Good Morning wakes the house: night lights return to normal, the two Govee lamps and the sitting lamp resume automatic behavior, the office price bulb comes on. Any lamp left in manual overnight is handed back to automatic. |
| Sunrise → midday → afternoon | Corner Lamp, Office Lamp | The two ambiance lamps walk a sun-phase arc (sunrise → morning → midday → afternoon glow), tracking the real sky. |
| 9:30 AM ET, weekdays | SOFI ticker bulb | Market opens — the ticker bulb lights green (up) or red (down), richer and more vivid with bigger moves. |
| 4 PM ET, weekdays | SOFI ticker bulb | Market closes — ticker bulb goes off. |
| 4 PM – 2 AM, when you're in the bedroom & it's dark | Master bedroom sitting lamp | Turns on at the current circadian warmth (warm/dim night → cooler midday). |
| Room goes dark mid-day while you're in the bedroom (e.g. a storm) | Master bedroom sitting lamp | Turns on, warm and cozy. |
| Sunset | Hallway / Ramen sign | Turns on for the evening. |
| Sunset (the exterior dark threshold, default 0°) | Exterior front & side, backyard string lights | Front/side security lights turn on for the whole night; backyard string lights turn on. Adjustable — see Exterior Lights below. |
| Civil dusk (~20–30 min after sunset) | Salt lamp (office), night lights | Office salt lamp turns on (if the office is occupied); night lights begin their evening warm floor-glow. |
| Golden hour → dusk → night | Corner Lamp, Office Lamp | Ambiance lamps shift through warm golden hour, cool blue hour, then a dark starry-night look — at the real moment each happens outside. |
| 9:30 PM (Sun–Thu) / 11 PM (Fri–Sat) | Hallway / Ramen sign | Turns off for the night. |
| 11 PM–6 AM (late night) | Night lights | Motion only brightens them partway — enough to see, not to blind. |
| Good Night (in bed + phone charging, after 10 PM) | All lights | Everything turns off — including backyard string lights, salt lamp, and ramen sign. Night lights drop to an ember glow; the backyard string lights stay off for the rest of the night. Sitting lamp and ambiance lamps go dark (the "asleep" rule). |
| Overnight | Night lights, exterior front & side | Night lights stay at ember with dim motion; front/side security lights stay on until sunrise. |
| Civil dawn (~20–30 min before sunrise) | Salt lamp | Office salt lamp turns off — it burns only through the dark hours. |
| Everyone away, after dark | Master bedroom sitting lamp | Randomly toggles to look lived-in; forced off at 11 PM. |
Every light — when, why, how¶
| Light | When it runs | Why | How it decides |
|---|---|---|---|
| Salt lamp (office) | On at civil dusk, off at civil dawn (dark hours only) | Evening/overnight office ambiance | Two sun-elevation automations (−6°); on only if the office is occupied. Also off at Good Night, and held off while the office is empty. |
| Hallway light / Henry's Ramen Sign | On at sunset; off 9:30 PM Sun–Thu, 11 PM Fri–Sat | Evening hallway / decorative sign, later on weekends | Sun + time automations. Also off at Good Night. |
| Exterior — front & side (porch, watch, flood) | On sunset → sunrise (all night) | Security — lit perimeter all night | One area-driven renderer keyed to the sun's elevation crossing an adjustable threshold (default 0° = sunset). Any light added to a front/side area is picked up automatically. |
| Exterior — backyard (string lights) | On sunset → bedtime | Ambiance while you're up; dark once you turn in | Same renderer; goes off when the house is marked asleep and stays off till the next dusk. |
| Night lights (8×) | After dark: warm floor-glow; brighten on motion; partway 11 PM–6 AM; ember when asleep. Off in daylight. | See in the dark without hunting for a switch; double as silent status | A priority renderer + motion. Status overlays (highest first): alarm red → leak blue → Good Night error (bedroom red) → garage-open amber → normal. |
| Master bedroom sitting lamp (Hue bulb) | On evening (4 PM–2 AM) when you're in the room & dark, when the room goes dark mid-day (storm), briefly on wake before sunrise, or on demand (Alexa / switch) even in daylight. Off when asleep / movie playing / away | Bedroom ambiance that tracks the sun, plus an on-demand reading light | Priority renderer: away → wake → asleep → movie → manual override → evening-or-storm-occupied → off. When on, renders circadian colour-temp/brightness (warm/cozy only for a daytime storm); "dark" = sun down or room lux below a tunable threshold. Manual override ("Sitting Room Lamp" in Alexa) forces on ignoring dark; auto-clears when the room empties. |
| Corner Lamp (Govee, 16-segment) | Sun-phase ambiance all day; storm / alarm / leak scenes; off when asleep / away / movie / office empty | Mood lighting that tracks the sky | Priority renderer sharing the sun-phase schedule with the Office Lamp. Even a manually-set vibe turns off when the office is empty and snaps back when you return; auto-cleared each Good Morning. |
| Office Lamp (Govee, 3-head) | Twin of the Corner Lamp — same schedule, its own scene set | Matched mood lighting | Same priority renderer & shared schedule; its own webhook/toggle for manual. |
| TOU price bulb (Sengled A19 #1) | Tints by the current electricity price tier, whenever it's on | Glance-and-read: is it peak/off-peak/super-off-peak right now | Colors on TOU-period change while the bulb is on. |
| SOFI ticker bulb (Sengled A19 #2) | Green up / red down during market hours (9:30 AM–4 PM ET, weekdays); off otherwise | Glance-and-read: how's SOFI doing today | Tints by SOFI's daily % change; off outside market hours. |
What overrides what¶
- Routines beat schedules. Good Night turns everything off no matter where the day-arc is; Good Morning hands every smart lamp back to automatic. We Are Leaving kills the interior lights but deliberately leaves the exterior schedulers running.
- Safety beats ambiance. A water leak or a triggered alarm overrides the ambiance lamps and the night lights' normal look — that's when a silent, can't-miss signal matters most. Only standing there in manual mode outranks a safety alert on the Govee lamps.
- The two Govee lamps are ambiance only; the two Sengled bulbs are the data lights. Anything you need to read (electricity price, SOFI) lives on a dedicated bulb, never on the mood lamps. See Ambiance Lamps below.
- Presence trumps the schedule in the office. When the office is empty, every office light is held off regardless of what the schedule wants — see Office Presence below.
Office Presence¶
Presence sensors watch Louis' Office and turn the whole room's lighting into a "follow me" system. Because the room has an odd layout, more than one sensor covers it — two Aqara FP300s (mmWave — they sense you even sitting perfectly still, unlike a plain motion detector) as the primaries, plus a short "kick" off the Ecobee thermostat. The office counts as occupied if any of them sees you (and only goes "empty" once they've all been clear for a minute), so a spot one sensor misses is caught by another. Adding another sensor later is a one-line change. The rule is simple:
Why the Ecobee is only a 'kick'
The office Ecobee is mounted in the hallway pointed at a wall, and its occupancy sensor stays "on" for 30+ minutes after it last saw motion. Honoring that directly would keep the office lit half an hour after someone merely walked past. So the Ecobee only counts for 5 minutes per trigger — enough for the FP300 to confirm you actually came in and sat down; a pass-through clears in 5 minutes, not 30.
| When | What happens |
|---|---|
| You leave (office empty ~1 min) | Every office light turns off — salt lamp, Corner Lamp, Office Lamp, the TOU price and SOFI ticker bulbs, and the two small Govee bulbs. |
| You come back | The lights restore to exactly how you left them. |
"Restore exactly how you left them" is the important part — it remembers state:
- If a light was off when you left, it stays off when you return.
- If a light was on, it comes back on.
So the room doesn't blast every light on the moment you walk in — it brings back the scene you had. The two Govee mood lamps (Corner + Office) simply pick their normal automatic scene back up; the plain lights return to their exact previous on/off state.
How it plays with the schedule
The regular schedule (salt lamp at civil dusk, the ambiance lamps' sun-phase scenes, the SOFI ticker during market hours) is the default — it runs whenever you're in the office. Presence just pauses it while the room is empty. Two consequences worth knowing:
- A water leak or alarm still lights the Corner/Office lamp red even in an empty office — safety always shows.
- If you're away across civil dusk, the salt lamp won't light an empty office; it catches up the next time you're there at dusk, or with a tap.
- The SOFI ticker bulb re-reads the live market the instant you return (it isn't restored to its old color), so it never shows a stale up/down from when you left.
A brief walk-out won't kill the lights — there's a ~1-minute grace period (tunable on the sensor) before "empty" counts.
Night Lights¶
Eight smart night lights (ThirdReality) are placed around the house. Each one senses motion and room brightness, and they manage themselves — no switches to touch. They're tunable-white and color, which lets them double as quiet status indicators.
What they do on their own:
| When | They show |
|---|---|
| Daytime | Off (the room has enough light) |
| Evening, after dark | A gentle warm glow (~10%) so halls/baths aren't pitch black |
| You walk past one (after dark) | That light brightens to a comfortable warm level, then fades back after ~2 minutes |
| Late night (11pm–6am) | Motion brightens it only partway — enough to see, not enough to blind |
| After Good Night | They drop to a deep ember glow, and motion stays very dim, until Good Morning |
They also signal things at a glance, after dark:
- 🔵 Whole set blue — a water leak has been detected somewhere. Blue reads as water and keeps it distinct from an alarm (which turns the set red). A silent, can't-miss whole-house alert that works even if a phone is on Do-Not-Disturb. (You'll still get the push notification too.)
- 🔴 Just the bedroom light red — Good Night didn't fully complete (e.g. a garage door didn't close). It stays red until you fix it — the moment you do (close the garage), it goes back to its normal glow on its own — or until Good Morning (see the routines below).
- 🟠 Amber — a garage door is open. The whole set glows amber until both doors close.
Priority is leak (whole-set blue) → Good Night error (bedroom red) → garage open (amber) → normal, so a leak always wins.
Placement is still being finalized
The night lights are mains-powered Zigbee repeaters, so they'll be spread out during a walkthrough to strengthen the mesh. Until then they're configured as a group; once each is assigned to a room, behavior can be tuned per-room.
Master Bedroom Sitting Lamp¶
The wall lamp in the master bedroom's sitting area is now a Philips Hue bulb that manages itself, in a similar spirit to the night lights above — but because it's a colour-temperature bulb, when it turns on it picks a warmth and brightness that tracks the sun (warm and dim at night, cooler and brighter around midday) instead of just flicking on:
| When | It does |
|---|---|
| Evening, after dark, while you're in the bedroom (4 PM – 2 AM) | Turns on at the current circadian warmth |
| The room goes dark mid-day while you're in it (e.g. a storm) | Turns on, warm and cozy |
| Your phone comes off the charger to wake up, while it's still dark | Turns on |
| You reach the kitchen (Good Morning fires) | Turns off — and stays off, even if your partner is still asleep in bed |
| A movie's playing on the bedroom TV/Apple TV | Off |
| Bedtime (Good Night) | Off |
| Everyone's away, after dark | Randomly toggles on/off every so often, to look lived-in — off for the night at 11 PM |
| You ask for it (Alexa "turn on the sitting room lamp", or the dashboard switch) | Turns on at the current circadian warmth even in broad daylight — a reading light. Turns off on its own when you leave the room (about 2 minutes empty), or say "turn it off". |
Turning it on yourself (reading light). Normally the lamp only comes on when it's dark, so it won't help if you want extra light on a bright afternoon. Say "Alexa, turn on the sitting room lamp" (or flip the Sitting Room Lamp switch) to force it on anyway — it uses the same sun-tracking warmth (bright and neutral in the daytime). It switches itself back to automatic when the room's been empty a couple of minutes, or when you say "turn it off". In the evening "off" hands back to automatic, which may light it again for ambiance.
"Dark" means either the sun is down or the room's own light sensor reads dark (that's what catches a storm mid-day). The evening-ambiance and wake-up behaviors are timed apart on purpose: the lamp won't re-light itself at 5 AM just because someone's still in bed — it only comes on for the evening between 4 PM and 2 AM, and separately on wake if you're up before sunrise. You can tune how dark the room has to get before it kicks in from the dashboard. A manual change (Apple Home or the app) is respected until the next thing changes (dark falls, someone leaves, a movie starts, etc.).
Exterior Lights¶
All the outdoor lights run themselves from one system, keyed to how far the sun is below the horizon. That point is adjustable — the Exterior Lights Dark Threshold setting, which defaults to 0° (sunset). Lower it toward −6° to hold the lights back until it's properly dark; raise it above 0° to bring them on before the sun has fully set. Both the evening on and the morning off use the same number, so the rule is simply "on whenever the sun is below that angle." There are two groups:
| Lights | Come on | Go off |
|---|---|---|
| Front & side (porch, watch, flood) | Sunset (the threshold) | Sunrise (the same threshold) — on all night for security |
| Backyard (string lights) | Civil dusk | When you go to bed |
- "When you go to bed" means Good Night has run (your phone's on the charger and you're in the bedroom). Once you've turned in, the backyard lights stay off for the rest of the night — they won't flick back on if you get up at 3 AM — and come back the next evening at dusk.
- The system re-checks every 30 minutes, so if a switch briefly drops offline it fixes itself instead of getting stuck.
- Any light you add to a front / side / backyard area later is picked up automatically — no setup.
New outdoor lights are being added area by area, so the "front & side" group grows as the exterior smart switches roll out.
Turning them on or off yourself¶
Three voice switches let you override the schedule by hand — say it to Alexa, or tap the toggle on the dashboard's Lights tab:
| Say | Controls |
|---|---|
| "Alexa, turn the outside lights on / off" | String lights + front flood + front porch (all three at once) |
| "Alexa, turn the backyard lights on / off" | Just the backyard string lights |
| "Alexa, turn the front flood lights on / off" | Just the front flood |
Your choice sticks until the next dusk or dawn. When you flip one of these, the automatic schedule steps aside so the lights stay how you set them — no more getting overridden a few minutes later. At the next civil dusk or dawn (or the next morning), the normal schedule takes back over. So "turn the outside lights off" at 9 PM keeps them off for the night; "turn the backyard lights on" during the day keeps them on until dusk hands control back.
(This replaced the old "Outdoor Lights On" / "Outdoor Lights Off" Alexa scenes, which you could only "activate" and which the schedule reclaimed within half an hour.)
The interior foyer light is also on Alexa now — "Alexa, turn the foyer light on / off."
Good Morning & Good Night¶
Two one-tap routines (dashboard buttons and "Alexa, good morning / good night") that also run automatically.
Good Morning ☀️¶
Runs when your phone comes off the charger after 6 AM and you then walk into the kitchen — at which point the kitchen Echo Show greets you with a short spoken briefing:
"Good morning. It is 72 degrees and partly cloudy, with a high near 85. Your sleep score was 97. SoFi closed at 17 dollars and 30 cents, down 0.1 percent. In premarket, SoFi is up 0.4 percent. Energy cost yesterday was 5 dollars and 60 cents."
It also wakes the house up: clears sleep mode (night lights return to normal), turns on the office price bulb, and hands the Corner Lamp back to its automatic scenes (see below) — even if you'd left it in manual control the night before. The briefing is designed not to wake Lindsay — it only speaks once you're in the kitchen, never the bedroom.
Good Night 🌙¶
Runs when you're actually in bed — the bedroom thermostat senses you're there and your phone is on the charger (after 10 PM). A quick top-up charge while you're watching TV won't trigger it. It:
- Turns all the lights off — including the back-yard string lights, salt lamp, and ramen sign.
- Closes both garage doors, then double-checks 30 seconds later.
- Drops the night lights to their overnight ember glow.
- Sends a quiet bedtime report to your phone ("All secure," or a heads-up about anything still on).
If something didn't complete — say a garage door refused to close — the bedroom night light turns red so you know from bed. Go fix it and it returns to normal on its own; otherwise it clears at Good Morning. (TVs and music are left alone — other people may still be up.)
Ambiance Lamps — Corner Lamp & Office Lamp¶
Two Govee lamps in the office run themselves as a matched pair: the Corner Lamp (the tall 16-segment RGBIC lamp) and the Office Lamp (a 3-head fixture, each head washing a soft circle of light on the wall). They're twins — one tuned to the same rhythm, so they always look coordinated even though they're different physical lamps. You can still take either one over by hand any time.
These lamps are ambiance only — no stock ticker here anymore
Earlier, the Corner Lamp doubled as a SOFI stock ticker during market hours. That's been removed — it's now a plain mood lamp, like its new office twin. The SOFI ticker still exists, it just lives on its own dedicated bulb (see SOFI Ticker Bulb below). The idea: these two lamps are for ambiance, not information — anything you need to glance at and read lives on a different, dedicated light.
How the ambiance lamps work¶
Both lamps run through the same list of checks, top to bottom — whichever one matches first wins, and everything below it is ignored. This is the order to check if a lamp is ever doing something you don't expect:
flowchart TD
Start(["Re-checking the lamp\n(something just changed)"]) --> Manual{"Manual mode\nturned on?"}
Manual -- "yes" --> M["Leave it alone —\nyou're free-painting it\nin the Govee app"]
Manual -- "no" --> Alarm{"Alarm\ntriggered?"}
Alarm -- "yes" --> A["🔴 Red alert scene"]
Alarm -- "no" --> Leak{"Water leak\ndetected?"}
Leak -- "yes" --> L["🔴 Red alert scene"]
Leak -- "no" --> Movie{"Dark out, and a\nmovie's playing on the\noffice Apple TV?"}
Movie -- "yes" --> Off1["Off"]
Movie -- "no" --> Away{"Louis away\nfrom home?"}
Away -- "yes" --> Off2["Off"]
Away -- "no" --> Asleep{"Asleep?\n(Good Night ran)"}
Asleep -- "yes" --> Off3["Off"]
Asleep -- "no" --> Storm{"Genuine storm outside?\n(lightning / hail /\nheavy pouring rain)"}
Storm -- "yes" --> S["⛈️ Storm scene"]
Storm -- "no" --> Amb["🌅 Sun-phase\nambiance scene"] A few things worth calling out:
- Safety beats everything except manual. An alarm or a leak lights the lamp red even during a movie or while you're away — that's exactly when a silent, can't-miss signal matters most. Manual mode is the only thing that outranks a safety alert, since it means you're standing right there painting the lamp yourself. A leak or alarm outranking manual would just be confusing.
- A storm never interrupts a movie or an empty/sleeping house. Weather sits near the bottom — below the off-gates — on purpose, so a passing thunderstorm doesn't flash the lamp on while you're watching TV in the dark or nobody's home. Only a genuine storm counts — lightning, hail, or heavy pouring rain. Ordinary rain, snow, or fog is ignored entirely; the weather feed used to over-call "rainy" when it was really just cloudy out, so the lamps only react to real storms now.
- On at wake, off at sleep just falls out of the list. There's no dedicated "turn on at 7am" rule — Good Night marks the house asleep (which the "asleep" check catches, turning the lamp off), and Good Morning clears that flag, so the very next check re-runs the list and lands back on the ambiance scene.
One shared schedule, two lamps — and it follows the sun¶
Both lamps read the same schedule and the same weather check, so tuning one place tunes both lamps at once — you'll never update "the schedule" twice. And that schedule isn't a fixed clock: it's driven by the sun's actual position in the sky. Instead of "it's 5 PM, show twilight," it's "the sun is grazing the horizon right now, so glow gold."
Two things fall out of that, and they're what make it feel alive:
- Real golden hour and blue hour. The lamps hit the warm golden hour (sun just above the horizon) and the cool blue hour (sun just below) at the actual moment they happen outside.
- It shifts with the seasons on its own. Golden hour lands near 8:30 PM in July and 4:30 PM in December — the lamps simply follow the sun, so the whole day-arc self-adjusts all year with no re-tuning.
flowchart LR
TOD["☀️ Sun-position schedule\n(dawn → sunrise → morning → midday →\ngolden hour → sunset → dusk → night)"]
SEV["⛈️ Severe-weather check\n(real storms only)"]
CR["Corner Lamp"]
OR["Office Lamp\n(3 heads)"]
CS["Corner Lamp's own\nscene picks"]
OS["Office Lamp's own\nscene picks"]
TOD --> CR
TOD --> OR
SEV --> CR
SEV --> OR
CR --> CS
OR --> OS Each lamp still picks its own scenes — a corner floor lamp and a 3-head wall washer don't have identical scene libraries — but the when (where the sun is, whether it's storming) is one shared decision both lamps agree on. (Under the hood: a single sensor.ambiance_scene reads the sun's elevation and whether it's rising or setting, and lands on one of ten sky phases.)
Ambiance vs. data — the guiding idea¶
The office now has four "smart" lights, split cleanly into two jobs:
flowchart LR
subgraph Ambiance["✨ Ambiance — mood, not information"]
Corner["Corner Lamp"]
Office["Office Lamp (3 heads)"]
end
subgraph Data["📟 Data — glance-and-read"]
TOU["TOU Price Bulb\n(electricity rate tier)"]
SOFI["SOFI Ticker Bulb\n(stock price)"]
end The two Govee lamps are pure mood lighting — soft, animated, coordinated, and never something you need to "read." The two small Sengled bulbs are the opposite — plain on/off color coding you check at a glance for a specific fact (today's electricity price tier, or how SOFI is doing). Keeping the split clean means the nice lamps never get cluttered with a ticker, and the data bulbs never need to look pretty.
Corner Lamp (H607C)¶
What it shows, through the day — driven by where the sun actually is, so it tracks the real sky and shifts with the seasons (shown when nothing above it in the priority list applies):
| Sky phase | Where the sun is | Scene |
|---|---|---|
| Dawn | first hint of light, deep pre-dawn (12°–6° below horizon) | Moonlit Night |
| First light | blue hour, just before sunrise (6°–0° below) | Aurora |
| Sunrise | golden hour, just after sunrise (0°–6° up) | Sunrise |
| Morning | sun climbing (6°–30° up) | Morning |
| Midday | sun high overhead (above 30°) | Blue Sky |
| Afternoon | sun descending (30°–6° up) | Afternoon |
| Golden hour | evening gold (6°–0° up) | Sunset Glow |
| Sunset | blue hour, just after sunset (0°–6° below) | Sunset |
| Dusk | deepening dusk (6°–12° below) | Twilight |
| Night | fully dark (below 12°) | Starry Sky |
Because it's sun-driven, the same phase happens at very different clock times across the year — that's the point. A genuine storm (lightning, hail, or heavy pouring rain) swaps in a dramatic Thunderstorm scene instead. An alarm shows a Breathe scene; a water leak shows a Dripping scene — both deliberately not red-strobe-alarming, just clearly different from the everyday ambiance.
Taking manual control:
Flip the Corner Lamp Manual toggle on the dashboard (or hit the manual-on webhook below), then pick any color, brightness, or scene you like in the Govee app — the automatic scenes stand down and leave the lamp alone until you hand it back. It returns to automatic either when you flip the toggle back (or hit the auto webhook), or automatically the next time Good Morning runs — so it can never get stuck in manual overnight.
| Action | Webhook |
|---|---|
| Take manual control | https://<your-nabu-casa-host>/api/webhook/ac955561fe6ecd830cca9c276d32dc0c |
| Return to automatic | https://<your-nabu-casa-host>/api/webhook/bcc9004f10d08ba65ad3dfbf6d7b0831 |
Handy for a phone Shortcut or a physical button — a plain GET or POST to either URL does it, no body needed.
Office Lamp (3-head)¶
The newer 3-head office lamp washes light onto the wall from three separate heads, always shown together as one look — whatever scene the lamp picks, all three heads change together. It's the Corner Lamp's twin: same sun-phase arc, same storm/alarm/leak alerts, same off-when-asleep/ away/movie behavior — just its own matching set of scenes on different hardware (its bulbs are a different Govee model with a smaller scene library, so some phases use the nearest-fitting look):
| Sky phase | Scene |
|---|---|
| Dawn | Dreamland |
| First light | Awaken |
| Sunrise | Warm |
| Morning | Morning |
| Midday | White Light |
| Afternoon | Reading |
| Golden hour | Sunset Glow |
| Sunset | Dusk |
| Dusk | Quiet |
| Night | Starry Sky |
A genuine storm shows Aurora; an alarm shows Fire; a water leak shows River.
Taking manual control works exactly the same way as the Corner Lamp — a dashboard toggle (or webhook) hands it over to the Govee app, and it auto-returns to automatic at the next Good Morning:
| Action | Webhook |
|---|---|
| Take manual control | https://<your-nabu-casa-host>/api/webhook/5895625ac666da27f53277f7204c2e36 |
| Return to automatic | https://<your-nabu-casa-host>/api/webhook/83a05cadc50d2e5ed89c6c4ed8d00d77 |
SOFI Ticker Bulb¶
A Sengled bulb in the office ("SOFI Ticker") shows how the SOFI stock is doing, at a glance, during market hours (9:30 AM–4 PM ET, weekdays):
- 🟢 Green when the stock is up on the day — a pale sage green for a small gain, deepening to a vivid pure green the more it's up.
- 🔴 Red when it's down — a soft dusty rose for a small dip, deepening to a vivid pure red the more it's down.
- 🟡 Amber when the day is basically flat (less than 0.1% either way).
- Off outside market hours.
The bulb stays the same brightness all day — it's the richness of the colour, not how bright it is, that tells you how big the move is. (Before July 2026 it was the other way round, which made small moves almost invisible.)
Because brightness no longer means anything, it's yours to set: SOFI Ticker Brightness (default 55%) controls how present the bulb is in the office. Turn it down if it's distracting — the colour still tells you everything. Changes apply straight away.
Color intensity maxes out around a ±4% day. The price comes from a free Yahoo Finance feed, refreshed every few minutes (so it's near-live, not to-the-second).
The one and only SOFI ticker
This bulb is the sole place SOFI's price shows up in the house — it used to also flash on the Corner Lamp during market hours, but that's been removed (see Ambiance Lamps above) so the two nice office lamps stay pure ambiance. A neighboring Sengled bulb does the same trick for the electricity price tier (TOU) — see docs/energy.md.
Outdoor Smart Switches — Coming First¶
The exterior lighting circuits are the first batch of the Inovelli Blue Series Zigbee smart switch rollout — the hardware is in hand and ready to install. Once installed, these behave exactly like normal switches (press the paddle to toggle) but also respond to voice and app control. The circuits below are the planned outdoor locations:
| Location | What it controls |
|---|---|
| Front Hanging Light | Front entry |
| Flood Lights | Front facade flood lights |
| Patio Door | Back patio |
| High Flood | High-mount flood lights |
| Personnel Door | Exterior side door |
| Outside Garage Lights | Garage exterior lights |
| Garage Lights | Inside the garage |
Controlling Outdoor Lights (once installed)¶
- Manual: Press the switch paddle like normal
- Alexa: "Alexa, turn on the [name]"
- Apple Home: Available in the Home app
- Dashboard: Accessible from the HA dashboard
What's Coming — Whole-House Rollout¶
Smart switches are being installed throughout the entire house in batches. After outdoor, the install order is:
- Master Bedroom can lights
- Office (can lights, corridor, fan)
- Master Bedroom (fan, bathroom hallway, switched outlet)
- Family Room (can lights, fan, switched outlet)
- Kitchen + Laundry
- Foyer + Dining Room
- Lindsay's Office
- Upstairs Hallway, 3rd Floor Stairs, Front Room
Each batch is ordered and installed before the next is ordered, so the rollout is steady but not rushed.
Fan locations (Office fan, Master Bedroom fan, Family Room fan) use a dedicated Inovelli fan+light switch that provides separate control of the fan speed and light — replacing the existing pull-chain or single-switch setup.
Technical Reference — Full Location Inventory¶
Expand for complete switch inventory
| Room | Circuit | Smart switch | Aux | Verified |
|---|---|---|---|---|
| Office | Can Lights | 1× dimmer | 1 | ✓ |
| Office | Corridor | 1× dimmer | 1 | ✓ |
| Office | Fan | VZW31-SN + VZW36 | — | ✓ |
| Kitchen | Can Lights | 1× dimmer | 3 | ✓ |
| Kitchen | Butler's Kitchen | 1× dimmer | 1 | ✓ |
| Kitchen | Kitchenette | 1× dimmer | — | ✓ |
| Laundry Room | Can Lights | 1× dimmer | 1 | ✓ |
| Family Room | Can Lights | 1× dimmer | 1 | ✓ |
| Family Room | Fan | VZW36 + VZM35-SN canopy | — | Wiring TBD |
| Family Room | Switched Outlet | 1× on/off | 1 | ✓ |
| Master Bedroom | Can Lights | 1× dimmer | — | ✓ |
| Master Bedroom | Fan | VZW31-SN + VZW36 | — | ✓ |
| Master Bedroom | Bathroom Hallway | 1× dimmer | — | ✓ |
| Master Bedroom | Switched Outlet | 1× on/off | — | ✓ |
| Upstairs Hallway | — | 1× on/off | 4 | ✓ |
| Exterior | Front Hanging Light | 1× on/off | — | ✓ |
| Exterior | Flood Lights | 1× on/off | — | ✓ |
| Exterior | Outside Garage Lights | 1× on/off | 1 | ✓ |
| Exterior | Personnel Door | 1× on/off | — | ✓ |
| Exterior | Patio Door | 1× on/off | — | ✓ |
| Exterior | High Flood | 1× on/off | — | ✓ |
| Garage | Garage Lights | 1× on/off | 1 | ✓ |
| Lindsay's Office | Can Lights 1 | 1× dimmer | — | ✓ |
| Lindsay's Office | Can Lights 2 | 1× dimmer | — | ✓ |
| Lindsay's Office | Switched Outlet | 1× on/off | — | ✓ |
| 3rd Floor Stairs | Hallway Light | 1× on/off | 1 | ✓ |
| Foyer | Big Light | 1× dimmer | 1 | ✓ |
| Foyer | Can Lights | 1× dimmer | — | ✓ |
| Front Room | Switched Outlet | 1× on/off | — | ✓ |
| Dining Room | Chandelier | 1× dimmer | 1 | ✓ |
Totals: 29× VZW31-SN · 3× VZW36 · 3× VZM35-SN · 18× VZW05