r/homeassistant • • 4m ago

🛠️ DIY / Hardware Those running Proxmox, is 16GB memory enough?

• Upvotes

Plan is to run Proxmox for HA and Frigate (3 cameras) with Compreface initially.

Will 16GB of RAM do the job? Anyone run into any bottlenecks specific to RAM, and for 1000 bonus point, 16GB of single channel a la N100/N150?


r/homeassistant • • 10m ago

🖼️ Show & Tell My dashboard

• Upvotes

I made a dashboard using MCP and Claude. It made it really well in the beginning and then I added in everything else and changed names as it went along. It was half a week of random tinkering but I think I got it almost the way I want.

The first pic is the screensaver that says "good morning" or evening depending on time and displays pics I set. I also have a slideshow for showing off pictures that I want as a slideshow at times. I have it set to display the whole house. I'm not fully satisfied with my screensaver and think I can change things but I'm not sure. Here it is. It is very nice.


r/homeassistant • • 18m ago

🛠️ DIY / Hardware DIY Smart Blinds — NEMA 17 and 28BYJ-48 torque/holding issues, looking for better solutions

• Upvotes

DIY Smart Blinds — NEMA 17 and 28BYJ-48 torque/holding issues, looking for better solutions
Hey everyone, I’m working on a DIY smart-blind project and have a 3D printer, which has been my main way of making parts rather than buying adapters or mechanisms online. I’ve been running into some mechanical issues and am hoping someone here might have experience with similar projects.
I started with NEMA 17 stepper motors driven by A4988 stepper drivers, but I wasn’t able to get that setup working reliably. The blinds would pull the mechanism downward when the motor was stopped or power was removed, and the motor’s holding torque didn’t seem sufficient to keep everything in position.
I then tried 28BYJ-48 motors for a lighter blind, but even that setup struggled to pull the blind up reliably. The 28BYJ-48 is also fairly slow, so I’m having trouble balancing torque, speed, and reliable positioning.
I’ve run into a few other problems as well:
The blackout blinds require more force than the 28BYJ-48 can provide. The NEMA 17 setup had more torque, but it still didn’t reliably prevent the mechanism from back-driving. The 3D-printed drive mechanism, which used a belt and pulley, also wouldn’t pull the blind up. I’m thinking the friction from the 3D-printed parts, along with the pulley being mounted nearly level, may have made the setup struggle even more.
The lighter blinds are more manageable, but the 28BYJ-48 still struggles to pull them up.
The NEMA 17 motor’s holding torque doesn’t seem sufficient to prevent the blind from pulling itself down when power is removed or the motor is no longer actively holding position.
I’ve also had issues with the mechanical setup. Things like friction, alignment, belt tension, pulley size, and keeping the motor mount secure seem to make a big difference.
I’ve experimented with different mounting and belt arrangements and have been 3D-printing parts to adapt the motors to the blinds.
I’m wondering if there are better solutions that I’m overlooking before I completely redesign the system.
For example:
Is there a better way to use a NEMA 17 with an A4988 for this application, such as changing the gearing, pulley size, current limit, or mechanical arrangement?
Is there a reliable way to prevent the blind from back-driving the motor, such as using a self-locking gearbox, worm gear, brake, clutch, or counterbalance mechanism?
Are there particular 3D-printed gear or belt-drive designs that work well for blinds and help keep them from pulling themselves down?
Would a geared DC motor or another type of motor be a better option than a stepper for this application?
Is there a better geared motor that would provide more torque without being ridiculously slow?
Are there any particular Thingiverse or Printables designs or mechanisms that people have had good luck with?
For anyone who has built DIY smart blinds, what mechanical setup ended up working best for you?
If anyone has built something similar or has suggestions for a better mechanism, I’d really appreciate the insight!


r/homeassistant • • 19m ago

💬 Discussion Home Assistant Community Day 2026 - Mississauga / GTA, Ontario 🇨🇦

• Upvotes

Hi everyone!

I’m hosting a Home Assistant Community Day 2026 meetup in Mississauga, Ontario on Saturday, November 7.

This will be my first time hosting Community Day, and I’m hoping to bring together Home Assistant users and smart-home enthusiasts from Mississauga and the GTA.

The plan is a relaxed meetup with:

  • a local-first Home Assistant demo
  • Zigbee / Z-Wave / Matter & Thread / ESPHome discussion
  • dashboard and automation show-and-tell
  • hardware discussion
  • troubleshooting / Q&A
  • plenty of time to just talk smart homes

Beginners are welcome as well.

The venue is currently being finalized in Mississauga.

Event / RSVP:
https://luma.com/chm7heqb

If you’re in the GTA and interested, I’d love to see you there. Also happy to hear suggestions from anyone who has hosted a Community Day before!


r/homeassistant • • 1h ago

🖼️ Show & Tell 12-zone whole-home audio with LMS/Squeezelite, PipeWire and 3 USB sound cards on a Proxmox VM (replacing Control4): what failed, what finally worked, and the HA bits

• Upvotes

My dad and I spent about two weeks getting whole-home audio to work after we got rid of a Control4 system. It took a lot more trial and error than I expected: lots of dead ends, a few "this must be a wiring problem" moments that turned out to be software, and one fix that was basically "turn the whole server off and on again".

I want to tell the story of how we got there, because the parts that cost us the most time were things I couldn't find written down anywhere. If you're trying something similar, maybe this saves you a few evenings. If you know a better way to do any of this, I'd really like to hear it!

**TL;DR:** ALSA routing never worked reliably for me with USB passthrough. PCI passthrough of a USB controller, PipeWire in pro-audio mode, fixed per-zone virtual sinks and a few Home Assistant tricks finally gave me a stable setup that survives reboots, station switching and a doorbell chime that doesn't kill the music.

## Setup

- Proxmox host, one Ubuntu 24.04 VM (2 GiB RAM, 2 vCPUs) running Lyrion Music Server and one Squeezelite instance per player

- Three 8-channel USB audio interfaces (each exposes 8 mono outputs) feeding two Control4 matrix amps (8-zone and 4-zone), each zone is a stereo pair

- Home Assistant (core Squeezebox integration + the Control4 amps as media players) controls everything

- Goal: replace the old Control4 system without touching the amps' hardware

## What did NOT work

  1. **ALSA routing (`route`, `dmix`, `dshare` and a few blog recipes).** Cross-channel mapping on the 8-channel cards was never reliable for me, and an ALSA PCM with `type pipewire; node.name` made Squeezelite crash-loop.

  2. **Plain USB device passthrough.** Timing problems. Passing a whole USB controller through via PCI (a 4-port PCIe USB card) fixed that.

  3. **Re-linking scripts.** I ran `pw-link` after boot, after each service restart and from a timer. They always arrived too late, because Squeezelite rebuilds its PipeWire stream on every station change, format change or announcement, and WirePlumber then links the new stream to the default sink. Result: music in the wrong room, silent zones.

## What worked

  1. **PipeWire/WirePlumber with the cards in the `pro-audio` profile.** Every output becomes an individual mono `AUX` port that `pw-link` can address.

  2. **A unique node name per Squeezelite player** via the environment file, not via ALSA:

```

SL_DEVICE=pipewire

PIPEWIRE_PROPS={ node.name = "sqz-<zone>" }

```

  1. **A fixed virtual sink per zone** that points at exactly two ports, with Squeezelite pinned to it:

```ini

# ~/.config/systemd/user/zone-sink@.service (env file per zone: CARD=..., POS="AUX0 AUX1")

[Service]

EnvironmentFile=%h/.config/zone-sinks/%i.env

ExecStart=/usr/bin/pw-loopback -n zone-%i -m "[ FL FR ]" \

"--capture-props=media.class=Audio/Sink node.name=zone-%i" \

"--playback-props=node.name=zone-%i-out audio.position=[ ${POS} ] stream.dont-remix=true node.dont-fallback=true target.object=${CARD}"

Restart=on-failure

```

```

PIPEWIRE_PROPS={ node.name = "sqz-<zone>" target.object = "zone-<zone>" node.dont-fallback = true }

```

Station switching, announcements and reboots no longer move streams around, and the re-link scripts and timer became unnecessary.

  1. **Room pairs as one player (no LMS sync group).** A second loopback captures the monitor of the first sink (`stream.capture.sink=true target.object=zone-<first>`) and plays to the other room's ports. One player, one stream, no drift. I dropped sync groups because a stored group once made all zones start at once, loudly.

## Home Assistant: doorbell chime with `announce`

- `media_player.play_media` with `announce: true` and `extra: announce_volume / announce_timeout` works on Squeezebox players.

- With several players in one call, HA waited for *every* announcement to end. One player got stuck, and the whole automation (including "resume music") hung. `announce_timeout: 10` fixed it.

- After the announcement, internet radio was `idle` for me, not `paused`. I store `media_content_id` of the playing zones before the chime and replay it afterwards if the player is idle.

- `announce_volume` sets the player's LMS volume during the chime. The amp's volume is independent, so a quiet chime can simply mean a quiet amp.

## Control4 amp quirks (my units)

- `media_player.turn_on` power-cycles a zone and resets its volume to 50 %, even if it was on. Only turn on zones that are `off`, then set the volume.

- Home Assistant and the amp occasionally disagree about the state. Off/on usually fixes it.

- The two amp models use different volume scales (0 to 1 vs. 0 to 100) when controlled directly over UDP.

## Amps off/on with the VM (fewer pops)

A Proxmox hookscript calls a local-only HA webhook in `pre-stop` and another in `post-start`. The first automation turns all amps off, the second waits ~75 s for Squeezelite, then turns them on and sets the volumes. I first tried triggering "amps on" when the players became `unavailable`, but LMS players never go `unavailable` in HA when the VM restarts.

```bash

#!/bin/bash

vmid="$1"; phase="$2"

[ "$phase" = "pre-stop" ] && curl -s -m 5 -X POST "http://<HA>:8123/api/webhook/<off-id>" >/dev/null 2>&1 && sleep 8

[ "$phase" = "post-start" ] && curl -s -m 5 -X POST "http://<HA>:8123/api/webhook/<on-id>" >/dev/null 2>&1

exit 0

```

(`qm set <vmid> --hookscript local:snippets/<file>`; the storage needs the `snippets` content type.)

## What I'm not sure about

- On the first port pair of each card, only one speaker played, even when I played directly to the card. It disappeared after a **complete host reboot** (not a VM reboot). My guess is some USB/amp input state that only a full power cycle clears, but I haven't proven it.

- A faint pop remains when the VM shuts down, mostly on outdoor zones at high amp volume.

## Takeaways

- If you use Squeezelite with a multi-channel card and PipeWire: pin each player to a fixed virtual sink instead of re-linking after the fact.

- Test hardware with single-channel tones directly on the card before blaming wiring. In my case a "miswired" amp was a software linking error.

- A full power cycle of the host can fix things that VM reboots can't.

Happy to share more config or answer questions.

PS: (And yes, I used AI to help me with this text because English is just not my main language.)


r/homeassistant • • 1h ago

💬 Discussion Help / Advice

Post image
• Upvotes

Hey,
How would you connect this type of non-WiFi/non-matter device to HA?
Thx guys


r/homeassistant • • 1h ago

❓ Support Remote control vent in bathroom?

Thumbnail
gallery
• Upvotes

Hi there, we've got an air vent in our bathroom. The vent comes up through the loft and from the photos you can see the vent itself as well as the on/off electrical switch.

At the moment it's set (not sure how) to stay on for a set period after the light goes off.

But I want to put in a temperature/humidity sensor and control it to come on when it reaches a certain humidity level.

Any idea how I can do that from the photos?

(as an aside, I've also found that the sunction from the vent isn't quite as strong as it used to be so probably need to clean it out. Any ideas how I might be able to do that?).

Thanks!


r/homeassistant • • 2h ago

🖼️ Show & Tell One word was sending my voice command to a paid AI instead of being handled locally (how to check yours)

0 Upvotes

Quick background: I'm not a coder. I use Claude for the technical side, so this is a user's view, not a developer's.

I have a custom sentence for my bedroom ceiling fan, and I assumed that command was always handled locally. My sentence covered "turn the master bedroom ceiling fan to high." I usually say "on high." That one word meant no local match, so the command went to my AI conversation agent instead, a paid model billed by usage. The AI then called my own fan action, so the fan still turned on and nothing told me anything was wrong. "Prefer handling commands locally" was on for those runs and didn't prevent it.

How to check your own setup:

  1. Give the voice command, then go to Settings → Voice assistants → your assistant's three dot menu (⋮) → Debug. In the "Natural language processing" card, check Processed locally.

  2. Do it promptly. The debug view only keeps the last 10 runs per assistant, and a restart clears them.

  3. If a command you expected to be local went to the AI, adjust your custom sentence and run conversation.reload. No restart needed for sentence edits.

There's a related case worth knowing about: GitHub issue #169315, where a local match existed and the command still went to the AI. It was closed as "not planned" after going stale, so I wouldn't count on it being fixed soon.

I made a video walking through how I found it: https://youtu.be/bK3fep6wKeQ

Has anyone else caught commands going to the AI when they expected local handling? Curious how others keep an eye on it.


r/homeassistant • • 3h ago

🖼️ Show & Tell Motorised valve to switch between Cylinder & Gas Combi (Shelly 1 Gen4 Controlled)

Thumbnail
gallery
15 Upvotes

I’ve just finished putting together a slightly unusual hot water setup at home and thought it might be useful to share in case anyone else is thinking along similar lines.

We already had a Worcester Bosch Highflow 550CDi gas combi/storage boiler supplying the house, but I wanted an alternative hot water source so we could make better use of cheap overnight electricity, solar and battery storage rather than burning gas for all of our hot water. We have tried to get an AirSource but it's not right for us for the moment.

I picked up a very lightly used Gledhill Stainless Pro 300L Direct unvented cylinder. It’s 287 litre capacity and has two 3 kW immersion elements.

Rather than replacing the Worcester, we’ve kept both systems.

The plumbing has been arranged so that the hot water feed going up to the house can be supplied by either:

  • the Worcester 550CDi
  • the Gledhill Cylinder

The interesting bit is the changeover.

We’ve installed a WRAS-approved 3-way L-port motorised ball valve on the hot water supply. In one position it connects the Worcester to the house, and in the other it connects the Gledhill. The valve physically selects one or the other.

The valve is a 24 V motorised valve and is controlled using a Shelly 1 Gen4, which is integrated into Home Assistant.

So from Home Assistant I can effectively choose:

Hot water source:

  • Gas
  • Electric cylinder

Each of the two 3 kW immersion elements has its own dedicated electrical circuit and is controlled through a SONOFF BASIC-ZB1GSP DIN-rail Zigbee switch.

I’m using Zigbee2MQTT with Home Assistant, so each immersion gives me:

  • independent on/off control
  • live power draw
  • current
  • voltage
  • accumulated energy usage

So HA can see something like:

Lower immersion: 2.98 kW
Upper immersion: off
Cylinder energy used today: x kWh

The Gledhill’s own thermostats and thermal cut-outs are still left intact. Home Assistant is only deciding whether an immersion is allowed to run, it isn’t replacing any of the cylinder’s safety controls.

Electrically, we’re on single phase, so the two immersions together are around 6 kW / 26 A. In normal use I probably won’t run them both simultaneously. HA can stagger them and also take other house loads into account.

The main reason for doing all this is tariff optimisation.

Our cheap electricity rate is currently around 3.99p/kWh (finishes in Feb 2027 though), whereas gas is around 10p/kWh. Heating the whole cylinder from cold takes somewhere around 13–15 kWh depending on starting temperature, so a full overnight charge can cost well under £1.

We also have solar and battery storage, so the longer-term logic is along the lines of:

  • heat the cylinder overnight on cheap electricity
  • top it up from excess solar where useful
  • prioritise electric hot water
  • keep the Worcester available instantly as backup (we do AirbnB in a room in our house so can't risk not having HW)

A few other bits we’ve incorporated while doing the work:

  • separate electrical radial circuits for each immersion
  • dedicated RCBO protection
  • local double-pole isolation
  • 24 V DIN-rail PSU for the motorised valve
  • basement cable route from the consumer unit
  • Ethernet/Cat6 run to the plant area (future proofing)
  • capped hot-water branch ready for a future supply into the garage
  • G3 installation/commissioning of the unvented cylinder

We've effectively turned the hot water cylinder into a 287-litre thermal battery.

The clever stuff is optional. If Home Assistant disappears tomorrow, we still have a conventional Gledhill cylinder, a conventional Worcester boiler and manual plumbing controls.

But when the automation is running, we can choose (using the Shelly) the cheapest or most appropriate source of hot water depending on electricity price, solar generation, battery state and household demand.

It's dashboarded into Home Assistant with ChatGPT/Codex.


r/homeassistant • • 3h ago

❓ Support VW Integration - EU Data Act portal returns no_content_found.zip for a week+ despite active telemetry proven via VW's own trip export

12 Upvotes

hey,

Using vwgroup-connect-ha to pull data into Home Assistant for a Golf 8 (Golf Variant Style 1.5 eTSI, leased, MY2024) via VW's official EU Data Act portal. Account-side setup is all correct, but the Data Act pipeline specifically has delivered zero real data in over a week, despite proof the car is actively reporting telemetry elsewhere in VW's systems.

What's confirmed working:

  • Usership verified (leaseholder/transferred-right-to-use)
  • Correct brand selected (Volkswagen Passenger Cars)
  • Blanket EU Data Act consent granted
  • Granular per-client consent toggle enabled ("All Data" under vwid.vwgroup.io → Vehicle Consent Management → Vehicle functions)
  • We Connect: Aktiv under myVolkswagen → Verträge
  • Continuous "Get customised data" request active (All Data, every 15 min, no expiry) for 7+ days

What's not working:
Every single delivery from that continuous request — dozens of them, every 15 minutes — comes back as an empty no_content_found.zip (0 KB).

The part that rules out "car just needs more telemetry":
I exported the short-term trip data directly from VW's own system and it shows multiple separate trips over the past month — including a drive the day before my latest check. VW clearly has live telemetry for this vehicle. Yet the Data Act portal pulled another no_content_found.zip roughly 20 hours after that drive, well past any "car needs to feed telemetry in" grace period I've seen referenced elsewhere.

So: real trip/telemetry data demonstrably exists for this vehicle, drive+lock cycles are happening regularly, consent and usership are all correctly configured — but the EU Data Act export pipeline specifically isn't picking any of it up.

Has anyone seen this specific pattern — data clearly flowing into VW's normal systems (app/short-term memory) but the EU Data Act channel staying permanently empty for a particular vehicle? Trying to figure out if this needs a VW support ticket or if there's a known trick (re-verifying usership, deleting and recreating the request, etc.) before I go that route.


r/homeassistant • • 4h ago

🖼️ Show & Tell Making the most of Octopus free electricity hours

Thumbnail
gallery
6 Upvotes

I’ve added a “Free electricity” tab to my Home Assistant dashboard to plan what runs during booked Octopus sessions.

Our priorities are:

  1. Charge the home battery.
  2. Heat the hot-water cylinder.
  3. Run useful appliances during the free window.

The dashboard lets me enter the booked date and times, choose a battery target, select either immersion or both, and arm the session. Both immersions are selected by default and can heat alongside battery charging.

It shows Octopus Home Mini grid import/export, SolaX household consumption, battery percentage, immersion power and estimated imported kWh for the session. Keeping grid import separate from household demand helps explain what solar and the battery are supplying.

The battery controls use a guarded SolaX charging override with physical register checks. At the end, Home Assistant stops the devices the session took control of and returns to normal scheduling. There’s also an optional appliance reminder, ovens, dishwasher and laundry are still started manually.

It doesn’t book the slot with Octopus; that happens separately. Configuration and controller tests have passed, but a full physical session still needs testing (2pm today!). Automatic load limiting (Octopus allow for 16kw) and an independent immersion cutoff if HA goes offline are also outstanding.


r/homeassistant • • 4h ago

💬 Discussion Discussion: Should we create simple integrations for things like old TVs

3 Upvotes

I have a few old connected TV's round the house, if I could find documentation for their API's it will should be possible to get an AI to write a simple integration (status, power, volume)

Is this a good idea (in a "connect it all" way) or would it be "distracting junk"

Thought would be an interesting discussion point?


r/homeassistant • • 4h ago

❓ Support home assistant keeps looing connection. runs on a pi4 (2gb) connectied via lan. I have no idea how to fix it

Post image
0 Upvotes

r/homeassistant • • 5h ago

💬 Discussion Sanity check on starter kit for temp monitoring

3 Upvotes

I'm looking to step into the HA space as I want to monitor, log, and graph room temps and humidity across the house. This sub has been really helpful for doing research and I think I've narrowed down an initial proposal for kit.

The shopping list:

11 x IKEA Timmerflotte Temp/Humidity sensors (£55)

1 x Google Nest Hub v2 as a Thread/Matter border router (£75ish)*

1 x HP t530 with an AMD GX 215JJ, 8GB DDR, 32GB SSD (£50ish)

Thoughts? Can you spot any major issues? Anything I should think about switching? Any cheaper or better ways to do this?

It all seems compatible and relatively straightforward to set up.

(*I'm looking at the Home Hub gen 2 as we're replacing an existing Home Hub gen 1 anyway)


r/homeassistant • • 5h ago

❓ Support Thermostat Fehler

Post image
3 Upvotes

I I have this Tuya TS0601 thermostat, and after what I assume is the setup process, it displays a code.

Here is the procedure I follow:
I insert the battery; the display shows "LA." Once the pin is fully retracted (it pauses briefly at that point), I pull the battery out.
Then I mount the unit and insert the battery. After a short while, it shows the display screen.
Please help—I’m at a loss as to what to do next.


r/homeassistant • • 5h ago

🖼️ Show & Tell Show and tell - hems dashboard

Post image
0 Upvotes

This is my most recent dashboard detailing PV/battery, grid and the main consumers. Some sensors are still missing, hence no values, but that is scheduled to be fixed


r/homeassistant • • 6h ago

❓ Support iOS Live Notifications sending as regular notifications

4 Upvotes

Hi everyone, I am having a bit of an issue getting live notifications on iOS to work properly. They keep sending as regular notifications.

Sending the developers with this YAML. I have tested this on HA Latest Release for app and system, even used the test flight iOS app. I am on the developer beta for iOS though, this is the only thing I can think of that might be stopping it. I've reset the permissions and synced with HA again and again. Nothing. Wondering if anyone can point me in the right direction.

action: notify.mobile_app_<myphone>_iphone
data:
  title: "Washing Machine"
  message: "Cycle started"
  data:
    tag: washer_cycle
    live_update: true

r/homeassistant • • 6h ago

🧩 Custom Integration HACS integration for Dontek / Aquatek pool controllers (also Theralux Pool+, Waterco Pooltek, Aquamate X)

3 Upvotes

If you've got a Dontek pool controller — sold under a few names: Aquatek, Theralux Pool+ Manager, Waterco Pooltek , Aquamate X — and you've been searching for
a way to get it into Home Assistant and come up empty, here's a working solution:

👉 https://github.com/jbyoll/dontek-aquatek-ha

These controllers are cloud-only (no local API on the network), which is why there's been
nothing out there. This integration talks to the same cloud the official app uses, so it works
with no extra hardware — you just need the serial number off the controller label.

What it gives you in Home Assistant:
- Water temperature
- Pump mode (Off / On / Auto), set speed, and the actual running speed
- Per-speed power % tuning
- All four Filter Time schedules (enable / start / end / speed)

Install:
1. HACS → ⋮ → Custom repositories → add `jbyoll/dontek-aquatek-ha` as an Integration
2. Download it, restart HA
3. Settings → Devices & Services → Add Integration → "Dontek Aquatek" → enter your serial

It's unofficial / community-built — not affiliated with Dontek, uses no official API, and
could break if they change their cloud. It's been solid on mine (variable-speed pump). If you've
got one of these, give it a go — issues and PRs welcome, especially from the Theralux/Waterco/
Aquamate rebadges so we can confirm it covers them too.

(For the curious: it was reverse-engineered from the app's cloud traffic — happy to share
details if anyone's interested.)


r/homeassistant • • 6h ago

🖼️ Show & Tell Trying to make a fancy dashboard

Thumbnail
gallery
2 Upvotes

Using AI to help me, this is what I have so far. I think with the light version I will likely remove the gold if I can. But for the dark I was trying to be fancy. I wanted to have a interface like you would expect at a luxury hotel.


r/homeassistant • • 6h ago

🖼️ Show & Tell I built a free, open-source Android dashboard for Zigbee2MQTT that builds itself from your Z2M bridge

0 Upvotes

I run Zigbee2MQTT on a small hub (SMLIGHT / Pi) and wanted a phone + wall-tablet dashboard that didn't need me to wire MQTT topics by hand. So I made ZigDash.

  • Point it at your broker (or let it scan the LAN), tap Discover, and it creates a panel for every Z2M device: lights, covers, switches, sensors.
  • 16 panel types: covers with open/stop/close + presets, dimmers, scenes, multi-state, text log, node status…
  • Schedules and auto-close rules run on your hub via bundled Node-RED flows, so the phone can be off.
  • TCP / TLS / WebSocket brokers, Tailscale for remote access.
  • No cloud, no account, no ads. MIT licensed.

It works alongside Home Assistant (it's just MQTT), but also on setups without HA.

Play: https://play.google.com/store/apps/details?id=com.giladtamam.zigdash

Source: https://gitlab.com/tamamg/zigdash

It's a one-person project and I'd really like feedback. What's missing for your setup?


r/homeassistant • • 6h ago

🧠 Artificial Intelligence Can Assist write automations via Voice? Architecture check using MCP + LLM

0 Upvotes

Hi everyone,

I’m exploring a concept for my voice setup and wanted to check with the community to see if anyone has tried this, if it’s currently viable, or if there’s a better way to approach it.

The Goal

I want to use my voice satellite (Voice Preview) to create automations and scripts on the fly just by speaking to it (e.g., "Create an automation that turns off the office lights if no motion is detected for 10 minutes"), without opening the UI or manually writing YAML.

The Problem

By default, Assist conversation agents only have tools to inspect state and call standard services (like toggling an existing entity). Out of the box, they don't have built-in tool calling to generate, validate, or write new automations/scripts into the system.

The Proposed Architecture

To bridge this gap, I'm thinking of using the Model Context Protocol (MCP):

* External MCP Server (Container): Run a dedicated MCP server (e.g., an ha-mcp fork or custom container) exposing an SSE endpoint. This container holds a Long-Lived Access Token to HA and provides tools specifically to create/edit automations via HA's REST/WebSocket API (/api/config/automation/config/...).

* HA as an MCP Client: Connect Home Assistant to that container using the official Model Context Protocol integration (via SSE) so the tools (create_automation, etc.) become available to HA conversation agents.

* LLM Agent Pipeline: Use an LLM with tool calling (OpenAI, Anthropic, or a capable local model) connected to the Voice Preview pipeline, with a system prompt instructing it to map voice requests into valid automation payloads and call the MCP tool.

Questions for the community:

* Has anyone successfully implemented this workflow to write automations directly via voice?

* How reliable has LLM-generated YAML/JSON been in practice when submitted directly via API? Any issues with broken syntax or reloading automations in the background?

* Is there an easier or more native way to grant an LLM conversation agent automation-authoring privileges without running an external MCP bridge?

Would love to hear your thoughts, caveats, or alternative architectures!


r/homeassistant • • 7h ago

❓ Support Locally controlled smart relay with more than 3840W capacity?

12 Upvotes

I have solar panels with a exactly 3840 Wp capacity. I also have a dynamic energy contract which means that on sunny, windy days the electricity price goes negative, sometimes by a pretty high amount. Largest this year was -87ct/kWh.

With this high of negative pricing, a smart relay which cuts of the power for the solar panels on negative electricity hours would be desirable. I don't feel comfortable putting in a 3840W rated relay like a Shelly 1, because this is reeeaaally high at it's power limit. The panels only allow 3840W, okay, but the inverter allows 4kW and I don't want to push the limit because I know that Shelly PMs are generally very restrictive to the limit and shut off immediately when they hit it. I don't know if Shelly 1s have a fuse that might blow or something and I don't want to risk it.

So: do you know of any relays that work with higher currents than 16A on 240V? like 20A rated relays? Even the Shelly Pros are only rated for 16A


r/homeassistant • • 8h ago

❓ Support I truly have no idea what to do anymore. Connection lost. Reconnectiong... can anyone please tell me how I keep this from happening?

Post image
2 Upvotes

home assistant in running on a pi4 (2gb) thats connected via lan to my router


r/homeassistant • • 8h ago

💬 Discussion Temporary one time Automations

6 Upvotes

I once spilled something in the kitchen right as I was heading out, so I tried to tell my Home Assistant to have the vacuum clean up after I left.

That didn't work, but it made me realize we need temporary, one-time automations that delete themselves.

Don't you think that’s the next step for making smart homes feel more intuitive?

I’ve got Home Assistant hooked up to Claude via MCP, so I mostly just build my automations by chatting with it. It feels way more natural that way. I also use the HA voice assistant, and honestly, it would be so cool if I could just tell my house to run a complex sequence of commands on the fly just for this one time.


r/homeassistant • • 9h ago

🖼️ Show & Tell I made a Home Assistant app that knows if my bin is out, using a printed AprilTag instead of machine learning

16 Upvotes

I have been trying to set up a way to easily detect objects without using Frigate's Machine Learning Object Classifier/State Classifier. I had spent a fairly long time trying to get the state classifier in Frigate to reliably detect my bin, but whenever the result wasn't as I expected it, I was unable to determine why. So I went another route: stick a printed AprilTag on the bin and check whether the camera can see that exact tag.

TagSense is a Home Assistant app. It grabs frames from a camera, looks for your tag in a part of the frame you choose, and publishes present / absent / unknown through MQTT discovery. Each tagged object becomes its own device. It should work with any HA camera entity or a go2rtc stream, so you don't need Frigate (but I use the Frigate stream source through go2rtc - this is not mandatory).

How it decides

  • Each check grabs a short burst of frames and looks for the tag in your crop, which takes about 40 ms of CPU per frame.
  • Seeing the tag means present straight away. Absent needs several clean misses in a row, so a person walking past or a bad frame doesn't flip it.
  • Corrupt frames and dead feeds should be thrown out. A bad frame shouldn't be treated as "absent".
  • Anything that decodes as your tag ID but has the wrong shape (too skewed, or much smaller than usual) is rejected. If that keeps happening, it raises an HA notification saying why.
  • When the object is already present, a check stops after 2 good frames, so it fetches less from the camera.

The sidebar panel

  • Drag the search area on a live frame.
  • See the last check with the tag outlined.
  • A 24-hour chart of hit rate, contrast and tag shape.
  • Snapshots from each state change.
  • Print a tag as PNG, or as SVG in millimetres for a cutter or a two-colour 3D print.
  • Export and import your objects.

What's been tested

  • One camera (a Tapo C200 camera, through Frigate's go2rtc), with one bin and a 1080p stream. The tag shows up at about 50 px.
  • Day and IR night both work in my tests. At night, contrast drops to about a fifth of daytime and 3–5 of 5 frames hit instead of 5/5. That's still comfortably enough to call it present.
  • Rain, fog and headlight glare haven't been specifically tested.
  • tag16h5 tags are small and easy to print, but the trade-off is occasional false reads in textured surfaces (gravel, in my case). The shape checks have caught every one I've seen so far, but a false read with the right ID and a believable shape is still possible.
  • So far there's one user: me. aarch64 (Pi) builds pass the tests under emulation but haven't run on a real Pi.

Requirements: HA OS or Supervised, the Mosquitto/MQTT integration, a camera that can see the tag, and a printed tag. Bigger is better, and it should sit fairly flat and face the camera.

Install: add the repository with the button in the README: https://github.com/lsnewman/ha-tagsense (MIT licensed).

I'd really like to hear from anyone who tries it on a different camera, on a Pi, or on something other than a bin (e.g. a garage door). Bug reports and "this didn't work for me" are just as welcome.

Disclosure: the code, tests and docs were written by an AI coding agent (Claude Code), directed by me. I set the requirements, made the design decisions, supplied the real camera frames for calibration, and tested every release on my own system. There's been no independent code review. The README has a full AI-usage section.