#core

1 messages Β· Page 1 of 1 (latest)

old jacinth
#

Oh hi there πŸ‘‹

Welcome to #core. The comms channel for the Home Assistant Core (backend) team at the Open Home Foundation.

Home Assistant is built in the open, and this channel is part of that. We use this channel for day-to-day communication from the Core team. Core members, contributors, and anyone else are welcome to join the conversation. You can follow along with what we are working on, what is changing, and the context behind technical decisions.

What this channel is not: General coding help or β€œhow do I…?” support. Please use #1257019582112334014 .

If you want to contribute to our Core repository, ask questions about direction and decisions, or help sanity-check an approach, you are in the right place. Feel free to jump in! πŸ™Œ

../Frenck
Lead of Home Assistant

analog latch
#

Hi πŸ‘‹!
I was thinking of adding optional compression (save as zip / gz) to homeassistant.helpers.storage.Store. Would we want this feature in Core? πŸ—œοΈ

vernal meadow
#

How much would it save us? And what's cpu impact?

#

Basically at startup were starved for resources. Not sure if CPU or I/O is the bottleneck

silk tide
#

How do people like the idea of a form of backoff retry patterns in the Data Update Coordinator? So instead of rendering entities unavailable right away, we can build our own backoff mechanism, that tries a couple of recoveries (within an reasonable amount of time).
Aim is to not put entities in the unavailable state right away, yet also gives API's we're polling a bit time to recover. In essence a retry is selfish and doesn't take in mind what a server responds (429 rate limit, "hey, give me some slack and backoff for x amount of seconds before trying again").

analog latch
#

Store compression

atomic fulcrum
warm crane
subtle wadi
hallow sundial
#

We can't do that if we want to allow entity_id instead.

crisp dirge
#

Photo frame integration

quaint ravine
#

Beta update appears to have migrated my light.turn_on action to the new syntax, but not taken into account the extra keys (the addtional options which dont appear to be in the new setup). It now fails to run. Only way I found this out was the lights not turning on See thread, scripts have not migrated in beta for kelvin -> color_temp_kelvin

data:
  kelvin: 3600
  brightness_pct: 1
target:
  entity_id: light.sofa
enabled: true
action: light.turn_on

This has busted most of my automations scripts

subtle wadi
#

May I mention how refreshing it is to see Eriks face next to his messages again?

crisp dirge
#

I know, nice to be back

crisp dirge
#

I knew slack wasn't going to last, so no point updating the profile picture. It's not even been a year πŸ˜‰

wooden pier
crisp dirge
#

i have a very nice avatar there, so nice that @eager marsh copied it

old jacinth
#

Honestly, at this point, I see the difference between you two, even in a 24x24px size avatar

subtle wadi
#

Oh I can tell a lot of people by their generated avatar at this point

narrow sand
#

Hi. I have a request but I'm not sure where to put it. It's probably not Core, so please triage me away as needed.
I would like to be able to see Z2M groups exposed as actual HA groups. I have no idea if that's a core request, a lovelace request, a z2m request, or whether it's actually several more detailed requests. I couldn't find a triage channel.

#

BTW the reason is that zigbee groups are more network-efficient but HA groups' UX is way nicer, e.g. when controlling groups of lights

eager marsh
#

By that do you mean in the UI? Because if so, then that's coming.
But I'm not sure if this is the right channel for this.

narrow sand
#

As a user, I see it through the UI. But maybe there are core or z2m aspects to it. That's why I don't know where to discuss it.

crisp dirge
#

Hi. I have a request but I'm not sure

cursive jacinth
#

To be fair there really isn't anywhere on discord where feature requests would be considered on topic. I think the github forum is really the only place.

vernal meadow
#

OpenDisplay is going to change the game for (e-ink) displays in the smart home

narrow sand
vernal meadow
#

Max volume media player

old jacinth
pseudo harness
#

πŸ‘‹ there is a weird test in dev that is generating lots of warnings
pytest tests/components/frontend/test_storage.py::test_user_store_load_error
Original PR from @velvet oriole https://github.com/home-assistant/core/pull/157616
And it ends up failing completely in https://github.com/home-assistant/core/pull/158243

GitHub

Proposed change
Fixes home-assistant/frontend#28173 reported in front-end.
On a restart, the sidebar user data wasn't loaded properly because of the websocket event was sent before the user...

quaint ravine
#

Are we aware of some core packages not supporting 3.14?

zealous mauve
subtle wadi
#

FYI, we now have the <@&1476935650476560394> role to ping each other in threads where we want all eyes on for example πŸ™‚

crisp dirge
#

ping ping

solar harbor
wind heath
#

I'm going crazy with the influxdb repair issue PR @zealous mauve ... I thought this was a quick fix. But I probably couldn't have picked a worse PR to start with. Next time I'll suggest to revert the thing. I hope it is ok now... 😩

subtle wadi
#

Another proposal: This is what my sidebar looks like after about 1 day of using this channel. A default can be set per thread, currently it's 3 days. I want to propose to set it to 24 hours, this way the channel list on the side only has relevant discussions. If there are topics that take longer, we can always modify this setting. Threads are always visible via the button at the top

old jacinth
#

Another proposal: This is what my

old jacinth
#

Sorry for the flood of PRs @ Core, I'm fixing all tests that do outgoing network connections (which should make our tests more stable)

wooden pier
#

There I was hoping we make sub 500 - and then Frenck comes along

old jacinth
#

Hehe sorry m8. The good news is though

#

if my current open PRs have been merged, we should have gotten them all, after that we could enable a detection for it

subtle wadi
#

Warned binarylogic for automated bot like behavior

solar harbor
#

You want them to be non-binary?

subtle wadi
subtle wadi
#

@vernal meadow it would be nice that if you open PRs with AI that the whole template is there. It's becoming a pet peeve to see the PR template butchered (and in your case only just shortened) by AI

vernal meadow
#

You mean the checkboxes that are not checked ?

old jacinth
crisp dirge
#

Fail more tests when pytest_socket.Socke...

wind heath
#

TTS Providers

subtle wadi
#

Green planet energy energy price action

wind heath
hallow sundial
#

@wind heath I've posted a question in the PR. Not sure if you saw that.

hallow sundial
#

πŸ¦„

atomic fulcrum
#

Hue scenes that should be switches?

crisp dirge
#

I'm having some annoying issue with git which is related to PR 163984:

$ git fetch upstream
error: cannot lock ref 'refs/remotes/upstream/number/add-number.changed-trigger': 'refs/remotes/upstream/number' exists; cannot create 'refs/remotes/upstream/number/add-number.changed-trigger'
From https://github.com/home-assistant/core
 ! [new branch]              number/add-number.changed-trigger -> upstream/number/add-number.changed-trigger  (unable to update local ref)

The problem is that I have a reference to a long removed branch named number, which collides with the new branch.
Should we maybe disallow branch names with / to prevent these kind of collisions?

subtle wadi
#

Branch names

quaint ravine
#

Plant domain

old jacinth
#

CI is not passing

subtle wadi
#

Will grab a cup of tea and sit behind my laptop

old jacinth
#

I've tagged that one, but it seems there is more between the beta cut and this one (including new features)

subtle wadi
#

That sounds like it

old jacinth
#

Ok let me revert that one directly on the RC branch

subtle wadi
#

Python bump dependencies

subtle wadi
#

So there's a PR to allow meter selection in rainforest eagle. So when asking through, I come to the conclusion only one meter can be attached at a time. I proposed to make it just auto select the first connected meter, instead of asking the user. Apparently Paulus pushed back on this 5 years ago and said it should be a question for the user. Today I would opt that we pick for the battery included approach. The only use case to select a non-connected meter seems to be really niche (for example people carrying their meter accross homes, which would theoretically work, but practical is different) https://github.com/home-assistant/core/pull/161185.

atomic fulcrum
#

Could we test-drive https://needle.gg/ here in this chanel (but with a short bot message, not that default one)?
Having threads is great, having to create them manually in discord is annoying. Having them automatically created would be nice.

tacit rover
#

I'm looking into the Worldclock integration after realizing that the sensor it creates doesn't have a timestamp class, and is therefore really hard to use in triggers and conditions. I want to fix this, and I can see two options:

  1. Convert it into a timestamp - that's probably the right behavior, but it's a breaking change, and if existing users want to keep their specifically formatted sensors they'll have to create template sensors to convert.
  2. Add timestamp as another option, along with the the string formats. No breaking change, but messier code.

Would love to hear your thoughts.

wooden pier
#

IPv6 GLA addresses

narrow hamlet
#

Hey @old jacinth i am working on the OHF-Voice apps/addons with @somber path . I was looking and wondering at https://github.com/home-assistant/addons/. Why do we have one big repository with a lot of apps?

What i am expecting is each app build in their github repository like https://github.com/OHF-Voice/linux-voice-assistant. That way you have a lot of control for MR/PR when code failes and more. Is there a specific reason this still needs to be that way?

What do you think about having one repository for each app. We build the containers for the usual usage without s6 and then ontop of that image in the same Dockerfile a version called "-app" that also has s6 included. That way we save time building stuff, have each app seperated with its development tree.

I currently use a docker / kubernetes setup. That said less knowledge about the app store and so on. But some central list for apps and then fetching version and so on, dosnt sound to complicated.

#

Hey @Frenck i am working on the OHF-

quartz night
#

Planning to do one last round of updates in our base image before we merge the builder refactoring. The base images currently use pip v25.3, does anyone from the <@&1476935650476560394> see a possible issue with updating to v26?

hallow sundial
#

Planning to do one last round of updates

wind heath
#

Currently working on the battery conditions and don't know what to point "documentation" to inside the manifest. Both door and garage_door (two integrations that only implement triggers) provide links to documentation that doesn't exist (e.g. https://www.home-assistant.io/integrations/garage_door), should I do the same?

hallow sundial
#

We should add those pages in the docs eventually, yes.

crisp dirge
#

The test tests/components/go2rtc/test_docker_version.py::test_docker_version_matches_recommended is failing very often in CI. The test seems really heavy, it pulls and runs a docker image. I don't think that's suitable for a test. Can we solve it in a better way?

subtle wadi
#

I would appreciate a second pair of eyes on https://github.com/home-assistant/core/pull/163322 with regards to how event entities are used. I think they could be combined, but I don't have a particularly strong opinion on that, but would love to see what others think

#

test_docker_version go2rtc

raven hound
wooden pier
#

Explicitly define versions in the config flow

old jacinth
#

<@&1476935650476560394> two changes to our agenda's. I've adjusted the Tuesday standup to become the Home Assistant Core team sync meeting, agenda is attached to the invite. The Thursday meeting is now renamed to be the Home Assistant Architecture meeting. This to create a clear difference between the two. Todays meeting will be mostly about the work as the Core team, while the other can now focus purely on moving Architecture discussions. This split makes things more clear, and allows to split of / change the architecture handling in the future more easily

hallow sundial
#

@Core team two changes to our agenda's

warm crane
hallow sundial
#

I found an issue with filtering entities

subtle wadi
#

How can we teach copilot better? It now suggests mistakes that we explicitly tell it not to

crisp dirge
#

@karmic mantle has a PR sitting which adds a script which detects translations with stale placeholders. The problem is that it's not clear what to do with the output of the script.
If there are no good ideas, I suggest to close the PR.
Note that we fall back to English when there's a mismatch in placeholders since some time back, we no longer break frontend.

viral tendon
#

FYI, now that we've exposed continue on error in the UI, many new users are using it for the first time and it's confusing them and they are creating issues.

crisp dirge
#

Common problems: Continue on error

narrow hamlet
#

I just noticed that the docker images that were previously build for the destination https://hub.docker.com/r/rhasspy/wyoming-speech-to-phrase no longer get any updates. Maybe i just missed it, but i didnt see any information about that change. For people using latest this... They probably miss that.
If there is no info this is worth a big note in the release notes. @old jacinth @somber path

old jacinth
#

@puddly has a PR sitting which adds a

subtle wadi
#

Flic wants to add a new integration which uses BLE to connect to their devices. Very cool. Currently we already have a flic integration, but that uses an add-on to work, and the integration connects to that add-on. I kinda want to replace them. But I guess our only option is to create a second integration, and then deprecate the existing one and then remove it?

quaint ravine
subtle wadi
#

Prana opened a PR for adding a fan entity. It would create 3 fans, but 1 would only be active if the 2 are "bounded" (which seems to be some kind of mode). I am not too confident on this and would love to know the opinion of others https://github.com/home-assistant/core/pull/163379

velvet oriole
#

Fetching a brand image now requires a token because we have local proxy : https://github.com/home-assistant/core/pull/163960
The update entity has an entity_picture attribute with the brand url. For now, the front-end is adding the token automatically but I wonder if we should add the token directly in the attribute so we can use the URL directly. Also, it will be easier to use for custom card too. We already included the token for camera using camera_proxy url.

hallow sundial
#

Prana opened a PR for adding a fan

crisp dirge
#

There's a PR adding the Victron GX integration which wants to use restore state for an energy sensor which the library internally accumulates during the lifetime of the library's hub object. When the hub object is recreated, it restarts accumulation from 0. I think this is in the area of calculating state in the integration which we don't generally allow, but it's borderline so maybe it can be allowed? Some input would be good.

atomic fulcrum
#

There's a PR adding the [Victron GX](<

subtle wadi
knotty widget
#

I think buttons and a binary sensor would be a better than a switch, some containers can take a long time to turn off if they have lots running and therefore someone might send the shutdown command multiple times which will produce errors in the proxmox task history.

atomic fulcrum
#

So there's a PR to add a switch platform

prisma notch
velvet oriole
#

Yeah I agree. Anyway, I checked and it will be hard to implement because every integration is adding the brand image manually…

#

So… I guess having the frontend sending the token is probably the best thing to do.

hallow sundial
#

Fetching a brand image now requires a

crisp dirge
#

There's an open PR adding the Diyanet integration, which is yet another Islamic prayer time integration, so the functionality as such is fine. However, this integration (as some other integrations also do) requires the user to register a developer account to gain API access. What stands out in this case is that registering a developer account in this case requires filling in and signing a PDF form, and then email the form to the Turkish government body which hosts the API.
Is this kind of manual step OK?
Side note 1: I've asked the author to contact the body handing out API tokens to make sure the idea for the users reaching out to them requesting API access is acceptable.
Side note 2: I personally don't think we should allow any core integrations where we require users to sign up for developer accounts, no matter if it's automated or not.

hallow sundial
#

There's an open PR adding the [Diyanet

subtle wadi
hallow sundial
#

Would love a pair of eyes on `unifi_

quaint ravine
subtle wadi
#

Someone opened a PR for the Dutch school holidays https://github.com/home-assistant/core/pull/164611, which is cool to have as a calendar IMO (the amount of times I am surprised with my little brother still at home because he has holidays). Now currently this is set up to be plug and play for other countries as well, but it just connects to a dutch government API. Would it make sense to keep it Dutch centered? If so, what would be a good domain?

subtle wadi
#

Switchbot opened a PR to kinda abuse the select entity to create new credentials. I pushed back saying that service actions would be the best way to deal with this and they push back with that they are hard to use, which I kinda understand. Would love a second pair of eyes https://github.com/home-assistant/core/pull/164708

analog latch
#

There was a proposal for "list" entity types in architecture recently. This might fit here...

hallow sundial
#

Switchbot opened a PR to kinda abuse the

wooden pier
#

I take it as β€žwe have been doing a good job with depreciations through repairsβ€œ judging by the amount of users complaining in the release thread about the Mireds depreciation. It also shows that this kind of UX is indeed noticed by the users

crisp dirge
#

Mireds depreciation repairs

subtle wadi
#

Someone opened a PR to add support for power strip types in Homekit. Currently it would take a switch group and use the state attributes to expose the different outlets. I am not really a fan of this idea as group generally is a helper and not an entity component. In theory this could also be used for the new grouping methods we have, but it's still meh. WDYT? https://github.com/home-assistant/core/pull/163575

#

There's a PR that adds media searching to Kodi, but with that PR they introduce a new library to match titles with the query, and I am not sure if I am fan of that. It also makes me wonder how fuzzy kodi's search is in general, and how other search functionality works, and if a lack of fuzzy search on Kodi's side makes this acceptable. WDYT? https://github.com/home-assistant/core/pull/161681

hallow sundial
#

Someone opened a PR to add support for

crisp dirge
#

@nova lava has an open PR aiming to improve usability of home connect actions which allow the user to set the program for a device. Without the PR, the user is presented with a single huge select selector which shows all possible programs for all device types. The PR splits the programs by device type and moves them to sections.
What's done in the PR doesn't work because the program key is duplicated, which is not accepted by hassfest, some details in my comment.
@hallow sundial suggests it's not worth changing the action if we can't make the program selector filter by the type of device selected, something which is not currently possible, but I think the usability improvement in the PR is enough on its own.
Does anyone else have thoughts on this?

atomic fulcrum
#

@Diegorro has an open [PR aiming to

subtle wadi
#

So we got another PR for configuring time interval for EDL21 https://github.com/home-assistant/core/pull/164415. This has been declined multiple times in the past, first to a lack of config flow, and then someone opened a PR to set it to 3 seconds, which is too low. In that PR, Frenck pushed back to say that we should have sane values out of the box (https://github.com/home-assistant/core/pull/134988#discussion_r1923725698). When I look around the codebase, we also have dsmr (which is popular in the netherlands and other neighbouring countries) and there it's indeed an options flow and configurable. Do we still not want this or are there better ways to handle this, because there's a clear need looking at closed issues and PRs for this integration

crisp dirge
#

Configurable update interval for EDL21

atomic fulcrum
#

Are there requirements/rules for someone to become codeowner? Should they have merged PRs already for the integration? Or is it fine if their first PR is still open?

desert prism
#

issues setting up hassio on latest core dev, want me to create an issue? Or just transient dev channel stuff and already being worked on? (couldn't find anything immediately in last day's dev commits):

Got Traceback (most recent call last):
  File "<string>", line 84, in __mashumaro_from_dict__
  File "/usr/local/lib/python3.14/enum.py", line 707, in __call__
    return cls.__new__(cls, value)
           ~~~~~~~~~~~^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/enum.py", line 1192, in __new__
    raise ve_exc
ValueError: None is not a valid MulticastDnsMode

the line of interest contains all my network info so I'd sanitize it heavily before pasting it here, I hope this is enough info to pinpoint by itself

hallow sundial
#

issues setting up hassio on latest core

subtle wadi
#

So Squeezebox has an action to query the backend for data. Except that data can take a while to retrieve, depending on machine performance and how big your library is. Pete wants to add a timeout parameter, as making the current timeout bigger would cause it to take longer on moments when it correctly times out, but the current timeout would be too limiting for a lot of people. I think it might be fine to add. I tried asking if there was a way we could have more lenient timeouts for certain actions, but according to Pete that's hard to determine. WDYT? https://github.com/home-assistant/core/pull/164274

hallow sundial
#

So Squeezebox has an action to query the

crisp dirge
subtle wadi
zealous mauve
subtle wadi
#

Oh lovely, CI is broken

#

Removing more fields from snapshot

karmic mantle
#

I've been working on a custom component that uses on-device SSL certificate generation and have managed to hook SSL certificate pinning up to the reauthentication flow. You can see a few screenshots here.

The reason I bring this up in #core is because there are about 50 instances of verify_ssl=False in Core right now and I think all of these uses can be tightened. A per-integration approach of storing the SSL fingerprint within data is a bit tedious but I had a different idea: Core controls the aiohttp session, right? It would be cool if we could have a boilerplate "trust this specific self-signed certificate" config flow step or alternatively a credential store that allows users to manually trust these certificates. Thoughts?

crisp dirge
#

The change to make copilot review draft PRs is very distracting. It now spews out useless comments pointing out every single detail which is not aligned with upstream when for example bringing a stale PR up to date with upstream.

prisma notch
#

I am looking to make the frontend more efficient by not having it reload the full registries whenever a piece of data changes. Especially entity registry can change more often than we like (chaning a name for example).

To do so, we would add a new config/entity_registry/subscribe endpoint that works like subscribe_entities. What do people think of that?

CC @river idol as you wrote subscribe_entities

(It would look something like this for core and frontend)

river idol
#

Likely they don’t change anywhere near as much as states so you could keep the implementation very simple and just have an add (update)/remove stream instead of doing diffs like we do for states. That would keep the implementation, very simple, and we already have them in the cache so the overhead would be negligible

#

Pattern is get replaced with subscribe, subscribe sets up listeners, than sends everything to ensure perfect sync, than just send add/removes as listeners fire for the same id

atomic fulcrum
#

The change to make copilot review draft

crisp dirge
#

It looks like copilot reviews are not correctly understanding github's checkout flow.
In this PR https://github.com/home-assistant/core/pull/165897 it's complaining about changes from the future which are missing in the PR's feature branch. That's however irrelevant, because CI runs after first merging the PR to the target branch.

#

I am looking to make the frontend more

subtle wadi
lofty forge
#

Need help with unit test on my first PR

fluid nebula
subtle wadi
#

I won't join the arch meeting tomorrow as apparently my wisdom teeth will be pulled

solar harbor
#

Not enough wisdom for arch meeting. Noted. note

bitter basin
#

In The Netherlands, healthcare isn't just free, they don't even tell you you're getting it!

subtle wadi
#

Okay so fun fact, I made an appointment last week, and I initially prepared for it to take a month until they had room

#

apparently they could do next week

#

so I was like, sure

#

then they called me today like, hey you have an appointment tomorrow

#

and I was like

#

WHAT

#

so no I am lacking time to emotionally prepare

bitter basin
#

it sucked when I got mine out, but that was more than your lifetime ago πŸ™‚

atomic fulcrum
#

Standardize new climate presets: Sleep, ...

zealous mauve
pseudo harness
#

Should event entities go unavailable when the device goes unavailable?

crisp dirge
elfin dirge
#

Would be possible to include a complete platform as Labs ?
We have media_player nearly ready (REST for initial data + HTTP2 push for updates) for Alexa Devices, but don't want to roll it out for all users immediatly and though that Labs would be the best option

subtle wadi
#

There's a new integration for qube heatpump. The integration domain currently is qube_heatpump. I am wondering if qube would be more logical as it'd be a brand. As in, we also don't integrate with trmnl_epaper. WDYT?

hallow sundial
#

There's a new integration for qube

#

Would be possible to include a complete

wise crest
#

I've somehow got a pretty funny issue in my system right now and genuinely no idea how it happened or what to do πŸ˜† . I created a stupid toggle helper called "Presence Tester" that I could move around rooms to test automations by using it to pretend motion or w/e happened. I kind of forgot about it so I went to delete and it tells me it can't be edited from the UI becaue it has no unique ID πŸ˜•

After trying for a bit I decided to go nuclear: ha core stop, clear out all references to this thing anywhere in .storage, ha core start. Somehow it still lives! Through multiple restarts with no reference literally anywhere in my config folder! Now I can't even edit it anymore. Any idea how this could possibly happen and how I kill this stupid thing? 🀣

wise crest
#

Helper that won't vanish

subtle wadi
#

What is our stance on fully automated PRs? Like people using Claude Code to automate everything is 1, but accounts from which is quite obvious its automated? Someonething opened 2 PRs against the AirQ integration https://github.com/home-assistant/core/pull/166184. (The other one got closed because another PR got merged that did the same thing)

hallow sundial
#

What is our stance on fully automated

subtle wadi
#

Would it make sense to have copilot summarize what it's going to say in the first line?

old jacinth
old jacinth
#

Hmm why would that impact the current stable though πŸ€”

subtle wadi
#

2026.3.4 by frenck Β· Pull Request #16628...

small wagon
#

<@&330946878646517761> ^^

solar harbor
#

Gone.

glass gorge
#

Don't worry, it's just Frenck

#

I understand the initial concern though

subtle wadi
#

Is github for everyone slow today, I have the feeling half of the things aren't coming through

old jacinth
raven hound
#

There is a feature request for Xbox remote entities to send inputs as literal text instead of interpreting it as command. Are there any conventions on how to implement this? https://github.com/orgs/home-assistant/discussions/2253

GitHub

Integration name Xbox Link to integration documentation on our website https://www.home-assistant.io/integrations/xbox Describe the enhancement Add either an escape character or a setting to make s...

raven hound
# subtle wadi Inputs like what?

there are commands for the controller buttons like A, but sending it as literal string for example when on the console a text input field is open, it is not possible because it would be interpreted by the remote entity as the command for button A

solar prawn
#

I have a large home assistant system with a 10+Mb devices storage file. The problem I (think) I'm having is when I add or remove an entity, say a helper via the web ui, the event loop locks up for like 30+ seconds while that json is serialized. At least that's what I think is happening. Websocket connection drops, UI locks up. It comes back when it finishes

#

has anyone else seen this?

#

I'm mostly trying to figure out of my hypothesis is right vs a fix

analog latch
#

I don't think so. Serialization is done by orjson in an executor... so shouldn't block the main loop or even GIL.

zealous mauve
novel mist
#

hi

subtle wadi
#

Wrong channel @crisp dirge

crisp dirge
#

meh

old jacinth
crisp dirge
#

k

old jacinth
#

For things in Labs, imho we can just ship in beta

crisp dirge
#

yes yes, ok

old jacinth
#

@zealous mauve Idea to speed up builds. Downloading translations takes 3 minutes and blocks the pipelines. What if we download the translations and build the images in parallel and add the translations in an later layer on top of the image in a second step?
Downside: It adds an layer.

zealous mauve
#

@edenhaus Idea to speed up builds.

subtle wadi
#

Another idea for a bot/workflow to maybe help with: auto rewrite the PR title. Sometimes I merge a PR too quick and then I forget to remove the feat() from the title or make it a better sentence. This is something I should work on, but I just thought like, maybe we could use a workflow to make sure when a PR is opened the title is in a good format. (and I don't feel like rewriting every title, so not that "Fix CI" turns into "Fix ......... in x", but it could help with consistency

atomic fulcrum
#

Another idea for a bot/workflow to maybe

quaint ravine
subtle wadi
#

So I just had a call with Matthias and Philip on data quality on our devices, and one of the things that has come up was that integrations have put in invalid data. Now this is fixable in the integration. But 🧡

atomic fulcrum
#

Can someone look into this issue on

atomic fulcrum
hallow sundial
#

tplink_lte is being removed, since it

old jacinth
#

Alright, <@&1476935650476560394> now the announcement is out there on pulling the plug on the entity naming, we need to group on removing it from the current beta

Well, removing... at least make it so that friendly_name re-instates it's old behavior for now

subtle wadi
#

And another tempearture check for https://github.com/home-assistant/core/pull/164543. The author is also the creator of the app. But in this case I feel like there's more history and structure to it. Domain has been around since 2019. There's a company consisting of 2 people (including the author) behind it.

atomic fulcrum
#

The new purpose-specific calendar triggers where added in 2026.2 and where not gated by the labs flag. I was trying to fix that now that I've noticed it, but since calendar already had an old trigger, we can't use the current implementation since that blocks the whole domain out of the triggers. Should we just leave them without being gated by labs, or try to find an alternative way to blacklist triggers (and introduce that as a breaking change)?

eager marsh
#

The new purpose-specific calendar

hallow sundial
subtle wadi
zealous mauve
#

The door of a fridge that can

earnest lava
#

from time to time i get a message that something is trying to login from localhost but fails. How can i debug who is trying to do this above error message does not tell me that much. For more look here.

solar harbor
narrow sand
subtle wadi
#

-# please use the thread

narrow sand
#

I thought it might be in #core

#

Oh sorry you meant the Discord thread. I thought you meant on the PR. Will do.

vernal meadow
vernal meadow
#

Anyone else seeing a race condition in loading the registries during startup of their dev env? It hits sometimes, and sometimes it just loads

olive maple
#

Device registry race condition starting HA

raven hound
#

Question regarding a PR I'm reviewing: Can integrations still implement firing events to the event bus or should they implement an event entity instead?

subtle wadi
#

So I was discussing with @wind heath about OPNSense integration, and then I stumbled up on the Epic to migrate DeviceScanners to ScannerEntity. https://github.com/home-assistant/core/issues/50326. I am now kinda wondering what we expect from this migration, because the original entities don't have a unique id

subtle wadi
subtle wadi
old jacinth
subtle wadi
#

https://github.com/home-assistant/core/pull/166837 would implement an event entity to return what the device receives via IR. IMO it doesn't really fit the event entity, but I have no other suggeston. Maybe @atomic fulcrum might have an idea (look at the future of IR)

crisp dirge
#

In the April release we unconditionally load integrations which provide base entities (e.g. light, switch, etc.), to make actions, conditions and triggers for the base entities always editable in the automation editor.
There's an unwanted side-effect of unconditionally loading integrations which provide base entities - the calendar and todo integrations provide frontend panels, and users are complaining about seeing the todo and calendar panels although they don't have any integrations with todo or calendar functionality.
There are 3 proposed solutions, I'd like to get some input on what solution is suitable, during beta and on longer term

  1. Revert the unconditional loading of integrations which provide base entities, and instead unconditionally load condition and trigger platforms.
  • Drawbacks of this solution:
    • Integrations may not work correctly if platforms are loaded but not the integration, that's not something we normally do.
    • Services won't always be editable.
  1. Make custom EntityComponent subclasses for calendar and todo which load the frontend stuff when the first platform is loaded.
  1. Use async_process_integration_platforms
  • Drawbacks of this solution:
    • Not the purpose of async_process_integration_platforms
    • The frontend panel will be loaded if an integration which has a todo or frontend platform is loaded even though the integration doesn't load those platforms
  • Sample PR: https://github.com/home-assistant/core/pull/166886
subtle wadi
#

Someone wants to add an MQTT like discovery to TheThingsNetwork (LoRa). I am not really sure what to think about it. In a way I understand the need to customize the data coming in (as I believe it's just generic), but I am not sure if discovery is the way https://github.com/home-assistant/core/pull/166565

#

So the coordinator generally is used to centralize state. However, there's a PR to add it to the Anthropic integration to keep availability of the entities in sync. In a way it feels weird because the integration doesn't really have a state as it just provides service entities. But OTOH, there's also no nice other way to handle availability in service entities (like yes you can use track time interval and a dispatcher, but it sounds messy). So I am wondering if the availability of a service could be considered as state.

subtle wadi
#

https://github.com/home-assistant/core/pull/166557 introduces the reload service for shell_command. Sounds lovely, makes it easier to tinker with. But, how should we handle services that are called reload today? Because the PR now just logs about it, and that's it. If someone already has a reload service and uses it for other stuff, it would still be registered but it would do something different.

hallow sundial
#

Someone wants to add an MQTT like

#

So the coordinator generally is used to

raven hound
#

A platform that is not present is

old jacinth
#

Lokalise: Requesting... API request error 413 Project too big for sync export.

hallow sundial
#

This PR wants to add include_devices and exclude_devices filter attributes to the device selector config. We already have include_entities and exclude_entities in the entity selector. The explained motivation in the PR seems reasonable to me. Considering we have it for the entity selector and the explained motivation I think we can add it. Does anyone have an opinion about it?
https://github.com/home-assistant/core/pull/165599

hallow sundial
#

I'm assuming it's ok to add a valid weather pressure unit to the set of valid pressure units if we already support conversion of that pressure unit. Ie, we don't need an architecture discussion for that.
https://github.com/home-assistant/core/pull/165519

hallow sundial
#

One thing I think we should see if we can improve with regards to the PR queue is to more agressively close stale PRs. Now we have a 60 day stale PR policy according to the stale action workflow. For PRs in draft that's way too long. Can we lower that to something like 30 days or even less for draft PRs?

#

I'm assuming it's ok to add a valid

subtle wadi
#

FYI, there seems to be a bug in the new aiohttp that sends duplicate headers. It currently errors on google_drive (so people can't upload backups in the latest beta), but I have the feeling that more would be affected)

wind heath
#

What's the procedure when removing integrations? If the integration has already been deprecated for 6 months, can we just remove it after those 6 months? I saw that for some we removed it completly (bluetooth_tracker or bmw), while for others (e.g. tplink_lte) we kept a skeleton with a repair issue. I was wondering if we have a protocol for this.

Relevant PR: https://github.com/home-assistant/core/pull/166838

subtle wadi
#

What's the procedure when removing

subtle wadi
pseudo heart
#

Hi, Swedish weather service SMHI changed it's API. I'm trying to bump pysmhi to a new version where I believe I've fixed the issue with deprecated API and instead use the new. @dense ether is the maintainer but the pysmhi lib seem to been unmaintained for a while by looking at other PRs for the project. How could one proceed get the fix merged?

https://github.com/gjohansson-ST/pysmhi/pull/291

GitHub

Proposed Changes
The old PMP3gv2 API was deprecated and shut down by SMHI on 2026-03-31.
This PR migrates to the new SNOW1gv1 API.
Changes:

Updated API URL: pmp3g/version/2to snow1g/version/1
app...

pseudo harness
#

Tuya quirks

pseudo harness
#

Is it possible to disable copilot reviews for draft PRs? It can get pretty overwhelming quite quickly

subtle wadi
#

Can we disable comments on commits now that's an option?

crisp dirge
#

There's a PR which adds a config entry option to Google air quality to allow picking the algorithm used for populating the air quality index state attribute of the air quality entity. Is this fine or does anyone see a problem with this?

wind heath
#

Google Air Quality

dusk wraith
subtle wadi
#

Maybe I missing something here, but

subtle wadi
#

@old jacinth Do you already know roughly when you're going to make the patch tomorrow?

subtle wadi
#

Fuck now I need to wake up on time to make my patches

raven hound
vernal meadow
#

TIL we no longer need to add DOMAIN as a constant in __init__.py of integrations.

vernal meadow
#

@subtle wadi if I want to translate the entity name for Denon receivers (Zone 2, Zone 3), I need to set the translation key. Does that mean I now need to duplicate all the source translations I currently have for each zone?

subtle wadi
#

Denon

pseudo harness
#

device_tracker properties evaluated when unavailable

old jacinth
subtle wadi
#

So I just came across IHC, (https://github.com/home-assistant/core/pull/167240) and it seems like they are adding YAML config which in theory should be a config flow. I was wondering if there was more backstory to IHC, as it seems like a very "complex" setup with auto setup, and manual setup and customization

river idol
#

Be careful out there, more reports of malicious actors targeting OSS projects https://github.com/axios/axios/issues/10636#issuecomment-4182134203. Also hearing about bogus security reports where the goal is to get the remediation developer to run the malicious PoC that silently takes control of the developer's system. They target people reading security reports because they tend to have more keys to the castle. The same could be done with issue reports with reproducers.

raven hound
#

I have a question, in the conversation platform you can define MATCH_ALL for supported languages, is that somehow also for possible for the TTS platform?

subtle wadi
#

Are we changing custom integrations to community integrations now?

subtle wadi
#

POV you promised to look at a PR for someone today (even tough it's a national holiday) and you find 722 PRs

vernal meadow
silk tide
#

<@&330946878646517761>, think we have some spam? πŸ™‚

topaz elk
#

Not anymore!

flint hull
#

Too quick!

subtle wadi
#

So I got an interesting one, someone wants to integrate a vent. This vent is always on. Originally it came with preset modes for all the different speeds, but I pushed back and we now map the speeds across the fan_speeds. 🧡

wind heath
#

What do we think of this PR: https://github.com/home-assistant/core/pull/166733
It adds a ton of tests for the tolo sauna integration - but it's written entirely by AI (claw-explorer). IMO, that's a bit pointless. And according to our new rules we should close this, right? (I don't think they are quite official yet)

We do not allow autonomous agents to be used for contributing to our projects. We will close any pull requests or issues that we believe were created autonomously, and may mark automated comments as spam.

subtle wadi
#

What do we think of this PR: https://

pseudo harness
#

Sensor or Attribute

atomic fulcrum
#

<@&330946878646517761>

wind heath
#

What is the minum functionality an API needs to provide for an integration to be able to implement a lock? Does it need to lock, unlock and report state or is a subset of these features fine too? Generally with complex entities, do we have rules about the minimum functionality an API needs to provide?

atomic fulcrum
pseudo harness
#

pilight prevents upgrade of setuptools

hallow sundial
#

I've closed a bunch of PRs for victron_gx integration that were opened today as draft. There were in total 11 open PRs from the same author and integration. That's too spammy. I left the ones that are actionable and/or had a review already started.

subtle wadi
#

How much do we care about regulatory compliance?

tacit rover
#

Hey everyone - lots of complaints this morning about the Risco cloud integration not working anymore. I investigated with one of the affected users, and it's failing with a 403 when passing the home assistant session, but working with a new session. Anyone encounter anything like that before? What does the home assistant session have that can cause the server to reject it?
https://github.com/home-assistant/core/issues/167776

zealous mauve
silk tide
#

Add timer to generating translations

subtle wadi
hallow sundial
#

Would also love a pair of eyes on

hallow sundial
#

I would love a second pair of eyes on <

subtle wadi
#

Okay so https://github.com/home-assistant/core/pull/165993 is ready to be merged, but the library uses nacllib. For some reason I am not able to get that to work on my mac. I've seen PyNaCl being used before. Can I get a double check if this now is good to merge or that this would be a blocker for being merged?

wind heath
crisp dirge
wind heath
#

SpaceAPI Integration

pseudo harness
wind heath
#

Flaky Test: Doorbell

wise crest
#

So we had a very confusing issue with a few reporters on github and the forum here: https://github.com/home-assistant/core/issues/167673. The root cause ended up being that they had http in their custom_components folder it seems. So what we believe happened is that a helper was imported from the native http integration code that was shipped with 2026.4.1 and referenced the new supervisor_unix_socket_path attribute. But then once the http component actually did load we got an instance of the old version of HomeAssistantHTTP that did not have this attribute.

My main question here is: should we be popping a repair or somehow marking systems as unsupported that have an override of a native integration in custom_components? It creates very confusing bugs and we don't actually support this right? If this is the root cause we tell users they have to remove it or fix it themselves. Something to identifiy and filter this out before the issue might help.

subtle wadi
#

2026.4.2 is huuuuge πŸ˜‚

subtle wadi
crisp dirge
#

We have legacy code in core for installing dependencies in config/deps. We unconditionally create config/deps, but we only make use of it when core is not running either in a docker container or in a venv.
The only supported installation methods run core in a docker container, and we recommend developing (when manually creating the development environment) from within a venv, which means there's no supported case where we want to install dependencies in config/deps.
Can we remove support for installing dependencies in deps, and replace it with an early check where core terminates if it's not running from either a docker container or a venv (to avoid attempting to install dependencies in the global Python path)?
Would this change break any valid use case? Does core run in a docker container when using the dev container development flow?

subtle wadi
#

Config/deps

wind heath
#

Should we allow orgs as codeowners and does that even work? I don't think the bot can actually interpret this as the PR didn't get a 'by-code-owner' label, even though the author is in the org.

subtle wadi
#

Org codeowner

vernal meadow
subtle wadi
#

Update AI instructions around defensive programming 🧡

zealous mauve
#

Docker image optimizations

wind heath
#

OurGroceries
Is it ok to repurpose the description field of the todo list to show the category an item belongs to? I don't think it's super intuitive and I could see people writing actual descriptions in there not realizing that it will create a label for each. On the other hand, this is otherwise unused and it might be useful for some.

raven hound
subtle wadi
subtle wadi
subtle wadi
#

Thank you copilot, very nice

analog latch
wind heath
#

Twente Mileu
Are we ok with exempting the reconfigure flow in the IQS if the keys that could be reconfigured lead to a change in the unique id and thus would throw an error?
To give more context, in this integration, the address is used to calculate the unique ID, but the only thing that could be reconfigured is the address. I don't think there is a point in including that as it will always throw an error, except when setting the same address again.

subtle wadi
wind heath
#

ADS light PR #163497 (Docs)
Do we allow extensive new features for legacy integrations? I feel like that will make it more difficult to convert to config entry later on which is why I'm hesitant. To be fair, we did merge #153913 recently which added 3 light options, but this PR adds 8 more.

zealous mauve
#

@rocky pilot here is core channel

rocky pilot
#

Thanks!

atomic fulcrum
wooden pier
#

If a lock has more states then the ones we currently have in our entity model (e.g. semi-locked) would you rather model that as a separate entity or as an attribute to give that extra information (since the actual lock entity will be in an β€žunknownβ€œ state)?

subtle wadi
silk tide
#

Do we want an entity for the remaining

zealous mauve
#

Renovate Updates and Dependabot

uncut moon
#

Something fishy:

$ ha addons update core_ssh
The use of 'addons' is deprecated, please use 'apps' instead!
Processing... Done.

Error: 'AddonManager.update' blocked from execution, no host internet connection
$ ping -c1 google.com
PING google.com (142.251.211.206) 56(84) bytes of data.
64 bytes from pnlgaa-ba-in-f14.1e100.net (142.251.211.206): icmp_seq=1 ttl=115 time=171 ms

--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 171.360/171.360/171.360/0.000 ms
#

Weird, all the other core components, addons updated fine, just not this one

#

Sorted, had to temporarily set DNS to 1.1.1.1, then back to my on-prem DNS.

vivid galleon
#

Hi, I am working on adding Broadlink support for the new built in Infrared integration.
If someone owns an LG TV (which already has the implemented lg_infrared integration) and Broadlink remote and willing to test the code before I change the PR from draft to ready - I will appreciate it, Since it's a new feature and it's my first time contributing code. I tested it only on my TCL TV.
https://github.com/home-assistant/core/pull/168385

GitHub

Breaking change

Proposed change

Adds infrared transmitter support for Broadlink RM devices (RM4MINI, RM4PRO, RMMINI, RMMINIB, RMPRO) to Home Assistant's native infrared platform. This ena...

vernal meadow
silk tide
#

Someone is adding a PR, depending on a PR in an upstream library, which hasn't even been reviewed and merged yet. What's fairer to do: keep in on draft, or close it and ask the contributor to create a new one, if the upstream library PR eventually gets merged?

https://github.com/home-assistant/core/pull/168445

GitHub

Bump pylamarzocco to version 2.3.0 to support newer machines (e.g. Linea Mini 2023) Auto Standby and Auto On/Off settings.
Closes #167785

subtle wadi
#

Closed 2026.4.3 milestone

vernal meadow
subtle wadi
#

Broadlink IR

vernal meadow
#

Ok, after reviewing the broadlink IR PR, I now realize that we need to make some updates to how we approach infrared codes.

  • We need to drop Timings to store pulses. Just loading LG TV codes instantiates 1326 instances. It's just a glorified tuple, and one that no one needs (all consumers flatten it). I wrote it up as an issue.
  • We accidentally re-invented the wheel with IR codes. We should use the same data format as the Flipper community, which is a nice readable format. PR to migrate our repo.
  • We should just ship a small wrapper around the Flipper-IRDB repo and call it a day. We send our community to them to add more codes, create a single source of truth. They are already CC0, so not a problem.

Making our infrared-protocols generic like this is not opposing the current desire of the core team to make an integration per brand/device type. We just don't need to add more work than needed for ourselves collecting those codes.

subtle wadi
#

IR timings

crisp dirge
crisp dirge
crisp dirge
crisp dirge
#

There is a discussion about continue_on_error not doing what users expect. The problem is that it doesn't allow script execution to continue unless the error bubbling up is wrapped in a HomeAssistantError. After looking into the continue_on_error functionality, I propose the following changes:

  1. Deprecate the continue_on_error flag on script actions other than call service (i.e. action / service), I don't see how it can be useful in other cases
  2. Allow script execution to continue when a service call fails and continue_on_error is set, unless the raised error indicates a configuration error (vol.Invalid, TemplateError, ServiceNotFound etc.). That is, remove the limitation that raised errors must be wrapped in a HomeAssistantError
  3. Show errors suppressed by continue_on_error in the script/automation trace so it's clear something went wrong.
hallow sundial
#

Please always use a thread when replying.

shut shale
#

There is a discussion about `continue_

crisp dirge
#

@old jacinth raised concerns about breaking support for very old WLED firmware in this WLED PR
However, it doesn't seem like it's a problem because if using such old firmware the config entry fails to set up.

subtle wadi
#

So the new aidot integration PR has an interesting unique id 🧡

crisp dirge
subtle wadi
vernal meadow
wooden pier
#

Can someone with more experience around

pseudo harness
#

hass.data[DOMAIN]

hallow sundial
#

Regarding the remaining failing tests for the Python 3.14.3 patch, I think we may need to disable the ones that are too hard to solve. I've looked at some, eg Sonos, and I think at least three of those tests require codeowner knowledge to solve. It's so messy with all the context switches due to the design of the integration and library. I don't think we should spend a lot of time on this, but let the community fix it.

wind heath
#

Python 3.14.3 Bump

atomic fulcrum
#

Can I get a second opinion on https://github.com/home-assistant/core/pull/163578#discussion_r3119294369 ?
That adds a bit of logic to check that the power specified in the service call is withing limits. Ideally, that would be done in a separate library, but the existing library is a thin wrapper for device communication.
Since its not a complex check, I am fine with it, but would like to get some extra feedback.

hallow sundial
wind heath
#

Is device_class=SensorDeviceClass.BATTERY appropriate for a battery discharge limit (given as a percantage)?
The definition says "Percentage of battery that is left."
This PR as context

I'm asking because a similar number entity homeassistant/components/indevolt/number.py:46 already has NumberDeviceClass.BATTERY.

wise crest
#

I got this comment from copilot https://github.com/home-assistant/core/pull/168847#discussion_r3126296807:

Avoid raising AssertionError by returning None when stats are missing (state computation calls native_value even when available is false).

It was on code providing a definition for the native_value property of a SensorEntity. This isn't true right? Or does an implementation of this property have to also check if its source of truth is available before attempting to return its calculated state?

true zodiac
#

Hi I was wondering why have named timers/ timers exposed to HA Core have not been Implemented I was thinking of doing my own implementation in a PR but just want to get some feedback of why havent we done that till now as well and some architectural changes that we would need as well?

atomic fulcrum
#

Hi I was wondering why have named timers

crisp dirge
#

Please review what your AI is doing

subtle wadi
raven hound
rocky pilot
#

I was reading through the core developer docs, and one thing I noticed was that there isn't really a clear explanation for what are "components", "integrations", and "platforms", and what are their differences. There are bits of explanation scattered all over the docs, but when you first read about these I think it is confusing for new people. "Platform" seems like a distinct concept, whereas "component"/"integration" are used pretty much interchangeably but somewhat inconsistently within the docs.

Should we consider clarifying these concepts somewhere in the docs?

pseudo harness
#

components / integrations / platforms

subtle wadi
subtle wadi
#

So HTML5 wants to deprecate the event bus events as there are event entities now. Given that event entities are a pain to work with without the new triggers and that the new triggers are going to land eventually, should we postpone deprecating older event bus events until the event trigger is out, so the moment that we deprecate them, people have a way better experience with automating? https://github.com/home-assistant/core/pull/168725

atomic fulcrum
#

So HTML5 wants to deprecate the event

atomic fulcrum
subtle wadi
raven hound
#

The nfandroidtv notify action has support for providing the URL of an image, which it will then download. What do we think of this?

vernal meadow
#

😬

#

it should use hass.config.is_allowed_external_url

#

or it should only allow media source URI

#

Which I feel should be the future. Users can use a helper to get an external image added to the media source

wooden pier
#

Even though we don't have the AI policy in place yet, anyone opposed to closing out all of the PRs fromorbisai0security? None of those PRs pass CI anyway

zealous mauve
#

Agentic workflow of checking dependencies

subtle wadi
#

Even though we don't have the AI policy

shy mirage
solar harbor
shy mirage
#

I guess you mean 2026.3?

atomic fulcrum
#

Please use threads here.
Also, this channel is not for support.

shy mirage
#

Is roborock area cleaning support actually merged?

atomic fulcrum
bleak pulsar
#

Set UnitOfPower.WATT for inverse sensor if it's not set in registry

subtle wadi
#

Integration naming. Today we always pick the best name for an integration. Now that we have IR and RF integrations, is this still the case? As in

  • Now there's a PR for novy_cooker_hood
  • This is scoped at a cooker hood from Novy. If this was an HTTP integration, it would probably be called novy instead.
  • Now if there are more products in the future from Novy that can be controlled via RF, would we create a new integration or keep the current one?
  • What if there's an HTTP controllable hood in the future, what would we do? (and in theory that can be combined, but we also didn't really implement the LG TV integration into webostv)

And I know that this is a lot of speculation and problems that don't exist, but I like to know where we're headed, and if we should maybe recommend to introduce it as novy_rf, just like we do with ble devices.

dense ether
#

Integration naming. Today we always pick

pseudo harness
#

Should components explicitly depend on "homeassistant" component in manifest?

fickle fog
#

Looking for an example for defining a services.yaml action where the action can take either an integer or a 24-hour formatting time. I've got the voluptuous done.

crisp dirge
#

Removing ai_task from bootstrap

crisp dirge
#

New state attribute for timer

crisp dirge
#

When working on making sure scripts are unloaded, I accidentally introduced a bug causing assymetry between the script integration's entities' async_added_to_hass and async_will_remove_from_hass.
The problem is that entity objects are reused on entity_id change which means async_will_remove_from_hass must be symmetric with async_added_to_hass. If they are not, the entities will be in some broken state after entity_id change.
A review of other integrations which override either async_added_to_hass or async_will_remove_from_hass show that around 25% of them lack the needed symmetry.
I don't think there's a way to magically fix this, the best I can come up with to prevent additional violations is:

  • Make sure the need for symmetry is documented in docstrings
  • Make sure there's a review rule for it
hallow sundial
#

PR numbers are matching now.

zealous mauve
#

PR numbers are matching now.

atomic fulcrum
#

When working on making sure scripts are

wind heath
#

https://github.com/home-assistant/core/pull/168553
Is this ok to merge into core? There has been apparently an API change and the API now sometimes reports old/stale values when requesting data (and attaches a 'time' field to those values). This PR filters the stale values out. I'm not sure if this is something that belongs in the lib (and hides it from HA), or if this is ok as is. Right now, the integration is essentially broken though (as it reports every ~80m values from one month ago for ~12 minutes).

crisp dirge
#

I've opened a PR which includes issue tracker link to custom integration analytics data. The driver is to be able to audit core architecture change impact on users of custom integrations.
A core change is not enough, the analytics endpoint and generation of custom_integrations.json also need to be updated. Before I try to make that happen, I'd like some feedback on if the new feature would be useful.

atomic fulcrum
#

I've opened a [PR which includes issue

subtle wadi
#

Just a thought, would it make sense to have a pylint check that checks that integrations don't create a Coordinator or Entity objects in the tests?

crisp dirge
#

Just a thought, would it make sense to

vernal meadow
#

Now that RS232 is a hot topic on Discord, just want to quote this post https://discord.com/channels/330944238910963714/1499325383147917462 maybe max volume should not wait another 2 years to return πŸ˜‰

On boot, the ESPhome checks the volume of the NAD, if it's above 60% it automatically brings it back to 40%. In Home Assistant I have a 0-100% slider but I know that I will never go above 70% so if I slide it to 90% for exemple, it will automatically block it to 70% max. I made a short video to show you how it perform.

vernal meadow
vernal meadow
#

I was discussing with @eternal whale the other day about how to hide some of the AI related features if they are not in use. One of the things is that we show AI generated images in media browser even when never an image has been generated. To solve this, we would need to change how media sources are registered, and be able to postpone it. The code would look like this, thoughts? https://github.com/home-assistant/core/compare/dev...claude/fix-media-source-validation-O4yR7

eager marsh
#

Media source registration

rustic root
silk tide
#

PR template check by bot

raven hound
#

Would it be ok to change an uptime sensor to timestamp? It's currently of type duration, the device returns the uptime in seconds.

scarlet current
raven hound
dense ether
#

Sometimes it's neccessary...

dry heath
#

I'm seeing an issue where get_url matching based on the current incoming request ignores the port, causing unexpected behavior

subtle wadi
azure sinew
#

Does the new Serial implementation in 2026.5 also support ser2net/socat/esp-link for serial over network, or currently only ESPHome Serial Proxy?

oblique shell
subtle wadi
atomic fulcrum
#

I'd love a second pair of eyes on the

subtle wadi
wooden pier
#

This new integration PR adds a custom

crisp dirge
subtle wadi
#

netatmo comment

subtle wadi
#

Ugh, why did we merge the future annotations PR during beta πŸ™„

silk tide
#

Ugh, why did we merge the future

zealous mauve
#

Proposal: Use bot to draft AI contributed PRs if they don't have set Any generated code has been carefully reviewed for correctness and compliance with project standards.

silk tide
#

Is commenting broken on GitHub broken at the moment?

dense ether
#

Aint GH always broken day of release? πŸ€” 🀣

bitter basin
#

Does correlation imply causation?

hallow sundial
subtle wadi
#

mypy 2.0 is out. I'm disappointed they

naive vault
subtle wadi
#

So there's a PR for Tuya that adds "Unspecified" to the manufacturer if we don't know the whitelabel brand selling the product. https://github.com/home-assistant/core/pull/169909. It's driven by a conversation in #1361754948949512203 message. I am not sure what to feel about this since the manufacturer isn't the real manufacturer, but rather now acts like an information source on if we know the manufacturer. WDYT?

atomic fulcrum
#

So there's a PR for Tuya that adds "

hallow sundial
silk tide
#

I'd like an approval of this version

hallow sundial
atomic fulcrum
#

Do we like adding timedelta_stringas

pseudo harness
subtle wadi
azure sinew
#

@subtle wadi , would a virtual integration allow for different configuration flows in the main integration?

I could then use a virtual integration for the cloud conected devices

subtle wadi
#

Okay so there's EDLAT who wants to add their transceiver module thing in https://github.com/home-assistant/core/pull/165895. Cool, but I initially asked them to start with a single platform, and then I would get back a PR with only a binary sensor to see if the stick is connected or not. I think high overview you can compare it to zigbee or enocean, coordinator + attached devices. I asked if we can get more to make the actual integration usable, and I got all platforms back. How would you tackle this PR?

raven hound
#

Okay so there's EDLAT who wants to add

subtle wadi
vernal meadow
#

Yeah integrations need to handle that

subtle wadi
raven hound
#

Blebox wants to decrease the scan

carmine barn
vernal meadow
#

Yes because you cannot set them to empty

#

There always need to be a value

subtle wadi
#

Can another core member drive the question how this PR should be handled? https://github.com/home-assistant/core/pull/159556. As in, it integrates several BMS brands in a single integration and that's generally against what we ask integrations to do, we've talked about this one before, but I don't recall a clear conclusion, path forward. Happy to pick up review after that one is done, but I notice I lack the mental capacity atm and I keep postponing it

hallow sundial
#

BMS BLE

vital echo
#

im noticing a strange one and not sure if its security related or something else?
i created a Long-lived access tokens for my AI bot, it worked a treat,
i then deleted the Long-lived access token, but my AI bot was still getting successful requests when asking for info about states etc?
i then got the LLAT and tried manually using insomnia and its also returning data!
i then went into HA and deleted all my LLATs so i had none left, and nope still getting successful data?
i even restarted HA core and the whole rasberry pi itself but its still getting successful data!!!
surely the LLAT should be revoked/deleted etc when they are deleted from the web ui?

vernal meadow
#

ugh was helping to review some PRs, found some flaky tests and test helpers that could be reused, a dependency that could be bumped.. and I ended up opening a bunch of small PRs so the PR count didn't decline πŸ™ƒ

subtle wadi
#

I'd like some input, so I now maintain my own library for openrouter, and they have an official one, but that one isn't async. but in a way I also find little time to maintain the library. WWYD?

wind heath
#

Openrouter Lib

subtle wadi
rocky pilot
subtle wadi
#

So SMLight wants to add a service to control their buzzer, currently it takes a freeform text input, a proposal I have is to use the object selector and have people use it like that. It makes it easier for people to use it out of the box, however, apparently a lot of these "tracks" are found online, and to use them people would need to disect them. https://github.com/home-assistant/core/pull/166665#discussion_r3062180660 WDYT?

wind heath
subtle wadi
atomic fulcrum
#

Would love some input on button event

pseudo harness
#

Is it OK to raise a repair issue suggesting quirks in Tuya?

atomic fulcrum
#

Martin noticed that I forgot to include the device class of the infrared entities on the approved architecture: https://github.com/home-assistant/core/pull/169110#discussion_r3225641013

This was discussed during the architecture meeting, suggested by @eager marsh IIRC. I added it to the code but forgot to add it to the arch proposal πŸ™
Any opposition to add it now to the proposal and move forward with the PR? Otherwise I'll take it to the meeting the next week.

crisp dirge
#

The flag CameraEntityFeature.ON_OFF is not used by core (except for a handful of integrations setting it) or by frontend. I think we should either:
a) Use the flag to block calls to the ON/OFF services, both in core and in frontend
b) Remove the flags.
Note that none of the camera entity services are gated by feature flags, so if we go for a), we should probably add additional flags.
When adding missing flags before, we usually check if the corresponding method is overridden, and if it is, set the flag during one year + log a warning asking integrations to update.

old jacinth
#

Project: Automate every tiny possible bit of our Core review workflow

Opening a 🧡 to get some collab going on this.

hallow sundial
wind heath
wind heath
#

Changing the log handler to stream to avoid rollover

atomic fulcrum
oblique shell
#

πŸ˜‚ Guess this is what all those What the client expected - what was delievered and the Design ./. User experience memes are about. (sorry for off-topic - couldn't resist, it's still making me giggling)

old jacinth
old jacinth
carmine barn
#

Is there a reason for the hyphen in "reload" actions descriptions, like this?

Reloads the ... from the YAML-configuration.
(example)

valid dune
#

looks like ESL to me, it’s how you’d write it in Swedish, for example

carmine barn
old jacinth
lament dock
#

I'm wondering which which BinarySensorDeviceClass I should use for a bike sharing station that can be open or closed (available vs out of service). I would have used something called AVAILABILITY if it existed. Claude Code suggests CONNECTIVITY but that doesn't feel right.

cursive jacinth
lament dock
lament dock
cursive jacinth
#

If availability was a device class then off would be "Unavailable" 😬

atomic fulcrum
#

Lets please go back to threads on this channel πŸ™
I know the threads UX on discord is... lacking, but it still makes following discussions much easier.

old jacinth
#

ok will do...

marsh echo
#

this is so bizarre, the Switchbot Curtain 3 has a configurable speed option per open/close event, and yuet its a device config option and not a number entity

#

a number is appearing now

wise crest
#

I'm seeing some very odd behavior with some trigger template entities and its leading me to a question - what happens when multiple triggers fire at almost the exact same time? In automations you can control this behavior with mode by setting it single, parallel, etc. But this option doesn't exist for trigger template entities, so how does it work when another trigger fires before the processing for the first one completed?

vernal meadow
#

Noticed this PR that wants to guard config entry migrations for when a user has to downgrade https://github.com/home-assistant/core/pull/170823/changes. However, should our code even call the migrate function? We should always assume that a migrate function is unable to migrate from a future version, since it's from the future??

#

CC @elfin dirge

elfin dirge
#

I was asked to add that guard to a recent Comelit PR so I prepared a big PR with that change for all missing integrations : https://github.com/home-assistant/core/pull/170446.
Martin step in asking for code owner to do that change.
I then prepared the same for all the integration I manage

#

I think the idea behind is to explicitely return False when downgrading to have a MIGRATION_ERROR status

vernal meadow
#

Call migrate function on downgrade

vernal meadow
atomic fulcrum
#

Do we need to have rf-protocols as a dependency of individual integrations? Those integrations also depend on radio_frequency (which has rf-protocols as a dep).
We can keep it only in the radio_frequency integration, so that we only need to bump 1 manifest.

raven hound
#

Do we need to have rf-protocols as a

rustic root
#

We're going to surpass 800 open pull requests soon in the core repository. ha That feels like a new record.

subtle wadi
#

The short week didn't particularly help

rain trout
raven hound
#

nvm, we reached 800 πŸ₯³

vernal meadow
#

For the serial integrations, we currently are calling them RS-232 in the name. I wonder if we should switch to the more user friendly "serial" ? So it's LG TV via Serial. Denon via Serial. The docs and domani name can still mention it's via RS-232

raven hound
#

For the serial integrations, we

red edge
#

Hi folks - just checking in after creating a pull for a new Airtouch 3 (AC) integration: https://github.com/home-assistant/core/pull/170939

I've added some convenience features over my existing (homebridge) integration now it's HA-ready - including reverse-engineering the way Polyaire does LAN discovery for the device IP. Hopefully up to standard, but ready to fix/remediate if not πŸ™‚

analog latch
red edge
analog latch
red edge
#

Sorry - me again - but this is actually relevant to core (I promise!).

My change seems to have surfaced an issue with deps in core - the 'decorator' lib (https://pypi.org/project/decorator/) released a new version yesterday (5.3.0) that has no machine-readable license, therefore CI breaks for any PR that changes requirements (it trips on this lib).

I added a workaround to licenses.py, which I presumed was because of something I did - but in fact it's because of this new lib version (which I don't touch).

Here's version 5.2.1 with the correct license metadata: https://pypi.org/project/decorator/5.2.1/

And here's 5.3 without it: https://pypi.org/project/decorator/5.3.0/

5.3.0 was released 14 hours ago..

One potential fix (until the decorator maintainer fixes the license) is to add this to exceptions in licenses.py

red edge
#

@vernal meadow Just commenting RE: the above - is there an other way to make CI work again without the patch I created? Unrelated PRs are all currently failing because of this.

vernal meadow
#

yeah sorry, I just saw your reply

#

on the PR

red edge
#

Hah - yeah - was about to say πŸ™‚ - I've reported this to the maintainer of decorator, but no response so far.

#

Shall I submit a new PR now pinning 5.2.1?

vernal meadow
#

as a github issue ?

#

yeah, add it to constraints file

red edge
vernal meadow
#

can you also open an issue so we can track it

red edge
crisp dirge
#

Can we please use threads?

naive vault
#

🧡 Let's talk about the mobile_app notifications/commands, @raven hound started a nice initiative to increase the usability of the notification by exposing a new notify entity. We need to discuss how we want thing to move forward next.

warm crane
subtle wadi
#

was stalebot broken?

subtle wadi
#

Deleting a parent device 🧡

subtle wadi
vernal meadow
#

We recently fixed a bug where auth signatures wouldn't check if a local user was coming from a local connection.

#

I was looking into it, and I don't see what would be wrong

lament dock
#

My wife asked whether there were integration suggestions based on location in HA. I don't believe there is, but I believe it may be something to investigate. For example, if you position your house in France, we could suggest the "MΓ©tΓ©o France" (France Weather) integration. If you position it in a given city, we may have transit information available.
Wouldn't that be interesting? Kind of discovery but geo-based instead of network-based.
Has this topic already been covered? Maybe I'm late to the party ^^

ebon willow
#

Supported devices vs best-effort behavior

shy mirage
#

Changes to the freebox integration

old jacinth
warm crane
#

Any clue what this CI error is about?

atomic fulcrum
#

Any concerns with adding a ENV_DISABLE_LOG_FILE env var to allow disabling the log file on container installs? No new logic (reuses what already exists for the supervisor), just the new flag for non-supervisor.

https://github.com/home-assistant/core/pull/170374

silk tide
#

Capping dependencies

subtle wadi
crisp dirge
#

We previously discussed state restore used in a somewhat unorthodox way here #core message
There's a similar case in https://github.com/home-assistant/core/pull/145005, it adds number entities which allows the user to override the min/max tilt settings supported by the library. The PR author wants to use restored state of the number entities to persist the settings instead of adding persistence to the library.
Note: In a previous iteration, the PR added virtual entities, which we don't allow. There was some discussion about that here https://github.com/home-assistant/core/pull/145005#issuecomment-3914449791

crisp dirge
#

Isn't the target in homeassistant.reload_config_entry confusing? Targets are about resolving entities, here it's used to resolve config entries instead. I suspect it was added because we didn't have a config entry selector when the service was introduced, and I suggest to deprecate the target field (remove it from services.yaml + documentation, log a warning when used). Thoughts?

#

Analytics backend PRs supporting core PR to include issue tracker link in custom integration analytics data are now ready for review: https://github.com/home-assistant/analytics.home-assistant.io/pull/1089, https://github.com/home-assistant/analytics.home-assistant.io/pull/1091.
Apart from reviewing analytics backend changes from a code quality point of view, I think someone needs to acknowledge the proposed changes are OK from a design point of view, especially the removal of the brands filter in #1091. @old jacinth would you be the one to do that?

rocky pilot
#

Isn't the target in `homeassistant.

silk tide
#

Caldav might require urllub3-future

eager marsh
#

Analytics backend PRs supporting core PR

vapid slate
zealous mauve
#

Nightly builds seems to fail since

quartz night
#

Python 3.14.5 with incremental GC revert

wooden pier
#

Exception translations for Backup exceptions

crisp dirge
#

I would like some clarifications around what the expectations are around the org epics. Who is expected to pick the linked tasks up? How fast do they need to be resolved? What exactly is the subset of epics in the epics progress board?

lament dock
shut shale
#

I've updated to the latest nightly and I'm booting into recovery mode πŸ€”

zealous mauve
hallow sundial
#

I don't want to stress nobody as we are

subtle wadi
crisp dirge
#

I chatted a bit with @eternal wedge about allowing users to associate zones other than the home zone with scanner trackers.
The architecture proposal suggests allowing users to define a list of zones, and when that list is set by the user we will not do any magic. @eternal wedge suggests we should just allow picking a single zone, and use the same logic as when the entity is uncustomized to add zones which contain the picked zone. This gives less freedom, but users don't need to do re-customize scanner entities after they change the size or location of a zone.
If we get clear feedback from users that they want to define the list it would be simple to change to a list in future release, so I think it makes sense.

subtle wadi
vernal meadow
#

@zealous mauve script/setup fails on Mac for development with latest changes because itachip2ir, a 10 year old library, does not compile with modern C++. I've opened a PR to fix it upstream but with 10 years of age, no idea if it will succeed. https://github.com/alanfischer/itachip2ir/pull/1

analog latch
#

Issue #1 after 9 years 😲 nice

lament dock
#

I'd love a pair of eyes on <https://

hushed yoke
#

Rebuilding the devcontainer now creates a devcontainer-lock.json file, should that be committed to the codebase, or should it be added to .gitignore?
It seems that everyone that starts the devcontainer for the first time, or rebuilds it, will now have this file.

#

Rebuilding the devcontainer now creates

zealous mauve
#

@edenhaus script/setup fails on

fickle fog
#

Curious, could requirements_all.txt be removed and be generated by script/setup? Then updating a manifest.json doesn't require a script/gen_requirements_all.py.

ivory marsh
#

What would be guidance for _async_migrate_entries? We use (custom?) migration code for entity ids in Overkiz for a migration that was needed in October 2023...

I see the same pattern in ~20 other integrations, where it looks like this migration code isn't needed for a long time. This migration isn't versioned and runs on every startup.

Can this be removed, or do we need to first deprecate it? It doesn't seem helpful anymore.

https://github.com/home-assistant/core/blob/05716ae196ca9d2159115f845bef6887b9733206/homeassistant/components/overkiz/__init__.py#L199-L259

#

What would be guidance for `async

vapid slate
#

In this automation both triggers will pass the condition 1. because trigger ID is correct, 2. becaus its on position "1". For me this looks like a bug. IMO if the condition-trigger gets a string passed it should just look for IDs

alias: Trigger ids test
description: ""
triggers:
  - trigger: time_pattern
    id: "1"
    seconds: "20"
  - trigger: time_pattern
    seconds: "10"
conditions:
  - condition: trigger
    id:
      - "1"
actions: []
mode: single
eternal wedge
#

Hey @old jacinth @atomic fulcrum, this proposal has come up in the architecture meeting a few times now, but it hasn't been approved. I'd love to get it across the finish line, but I'm not in that meeting and don't know what questions or concerns are still open. Can we move the discussion here so I can actually address them?

For those reading along (you're welcome to comment too): we're proposing to standardise event types for BUTTON event entities, the same way we recently standardised ring for doorbells. The short version: adopt the Matter event type names (initial_press, short_release, long_press, long_release, multi_press_ongoing, multi_press_complete) as the standard, with named triggers on top (button.pressed, button.pressed_down, button.double_pressed, button.hold_started, button.hold_ended). Integrations keep their existing event types and add the standard ones alongside.

Open to feedback on everything, including event names, etc.

warm crane
#

I just updated HA on my dev system to 2026.6.0.dev202605250321, and now the Z-Wave JS frontend is a blank white screen:

zealous mauve
#

Curious, could requirements_all.txt

crisp dirge
subtle wadi
atomic fulcrum
#

So with the constant cleanup we're also

subtle wadi
#

UNDER 800. STOP THE COUNT πŸ˜‚

zealous mauve
#

The last comment on https://github.com/home-assistant/core/pull/171802 is that the author should write @subtle wadi on Discord. PR is in ready for review but I don't feel conftable to review it as I could easily miss something that was discussed on a PM or somewhere on Discord. Can we keep the PR as source of truth so everybody can follow it? And if we really need to discuss something on Discord, the thread should be commented on the PR

subtle wadi
#

bump python-join-api to 0.1.1 by nkgille...

ebon willow
#

AI Pre-Review Skill Proposal

wise crest
#

@eager marsh Questions on your comment https://github.com/home-assistant/core/pull/171801#discussion_r3293686391 :

  1. Can you clarify the race condition? this is pretty similar to what I proposed in the PR to migrate the hassio integration to a config entry setup and no one mentioned a race condition there. Want to make sure I don't have the same issue
  2. Is it possible to disable support for unloading/reloading a config entry? I was under the impression you always had to support that because you couldn't stop hassio.reload_config_entry and the system options in the UI from doing that so you always had to make sure unload worked properly. If it can be disabled I can do that since there's not really any good reason to unload analytics
subtle wadi
#

So EZVIZ has an entity that exceeds the max size for a state. This information is already exposed as an image entity. Is this something that we want to deprecate, or can we just remove the entity? Because apparently it doesn't really work for anyone at the moment https://github.com/home-assistant/core/pull/169039

hazy wyvern
#

what channel is best to ask about troubleshooting mDNS with a docker installation ?

bitter basin
#

Related to development?

#

You just need to use host networking

hazy wyvern
#

no, configuring my instance

#

yeah i'm using host networking and nothing's showing up

bitter basin
#

This is a dev channel

hazy wyvern
#

thank!

bitter basin
eager marsh
#

@Artur Questions on your comment https

atomic fulcrum
#

Opinions on allowing counter to be used

hallow sundial
#

Ezviz sensor state exceeding max size

wooden pier
#

Library details in Miele

elfin dirge
#

Hi, we were discussing with @jamesonuk and @subtle wadi whether it's okay to add https://github.com/home-assistant/core/pull/170890 to the labs so that people can enable/disable the media player feature as Jameson thinks there are a lot of edge cases we may have potentially missed during development and only extensive experience can help identify them

dull basin
#

It might be easier to create a new branch and apply the changes rather than overwriting the current one.

elfin dirge
#

I don't want to close the current PR, just update it

hallow sundial
rocky pilot
#

So recently I pushed back a bit on a new integration that wants to add a sensor for distance from home to a weather station. This is a sensor whose state will essentially never change so you cannot trigger on it. Am I correct in my understanding that this is an anti-pattern we would like to avoid?
https://github.com/home-assistant/core/pull/169755#discussion_r3310524795

Another slightly related question that came to mind when thinking about this is that do we support the concept of a moving home? Think RVs or converted vans. These homes are constantly moving and the location of the home should also be updating live. In that case the distance sensor could make sense, but it does not make sense to add these kind of things if we do not support it in the first place.
UPDATE: apparently moving home supported via homeassistant.set_location

crisp dirge
#

There's a PR adding a http.unban action https://github.com/home-assistant/core/pull/161738. We asked for it to allow unbanning individual IP-addresses in a previous review, that's now implemented. Is it fine to go ahead with review + eventual merge now, or does anyone still have concerns?

zealous mauve
#

There's a PR adding a http.unban