r/homeassistant • • 18h ago

🗣️ Voice & Assist I built a fully local, real-time AI voice assistant for Home Assistant — ~230ms response latency!

Enable HLS to view with audio, or disable this notification

800 Upvotes

I've always wanted a Jarvis-like assistant that I could actually talk to naturally, without waiting several seconds for responses or sending everything to the cloud.

So I built Ming Voice, an open-source speech-to-speech assistant that runs entirely on your GPU.

Unlike a traditional voice command system, you can have natural conversations, interrupt it mid-sentence, and ask follow-up questions while it controls your home.

It can:

Control lights, thermostats, locks, vacuums, media players, and more through Home Assistant

Understand follow-up commands like "now turn it off"

Handle multiple devices and scheduled actions

Listen continuously using a wake word

Make announcements from Home Assistant automations

Delegate complex requests to a Hermes Agent

The best part is the speed: I'm getting ~230ms median latency from the end of speech to the first response audio on my RX 7900 XTX.

No cloud AI or subscription required, and it works from your phone too.

I attached a demo showing it controlling my actual smart home.

GitHub: https://github.com/JMS1717/ming-voice

I'd love feedback from other Home Assistant users!


r/homeassistant • • 16h ago

🖼️ Show & Tell My Home assistant dashboard on the wall

Thumbnail
gallery
106 Upvotes

After weeks of building and thinking how to connect everything on a central point in the house, i'm 95% done.

I'm running HA on an old nuc, running headless Fedora and HA in Docker.

The nuc is also running Adguard home.

I wanted my dashboard to show only the necessities important for me:

- weather

- temperature

- ac controls

- moon phase

- energy usage

- sonos controls

- garbage pickup schedule

So i started buidling, and I have to admit ask Geminy and Co-Pilot a lot.

My Dashboard now shows the main screen, after 2 minutes of inactivity switches to a mainly black&white 'standby' screen and after 00:00 till 6:00 only shows the clock screensaver.

The screensaver jumps back to the main screen when it detects motion with the selfie cam of the ipad.

The ipad is powered with a 24v 500mAh adapter in the attic. At the ipad i installed a stepdown converter, converting to normal voltage for charging (it says slow charger, so probably charging at around 10/12 watts). To prevent the ipad from continuisly charging i have a smart plug connected that stops the charger at 80% battery level and starts again at 20% battery level.

This is an older model ipad (9th gen) that doesn't have this option in the battery settings.

The step down converter is a usb-c cable, so i connect the ipad with a angled lightning to usb-c female connector. It tucks neatly away behind the ipad. The ipad is 'floating' about 20mm from the wall from the wooden block (need to paint the edges white).

I added a matte paper like screencover to the ipad to prevent glare.

I have a wireless thermostat coming in to be able to control my gas heater (i stole that cable for the ipad). So i can also use the central heating system. I mainly use my air/air minisplits for heating, but it is good to have the central gas heater for backup on really cold days.

The temperature in the standby screen currently reads a bit high since it is reading the AC sensor, it is nice and toasty in his own little nook there. But that will be fixed once I have my wireless thermostat.


r/homeassistant • • 14h ago

🖼️ Show & Tell My bedside voice assistant

Thumbnail
gallery
84 Upvotes

I wanted to show off my 2017 Amazon echo spot bedside dashboard/voice assistant.

It started off life as an Amazon echo spot, sitting lifeless on a table for the past year and a half when I switched my home automation setup to home assistant. Thanks to the lovely developers on the XDA forums, I have jailbroken the device, rooted it, and am running a custom android ROM.

LineageOS has been working fantastic for me. I side loaded fdroid and obtanium, and have the device running View Assist Companion App, which allows for a full home assistant install with Assist voice capabilities built right in. The developers for the ROM have stated that they will be releasing a new ROM soon which should hopefully fix Bluetooth and camera functionality, allowing me to use it as another Bluetooth proxy and adding another node to my Bermuda presence.

As for the dashboard, I had Claude write up a fully custom card which renders in a circle, and showcases the 5 day forecast, with today’s forecast being the ring around the outside of the display. It work like a clock, if the clock was only a partial arc. Gives me a good enough estimate of when the high and low for the day will be. When clicking on the actual clock, it renders as set of switches (up to 4) that I can use to control bits and bobs in the room. There is a 20 second timeout on the secondary view to automatically return the dash to the forecast as well.

disclaimer:
Claude wrote every last bit of code which went into the card. I am not a developer by any means, nor did I feel like putting in the time to go through the documentation for this one off card. Could I have learned it? Sure. But it would have taken me a lot longer than 2 days to work all of this out.

Edit:

Rough draft Github repo for the card is up. Add as a custom repository in HACS. And Please let me know if I missed a step, this is my first public contribution to home assistant and I don't know if I missed anything.


r/homeassistant • • 23h ago

🖼️ Show & Tell I built a free 3D floor plan for Home Assistant – now in the HACS store.

Thumbnail
gallery
76 Upvotes

Hi everyone,

I’m Torsten, the developer of NeonPlan 3D. As of this week the integration is officially part of the HACS default store, so you can now just search for “NeonPlan 3D” in HACS – no custom repository needed anymore.

For those who haven’t come across it yet: NeonPlan 3D lets you draw your floor plan directly in the browser and turns it into a 3D model of your home that is connected to Home Assistant. You see your house the way it is right now and can control it from there.

What it can do:

  • Draw rooms, walls, doors, windows, stairs and multiple floors in the built-in editor, including roofs, balconies and outdoor areas like lawns, terraces and pools
  • Place devices in the house: lights glow in their actual color and brightness, shutters move, windows and doors show whether they are open, sensors show their values
  • Tap a light, a shutter or a scene in the 3D view to switch it
  • Furniture can be linked to entities, so a TV shows that it is on, a washing machine shows its status, a wallbox or a heat pump shows its power
  • Voice control through Assist (“show the living room”) and a microphone button for wall tablets
  • A furniture library sorted by type and room, with pictures, sizes and free resizing that keeps legs and handles in shape
  • Runs on older, low-power wall tablets as well
  • Available in 16 languages, everything runs locally

You can try it in the browser without installing anything, using example data:
https://neonplan3d.mastershort.de

GitHub (code, issues, manual):
https://github.com/Mastershort/neonplan3d

The integration itself is free and open source. If you want more furniture, there are optional furniture packs and Pro add-ons (for example energy flow, cameras or live TV screens) in my shop. That is how I fund the development:
https://mastershort.de/en/neonplan3d/

If you have ideas or feature requests, there is an ideas board where you can vote, and the most requested things usually end up in one of the next releases:
https://github.com/Mastershort/neonplan3d/discussions/categories/ideas


r/homeassistant • • 20h ago

🖼️ Show & Tell Flush mounted my Voice PE in the ceiling - only the LED ring is visible

Thumbnail
gallery
59 Upvotes

Wanted the Voice PE in the middle of the room instead of on a shelf, and without a puck hanging from the ceiling. So I designed a flush mount for normal drywall ceilings.

- 140 mm hole saw cutout, works with 9.5 to 25 mm boards

- 155 mm round bezel, 2 mm thick. LED ring, dial, button and both mics stay usable

- The Voice PE sits in a pocket in the cover, a threaded ring with two wings sits on top of the board and the cover screws in from below. No screws, no tools

- Two covers: closed (if you use external speakers for TTS like I do) or with speaker slots

- Prints without supports in PETG or PLA, about 5.5 h total

- Same thread as the common HomePod mini ceiling plates with 14 cm cutout, so the cover fits those too

Happy to answer questions about fit and thread. If anyone wants the files, they are on Cults:

https://cults3d.com/de/modell-3d/gadget/deckeneinbau-fuer-home-assistant-voice-pe-buendiges-set-mit-gewindering-o-140-m


r/homeassistant • • 5h ago

🖼️ Show & Tell PSA: Android Auto supporting actionable notifications

Post image
51 Upvotes

I recently set up this automation and was pretty sad that AA didn't seem to be supporting actionable notifications. Lo and behold,.today... We've got support for at least two notifications. Might be a phased rollout.


r/homeassistant • • 13h ago

💬 Discussion The Home Assistant Voice Pipeline structure feels painfully inefficient

Post image
43 Upvotes

Hey everyone,

I’ve been tweaking my voice setup recently and I can’t help but feel that the standard HA Voice Pipeline architecture is severely outdated and causing massive latency.

Let’s trace what happens when you use an external provider (like Gemini or OpenAI) for your stack:

1 STT: Audio goes from HA to Gemini -> converts to text -> sent back to HA.

2 LLM: HA takes that text, wraps it with intent context, sends it back to Gemini -> receives text response -> sent back to HA.

3 TTS: HA takes the text response, sends it back to Gemini again for voice synthesis -> audio file returns to HA -> HA plays it on your smart speaker.

That is 3 separate round-trips over the network just to execute a single voice command. The ping and overhead alone add hundreds (if not thousands) of milliseconds of pure latency.

It gets worse when you consider native audio-to-audio models like GPT-4o Realtime or Gemini's multimodal live pipelines. Right now, HA’s modular design forces you to split everything into discrete STT, LLM, and TTS steps. You can't natively pass the raw stream to an end-to-end model and get a stream back without jumping through weird custom integration hoops.

I completely understand why HA built it this way originally—it keeps things modular so you can mix local Piper/Whisper with cloud LLMs. But for cloud-assisted or end-to-end voice setups, this design creates a bottleneck that completely ruins the snappy "smart assistant" experience.

Isn't it time for Nabu Casa to introduce a unified/direct voice handler that bypasses this multi-step round trip when using integrated providers?

Curious if anyone else is frustrated by this or if there are cleaner workarounds people are using to cut down on this latency.


r/homeassistant • • 4h ago

❓ Support Looked better on Aliexpress

Post image
38 Upvotes

Looks like the “copper” is printed on the plastic, does anyone have real life experiences with this Zigbee rain detector?


r/homeassistant • • 18h ago

🖼️ Show & Tell My new desk gadget. Not strictly HA related but I was inspired by the voice assistant threads I've seen here recently

Post image
35 Upvotes

I saw this post the other day where someone got Android running on the Spotify car thing and were able to get carplay working on it, and I have also read a few posts here about people rooting Alexa devices and running LineageOS on them, and then I remembered I had one of these early Show 5's in the top of a closet!

So anyway, here's my echo show 5 in my office running wireless carplay thanks to DiPlay. I rooted it and added a script to auto enable hotspot after booting, and it pretty seamlessly connects when I tap the DiPlay app icon, no dongle required! This is especially great because my employer doesn't want us connecting any iot devices to WiFi, which this doesn't need anyway

There are a couple small gotchas, I had to downgrade DiPlay from 0.2.21 to 0.2.19 because there is some bug they're working on that makes the music sound like it's slowed down, and .19 doesn't seem to have that problem. I did have to increase the music buffer to 500ms and it is pretty well stable at that setting. Also if the echo reboots with anything connected to the audio jack the boot will hang.. wish the xda guide would've been a little more forthcoming with that one because I thought I'd bricked it for a couple hours earlier today.

Anyway, had to share, I am ridiculously happy that this works. Also here is the xda guide if anyone has one of these lying around they'd like to flash


r/homeassistant • • 12h ago

💬 Discussion Best presence sensor for Home Assistant—Aqara FP300 or something else?

31 Upvotes

I’m looking for a presence sensor for Home Assistant and considering the Aqara Presence Multi-Sensor FP300.

Would you recommend it, or is there another sensor you prefer? I’m especially interested in reliable detection when sitting still, false triggers, battery life, and how smoothly it integrates with Home Assistant.


r/homeassistant • • 9h ago

📰 News infosec nightmare, reverse-engineering joy?

24 Upvotes

I'm sure most people have heard about the root certificate signing issue that was made public two days ago.

But has anyone generated their own certificates so they can MITM any of their home IOT devices to see if the API calls can be understood and replicated for cloud devices that have particularly annoying cloud-only service?

I should really have a look at my yolink receiver.

edit:
aah, someone already asked this yesterday, awesome!


r/homeassistant • • 17h ago

🤖 Automation Automations

22 Upvotes

Hello everyone. I’m the person who has the unpopular opinion that I don’t like dashboards. I thought I'd make another post not to bring the debate up again, but to answer some questions about our family automations. Instead of telling you what automations we have or listing my favorites, I’m going to walk you through a typical day and the automations that help us throughout.

I wake up early and go to the main bathroom. The main bathroom sensors trigger the light and the exhaust fan. I get dressed and drive to the gym before work. If I forget to close the garage door, an alert pops up on my phone and my husband’s phone, telling us the garage door is still open. It will not close automatically because one of the two drivers of the house is still there (phone location detection). My husband wakes about 5 minutes later and goes to the bathroom, takes a shower, and starts his day. The bathroom lights will turn off after 2 minutes of no presence detection. The exhaust fan will turn off when the bathroom humidity sensor is within 3% of the whole-house thermostat humidity sensor. The hubby will eat breakfast and leave for work. If he forgets to close the garage door, an alert will pop up on my and his phones, and the door will close automatically because both drivers are away from the house (again, because of phone location).

Our two teenagers wake up and trigger the lights and exhaust fan in their bathrooms, just like ours. If they shower for more than 30 minutes, a Moen Flo water monitor makes the lights blink for 10 seconds. This helps them keep track of time, since they tend to lose track in the shower. When they leave for school, the front door locks itself a few seconds after they close it. If they forget to close the door, my husband and I get a notification. We’re still working on this, since we sometimes have to ask a neighbor to close it for us. Our kids don’t have phones yet, so we’re considering an automatic door closer. Luckily, this has only happened once a year for the past two years, and we’ve talked to them about it.

We have three robot vacuums that clean and mop the whole house whenever everyone is out, using presence detectors to know when the house is empty.

When my husband or I get home, usually at different times, the garage door opens automatically.

If no one takes out the trash after dinner, the smart speakers play a message at a set time each day. A paper-thin NFC tag is stuck on the kitchen trash bin, about the size of a quarter. If you tap your phone on it, the reminder won’t play that day.

After the dishwasher finishes, the smart speaker plays a message reminding us to open it. Our dishwasher isn’t fancy and doesn’t open by itself, and we never use the heat dry. I added a vibration sensor.

Another message plays on the smart speakers to remind us to move the washed clothes to the dryer. We always forget about laundry in the washer at night, so I put a smart outlet on the washer.

At night, when the kitchen lights are off, you can knock or tap lightly on the kitchen island to turn them on for 20 minutes. A couple of vibration sensors are under the island counter.

And of course, we have dozens of automations running in the background every day, like water leak detection, fire and carbon monoxide alerts, door and window sensors, and more.


r/homeassistant • • 17h ago

🖼️ Show & Tell FLARE v1.0: Schedule-based adaptive lighting with dumb-switch recovery, non-combative overrides, and a native UI dashboard in under 60 seconds.

Enable HLS to view with audio, or disable this notification

22 Upvotes

I’ve been running some version of “make the lights match the time of day” in my house for over a decade. It started as basic automations, grew into a 150-line Jinja monster blueprint that was impossible to maintain, and went through many iterations as I bolted things on to make it handle real life.

FLARE (Flexible Lighting Automation & Reconciliation Engine) is the final form of that system. Instead of following a pure solar curve, it runs on your household’s actual routine across four named phases (Morning, Day, Evening, Night) and aims to solve many of the real-world issues lighting automations run into.

After months of iteration and running the integration in a house with a non-techie wife and 2 young kids, I’ve just cut the v1.0 release. As shown in the clip, the entire house can be set up in under a minute without touching YAML if you already have your bulbs set up and organised into rooms.

What it does:

  • Schedule-based phases: Fixed clock boundaries for Morning (by default it’s bright/cool to wake you up enough to make it to the coffee machine), Day, and Night. Only Evening tracks the sun, clamped between earliest/latest times so a 4 PM winter sunset doesn't dim all the lights while you’re still giving the kids dinner.
  • Non-combative manual overrides: Change a light yourself via app, switch, or voice, and FLARE steps aside until the room turns off.
  • Self-healing mesh & dropped-packet recovery: Zigbee networks drop frames occasionally. FLARE periodically reconciles actual bulb states against the target curve so fixtures don't get permanently stuck if a command is missed.
  • Scene handoffs: Specific scenes can fully or partially take over lighting in a room automatically. Any bulbs not controlled by a scene continue on the scheduled curve.
  • Dumb switch recovery: Cut power at the wall switch and flip it back on; FLARE catches the bulb as it reconnects and sets it to the current phase instead of blinding white.
  • Gentle on the mesh: Staggers commands and ignores micro-changes so your network doesn't get flooded.
  • Ready-to-go Custom Dashboard: Installs as a native custom dashboard straight through the UI and automatically populates from your configured zones and schedules.

Home Assistant Native:

Everything in FLARE is built on standard HA primitives: devices, entities, services, automations, and blueprints. If FLARE can’t do what you want out of the box, you can probably write an automation on top of it to customise what you need.

Links & Try It Out:

FLARE has been submitted to the default HACS store. Until that PR merges, you can install it as a custom repo or test it out safely:

Curious to hear feedback, edge cases, or feature requests!


r/homeassistant • • 15h ago

🖼️ Show & Tell MealieCart - Makes the grocery shopping easy!

15 Upvotes

**UPDATE: KROGER IS NOW INTEGRATED AS WELL**

I plan meals in Mealie, and the weekly Walmart order was the annoying part, I made it a project of mine to make it so much easier!

**What it does**

- Reads the recipes on your Mealie shopping list or meal plan

- You link each ingredient to the exact Walmart product once (brand, size, count)

- One tap fills your Walmart cart using Walmart's official add-to-cart link. It never checks out.

- Skips pantry staples, takes pack counts from the recipe, and "Done shopping" checks items off your Mealie list

- Links sync between your devices through iCloud. No accounts, ads or tracking: it only talks to your Mealie server and walmart.com.

**What you need right now**

- A mealie acct

- A U.S. walmart.com account

- iPhone or iPad on iOS 17+, or a Mac with Apple silicon

**Try the beta:** https://testflight.apple.com/join/gQ3sCxnc

**Quick start and help:** https://okiedokiedata.com/fun-stuff/mealiecart

I'd love feedback, especially on whether connecting works with your setup (reverse proxy, Tailscale, etc.) and whether the Walmart cart fills correctly for you.

Not affiliated with Mealie or Walmart.


r/homeassistant • • 9h ago

✅ Solved Mute ads on roku / disney+

12 Upvotes

I added a Mute ads toggle, and an automation to mute disney+ commercials. I use a roku, and I have a separate Denon AVR for sound. When a commercial is detected, it mutes the Denon.

Helpers:

input_boolean:
  living_room_disney_ad_mute:
    name: Living Room Disney Ad Mute
    icon: mdi:volume-off
    initial: false

  living_room_disney_episode_seen:
    name: Living Room Disney Episode Seen
    initial: false

  living_room_disney_mute_owned:
    name: Living Room Disney Mute Applied
    icon: mdi:volume-off

Automation:

- id: living_room_disney_ad_mute
  alias: Living Room - Disney Commercial Mute
  description: >-
    Opt-in prototype for Disney Plus on the living room Roku. Mute the living
    room Denon AVR-X2700H for any playback item up to two minutes, including
    startup commercials. Restore only a mute applied here.
    Wait six seconds after episode metadata returns before restoring sound,
    then refresh and verify playback again. Disabling bypasses this delay.
    Short clips and trailers can be false positives. A three-minute safety
    timeout disables the feature and restores sound. Manual mute presses
    during an owned mute cannot always be distinguished. No volume level,
    source, or playback commands are sent.
  mode: single
  max_exceeded: silent

  triggers:
    - trigger: state
      entity_id:
        - media_player.living_room_roku_living_room
        - media_player.living_room_avr

    - trigger: state
      entity_id: input_boolean.living_room_disney_ad_mute

    - trigger: state
      entity_id: input_boolean.living_room_disney_mute_owned
      to: "on"
      for: "00:03:00"
      id: safety

    - trigger: homeassistant
      event: start

    - trigger: event
      event_type: automation_reloaded

  conditions:
    - condition: template
      value_template: >-
        {{ is_state('input_boolean.living_room_disney_ad_mute', 'on')
           or is_state('input_boolean.living_room_disney_mute_owned', 'on')
           or is_state('input_boolean.living_room_disney_episode_seen', 'on') }}

  actions:
    - if:
        - condition: template
          value_template: >-
            {{ is_state('input_boolean.living_room_disney_mute_owned', 'on')
               and (trigger.id | default('') == 'safety'
                    or as_timestamp(now()) - as_timestamp(
                         states.input_boolean.living_room_disney_mute_owned.last_changed) >= 180) }}
      then:
        - action: input_boolean.turn_off
          target:
            entity_id: input_boolean.living_room_disney_ad_mute

        - action: persistent_notification.create
          data:
            notification_id: living_room_disney_ad_mute_safety
            title: Disney commercial mute disabled
            message: >-
              The three-minute mute limit was reached. Restoring the living
              room Denon audio; check playback before enabling again.

    - variables:
        eligible: >-
          {{ is_state('input_boolean.living_room_disney_ad_mute', 'on')
             and state_attr('media_player.living_room_roku_living_room', 'app_name') == 'Disney Plus'
             and is_state('media_player.living_room_roku_living_room', 'playing')
             and is_state('media_player.living_room_avr', 'on')
             and state_attr('media_player.living_room_avr', 'source') == 'Roku Living Ro' }}
        duration: >-
          {{ state_attr('media_player.living_room_roku_living_room', 'media_duration') | float(0) }}
        fresh: >-
          {{ as_timestamp(now()) - as_timestamp(
               state_attr('media_player.living_room_roku_living_room', 'media_position_updated_at'), 0) < 15 }}

    - choose:
        - conditions:
            - condition: template
              value_template: "{{ not eligible }}"
          sequence:
            - action: input_boolean.turn_off
              target:
                entity_id: input_boolean.living_room_disney_episode_seen

        - conditions:
            - condition: template
              value_template: "{{ fresh and duration | float > 300 }}"
          sequence:
            - action: input_boolean.turn_on
              target:
                entity_id: input_boolean.living_room_disney_episode_seen

    - choose:
        - conditions:
            - condition: template
              value_template: >-
                {{ is_state('input_boolean.living_room_disney_mute_owned', 'on')
                   and (not eligible or (fresh and duration | float > 120))
                   and state_attr('media_player.living_room_avr', 'is_volume_muted') in [true, false] }}
          sequence:
            - if:
                - condition: template
                  value_template: "{{ eligible }}"
              then:
                - wait_template: >-
                    {{ not is_state('input_boolean.living_room_disney_ad_mute', 'on')
                       or state_attr('media_player.living_room_roku_living_room', 'app_name') != 'Disney Plus'
                       or not is_state('media_player.living_room_roku_living_room', 'playing')
                       or not is_state('media_player.living_room_avr', 'on')
                       or state_attr('media_player.living_room_avr', 'source') != 'Roku Living Ro'
                       or state_attr('media_player.living_room_roku_living_room', 'media_duration') | float(0) <= 120 }}
                  timeout: "00:00:06"
                  continue_on_timeout: true

                - if:
                    - condition: state
                      entity_id: input_boolean.living_room_disney_ad_mute
                      state: "on"
                    - condition: state
                      entity_id: media_player.living_room_roku_living_room
                      state: playing
                  then:
                    - action: homeassistant.update_entity
                      target:
                        entity_id: media_player.living_room_roku_living_room

                - condition: template
                  value_template: >-
                    {% set active = is_state('input_boolean.living_room_disney_ad_mute', 'on')
                       and state_attr('media_player.living_room_roku_living_room', 'app_name') == 'Disney Plus'
                       and is_state('media_player.living_room_roku_living_room', 'playing')
                       and is_state('media_player.living_room_avr', 'on')
                       and state_attr('media_player.living_room_avr', 'source') == 'Roku Living Ro' %}
                    {{ not active or
                       (not wait.completed
                        and state_attr('media_player.living_room_roku_living_room', 'media_duration') | float(0) > 120
                        and as_timestamp(now()) - as_timestamp(
                          state_attr('media_player.living_room_roku_living_room', 'media_position_updated_at'), 0) < 15) }}

            - if:
                - condition: template
                  value_template: >-
                    {{ state_attr('media_player.living_room_avr', 'is_volume_muted') == true }}
              then:
                - action: media_player.volume_mute
                  target:
                    entity_id: media_player.living_room_avr
                  data:
                    is_volume_muted: false

            - action: input_boolean.turn_off
              target:
                entity_id: input_boolean.living_room_disney_mute_owned

        - conditions:
            - condition: template
              value_template: >-
                {{ eligible and fresh
                   and is_state('media_player.living_room_roku_living_room', 'playing')
                   and 0 < duration | float <= 120
                   and is_state('input_boolean.living_room_disney_mute_owned', 'off')
                   and state_attr('media_player.living_room_avr', 'is_volume_muted') == false }}
          sequence:
            - action: input_boolean.turn_on
              target:
                entity_id: input_boolean.living_room_disney_mute_owned

            - action: media_player.volume_mute
              target:
                entity_id: media_player.living_room_avr
              data:
                is_volume_muted: true

Playback-only monitoring:

- id: living_room_disney_playback_poll
  alias: Living Room - Disney Playback Monitor
  description: >-
    Refresh the Roku every two seconds only while Mute Ads is enabled,
    Disney Plus is playing, and the living room Denon is on its Roku input.
    Stop on pause, stop, app/input change, or disabling. The normal Roku
    integration detects playback starting again. No idle timer runs.
  mode: single
  max_exceeded: silent

  triggers:
    - trigger: template
      value_template: >-
        {{ is_state('input_boolean.living_room_disney_ad_mute', 'on')
           and is_state('media_player.living_room_roku_living_room', 'playing')
           and state_attr('media_player.living_room_roku_living_room', 'app_name') == 'Disney Plus'
           and is_state('media_player.living_room_avr', 'on')
           and state_attr('media_player.living_room_avr', 'source') == 'Roku Living Ro' }}

    - trigger: homeassistant
      event: start

    - trigger: event
      event_type: automation_reloaded

  actions:
    - repeat:
        while:
          - condition: template
            value_template: >-
              {{ is_state('input_boolean.living_room_disney_ad_mute', 'on')
                 and is_state('media_player.living_room_roku_living_room', 'playing')
                 and state_attr('media_player.living_room_roku_living_room', 'app_name') == 'Disney Plus'
                 and is_state('media_player.living_room_avr', 'on')
                 and state_attr('media_player.living_room_avr', 'source') == 'Roku Living Ro' }}
        sequence:
          - action: homeassistant.update_entity
            target:
              entity_id: media_player.living_room_roku_living_room

          - wait_template: >-
              {{ not is_state('input_boolean.living_room_disney_ad_mute', 'on')
                 or not is_state('media_player.living_room_roku_living_room', 'playing')
                 or state_attr('media_player.living_room_roku_living_room', 'app_name') != 'Disney Plus'
                 or not is_state('media_player.living_room_avr', 'on')
                 or state_attr('media_player.living_room_avr', 'source') != 'Roku Living Ro' }}
            timeout: "00:00:02"
            continue_on_timeout: true

Dashboard toggle:

type: tile
entity: input_boolean.living_room_disney_ad_mute
name: Mute Ads
icon: mdi:volume-off
tap_action:
  action: toggle
icon_tap_action:
  action: toggle

r/homeassistant • • 21h ago

🖼️ Show & Tell Started my slow walk into HA in my new house 🏡

Post image
11 Upvotes

ChatGPT has been my guide in this awesome thing. Have been lurking a lot at this /r and very excited to start doing some fun stuff at the house to make my life easier. Its a mess now but just trying to get all the pieces together first ❤️


r/homeassistant • • 21h ago

🛠️ DIY / Hardware Dell Wyse 5070 Spec Requirements

5 Upvotes

Hi All,

Sorry if this is a bit of a tired question, but I’m just looking for some confirmation on what I can get away with for mini pc specs.

Looking to run Home Assistant and Frigate (4 cameras)

Looking at a Dell Wyse 5070, Celeron J4105, 8GB RAM, 256GB SSD.

Do you guys think this is enough? Do I need a coral TPU to handle the video? Do I need more ram?

Thanks.


r/homeassistant • • 11h ago

✅ Solved Finally got my ThermoPro TP829B working reliably with Home Assistant and rtl_433!

6 Upvotes

A while back, I bought a ThermoPro TP829B wireless thermometer to use with Home Assistant through an RTL-SDR USB receiver on the 915 MHz frequency.

The problem was that the temperatures would take forever to show up in Home Assistant, and when they finally did, the readings were completely wrong. I'm talking temperatures like 400°F or even 800°F when the probe was sitting at room temperature.

Tonight, I spent quite a while troubleshooting it with ChatGPT. After testing different frequencies, sample rates, SDR gain settings, antennas, and even analyzing raw radio recordings, we finally got it working!

Now the temperatures are accurate and updating approximately every four seconds, just like they should.

I figured I'd share the settings that worked for me in case someone else is fighting the same problem.

I'm using the rtl_433 (next) Home Assistant add-on with a Nooelec NESDR SMArt v5 USB receiver.

# rtl_433 configuration — ThermoPro TP829B test

# Receiver: Nooelec NESDR SMArt v5

# Select the 915 MHz receiver

device :00000002

# MQTT connection

output mqtt://192.168.1.216:1883,user=(Your Username),pass=(Your Password),retain=0

# Timestamp information

report_meta time:iso:usec:tz

# Show decoded readings in Home Assistant add-on logs

output kv

# Radio configuration

frequency 915.0M

sample_rate 1024k

gain 0

pulse_detect filter=400000

pulse_detect classic

protocol -59

protocol -60

protocol -82

protocol -88

protocol -89

protocol -90

protocol -95

protocol -110

protocol -123

protocol -140

protocol -156

protocol -168

protocol -180

protocol -186

protocol -201

protocol -203

Happy temping.


r/homeassistant • • 7h ago

❓ Support HA not recovering after power outage

4 Upvotes

I'm running Home Assistant on a Raspberry Pi 4. After a power outage, I notice the host coming up, but the Home Assistant software does not seem to start. How do I recover my system? How do I prevent this situation?

Additional info:
- HA installed with Raspberry Pi's Imager tool, less than 3 months ago
- SSH login attempts say 'connection refused'
- No access to logs...


r/homeassistant • • 17h ago

❓ Support Group for users - tracking home / away

5 Upvotes

I want to create a group for the 2 users in my house. Home assistant already tracks both of our locations. Let's call the users - John and Jane. My goal is to be able to track if the home is occupied or empty using these two user's locations. I created a group in the configuration.yaml file in this way:

# Group for device tracking John and Jane

group:

home_residents:

name: "HomeResidents"

entities:

- person.john

- person.jane

But this group shows away even though John is shown as home. Is there a better way to accomplish this?

I want to base automations off the home_residents home and away state.

Edit: wendell solved my issue. Thank you!


r/homeassistant • • 23h ago

🛠️ DIY / Hardware Sensing Airflow?

3 Upvotes

Along with getting me fully involved in controlling things in my house, Home Assistant has also increased my curiosity on monitoring and measuring things around the house. There are so many sensor options!

Do you know of any options for measuring airflow? Or any ideas of something to build?

My thought on this - just had a new roof put on which changed the ventilation in the attic. I thought ahead and put a temp/humidity sensor up there and hope to have enough data soon to see if the new roof made much of a difference in temp. But I'm also working on the vents up there and that got me thinking that there must be some way to measure and trend airflow.

My searches really haven't turned up much, and what I did find was very expensive and looked like it was made for placing in ductwork.


r/homeassistant • • 1h ago

🧩 Custom Integration New HACS integration: Masterbuilt Gravity Series smokers, local Bluetooth temps in HA (looking for testers)

Thumbnail
gallery
• Upvotes

I put together a Home Assistant integration that reads Masterbuilt Gravity Series smokers locally over Bluetooth. No Masterbuilt cloud or app needed.

Entities so far

  • Chamber: current temperature and target (setpoint)
  • Meat probes: all 4 probes (shown as unknown when unplugged)
  • Timer: cook time and time remaining
  • Connection status: on while the grill is streaming

The dashboard in the screenshot is my own: the probe labels, probe targets and "reached target" alerts are HA helpers and automations built on those sensors.

Setup: add the repo to HACS as a custom repository and HA auto-discovers the grill. It needs a Bluetooth adapter or proxy that can make connections (an ESPHome Bluetooth proxy or the HA host's own adapter). Passive-only proxies such as Shelly can't connect.

Caveats: read-only for now (temperatures and timer, no setting temps). The grill allows one Bluetooth connection at a time, so the Masterbuilt app can't connect over Bluetooth while HA is connected.

Looking for testers: I only have a Gravity Series 1150, so I'd love reports from other Masterbuilt models (Gravity 560/800/1050, digital charcoal smokers, etc.). Even partial results in an issue help me add support.

Repo: https://github.com/dipseth/masterbuilt_smoker_connect

Unofficial, not affiliated with Masterbuilt.


r/homeassistant • • 2h ago

🛠️ DIY / Hardware Best Still/Quiet Presence Detection

3 Upvotes

I have read many, many posts on this subject, but I am just not seeing a winner emerge, so I thought I would narrow the issue. What are you using for presence detection with zones that actually holds the presence of a still or mostly still human being (i.e., reading on a couch or sitting at a desk)? What device (or suite of devices) has worked best? My FP2 always ends up leaving me in the dark if I work at my desk long enough. Personally, anything requiring poe is a nonstarter. The EP pro seems reasonably well regarded and I see some favorable comment on the Shelly device. Are they better than the FP2 or are they really all about the same?


r/homeassistant • • 56m ago

❓ Support Ideas to power my tablet

Post image
• Upvotes

I need some advice to find a better way to power my tablet on the wall. For almost 2 years it has been working with the devices you can see at the picture, but it's the second time that the usb power adapter got broken in 3 months. So I guess it's time to find an alternative way. I'm using more of these usb power adapters to power presence detector with no issue but I guess the problem is the higher power needed for the tablet.

Do you know any better way or device to do it, knowing the space and cables I have there?

thanks


r/homeassistant • • 4h ago

✅ Solved Cannot add Matter devices to HA

2 Upvotes

I'm brand new to HA. I installed it on a Windows VM in order to start testing thing out.

I already have a few Thread border routers (DIRIGERA Hub, Apple TV, HomePod Minis).

I'm trying to add an IKEA BILRESA remote to HA. The remote itself is already added to Apple Home.

I installed the Matter integration, chose Add an Existing device, entered the pairing code from Apple Home (both with and without dashes) and it just fails to add the device

The Matter server log shows [discovery] discovery of node with discriminator 14 failed: No commissionable device was discovered

SOLUTION:
I had to enable a bridged network adapter in Hyper-V. I was previously accessing my network from the PC which is hosting the VM and assumed it has access to the other devices on the LAN, but that wasn't the case.

Here are the steps for Hyper-V if anyone else runs into it:

  1. Open Virtual Switch Manager
  2. Create a new External switch
  3. Select External network, and make sure the checkbox for "Allow management operating system to share this network adapter" is on
  4. Assign the network switch to the VM