Skip to content

Conversation

emontnemery
Copy link
Contributor

@emontnemery emontnemery commented Oct 10, 2025

Proposed change

Add developer blog about removing device filter from target selector

Related task: home-assistant/core#152741

Type of change

  • Document existing features within Home Assistant
  • Document new or changing features for which there is an existing pull request elsewhere
  • Spelling or grammatical corrections, or rewording for improved clarity
  • Changes to the backend of this documentation
  • Remove stale or deprecated documentation

Checklist

  • I have read and followed the documentation guidelines.
  • I have verified that my changes render correctly in the documentation.

Additional information

  • This PR fixes or closes issue: fixes #
  • Link to relevant existing code or pull request:

Summary by CodeRabbit

  • Documentation
    • Added guidance on the removal of the device filter from target selectors, including rationale and migration steps.
    • Clarifies that automated checks will now fail for services still using device filters on targets, and that core validation will enforce this starting with the 2026.11 release.
    • Explains prior behavior where device filters were ignored by helpers and the UI, outlines impact on custom integrations and blueprints, and provides instructions for updating or seeking assistance via community support channels.

Copy link
Contributor

coderabbitai bot commented Oct 10, 2025

📝 Walkthrough

Walkthrough

Adds a new documentation file describing the removal of the device filter from target selectors, its current and future validation behavior, and guidance for integrations and blueprints.

Changes

Cohort / File(s) Change Summary
Documentation
2025-10-13-device-filter-removed-from-target-selector.md
New doc explaining removal of device filter on target selectors, Hassfest failure behavior, future Core validation (2026.11), background behavior, impact on custom integrations/blueprints, and guidance for updates/appeals.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The description follows the repository template in structure but leaves required fields in the Additional information section unfilled, specifically the “This PR fixes or closes issue” line and the link to the corresponding Home Assistant Core pull request, which are needed for completeness and traceability. Please update the Additional information section to specify the correct issue number (for example, “fixes #152741”) and include the URL of the related Home Assistant Core pull request or code link as required by the template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title clearly and concisely summarizes the primary change by indicating a new developer blog post about removing the device filter from the target selector, directly reflecting the content of the PR without unnecessary detail.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch blog_target_selector_remove_device_filter

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 87ae324 and 2991e8a.

📒 Files selected for processing (1)
  • 2025-10-13-device-filter-removed-from-target-selector.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • 2025-10-13-device-filter-removed-from-target-selector.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
blog/2025-10-10-device-filter-removed-from-target-selector.md (1)

21-21: Remove the polite phrasing

Rewrite the closing instruction without “Please” to keep the mandated direct tone, e.g., “Reach out on Discord if you have a valid use case for device filter on target selectors.” As per coding guidelines

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between ef1dc2f and 1ad325a.

📒 Files selected for processing (1)
  • blog/2025-10-10-device-filter-removed-from-target-selector.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
*/**(html|markdown|md)

⚙️ CodeRabbit configuration file

*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

*/**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

  • Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

  • Use sentence-style capitalization also in headings.

do not comment on HTML used for icons

Avoid flagging inline HTML for embedding videos in future reviews for this repository.

Files:

  • blog/2025-10-10-device-filter-removed-from-target-selector.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - developers-home-assistant
  • GitHub Check: Header rules - developers-home-assistant
  • GitHub Check: Pages changed - developers-home-assistant

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (7)
blog/2025-10-10-device-filter-removed-from-target-selector.md (7)

9-9: Tighten phrasing and fix article usage

Use active voice and clarify what fails.

-Hassfest has been updated to [fail on services with device filter on targets](https://github.com/home-assistant/core/pull/152794).
+Hassfest now [fails validation for services that define a device filter on targets](https://github.com/home-assistant/core/pull/152794).

11-11: Grammar and clarity (pluralization, placement of version)

Improve flow and precision.

Also confirm that “Home Assistant Core 2026.11” is the intended release.

-In Home Assistant Core 2026.11, validation of target selector with a device filter will fail.
+Validation of target selectors that specify a device filter will fail in Home Assistant Core 2026.11.

15-16: Make background concise and active; fix frontend/Core references

Shorten sentences and avoid repetition.

-Device filter on target selectors was not supported by core helpers which extract entities from targets, which meant the device filter was ignored if the user had picked a floor, area, label or category. Also, the device filter was not respected by frontend when picking entities for the target.
+Core helpers that extract entities from targets did not support the device filter. When the user picked a floor, area, label, or category, the filter was ignored. The frontend also ignored the device filter when selecting entities for a target.

17-18: Minor grammar and voice improvements

Use active voice; capitalize product names consistently.

-All core integrations were reviewed, and there was no case where a target selector with a device filter was correctly used. Hence, it was decided to remove the device filter from the target selector instead of implementing support for it in core and frontend.
+A review of all core integrations found no correct uses of a device filter on target selectors. We removed the device filter from the target selector rather than implement support for it in Core and the frontend.

19-19: Concise heading per sentence-style capitalization

Shorten and pluralize for clarity.

-### Impact on custom integration and blueprint authors
+### Impact on custom integrations and blueprints

21-21: Use imperative tone for guidance

Follow Microsoft Style Guide: front the goal, use active voice.

-Custom integrations and blueprints which use target selectors with a device filter need to be updated to remove the device filter.
+Update custom integrations and blueprints to remove device filters from target selectors.

23-23: Remove “please” and keep a direct call to action

Align with repository style.

-Please reach out on Discord if you have a valid use case for device filter on target selectors.
+If you have a valid use case for device filters on target selectors, reach out on Discord.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 1ad325a and e5d8f5a.

📒 Files selected for processing (1)
  • blog/2025-10-10-device-filter-removed-from-target-selector.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
*/**(html|markdown|md)

⚙️ CodeRabbit configuration file

*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

*/**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

  • Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

  • Use sentence-style capitalization also in headings.

do not comment on HTML used for icons

Avoid flagging inline HTML for embedding videos in future reviews for this repository.

Files:

  • blog/2025-10-10-device-filter-removed-from-target-selector.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - developers-home-assistant
  • GitHub Check: Header rules - developers-home-assistant
  • GitHub Check: Pages changed - developers-home-assistant

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between e5d8f5a and bf8fadc.

📒 Files selected for processing (1)
  • blog/2025-10-10-device-filter-removed-from-target-selector.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
*/**(html|markdown|md)

⚙️ CodeRabbit configuration file

*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

*/**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

  • Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

  • Use sentence-style capitalization also in headings.

do not comment on HTML used for icons

Avoid flagging inline HTML for embedding videos in future reviews for this repository.

Files:

  • blog/2025-10-10-device-filter-removed-from-target-selector.md

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.

2 participants