-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace broken "Copy Switch" example. #36627
base: current
Are you sure you want to change the base?
Conversation
The example "Copy Switch" example does not copy a switch.
It seems that this PR is targeted against an incorrect branch since it has a parent PR on one of our codebases. Documentation that needs to be updated for an upcoming release should target the |
✅ Deploy Preview for home-assistant-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
📝 WalkthroughWalkthroughThe documentation for the Template Switch integration in Home Assistant has been updated to clarify its functionality. The section title was changed from "Copy Switch" to "Invert a Switch," reflecting a more precise description of how the template switch can create an inverse representation of another switch's state. The example configuration was modified to demonstrate how to create a switch that behaves oppositely to a target switch, including updates to the value template, availability template, and switch actions. Changes
The changes primarily focus on improving the documentation's clarity and providing a more accurate example of how the Template Switch integration can be used to create an inverse switch state. Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this 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)
source/_integrations/switch.template.markdown (1)
129-139
: Consider adding inline comments to enhance learning.The implementation is excellent and demonstrates best practices:
- Uses
not is_state()
to handle unknown states properly- Includes availability checking
- Correctly implements inverse behavior
To further enhance its educational value, consider adding inline comments:
switch: - platform: template switches: invert: + # Inverse of target switch: ON when target is OFF, and vice versa value_template: "{{ not is_state('switch.target', 'on') }}" + # Only available when target switch exists availability_template: "{{ has_value('switch.target') }}" turn_on: + # Turn target OFF when this switch is turned ON action: switch.turn_off target: entity_id: switch.target turn_off: + # Turn target ON when this switch is turned OFF action: switch.turn_on target: entity_id: switch.target
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/switch.template.markdown
(1 hunks)
🔇 Additional comments (2)
source/_integrations/switch.template.markdown (2)
119-121
: LGTM! Clear and purposeful section introduction.
The new section title and description effectively communicate the purpose of the example, which aligns well with the PR objectives of providing a more functional and illustrative alternative.
119-139
: Successfully addresses the PR objectives.
This change effectively replaces the problematic "Copy Switch" example with a more practical and educational "Invert Switch" example that:
- Demonstrates a clear, practical use case
- Uses best practices to avoid common pitfalls (unknown states, availability)
- Provides a complete, working configuration
- Better illustrates template switch capabilities
The example will help users better understand and implement template switches in their Home Assistant configurations.
It seems that this PR is targeted against an incorrect branch since it has a parent PR on one of our codebases. Documentation that needs to be updated for an upcoming release should target the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why doesn't the copy switch example works? What extra automatons would be required?
Proposed change
This PR proposes to replace the "Copy Switch" example with an "Invert Switch" example.
The "Copy Switch" example was "fixed" in 2019; changing from a configuration that actually copied a switch to one that does not copy a switch... at least, not without additional automations which are not mentioned or described in the example. Recently, I have had a number of users on the forums and Discord who were attempting to learn about Template switches refer to this example with confusion and frustration because it does not work.
Even if the "Copy Switch" configuration worked, a straight copy of a switch without any alterations seems a pretty pointless example for a template entity. There are already a couple configurations within the examples collection that are essentially copies of switches with small changes. As such, I have added an inverted switch as a replacement example that both works and illustrates additional uses for a Template Switch.
Type of change
current
branch).current
branch).next
branch).next
branch).Additional information
Checklist
current
branch.next
branch.Summary by CodeRabbit
availability_template
to improve switch functionality description