-
-
Notifications
You must be signed in to change notification settings - Fork 966
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
Light state is enum #2334
base: master
Are you sure you want to change the base?
Light state is enum #2334
Conversation
WalkthroughWalkthroughThe changes introduce a deprecation notice for the constant Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant LightEntity
participant LightState
User->>LightEntity: Set light state
LightEntity->>LightState: Use new enum (ON/OFF)
LightState-->>LightEntity: Return state
LightEntity-->>User: Confirm state change
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: 2
Outside diff range and nitpick comments (2)
blog/2024-09-24-state-constant-light-deprecation.md (1)
9-13
: Content is clear and informative, with a suggestion for improvement.The main content effectively communicates the deprecation notice and its implications. It adheres to the required direct and authoritative tone. To enhance clarity, consider adding a brief example of how to use the new
LightState
enum.Consider adding a brief example after the first paragraph:
Example usage of the new `LightState` enum: ```python from homeassistant.components.light import LightState # Instead of STATE_ON, use: if self.state == LightState.ON: # Light is on<details> <summary>Tools</summary> <details> <summary>LanguageTool</summary><blockquote> [uncategorized] ~9-~9: This verb does not appear to agree with the subject. Consider using a different form. Context: ...` used to return state in `LightEntity` are deprecated when imported from `homeassi... (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT) </blockquote></details> </details> </blockquote></details> <details> <summary>docs/core/entity/light.md (1)</summary><blockquote> `28-35`: **LGTM! New "States" section accurately describes `LightState` enum.** The new section clearly explains how the light state is determined and introduces the `LightState` enum, which aligns with the PR objectives. The content is well-structured and consistent with the rest of the document. Minor formatting suggestion: Remove the trailing pipe characters from the table rows to address the Markdownlint warnings. Here's the corrected table format: ```markdown | Value | Description |-------|----------------------------------------------- | `ON` | The light is on. | `OFF` | The light is off.
Tools
Markdownlint
32-32: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
33-33: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
34-34: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
35-35: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- blog/2024-09-24-state-constant-light-deprecation.md (1 hunks)
- docs/core/entity/light.md (1 hunks)
Additional context used
Path-based instructions (1)
blog/2024-09-24-state-constant-light-deprecation.md (6)
Pattern
*/**(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'
Pattern
*/**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern
*/**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern
*/**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern
*/**(html|markdown|md)
: do not comment on HTML used for icons
Pattern
*/**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
LanguageTool
blog/2024-09-24-state-constant-light-deprecation.md
[uncategorized] ~9-~9: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...used to return state in
LightEntityare deprecated when imported from
homeassi...(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Markdownlint
docs/core/entity/light.md
32-32: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
33-33: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
34-34: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
35-35: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
Additional comments not posted (1)
blog/2024-09-24-state-constant-light-deprecation.md (1)
1-7
: Metadata section looks good.The metadata is correctly formatted and includes all necessary information. The title follows the sentence-style capitalization guideline as required.
title: "Deprecating state constant for light" | ||
--- | ||
|
||
As of Home Assistant Core 2024.10, the constant `STATE_ON` used to return state in `LightEntity` are deprecated when imported from `homeassistant.components.light`. It has been replaced by the `LightState` enum. |
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.
Fix grammatical issue in the first sentence.
There's a subject-verb agreement issue in this sentence. The verb "are" doesn't agree with the singular subject "constant".
Apply this change:
-As of Home Assistant Core 2024.10, the constant `STATE_ON` used to return state in `LightEntity` are deprecated when imported from `homeassistant.components.light`. It has been replaced by the `LightState` enum.
+As of Home Assistant Core 2024.10, the constant `STATE_ON` used to return state in `LightEntity` is deprecated when imported from `homeassistant.components.light`. It has been replaced by the `LightState` enum.
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
As of Home Assistant Core 2024.10, the constant `STATE_ON` used to return state in `LightEntity` are deprecated when imported from `homeassistant.components.light`. It has been replaced by the `LightState` enum. | |
As of Home Assistant Core 2024.10, the constant `STATE_ON` used to return state in `LightEntity` is deprecated when imported from `homeassistant.components.light`. It has been replaced by the `LightState` enum. |
Tools
LanguageTool
[uncategorized] ~9-~9: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...used to return state in
LightEntityare deprecated when imported from
homeassi...(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
### States | ||
|
||
The state is defined by setting the above `is_on` method. The resulting state is using the `LightState` enum to return one of the below members. | ||
|
||
| Value | Description | | ||
|---------|-----------------------------------------------| | ||
| `ON` | The light is on. | | ||
| `OFF` | The light is off. | |
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.
🛠️ Refactor suggestion
Consider adding a note about STATE_ON
deprecation
The PR objectives mention addressing the deprecation of the STATE_ON
constant. However, this information is not explicitly included in the new section. Consider adding a note to inform users about this deprecation and how it relates to the new LightState
enum.
Here's a suggested addition to the "States" section:
:::note Deprecation
The `STATE_ON` constant, previously imported from `homeassistant.components.light`, is deprecated. Use the `LightState.ON` enum member instead.
:::
This note could be placed after the existing table in the "States" section.
Tools
Markdownlint
32-32: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
33-33: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
34-34: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
35-35: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
Proposed change
Modify
light
as it returnsLightState
enum members.Blog for deprecated
STATE_ON
constant when imported fromhomeassistant.components.light
Core PR: home-assistant/core#126678
Type of change
Additional information
Summary by CodeRabbit
New Features
LightState
enum withON
andOFF
values for better state representation.Bug Fixes
STATE_ON
constant with a one-year grace period before it is removed.