Skip to content

Update _index.md for Binary Sensor #5270

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

Open
wants to merge 2 commits into
base: current
Choose a base branch
from

Conversation

donburch888
Copy link
Contributor

Description:

This is a minor change moving some of the documentation sections which refer to or use a Binary Sensor to a new main heading, to separate them from the sections which define the configuration of a Binary Sensor.

This provides users with the same information, but should make it easier for less experienced users to see which sections go in the Binary Sensor configuration ... but a few sections are actually used from other sensors' configuations.

Checklist:

  • I am merging into next because this is new documentation that has a matching pull-request in esphome as linked above.
    or

  • I am merging into current because this is a fix, change and/or adjustment in the current documentation and is not for a new component or feature.

  • Link added in /components/index.rst when creating new documents for new components or cookbook.

New Component Images

If you are adding a new component to ESPHome, you can automatically generate a standardized black and white component name image for the documentation.

To generate a component image:

  1. Comment on this pull request with the following command, replacing COMPONENT_NAME with your component name in UPPER_CASE format with underscores (e.g., BME280, SHT3X, DALLAS_TEMP):

    @esphomebot generate image COMPONENT_NAME
    
  2. The ESPHome bot will respond with a downloadable ZIP file containing the SVG image.

  3. Extract the SVG file and place it in the images/ folder of this repository.

  4. Use the image in your component's index table entry in /components/index.rst.

Example: For a component called "DHT22 Temperature Sensor", use:

@esphomebot generate image DHT22

Separate those conditions & actions which USE a Binary Sensor from those which DEFINE a Binary Sensor ... per Feature Request esphome#3280
@esphome esphome bot added the current label Aug 22, 2025
Copy link

netlify bot commented Aug 22, 2025

Deploy Preview for esphome ready!

Name Link
🔨 Latest commit 03189e3
🔍 Latest deploy log https://app.netlify.com/projects/esphome/deploys/68a8135c1c920e00087fe287
😎 Deploy Preview https://deploy-preview-5270--esphome.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

coderabbitai bot commented Aug 22, 2025

Walkthrough

Reorganized Binary Sensor documentation: removed the standalone "Actions" section and moved the binary_sensor.invalidate_state action (description, YAML example, API-call note) into a new "Referencing Binary Sensors" section with anchor binary_sensor-invalidate_state-action. Fixed a typo and minor punctuation/spacing. No code or public API changes.

Changes

Cohort / File(s) Summary
Docs: Binary Sensor restructure
content/components/binary_sensor/_index.md
Removed standalone Actions section for binary_sensor.invalidate_state. Added new "Referencing Binary Sensors" section with anchor binary_sensor-invalidate_state-action and relocated the action’s description, YAML example, and API-call note there. Fixed typo ("excuted" → "executed") and punctuation; minor spacing adjustments.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • frenck
  • balloob
  • jesserockz

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 2d35199 and 03189e3.

📒 Files selected for processing (1)
  • content/components/binary_sensor/_index.md (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • content/components/binary_sensor/_index.md
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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 (4)
content/components/binary_sensor/_index.md (4)

80-84: Fix typo and improve clarity around invalidate_state behavior

  • Typo: “excuted” → “executed”.
  • Since this sentence references binary_sensor.invalidate_state, keeping it clean matters for searchability.

Apply this diff:

-  a `binary_sensor.invalidate_state` action has been excuted. The default is `false`.
+  a `binary_sensor.invalidate_state` action has been executed. The default is `false`.

91-92: Punctuation nit: double period after “Component”

There’s a stray extra period.

Apply this diff:

-- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See [Webserver Version 3](#config-webserver-version-3-options).
+- If Webserver enabled and version 3 is selected, All other options from Webserver Component. See [Webserver Version 3](#config-webserver-version-3-options).

463-466: Add an anchor for the new section and pluralize heading for consistency

  • Other sections use pluralized titles (e.g., “Binary Sensor Filters,” “Binary Sensor Automation”). Recommend “Referencing Binary Sensors.”
  • Add a section anchor to make it deep-linkable like the other sections.

Apply this diff:

+{{< anchor "binary_sensor-referencing" >}}
-## Referencing Binary Sensor
+## Referencing Binary Sensors

467-478: Tighten wording, align example id with prior examples, and add a brief behavioral note

  • Align the example id with the rest of the page, which uses my_binary_sensor.
  • Add an explicit note that invalidation won’t trigger on_state, but will be seen by on_state_change (users often trip on this).
  • Optional: consider linking “Template binary sensor” to its component page for convenience.

Apply this diff:

 ### `binary_sensor.invalidate_state` Action

 This action will invalidate the current state of the sensor. It is most useful with the Template binary sensor.
 After the state is invalidated, it will be reported to Home Assistant as `unknown`. Example:

 ```yaml
 on_...:
-  binary_sensor.invalidate_state: my_binary_sensor_id
+  binary_sensor.invalidate_state: my_binary_sensor

-The state may also be invalidated by an API call in a lambda - see the API reference linked below.
+The state may also be invalidated by an API call in a lambda — see the API reference linked below.
+
+{{< note >}}
+Invalidating a binary sensor’s state does not trigger on_state; use on_state_change if you need to react when the state becomes unknown.
+{{< /note >}}


</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used**: CodeRabbit UI

**Review profile**: CHILL

**Plan**: Pro

**💡 Knowledge Base configuration:**

- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 20682d5b5ac89b28f882063764b5f2ada20066f8 and 2d3519972c3366dbde44c228c1058fe068585296.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `content/components/binary_sensor/_index.md` (1 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>📓 Path-based instructions (1)</summary>

<details>
<summary>**</summary>


**⚙️ CodeRabbit configuration file**

> - Do not generate or add any sequence diagrams

Files:
- `content/components/binary_sensor/_index.md`

</details>

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (1)</summary><blockquote>

<details>
<summary>content/components/binary_sensor/_index.md (1)</summary><blockquote>

`465-469`: **No broken cross-references found for the `binary_sensor.invalidate_state` action**

Ran ripgrep across all markdown files and confirmed that:

- The only occurrences of `binary_sensor-invalidate_state-action` are in `content/components/binary_sensor/_index.md` at the new anchor itself.
- There are no other links to `invalidate_state` or `binary_sensor.invalidate_state` elsewhere in the docs.

No updates to other pages are required.

</blockquote></details>

</blockquote></details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

minor formatting tidy-ups.
Copy link
Contributor Author

@donburch888 donburch888 left a comment

Choose a reason for hiding this comment

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

minor formatting fixed as requested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant