Skip to content

Conversation

@mib1185
Copy link
Member

@mib1185 mib1185 commented Dec 27, 2025

Proposed change

This adds an option to also show not installable updates under Settings > System > Updates, so the user knows that there are systems, which needs attention and get updated manually.


image
image

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (thank you!)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Example configuration

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue or discussion:
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

@mib1185 mib1185 added this to the 2026.1 milestone Dec 29, 2025
@silamon silamon removed this from the 2026.1 milestone Dec 30, 2025
@frenck
Copy link
Member

frenck commented Dec 31, 2025

As this is a dedicated page to updates, should we instead show them in a seperate card/section below it always?

@mib1185
Copy link
Member Author

mib1185 commented Dec 31, 2025

I like that idea 👍 it ensur s that they are always shown and are clearly noticeable as "manual installation needed"

@mib1185 mib1185 marked this pull request as draft December 31, 2025 12:54
@mib1185
Copy link
Member Author

mib1185 commented Jan 2, 2026

I've updated this PR so now we have to cards, one for installable and one for not installable updates

Settings overview

image

Settings > System > Updates

Description Screenshot
installable and not installable updates available image
only installable updates available image
only not installable updates available image
no updates available at all image

@mib1185 mib1185 marked this pull request as ready for review January 2, 2026 21:46
"updates_refreshed": "State of {count} {count, plural,\n one {update}\n other {updates}\n} refreshed",
"checking_updates": "Checking for updates...",
"title": "{count} {count, plural,\n one {update}\n other {updates}\n}",
"title": "{count} {count, plural,\n one {{installable, select, \n true {installable} \n other {not installable}\n} update}\n other {{installable, select, \n true {installable} \n other {not installable}\n} updates}\n}",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This overcomplicates it IMO. Lets just leave the existing translation as is and add a new one for "not installable" updates.
The vast majority of cases will not have "not installable" updates so they don't need to see "installable" for normal updates. It would just confuse users and translators.

</div>
</ha-card>
`
: ""}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: ""}
: nothing}

</div>
</ha-card>
`
: ""}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: ""}
: nothing}

`
: ""}
${canInstallUpdates.length + notInstallableUpdates.length
? ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
? ""
? nothing

? html`
${canInstallUpdates.length
? html`
<ha-card>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

outlined is missing here. Is it intentional?

Comment on lines +56 to 65
const canInstallUpdates = this._filterUpdateEntitiesParameterized(
this.hass.states,
this._showSkipped
this._showSkipped,
false
);
const notInstallableUpdates = this._filterUpdateEntitiesParameterized(
this.hass.states,
this._showSkipped,
true
);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling _filterUpdateEntitiesParameterized twice with different args defeats the memoization as the cache only keeps the latest value.
You should create a new memoized method similar to _filterUpdateEntitiesParameterized for "not installable" updates instead of reusing _filterUpdateEntitiesParameterized.

@home-assistant home-assistant bot marked this pull request as draft January 5, 2026 08:46
@home-assistant
Copy link

home-assistant bot commented Jan 5, 2026

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants