r/homeassistant

Image 1 — Pocket Assistant
Image 2 — Pocket Assistant
Image 3 — Pocket Assistant
Image 4 — Pocket Assistant
Image 5 — Pocket Assistant
Image 6 — Pocket Assistant
▲ 80 r/homeassistant+1 crossposts

Pocket Assistant

I always thought that this pocket watch style hardware from Waveshare was really cool, and wondered why no one had done much with it. Well now I know. It was really challenging to get Voice Assistant and Music Assistant working reliably. While I was at it, I built a custom Music Assistant back-end, allowing full library browsing and speaker control. Area controls coming in a future release.

Demo: https://www.youtube.com/watch?v=KKwvTn31XF8

GitHub Repository: https://github.com/slampton/esphome-pocket-assistant

Hardware: https://docs.waveshare.com/ESP32-S3-Touch-AMOLED-1.75C

Voice Pipeline FYI: Nabu Casa STT and TTS, with Gemini 3.5 Flash Lite.

u/LamptonLabs — 5 days ago

I wanted to automated `everything`, I ended up with over 333 automations in my appartment. This post lists most of it in case anyone lacks ideas on what to automate next! (Long post alert)

^(PSA: I used an LLM to better sort my ramblings. I have ADHD and English is my third language, but I still wanted this to be tidy and digestible for newcomers who might get some use out of knowing what can be automated!)

You must be wondering what 338 automations and 80 scripts could possibly be doing in a single apartment; Honestly, so was I, so I exported everything, and here we are!

(The average Home Assistant install sits at ~13 automations, so yes, I may have a problem.)

The philosophy is simple: any action repeated throughout the day, automated. Music follows people from room to room, lights and speakers know when someone is sleeping, and much more!

💡 On lighting (61)

Here you will find motion lights, empty-room shutoff, TV-aware dimming, outdoor lights driven by cameras and the sun… and a frankly unreasonable number of color effects.

  • Turn the lights on with motion in 11 rooms (plus the hallway radar's wardrobe zone). It only touches lights that are off, skips anything labeled "High Intensity", leaves rooms with a sleeper alone, and stands down while the alarm is armed away or triggered.
  • Turn the lights off in empty rooms, in two flavors across 10 rooms: after 6 minutes normally (unless I'm in there or a party mode is on), or after 1 minute with a 60-second fade when Adaptive Lighting sleep mode is on. Everything inside also goes off 5 minutes after the house empties.
  • Connect the Hue dials to one blueprint, 12 of them, one per room: button 1 toggles, 2 is bright white (and kills UV lamps and effects), 3 is random colors, 4 is 1%. Holds and five-presses add pastels, warm saturated colors, LIFX morph and UV toggles. Turning the dial steps brightness +10%/-15%, and once you hit full brightness it pales or deepens the colors instead.
  • Paint the room's colors on the LIFX bulbs in 6 rooms: when a room's light group switches to a color, it waits 2 seconds, then spreads up to 16 distinct colors from the room's other lit bulbs across its LIFX lights.
  • Dim the lights for movies: a movie from the Movies library starts and lights above ~31% drop to 30% at 3308 K; pause it and anything under 60% comes up to 60%; turn the TV off and Adaptive Lighting takes over again. The salon Buddha statue lights and the workshop wall light drop to 1% when radar sees someone in the bed/couch zone or the TV plays, then come back up after.
  • Run the outdoor lights on cameras and the sun: the front door light comes on a minute after sunset and gets re-checked every 30 minutes while it's dark, in case someone switched it off. A person on the front camera bumps it to full white, and it restores itself 3 minutes after they're gone. The back door light reacts to four person detectors or the door opening, and the parking lamp to any parking/balcony person or a car seen for 3 seconds, each with its own "nobody's around anymore" shutoff.
  • Wake me up with light: on weekdays, 2 minutes before my phone alarm (if it's between 07:30 and 09:30), the lights in whatever room I'm in fade up to 51% at 3311 K over 10 minutes.
  • Generate effects galore: a looping "trippy" random-color mode and a "trippy warm" red/magenta/purple one (they refuse to run together, and both turn themselves off after 16 hours), a "vibrating colors" shimmer around each light's current hue, random color and pastel toggles (also by voice), and a Nanoleaf that picks a random effect when you swipe it.
  • Go full blue with the UV lamps: when a room's UV lamps turn on, its color lights go blue. When they turn off, the room goes back to whatever mode is active (party pastels, Sexy mode warm pale colors, Psychedelic time saturated colors, or plain Adaptive Lighting).
  • Match the patio lights to the projector, and restore them when it turns off.
  • Set "Wallpaper Engine" to the same color as the lights: when the salon lights change color, my PC's wallpaper follows over MQTT.

🔒 On security (56)

Here you will find the alarm logic, camera alerts with buttons, three horns, an "I'm scared" mode for the back door, and an LLM babysitting the car.

  • Arm and disarm the alarm on its own: away once nobody's been home for 10 minutes, night once everyone's been asleep for 5. It disarms on arrival, on a resident's keypad code, when someone wakes up while the sun is up, or at sunrise if I'm already awake.
  • Send camera alerts that actually do things: Frigate (SgtBatten's blueprint) and Reolink person detections at the front door, back door, back balcony and four parking detectors send high-priority snapshots with buttons like "Blow the horn for 2 minutes?" or "Open camera". One front-door variant only fires when someone crosses three zones in order (window, door, loitering spot), aka actually arriving, and only while I'm waiting for someone.
  • Blow the horns (front, back, parking), and have a whole conversation about it: a detection alert offers "Blow the horn?", a "Horn started" alert offers "Stop the horn?" to me and to whoever else is around, and each horn auto-stops after 2 minutes with a fresh snapshot and a "Restart the horn?" button. If the back horn has run a full minute and someone's still at the back entrance, the parking horn joins in.
  • Turn on "I'm scared" mode (the automatic back horn) when the alarm arms away or night, or when everyone's asleep late at night. While it's on, a person at the back door sets off the horn and the camera siren, and the back camera gets cast to four TVs and the kitchen hub. It turns itself off on disarm or when a resident arrives (the back door light flashes green when the camera sees you coming), and if it gets disabled I get a "Turn it back on" button.
  • Ask an LLM if someone is messing with my car: instead of yelling about everyone who walks through the parking, a person lingering there (checked at 15 s, 30 s, 1 min and 1.5 min) while a car is present gets LLM Vision to look at 6 seconds of footage and decide whether that person is actually interacting with the car. Only a "yes" rings my phone and sends a "Car break-in attempt" alert with a "Ring the siren!" button. A sister automation re-checks every 30 seconds and fires a half-second siren chirp with the floodlight on full, as a warning shot.
  • Handle intruders: a door opening or motion while armed away kills the lights and music following, sends me a snapshot, rings my phone and triggers the alarm. Once triggered: a police de-escalation announcement at 100% on the home speakers, tablets locked into maintenance mode, and if two or more security sensors still see someone 5 minutes later, the full defense script (horns plus a burglar alarm on every speaker). Disarming cleans it all up.
  • Guard the night: a door opening while armed night turns every light on at 100%, announces which door on the bedroom speaker, and gives me a "Blare inside alert?" button. Armed home plus someone in my bedroom, and the speaker repeats "Please leave this room immediately" until they do. Polite, but firm.
  • Discourage loiterers: 30 seconds at the back door and the back light flashes red until they leave; 1 minute (alarm armed) and the back horn sounds and my phone rings.
  • Fake being home with a ghost that wanders: instead of random on/off, one light group is "occupied" at a time and the occupant moves to a different room every 5–118 minutes, with a 15–60 second overlap so it looks like someone walking from one room to the next, around the clock. It starts when the simulation toggle is on and the house is empty and armed away, and ends the moment anyone gets home.
  • Track the full path of someone coming in from the parking exit and walking all the way through the yard to a spot a trespasser used to use, with a tap-to-sound-the-horns button.
  • Handle the small stuff: a strobe if the kitchen door opens while armed, the floodlight to auto mode at sunset, the parking camera's infrared as a fallback for the exit camera, and tablets that lock on a triggered alarm and unlock on disarm.

🎵 On music (50)

Here you will find Music Assistant doing "music following": speakers mute and unmute as people move around, volume follows the time of day, and nothing talks over anything else.

  • Follow people with the music in 8 rooms: playing speakers mute after 5 minutes without motion (unless I'm in that room) and unmute when motion starts, unless the room has a sleeper, an unmuted TV or an active mic. Playback keeps going silently, so the music is just there when you walk in.
  • Calculate and set the appropriate volume by time of day: a shared script sets speakers to 30% from 08:45, 35% from 11:30, then steps down through the night to 20% after 03:00. It runs when a speaker starts playing after a break, when music following turns on, when a room has been empty for ~17 minutes, and when Person A gets home.
  • Keep one audible source per room: a TV starting in a room mutes that room's speakers, and vice versa; whichever was muted comes back once the other has nothing audible left.
  • Mute the speakers when I talk: when I'm on a call or using my PC mic, my room's speakers mute, and the mute follows me as I move around.
  • Tell me my phone is ringing: pauses the home group and has Piper announce "Phone ringing near" plus the room name, on the speaker in whatever room I'm in.
  • Compensate for noise: +1 volume step when the AC starts in a room (-1 when it stops), +1 in whichever room the robot vacuum is cleaning (back down when it leaves), +2 on the bathroom speaker when the fan starts with the door closed, and a cut to 67% when someone steps out of the shower (the radar's shower zone clears).
  • Start muzak in the bathroom, plus about a dozen automations around it: a shuffled "Bathroom Muzak" playlist starts when you walk in or close the door, the volume depends on whether the door is open, it mutes when the door opens while music's playing elsewhere or everyone's asleep, and if someone leaves Spotify playing in there it eventually gets swapped back to Muzak. Don't ask. (Actually, do ask.)
  • Connect the dials to the dial blueprint, 12 IKEA SYMFONISK ones on EPMatt's blueprint: turn for volume, press to play/pause, double-press to skip, triple-press to turn off. Most control the room's Chromecast if it's playing and unmuted, otherwise the room's WiiM speaker.
  • Greet arrivals and wake-ups: when I wake up at home in the morning, music starts on the home group (Person A's morning playlist if they're over early). Coming home alone plays my favorites; being away 5 minutes turns the home group off. Idle speakers get their queue cleared and switched off after 10 minutes.
  • Add artists playing on the speakers to Lidarr for automatic acquisition: every artist that plays from Spotify or Tidal gets looked up on MusicBrainz and added.
  • Skip "Mr. Blue Sky" automatically whenever Person A is over.

😴 On sleep & presence (35)

Here you will find the per-room "sleeper" flags that drive bedtime and wake-up routines, plus arrivals. They know where you are...

  • Toggle the sleeping mode per room in 7 rooms (bedroom, salon, workshop, hotbox, closet, patio, lounge): set by double-pressing an IKEA button or by a bedroom sensor, and cleared automatically when the room's lights stay bright for a couple of minutes.
  • Put the room to bed: blinds close, lights fade out, tablets go dark (screen and motion detection off), TVs and assistant screens turn off, and thunderstorm sounds start on the bedroom or salon speaker. When the bedroom sleeper turns on, empty neighboring rooms get their lights turned off too.
  • Wake the room up gently: each undo routine reverses it. The closet one starts the lights at 1% magenta and raises them 2% every 2 seconds; the bedroom chandelier fades to 100% over 45 seconds.
  • Put the whole house to sleep: once everyone's been asleep for 5 minutes (or the alarm is armed night), the sun is down and no party mode is on, Adaptive Lighting goes into sleep mode, the blinds close and the TVs turn off. It switches back during daytime hours once people are up.
  • Put my phone to bed too: Do Not Disturb (priority only) and minimum brightness after I've been asleep 5 minutes, reversed when I wake. Its BLE beacon turns on when I get home (for room tracking) and off when I leave.
  • Turn on thunderstorm sounds wherever I fall asleep, if I'm home alone.
  • Announce arrivals: I get a heads-up when Person A is nearing home (it waits for their phone to join the home Wi-Fi to confirm), Person A gets one when Person B is nearing home, and house-sitting mode turns on when I leave town and off when I'm back.

❄️ On climate, blinds & air (25)

Here you will find blinds that cooperate with the AC, sunset routines, and fans that react to what's actually happening.

  • Slightly open the blinds when the AC turns on: my ACs need a gap, my routines just want to close the blinds. Solution; in the bedroom, salon, workshop and hotbox, the blinds can't go below 18–29% open while that room's AC plug is on, and once the AC is off, any small leftover gap closes fully. Sunset and bedtime routines just say "close" and never need to know about the AC.
  • Close the blinds at sunset or when the house is empty: bedroom, hotbox and salon blinds plus the kitchen curtains close 10 minutes after sunset, and everything closes once the home has been empty for 5 minutes. The bedroom blinds reopen once the sleeper's been up 5 minutes, if the bedroom door has been open for at least 10.
  • Run the bathroom fan on actual humidity: on 30 seconds after the shower-in-use sensor trips, off once bathroom humidity drops below the house's average humidity.
  • Purify the salon air: the purifier turns on when an "active smoking" trend sensor fires and off when PM1 drops below 10.
  • Let the fans follow context: the hotbox bed fan comes on when its side curtain closes and off when it opens, the hotbox circulator follows the AC, and the closet fan shuts off after 10 empty minutes.
  • Set the ACs to away or present depending on users presence for the workshop and salon, and run the bedroom AC flat out (thermostat off, plug on) while someone's sleeping, until the wake-up routine hands it back to the thermostat.

🗣️ On voice assistants (18)

Here you will find about a dozen ESP32/Voice PE satellites that know which room is occupied and keep the music out of the way.

  • Mute the mics in empty rooms: microphones auto-mute in rooms that have been empty for 2 minutes (except the bedroom) and unmute when someone walks in, unless there's a sleeper. Screens turn on with occupancy, off after 1:45 of emptiness, and light up while listening.
  • Duck the music while listening: when any satellite starts listening, the playing speaker in that room drops to ~65% and the TV to half, then goes back to exactly where it was (unless someone changed it meanwhile).
  • Set the answer volume: replies play at 75% when Adaptive Lighting sleep mode is on, 100% otherwise.
  • Understand custom sentences: "equalize the volume", "find my phone", "show the cameras on the TVs", "stop the music", "restart Music Assistant", "random colors" / "pastel colors", and the drinking game below. Plus the Music Assistant local voice blueprint for "play the album X by Y in the kitchen" style requests.
  • Shut up when needed: live concert mode mutes every assistant after 5 minutes, and the patio assistant mutes itself whenever the patio camera counts zero people and there's no motion.

📱 On tablets & wall displays (22)

Here you will find wall tablets that dim with the room and babysit their own batteries, plus an e-ink morning brief.

  • Automatically adjust the tablets' brightness to follow the lights on 5 tablets, but only when their battery is healthy enough.
  • Control the tablets' battery level with smart plugs: the hallway and workshop tablets charge between thresholds (the workshop one waits until morning to stop charging), and the other tablets and the front door phone dim or switch off their screens when the battery gets low.
  • Light up the front door phone when the front camera sees a person, off after a minute of nobody (10 minutes max), and show the text replies I type into doorbell notifications.
  • Reload the kiosks: the hallway and workshop tablets go back to their start page after the room's been empty a while, and a couple of tablets reload after Frigate changes state.
  • Draw an e-ink day brief: at 06:00 an OpenDisplay e-ink screen draws a 3-day agenda from six household calendars, the outside temperature and an AI-written three-sentence news story from a local RSS feed. Short press on its button for a 7-day agenda-only view; hold 5 seconds to redraw the full brief.
  • Automatically recast the Lovelace interface to the kitchen Google Hub whenever it isn't playing Plex.

🎉 On parties (20)

As you may have guessed by now, there are a few parties around here. Here you will find one-switch modes that flip the whole house.

  • Flip the whole house with one switch: Party mode, Sexy mode, Psychedelic time, Neon UV Party and Live Concert. Each one kicks off a whole-house script: lights (pastels, warm pale, saturated or all blue), visuals on idle TVs via Plex, a playlist if the speakers are idle, and blinds closed. Party mode turns itself on when more than 5 devices join one of the guest Wi-Fi networks.
  • Go Neon UV: close all blinds, pause Adaptive Lighting, set everything to full blue, turn on every UV lamp and mirror the light colors on the TVs. While it's on, any light that gets changed drifts back to blue over 2 minutes.
  • Alert me when people are too noisy on the patio: yelling, cheering or a crowd for 10 seconds, or anything above -25 dB, gets me an alert with a patio snapshot. There's also an LLM Vision check meant to spot police or security at the front door during a party and drop all the speakers to ~30% .
  • Pick who drinks: ask the assistant "who should drink?" and the patio lights go dim red while one random light turns bright green for 10 seconds.
  • Run the jukebox: party mode puts a Music Assistant guest jukebox page on the kitchen and workshop tablets; live concert mode pulls it, puts the tablets in maintenance mode and mutes the assistants.
  • Clean up after the party: Psychedelic time turns off 30 minutes after everyone's asleep, and every temporary mode has a max duration (see Maintenance).

🍳 On the kitchen, appliances & safety (19)

Here you will find appliance-done announcements, kitchen timers, and alerts that keep repeating until you deal with them.

  • Announce when the appliances are done: smart plugs watch the power curve (the microwave climbs past 100 W, then drops under 5 W) so the house knows when the air fryer, microwave, dishwasher or washer is done; the dryer reports its own end status. They stay quiet when I'm asleep, several skip cooking mode, and several only announce when nobody's in the kitchen, repeating every 5 minutes until someone walks in.
  • Announce house-wide when the water is boiling: the stove sensor reading above 80% humidity means steam (skipped in cooking mode).
  • Set the Cooking timer to match the kitchen assistant's timer, and announce a finished timer every 5 minutes for as long as the kitchen stays empty.
  • Harass everyone when the fridge door is left open for 4 minutes, repeating every 4 minutes until it's closed.
  • Yell about smoke (kitchen and hallway): a high-priority alert with the nearest tablet's camera image plus a white light flash, every 3 minutes while there's still smoke. A "call 911" notification button opens the phone dialer with 911 pre-filled.
  • Alert us when there is a water leak (dishwasher, behind the toilet, kitchen): spoken warning, white light flash and phone alert every 4 minutes while wet, and a dishwasher leak cuts power to the dishwasher and washer plugs.
  • Broadcast an alert if the vacuum is stuck, naming the room, every 10 minutes until it's unstuck.

🚪 On doors, locks & the doorbell (17)

Here you will find self-locking doors, named keypad arrivals, and a doorbell that reaches every screen in the house. Fitting, since this whole thing started back in 2018 with a smart lock and a roommate who was done with me losing my keys.

  • Lock the doors when they're closed: 5 seconds after closing, plus a re-lock if a door's been unlocked for 5 minutes while shut. If the front lock stays unlocked for 6 minutes I get an alert every 3 minutes (unless I'm airing out the apartment), and a front door left open for 3 minutes gets a reminder too.
  • Detect who is entering and announce them: each resident's keypad code on the front or back lock announces who just came in, flashes the notification lights cyan, and sends me a notification (with a snapshot for the front door).
  • Ring the doorbell everywhere: a snapshot, picture-in-picture camera on the Android TVs (QuickBars), a blue light flash, a spoken "Someone is at the front door!", the live stream on idle TVs, and a phone notification with unlock, reply and camera buttons. The PTZ swings to the doorway preset on press, and the camera feeds on the TVs turn off once the door locks again.
  • Unlock remotely, with confirmation: tapping Unlock sends a second notification with a fresh snapshot, and only confirming that one opens the door.
  • Talk back to visitors: replies typed into the doorbell notification show up on the front door phone's screen.
  • Hunt for packages: the courier's "within the hour" email flips on Waiting Package mode. When Frigate then sees a person or package at the front door, the PTZ swings to the package spot and LLM Vision decides whether a package or courier is really there; if so, a blue-light house broadcast repeats every 5 minutes while it's still there. The "delivered" email turns the mode back off 10 minutes later.
  • Flash the lights green when someone exits: unlocking the door while the outside door is open gets a quick green flash, no announcement.

📺 On TVs (10)

Here you will find Plex visuals, auto-off, karaoke, and a retro gaming shortcut.

  • Start visuals on all inactive TVs: a button starts a shuffled visual playlist on every idle Chromecast and Google Hub (skipping bedrooms and rooms with sleepers), and anything playing from the Visuals library gets muted automatically on 6 TVs.
  • Mimic the lights on the TVs: a toggle casts a per-room color dashboard to every Chromecast so each TV glows in its room's light color.
  • Turn the TVs off: a Google Assistant "Power off" 20 minutes after their room goes quiet, and the salon TV also turns off when radar sees nobody in front of it for 20 minutes and nothing's playing.
  • Start a retro gaming session when the paired controller turns on: the salon TV powers on over RS-232 and switches to the retro console's HDMI input.
  • Do karaoke: a "Show lyrics" toggle casts a lyrics view to the salon TV.

🛠️ On maintenance (5)

Here you will find the boring stuff that keeps everything else from getting stuck.

  • Automatically set the temporary modes to off after a set amount of time: waiting for someone 1 h, waiting for an Uber 1.5 h, cooking, airing out and back-yard party 4 h, the guest-code flag 6 h, the neighbours' party flag 8 h, closet and workshop sleepers 10 h, party mode and Psychedelic time 16 h, parking high alert 18 h.
  • Keep the network honest: Cloudflare DNS updates whenever the gateway's IP changes, and AdGuard protection turns itself back on after an hour off.
  • Fix things before I notice: the patio projector gets power-cycled (and the Matter integration reloaded) whenever it drops offline, and I get a ping when my watch is fully charged.

🧱 On scripts (80); the building blocks

No one likes to do work twice, this is where scripts come in handy. 31 of the 80 are called directly by automations; most of the rest are either pieces of bigger scripts or tools exposed to the voice assistant/LLM.

The workhorses;

Script What it does Automations Used across
Important broadcast alert Flashes the notification lights in a color, speaks a message, plays an audio clip, pings my phone, shows an image or page on idle TVs and pauses playing ones (party mode skips the noisy parts) 14 Safety, doors, security, parties
Non-important broadcast alert Quick light flash, spoken message unless it's a party or everyone's asleep, optional image or page on idle TVs 12 Appliances, doors
Change received lights to random colors Gives a room, a list of lights or everything that's on its own random color, all at once, at least 25° from the current hue 17 Dials, effects, UV and projector restores, Psychedelic time ambiance
Change received lights to random pastel colors Same idea at 40% saturation 15 Dials, restores, party ambiance
Change received lights to warm saturated colors Deep reds, magentas and purples 13 Dials, trippy warm loop
Change received lights to warm pale colors Soft reds, pinks and purples 2 Restores, Sexy mode ambiance
Speaker automatic volume adjustment Time-of-day volume and unmute, re-muted if the room is empty 6 Music, presence, phone ringing
Find phone Max ring volume, Do Not Disturb off, alarm-channel notification on my phone 4 Security, voice, defense script
All-on defense Rings my phone, notifies me and Person A, turns on both door horns and plays a burglar alarm on 8 speakers 2 Security
Start a random playlist Plays a playlist (a default, or a random pick from nine) with shuffle on a room, a player or the home group 2 Music

The rest, grouped;

  • Broadcast plumbing (9 scripts, called by the two broadcast alerts): flash the notification lights, flash any light group (snapshot, color, restore), flash the hotbox lights, TTS announce (an OpenAI voice with a Piper fallback, skipping the bedroom when someone's sleeping there), play an audio URL, send a phone notification, show an image or a URL on idle TVs until the front door locks, and pause playing Chromecasts. The important alert fans out to seven of them in parallel, and everything is queued so alerts don't trample each other.
  • Per-light workers (7): "Set one light to" random, pastel, warm pale, warm saturated, blue, white or vibrating colors. Each "Change received lights to..." wrapper starts one per light in parallel (up to 200), which is why a whole room changes at the same instant.
  • More light tools (9): change lights to blue (1 automation: the UV lamps), to vibrating colors (1), to white (0); a random effect on one light (1: the Nanoleaf swipe) or on every effect-capable light (0); and four "fake white" experiments (0) that tint color bulbs so they blend into something white-ish.
  • Ambiance scripts (7): Party mode (1 automation), Psychedelic time (1), Sexy mode (1), plus cozy, a second fireplace mood and a normal reset that no automation calls (cozy and the reset are voice/LLM tools). The script that starts a Plex playlist on every idle Chromecast is called by 1 automation and 5 of these scripts, so it's the TV backbone of every mode.
  • Security tools (13): inside-only defense (1: burglar alarm on indoor speakers, no horns), a find-phone twin for Person A, six "describe what's on this camera" LLM Vision tools, an on-demand security audit that summarizes six cameras and sends me the report, stream any camera to any TV, front camera on every TV, QuickBars camera picture-in-picture (1: the doorbell) and a QuickBars doorbell overlay with an unlock button. All 0 automations except where noted.
  • Media and LLM tools (13): Music Assistant voice requests, join and unjoin speaker groups, favorite the current song, equalize volume, Chromecast time-of-day volume, two "play a movie or show on a TV" LLM tools, a random Jellyfin episode, an unfinished Jellyfin movie launcher, a second Plex playlist starter, a retro gaming session (1) and a LocalAI image generator. All 0 automations except the retro one.
  • Displays and party bits (5): the e-ink brief and its agenda-only version (1 each), reset a tablet's interface (1), launch the party jukebox on the kiosks (1), and the patio drinking game (1).
  • Network (1): restart all network equipment (0), which reboots 4 access points, 6 switches and the gateway all at once. Living dangerously.

📝 Questions & feedback

I love to connect with others working on home automation, so ask me anything about how any of this works, which blueprints I used, or why on earth the bathroom needs a dozen automations for Muzak.

Ideas for what to automate next are obviously more than welcomed!

And for those who love spreadsheets: The entire list of my automations and script neatly put in a CSV file!

u/maxi1134 — 7 days ago
▲ 51 r/homeassistant+1 crossposts

Simple Ceiling Lamp with Presence Detection

I always like to combine multiple functionalities into one device to avoid cable clutter and keep my plugs available for other stuff. So I again built a ceiling lamp that has a presence sensor built right into it so with one appliance my room can turn on and off the lights based on presence.

This one I'll use for my friends bathroom.

The parts;
- ESP32-S3 Microcontroller
- LD2410C mmWave Presence Sensor
- SK6812 Addressable LED Strip (5V with dedicated white channel)
- AC to DC 5V 6A Power Supply
- 3D Printed Enclosure (Designed in Tinkercad :)

The case has 3 parts. One mounts to the ceiling directly, second one is a plate that holds my led strip and my components and fits in the ceiling mounting part by inserting and twisting. For the cover I used transparent filaments which I kind of like but think could be better printed. Maybe in vase mode or something.

It is completely home assistant friendly of course and built with esphome.

For the automations I learned that we can create automations directly from esphome so we don't need to rely on home assistant alone for the lights to trigger on and off. Code could be better but there is always room for improvement.

STL and Code: https://github.com/rgnyldz/rgnlabs-bathroom-ceiling-lamp

Build process: https://www.youtube.com/watch?v=2E1V8GT9j3o

u/rgnyldz — 6 days ago

Mrs. Weasley’s clock

Most of the people in my family are big Harry Potter fans (I never read it, tbh). My wife asked if I could use HA to build something like Mrs. Weasley’s clock. After looking up what that was, I figured I could take a stab at it. What do y’all think?

(Disclaimer: I leaned HEAVILY on LLM for assistance in getting this built. IMO it can be a wonderful tool. If that’s a non-starter, sorry, feel free to discount this as slop and click away.)

Data comes primarily from iOS Find My on all family members’ devices (via iCloud3 integration; we all share between the family and we all know we’re sharing, and we all have the ability to turn it off whenever we want), plus HA app data from those of us who run it. There are nine faces: Mortal Peril, Travelling, Work, School, Home, Lost, Somewhere, Shopping, and Out and About.

Location data

  • Five people, all iPhones, all in one Apple Family Sharing group.
  • Three of us run the HA Companion app with "Always" location. Two kids have no app at all.
  • The main source is iCloud3 (HACS integration, gcobb321/icloud3). It signs in with my Apple ID and polls Find My for every device in the family group, so nobody had to install anything.
  • Each person entity gets both the iCloud3 tracker and the Companion app tracker if there is one. HA uses whichever reported most recently.
  • I skipped the core iCloud integration because people report it needing 2FA re-auth, and the 2FA prompt was reported broken in 2026.5.
  • Places are normal HA zones

How each face is decided (first match wins)

  1. Mortal Peril: not in their home zone, phone battery under 10%, and not charging.
  2. Lost:
    • no report in 4 hours while away
    • no report in 12 hours while at home
  3. Home: in that person's home zone.
  4. Work / School: that person's own zones, set per person in the card config.
  5. Somewhere: any other named zone, like a friend's house. We add zones as we think of places.
  6. Shopping: Stopped at a store (See below)
  7. Out and About: stopped somewhere that isn't a zone (iCloud3's StatZon, see gotchas)
  8. Travelling: meaning actually moving.

Gotchas with iCloud3

  • The device import screen only listed my own devices. Apple sends the family list a few seconds after login, so the family phones had to be added afterwards through Configure → Add device.
  • Family members' phones show up under whatever they named them, so expect some detective work.
  • iCloud3 only reads zones when it starts. After adding a zone you have to reload the integration.
  • When someone stops at a place that isn't a zone, iCloud3 creates a temporary "stationary zone". The person's state becomes StatZon1, StatZon2, and so on. That turned out to be useful (see below).
  • Every reload or restart produces a few seconds of unknown/unavailable. The card ignores those and keeps the last position.

Shopping

  • Find My only gives coordinates, no place names.
  • I pulled every shop from OpenStreetMap once with an Overpass query: 25 km around home, plus 15 km around the town of the non-local kid.
  • I filtered it to places you buy things: groceries, big box, hardware, pharmacy, clothes, malls and so on. (LLM a huge help here)
  • The result is about 600 stores in a 50 KB JSON file in /config/www.
  • When someone is stopped, the card checks whether they're inside a store's building outline (plus a margin for GPS error), or within 60 m of a store mapped as a single point. A match puts the hand on Shopping and shows the store name.
  • Nothing is looked up while it runs, so nobody's location goes to a third party (or at least, any more than it already was). The file needs re-downloading every few months as stores change.

The card

  • One custom Lovelace card: plain JavaScript web component, no build step, about 20 KB.
  • The clock face is drawn in SVG:
    • wood case, brass bezel, parchment face
    • Cinzel and IM Fell English fonts from Google Fonts
    • a brass hand per person with a nameplate and a colored gem
  • Animation (CSS):
    • hands swing to a new face with a bit of overshoot
    • they wobble while travelling
    • in Mortal Peril, the hand trembles and the label pulses red
  • Side panel: each person's gem, their clock face, the place name, and when their phone last reported.
  • Tapping a hand opens that person's more-info.
  • It's on its own dashboard, in a panel view, with kiosk-mode hiding the header (we use an iPad as a kitchen display). There are buttons to and from our other tablet screens.
  • Config is all per person: person entity, battery sensor, home/work/school zones, gem color.

 

u/Nite01007 — 7 days ago

Push button for dogs?

Does anybody have any experience with a home assistant compatible push button for a dog? My idea is to train my very smart dogs to push a button outside when they want back in and have a notification pop up on my phone

reddit.com
u/Affectionate_Tip_232 — 6 days ago

Home Assistant Security Visibility

Hello fellow nerds,

I’m sure I’m not alone thinking Home Assistant has a bit of a security visibility gap.

Whether you use Nabu Casa, a VPN/tunnel, or a reverse proxy, many of us access Home Assistant over the internet. Some approaches are safer than others, but regardless of how you access your instance, I think one thing is missing:

Visibility into who actually has access, where they’re connecting from, and what they’re doing.

This has come up in the Home Assistant Community and Reddit. I’ve personally made requests for it in the past.

The Open Home Foundation has obviously been adding security features to Home Assistant, but there are a million other things competing for their time.

So I built something for myself:

HA Security

My goal is to provide better visibility into user authentication and user activity:

  • Real time visibility into authenticated connections (via Websocket monitoring)
  • Historical session/connection information by user account
  • Source IP address
  • Credential/refresh-token metadata
  • Client information where Home Assistant exposes it
  • Connection/login timestamps
  • Optional GeoIP/ASN/hostname information
  • Successful login observation
  • Failed password/MFA attempt observation
  • User-attributed Home Assistant service-call auditing
  • Credential and IP history
  • Basic, explainable security assessments

In order to highlight items to review, the integration looks at events and flags specific ones like:

  • Repeated failed authentication attempts followed by a successful login
  • A successful login using both a new credential and an unfamiliar public IP
  • New credentials, IP addresses, or clients being observed for an account

It's absolutely not perfect, and it's definitely not a finished product, but this should hopefully help out someone else who is looking for better visibility on their accounts/security within Home Assistant.

AI had a heavy hand to get this to the point it's at today.

Let me know your thoughts. Would love to know what the world thinks of something like this.

If you have an idea for it, submit a PR or start a discussion on the repo.

My future goal is to enable token revoking via the dashboard/service calls, account disabling, and more. Giving more control over authentication rather than just visibility.
This got me to my MVP goal, but I think there is a lot more possibility to come!

u/An0n_666 — 7 days ago

Pwn2Own 2025: go2shell: Rooting Home Assistant through SSDP

Last year people seemed interested in the Home Assistant exploitation going on at Pwn2Own Ireland 2025 (https://www.reddit.com/r/homeassistant/s/labmJlNuVZ)

If you are interested in the technical details, you can read exactly how I exploited Home Assistant last year, now that the bugs are patched https://mccaulay.co.uk/go2shell-rooting-home-assistant-through-ssdp/

Pwn2Own Ireland 2026 is currently underway with many more Home Assistant exploits:

- @_McCaulay - https://x.com/thezdi/status/2107918679673540636

- @petoworks - https://x.com/thezdi/status/2107868365117436139

- @doyensec - https://x.com/thezdi/status/2107796539275878648

- @yves_bieri - https://x.com/thezdi/status/2107772741843861740

u/ArbitraryWrite — 7 days ago

Best line voltage thermostat

Looks like my last attempt at posting this failed...

I'm looking for the best line voltage 120V/220V thermostat to drive floorboard heaters in my house. Right now it is a lot of old mechanical thermostats but I want to integrate them into HA. I have Zwave and Wifi already here. The goal is to not use the cloud for this. I'm getting a ton of Mysa ads on facebook. Is that the best brand? Or is there better?

reddit.com
u/skibumatbu — 7 days ago

Do I even need smart lights? If so, which system would be best for my needs? Thank you!

Hey everyone!
I'm redecorating my apartment a bit and that includes improving the lighting. I have two ceiling lights that are really just decorative and want to add a few light elements between my sofa and living room wall and on the floor (low, shining up) for cozy evening lighting. I currently just have a small table light sitting on the floor so I know that's where I want the light, but I'm looking for warmer hues.

My place is small (living room, kitchen, and work area are all the same room) so I'm not planning on adding a bunch of decorative lights. What I do want is warm, orange light for the evenings.

Would it be cool to be able to change their intensity? Yes
Is it necessary? Probably not.
Do I need a wide range of colors? No.

In the bedroom, I want to have lights that can go from reddish to orange to a bit more yellow and potentially vary in brightness, but not much more than that.

So I'm guessing I do need some kind of smart system.

I absolutely do not want to be on my phone/use an app to turn off or change the lights, though. I love a simply light switch and don't need anything to be on WiFi. The simpler, the better. Perhaps something in which I could save a "reading" and "movie watching" setting would be great, but again, the simpler the better.

I know about Philips Hue, Zigbee, and the IKEA smart lights.
Anything else I should consider?

Edited to add: privacy matters to me. I'm not keen on using something like Alexa or Google Home.

I would love advice on which one would be best for what I'm looking for, taking into account that I'm in Europe (Portugal).

I'd like to decide on the system before I buy new lamps to hold the bulbs.

Thanks so much,

reddit.com
u/Anakhasc — 7 days ago
▲ 15 r/homeassistant+1 crossposts

EspHome on 36 Cores and 48 threads

I don't want to brag... actually this isn't true at all! I do want to brag! 😁

I have to reflash 104 esp32 devices and panels with updated clean build files and all of the latest "stuff." I started doing this on my PC. It was taking far too long and this is only the first batch of devices. So, I decided to load share on a massive Proxmox box too. I started at a reasonable 12 cores. Now I have upped the ante. Between my PC and the VM I am now throwing 36 cores and 48 threads at the job. It sounds like a wind tunnel in my office with all the computer fans maxed out.

It currently looks like what would have taken about 14 hours will now get done in just a few hours before my wife gets home an notices that Home Assistant and everything else in the house is down on Proxmox so I could throw everything I have at this job.

36 cores and 48 threads! I never knew this was possible!

Has anyone else ever tried something like this? It only took me about half an hour to make this work!

reddit.com
u/Verscreubulator — 7 days ago

Home Automation from an LG TV remote control

Just sharing a handy feature I recently implemented in Glasshouse. We can now run automations from remote control button presses!

Context:

  • Glasshouse is a local dashboard, privacy controls and Home Assistant bridge (via MQTT) for rooted LG webOS TVs.
  • More testers are welcome! If you want to try it - You'll need a rooted webOS TV, but most models can be rooted - see: https://cani.rootmy.tv/
  • Docs for the feature
u/roryg2025 — 7 days ago

About to have my own local voice assistant (sound on)

I’m using a Seeed reSpeaker Lite 2-Mic Array Voice Kit, a 2” full range driver (4ohms 5 watt), and a 2 pin JST-PH pigtail.

I already have Gemma running on ollama on a dedicated 3090 box.

What you heard in the video was just using HA’s cloud but this afternoon I’ll be installing Piper and Whisper for local control of my house.

Pretty excited and wanted to share. One step closer to getting away from Siri and HomePods.

u/LESGuy — 6 days ago

recommend a dongle?

Hi all. im going to give HA a try again, its been a few years.

i have a mix of zigbee, z wave and wifi devices. My rack is in a seperate garage detatched from the house so im going to need to use POE dongles otherwise i think ill have range issues. what do you suggest thats easy to set up and get working. I dont want to get too indepth as im coming from Smartthings and Hubitat.

Thanks for you input

reddit.com
u/Genesius10 — 6 days ago

If using my own Thread Border Router, should I disable thread on Google Home and Onn boxes?

I've added a couple of thread devices to my network, which I think is currently being served by the Google Home hubs. I can see them in my Home Assistant Matter addon, but HA isn't the TBR. Maybe it's the controller, I'm unsure.

I'd like to have a more dedicated TBR with a SLZB dongle. Would it be a good idea to reset these thread over matter devices and disable thread on the Google Home and Onn box? I've read mixed things about the Google Home making it's own isolated thread network vs. it contributing to the mesh for thread - I'm not sure if having the closed ecosystems contributes to making my thread network better or not.

reddit.com
u/androidusr — 6 days ago
▲ 5 r/homeassistant+1 crossposts

Waveshare ESPHome satellite

Has anyone else set up a Waveshare ESP32-S3-AUDIO speaker. I used (MichaelZaniewicz config)[https://github.com/MichalZaniewicz/esphome-waveshare-esp32-s3-audio-va] and it all seemed to work fine, but when my Assist plays TTS back it lowers the volume to barely audible during the response and then raises it back to normal when done. I feel like this is an issue in the device's YAML config but I'm not super familiar with all that. I don't see any log errors or anything out of the ordinary in any settings. Maybe I am missing something.

Update:

I submitted an issue to Michael on the GitHub repo. He advised to check the Music Assistant settings of the device. I had added it to Music Assistant as a player using the Home Assistant MediaPlayers player provider. I disabled the device in MA and turns out that was it! MA/HA is having a volume ducking issue somewhere. It's odd because I re-enabled the device in MA, but turned off "Expose this player to Home Assistant" in the MA player settings and it's fine now. So something with the MA player being exposed to HA is causing it to duck the volume of the assistant response. I don't have any automations for volume control that would do that. I'll have to dig into that further. Maybe its a strange loop issue with the media player coming from Home Assistant and then being exposed back as another media player. I always enable the "expose to home assistant" though because I want separate entities for the Music Assistant players so I can control the MA player from special cards or whatever.

u/jlewsader — 6 days ago
▲ 3 r/homeassistant+1 crossposts

Trying to connect 130 Honeywell WiFi thermostats to a Home Assistant

Hello! Wondering how many developer accounts I will need to connect 130 t5 thermostats to a Home Assistant Core (version 2026.9.3). The issue is the 429 error because it seems the Resideo app (cloud) wants to refresh all the devices on the account every time you adjust one. These devices are in individual homes. I need to update the temperature before guests arrive daily (about 7 homes on average and then adjust after guests leave (also about 7 daily) and then check and update only vacant homes (about 30 vacant per day on average to check and maybe 3 to update) that aren’t still in their vacant temperature condition. Looking for an expert that can help me for $$.

reddit.com
u/XxxKurtzsxxx — 6 days ago

ESPHome with Zigbee onto a Shelly 1 Gen4 — No Wi-Fi dependency for firmware updates

When Shelly launched their Gen 4 relays with zigbee, I was genuinely excited. I prefer Zigbee devices because they are inherently local. They can never be paywalled, locked out, feature reduced, or cancelled.

When I finally got one, I learned the truth. They work fine on Zigbee, but firmware updates (At least through ZHA) were gated to Wifi. That’s right… If you want new firmware, you need to run two protocols. If you turn off Wifi and change your mind later, your only recourse is to reach inside a live electrical box and press the relay button.

I wanted a Zigbee only device with a ZHA upgrade path. I settled on ESPhome because its simple and recently adopted more comprehensive zigbee controls. I got my Shelly 1 Gen 4 paired with ZHA and the relay works in attached mode.

Code, flashing tips, and lessons learned are in the repo notes

GitHub: https://github.com/bob787/Shelly-1-Gen-4-EspHome-Zigbee/tree/main

This project was inspired by automatous-io’s fantastic Shelly Matter over Thread repo.

reddit.com
u/Joe_Bright — 6 days ago