Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add Air Pollution in OpenWeatherMap and clarify availables modes #39435

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 7 commits into
base: next
Choose a base branch
from

Conversation

wittypluck
Copy link
Contributor

@wittypluck wittypluck commented Jun 8, 2025

Proposed change

Update OpenWeatherMap documentation to add Air Pollution and clarify the different available modes.

Type of change

  • Spelling, grammar or other readability improvements (current branch).
  • Adjusted missing or incorrect information in the current documentation (current branch).
  • Added documentation for a new integration I'm adding to Home Assistant (next branch).
  • Added documentation for a new feature I'm adding to Home Assistant (next branch).
  • Removed stale or deprecated documentation.

Additional information

Checklist

  • This PR uses the correct branch, based on one of the following:
    • I made a change to the existing documentation and used the current branch.
    • I made a change that is related to an upcoming version of Home Assistant and used the next branch.
  • The documentation follows the Home Assistant documentation standards.

Summary by CodeRabbit

  • Documentation
    • Updated OpenWeatherMap integration documentation to include support for air quality data.
    • Clarified API key registration requirements and distinguished between available API services.
    • Noted deprecation of API v2.5 and updated its support status.
    • Updated configuration options to reflect new and removed modes.
    • Added details on supported air quality conditions and pollutant metrics.

@wittypluck wittypluck requested a review from fabaff as a code owner June 8, 2025 22:25
@home-assistant home-assistant bot added has-parent This PR has a parent PR in a other repo next This PR goes into the next branch labels Jun 8, 2025
Copy link

netlify bot commented Jun 8, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit 03265cd
🔍 Latest deploy log https://app.netlify.com/projects/home-assistant-docs/deploys/684db6c85ea3c1000869c08c
😎 Deploy Preview https://deploy-preview-39435--home-assistant-docs.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 Jun 8, 2025

📝 Walkthrough

Walkthrough

The OpenWeatherMap integration documentation was revised to include support for air quality data, clarify API key requirements, distinguish between available API services, remove references to deprecated API v2.5, and add configuration details for air quality features. Section headings and supported air quality conditions were also updated.

Changes

File Change Summary
source/_integrations/openweathermap.markdown Updated documentation: added air quality data support, clarified API/service details, updated configuration options, removed deprecated API references, revised headings, and listed supported air quality conditions.

Sequence Diagram(s)

sequenceDiagram
    User->>OpenWeatherMap Integration: Configure integration (select weather and/or air quality)
    OpenWeatherMap Integration->>OpenWeatherMap API: Request data (weather and/or air pollution)
    OpenWeatherMap API-->>OpenWeatherMap Integration: Return requested data
    OpenWeatherMap Integration-->>User: Display weather and air quality information
Loading

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.
    • Explain this complex logic.
    • 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. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • 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 src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

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

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

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 or @coderabbitai title 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

Documentation and Community

  • 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

🔭 Outside diff range comments (1)
source/_integrations/openweathermap.markdown (1)

106-111: ⚠️ Potential issue

Remove obsolete v2.5 reference in action note
The action still mentions failure for v2.5, but that mode is deprecated and removed from the config table. Update to reference only the supported modes:

- **Note:** Minute forecast is available only when the OWM integration mode is set to `v3.0`. The action will fail if the mode is set to `current`, `forecast`, or `v2.5`.
+ **Note:** Minute forecast is available only when the OWM integration mode is set to `v3.0`. The action will fail if the mode is set to `current` or `forecast`.
🧹 Nitpick comments (4)
source/_integrations/openweathermap.markdown (4)

31-31: Clarify API key phrasing
The sentence is a bit awkward. Consider rephrasing for clarity:

- You need an API key, it requires a [registration](https://home.openweathermap.org/users/sign_up).
+ You need to register for an API key: [Sign up here](https://home.openweathermap.org/users/sign_up).

43-43: Polish deprecation notice wording
Recommend slight wording tweak for flow:

- OpenWeatherMap API V2.5 has been deprecated and is not supported anymore by this integration.
+ OpenWeatherMap API V2.5 has been deprecated and is no longer supported by this integration.

68-68: Enhance v3.0 mode description
The v3.0 mode should mention current weather alongside forecasts—align with One Call API 3.0 capabilities:

- `<li>\`v3.0\` (new API version) daily weather forecast for 8 days, and 1-hour steps for 48 hours</li>`
+ `<li>\`v3.0\` (new API version): current weather plus hourly forecast for 48 hours and daily forecast for 8 days</li>`

264-273: Fix grammar in PM2.5 description
Minor wording correction for accuracy:

-| `pm2_5`             | Concentration of PM2.5 (Fine particles matter), µg/m³.                                  |
+| `pm2_5`             | Concentration of PM2.5 (fine particulate matter), µg/m³.                                  |
🧰 Tools
🪛 LanguageTool

[uncategorized] ~272-~272: Possible missing preposition found.
Context: ... Concentration of PM2.5 (Fine particles matter), µg/m³. ...

(AI_HYDRA_LEO_MISSING_OF)

📜 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 9419017 and 5d4cc81.

📒 Files selected for processing (1)
  • source/_integrations/openweathermap.markdown (5 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/openweathermap.markdown

[uncategorized] ~272-~272: Possible missing preposition found.
Context: ... Concentration of PM2.5 (Fine particles matter), µg/m³. ...

(AI_HYDRA_LEO_MISSING_OF)

🔇 Additional comments (4)
source/_integrations/openweathermap.markdown (4)

24-24: Update intro to include air quality data
Good addition—this now clearly states that both meteorological and air quality data are provided.


32-36: Approve supported service types list
The distinction between One Call API 3.0 and the Free tier (including air pollution) is clear and accurate.


45-45: Approve migration instructions heading
The guidance to migrate from API V2.5 is clear and actionable.


260-262: Approve new air quality section header
Introducing “Supported Air Quality conditions” as a standalone section aligns well with the rest of the documentation structure.

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 (6)
source/_integrations/openweathermap.markdown (6)

24-24: Reduce redundant branding in description
The phrase “The OpenWeatherMap weather integration uses [OpenWeatherMap]…” mentions the service name twice. Consider simplifying to “This integration uses [OpenWeatherMap] as a source for current meteorological and air quality data.”


31-31: Clarify API key registration details
Recommend noting that obtaining an API key is free by default and that the key activates within 10–120 minutes. This helps set expectations for new users.


33-37: Streamline service type descriptions
The two bullet points could be folded into a single table or use sub-lists for better readability. For example:
• One Call API 3.0 (subscription; current, 48-hour hourly, 8-day daily)
• Free tier (current, 3-hour 5-day forecast, air pollution)


44-46: Unify version identifier formatting
Wrap version IDs in backticks and match casing to the Mode table. E.g.:

  • OpenWeatherMap API v2.5 has been deprecated and is no longer supported.
  • Use v3.0 instead of “API V3.0” for consistency.

69-69: Improve Mode table readability
The long <li> list in a single cell is hard to scan. Consider breaking into separate lines or sub-bullets in markdown for each mode.


265-274: Correct terminology for particulate matter
Line 273 reads “Fine particles matter” but should be “Fine particulate matter” to align with standard nomenclature.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~273-~273: Possible missing preposition found.
Context: ... Concentration of PM2.5 (Fine particles matter), µg/m³. ...

(AI_HYDRA_LEO_MISSING_OF)

📜 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 5d4cc81 and 0e2dec8.

📒 Files selected for processing (1)
  • source/_integrations/openweathermap.markdown (5 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/openweathermap.markdown

[uncategorized] ~273-~273: Possible missing preposition found.
Context: ... Concentration of PM2.5 (Fine particles matter), µg/m³. ...

(AI_HYDRA_LEO_MISSING_OF)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (5)
source/_integrations/openweathermap.markdown (5)

107-107: Verify heading level consistency for Actions section
This was demoted to ###. Ensure other integrations follow the same level for action definitions (usually ##).


130-130: Verify heading level consistency for Examples section
The “Examples” heading is now ###. Confirm that examples across docs maintain the correct hierarchy relative to “Action”.


260-260: Approve nested examples within collapsible block
Collapsing the example under a details block improves readability while keeping the page concise.


261-261: Approve addition of Supported Air Quality section
The new section clearly introduces the air quality feature.


263-263: Approve Current Air Quality subsection heading
Level-3 heading correctly scopes the new content under Air Quality.

…on documentation

- Documented available air quality sensors and their descriptions
- Improved clarity and structure for air quality sensor support
- Ensured consistent formatting and readability for all users
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)
source/_integrations/openweathermap.markdown (4)

31-31: Use imperative tone for consistency.
Change "You need to register for an API key" to "Register for an API key" to align with Home Assistant documentation style.

Proposed diff:

-You need to register for an API key: [Sign up here](https://home.openweathermap.org/users/sign_up).
+Register for an API key: [Sign up here](https://home.openweathermap.org/users/sign_up).

33-45: Fix list formatting and ensure proper spacing around headings.
Markdown lint requires hyphens for list markers and blank lines around headings and lists. Use - instead of * and add blank lines:

Proposed diff sketch:

## Supported modes

There are currently two types of OpenWeatherMap services supported by this integration, with several corresponding modes.

- **One Call API 3.0** ([pricing](https://openweathermap.org/price#onecall))
  - `v3.0`: current weather, hourly forecast for 48 hours, daily forecast for 8 days

- **Free** ([pricing](https://openweathermap.org/price#freeaccess))
  - `current`: current weather
  - `forecast`: weather forecast in 3-hour steps for 5 days
  - `air_pollution`: current air pollution
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

37-37: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


38-38: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


38-38: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


38-38: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


42-42: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


43-43: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


43-43: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


43-43: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


43-43: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


44-44: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


44-44: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


45-45: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


45-45: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)

🪛 GitHub Actions: home-assistant.io Test

[warning] 38-38: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


[warning] 43-43: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


[warning] 44-44: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


[warning] 45-45: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


66-66: Remove unnecessary comma before "that".
Correct comma usage for clarity.

Proposed diff:

-Keep in mind when configuring this integration, that your new API key might not be activated yet.
+Keep in mind when configuring this integration that your new API key might not be activated yet.
🧰 Tools
🪛 LanguageTool

[typographical] ~66-~66: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...n mind when configuring this integration, that your new API key might not be activated...

(COMMA_THAT_NOUN)


78-78: Consider improving Mode parameter table readability.
The inline HTML <li> list in the table cell is hard to maintain. Consider using a Markdown list within a <ul> wrapper or breaking the cell into multiple lines for clarity.

📜 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 0e2dec8 and cdc6180.

📒 Files selected for processing (1)
  • source/_integrations/openweathermap.markdown (6 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
source/_integrations/openweathermap.markdown

37-37: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


38-38: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


38-38: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


38-38: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


42-42: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


43-43: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


43-43: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


43-43: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


43-43: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


44-44: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


44-44: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


45-45: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


45-45: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


47-47: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

🪛 LanguageTool
source/_integrations/openweathermap.markdown

[typographical] ~66-~66: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...n mind when configuring this integration, that your new API key might not be activated...

(COMMA_THAT_NOUN)

🪛 GitHub Actions: home-assistant.io Test
source/_integrations/openweathermap.markdown

[warning] 38-38: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


[warning] 43-43: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


[warning] 44-44: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)


[warning] 45-45: Unexpected unordered list marker *, expected - (remark-lint: unordered-list-marker-style)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (3)
source/_integrations/openweathermap.markdown (3)

24-24: Approve updated introduction clarifying data sources.
The new description accurately highlights support for meteorological and air quality data.


53-53: Approve updated deprecation notice.
The wording accurately states that API V2.5 is no longer supported.


270-284: Approve addition of air quality sensors.
The new sensor table accurately documents supported pollutant sensors and units.

…r OpenWeatherMap integration documentation

- Corrected table formatting and alignment for improved readability
- Ensured consistent style and clarity for all users
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)
source/_integrations/openweathermap.markdown (1)

80-80: Refactor suggestion: Simplify Mode table cell

Embedding HTML <li> tags in a table cell may reduce readability and could cause rendering issues. Consider using a bullet list inside the cell or splitting the modes into separate table rows for clarity.

📜 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 cdc6180 and a3ed61c.

📒 Files selected for processing (1)
  • source/_integrations/openweathermap.markdown (6 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/openweathermap.markdown

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...weathermap.org/price#onecall) - v3.0 : current weather, hourly forecast for 48...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~45-~45: Loose punctuation mark.
Context: ...rmap.org/price#freeaccess) - current : current weather - forecast : weather...

(UNLIKELY_OPENING_PUNCTUATION)


[typographical] ~68-~68: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...n mind when configuring this integration, that your new API key might not be activated...

(COMMA_THAT_NOUN)

🪛 markdownlint-cli2 (0.17.2)
source/_integrations/openweathermap.markdown

45-45: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


49-49: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (10)
source/_integrations/openweathermap.markdown (10)

24-24: Approve: Intro mentions air quality support

The updated introduction clearly states that both meteorological and air quality data are supported, aligning with the new feature addition.


31-32: Approve: Clarified API key registration

Changing “subscription” to “registration” better describes the free-tier workflow. The link to sign up is helpful and accurate.


33-36: Approve: New “Supported modes” section

The new section neatly outlines available service types and modes. Heading level and structure match Home Assistant docs conventions.


47-47: Approve: Added air_pollution mode

Including air_pollution as a free service mode completes the list and directly reflects the new integration capability.


55-55: Approve: Updated deprecation notice

Marking API V2.5 as no longer supported removes ambiguity and directs users to the current API.


67-70: Approve: Expanded API key activation note

The enhanced note about activation delays and invalid-key errors provides essential troubleshooting context.

🧰 Tools
🪛 LanguageTool

[typographical] ~68-~68: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...n mind when configuring this integration, that your new API key might not be activated...

(COMMA_THAT_NOUN)


118-118: Approve: Demoted action heading

Keeping “Action openweathermap.get_minute_forecast” as a third-level heading aligns with other action examples in the docs.


123-124: Approve: Note on minute forecast compatibility

This note correctly informs that minute forecasts only work with v3.0, and that the action will fail in other modes, including the new air_pollution mode.


272-275: Approve: New “Supported Air Quality Sensors” heading

Introducing a dedicated section for air quality sensors highlights the feature and follows the established pattern for sensor documentation.


276-286: Approve: Air quality sensors table

The sensor list and descriptions comprehensively cover all pollutants. Naming conventions (pm2_5, etc.) align with Home Assistant’s existing patterns.

- Added a direct link for more details on supported air quality sensors
- Ensured users can easily find additional information about air quality data
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 (5)
source/_integrations/openweathermap.markdown (5)

24-24: Fine-tune description readability.
The sentence is clear, but specifying “OpenWeatherMap API” can improve precision:

-The OpenWeatherMap weather integration uses [OpenWeatherMap](https://openweathermap.org/) as a source for meteorological and air quality data for your location.
+The OpenWeatherMap integration uses the OpenWeatherMap API to retrieve meteorological and air quality data for your location.

31-31: Consider using a notice block for API key registration.
Wrapping the “register for an API key” instruction in a {% hint %} or {% note %} improves scannability.


80-80: Refactor mode descriptions into separate table rows.
Embedding multiple <li> items in a single cell may not render consistently. Consider expanding the table:

Mode Description
v3.0 current weather, hourly forecast for 48 hours, daily forecast for 8 days
current current weather data only, no forecast
forecast weather forecast only, in 3-hour steps for 5 days, no current data
air_pollution current air quality data

118-118: Ensure action section is nested under a top-level heading.
The ### Action openweathermap.get_minute_forecast heading isn’t under a parent ## section. Add something like ## Available Actions for structural consistency.


272-287: Supported Air Quality Sensors section is comprehensive.
All key pollutants are listed with clear descriptions and the reference link is present. For consistency with the weather section, consider renaming “Current Air Quality Sensors” to “Current Air Quality Conditions.”

📜 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 a3ed61c and 92bd9d8.

📒 Files selected for processing (1)
  • source/_integrations/openweathermap.markdown (6 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/openweathermap.markdown

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...weathermap.org/price#onecall) - v3.0 : current weather, hourly forecast for 48...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~45-~45: Loose punctuation mark.
Context: ...rmap.org/price#freeaccess) - current : current weather - forecast : weather...

(UNLIKELY_OPENING_PUNCTUATION)


[typographical] ~68-~68: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...n mind when configuring this integration, that your new API key might not be activated...

(COMMA_THAT_NOUN)

🪛 markdownlint-cli2 (0.17.2)
source/_integrations/openweathermap.markdown

45-45: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


49-49: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (3)
source/_integrations/openweathermap.markdown (3)

33-47: Supported modes section updated correctly.
The new “Supported modes” section clearly distinguishes between One Call API 3.0 and Free services, and includes the air_pollution mode.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...weathermap.org/price#onecall) - v3.0 : current weather, hourly forecast for 48...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~45-~45: Loose punctuation mark.
Context: ...rmap.org/price#freeaccess) - current : current weather - forecast : weather...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

45-45: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


55-55: Deprecation notice is clear and direct.
Users are properly informed that API V2.5 is removed and must migrate to V3.0.


123-123: Note on minute forecast behavior is accurate.
The warning correctly informs users that the action fails for non-v3.0 modes.

… integration

- Improved explanation of sensor entity naming and language selection
- Enhanced clarity for new users configuring the integration
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

♻️ Duplicate comments (1)
source/_integrations/openweathermap.markdown (1)

67-70: Use backticks for mode names and list them explicitly
Make the important note consistent with other docs by formatting modes inline and enumerating them.

-{% important %}
-If you register a new API key with OpenWeatherMap, it will be activated automatically. This typically takes between 10 minutes and 2 hours.  
-Keep in mind when configuring this integration that your new API key might not be active yet.  
-Invalid API-key errors can also occur if you use a key which doesn't match the corresponding service (One Call API 3.0 versus Free).
-{% endimportant %}
+{% important %}
+If you register a new API key with OpenWeatherMap, it will be activated automatically. This typically takes between 10 minutes and 2 hours.  
+Keep in mind that your key might not be active yet when configuring the integration.  
+Invalid API-key errors can also occur if you use the key with the wrong mode: `v3.0`, `current`, `forecast`, or `air_pollution`.
+{% endimportant %}
🧹 Nitpick comments (5)
source/_integrations/openweathermap.markdown (5)

24-24: Use “weather” instead of “meteorological” for clarity
Replace “meteorological and air quality data” with “weather and air quality data,” which is more approachable for end users.

-The OpenWeatherMap weather integration uses [OpenWeatherMap](https://openweathermap.org/) as a source for meteorological and air quality data for your location.
+The OpenWeatherMap integration uses [OpenWeatherMap](https://openweathermap.org/) as a source for weather and air quality data for your location.

31-32: Refine API key registration phrasing
Change the colon to a period and clarify that registration is free to improve tone.

-You need to register for an API key: [Sign up here](https://home.openweathermap.org/users/sign_up).
+You need to register for a free API key. [Sign up here](https://home.openweathermap.org/users/sign_up).

33-42: Fix subject–verb agreement in One Call API description
“The One Call API 3.0 services requires” mixes plural and singular—make it singular.

-The One Call API 3.0 services requires a [subscription](https://openweathermap.org/api/one-call-3).
+The One Call API 3.0 service requires a [subscription](https://openweathermap.org/api/one-call-3).
🧰 Tools
🪛 LanguageTool

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...weathermap.org/price#onecall) - v3.0 : current weather, hourly forecast for 48...

(UNLIKELY_OPENING_PUNCTUATION)


43-50: Streamline Free services description and remove trailing spaces

  • Drop the article “a” before “registration”
  • Remove unintended trailing spaces at end of list items
-The Free services require a registration but no subscription. Once signed up, the API key can be found from your profiles' [My API keys](https://home.openweathermap.org/api_keys) page. 
+The Free services require registration but no subscription. Once signed up, the API key can be found on your profile’s [My API keys](https://home.openweathermap.org/api_keys) page.
-`current` : current weather  
-`forecast` : weather forecast, in 3-hour steps for 5 days  
+`current` : current weather
+`forecast` : weather forecast, in 3-hour steps for 5 days
🧰 Tools
🪛 LanguageTool

[uncategorized] ~45-~45: Loose punctuation mark.
Context: ...rmap.org/price#freeaccess) - current : current weather - forecast : weather...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

45-45: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


49-49: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


80-80: Improve table list formatting for Mode
Wrap the list in a single HTML block or use <br> for line breaks to keep table syntax clean.

-| Mode      | <li>`v3.0` (new API version) ...</li><li>`current` ...</li><li>`forecast` ...</li><li>`air_pollution` ...</li> |
+| Mode      | <ul>
+|           |   <li>`v3.0`: current weather + 48-hour hourly & 8-day daily forecasts</li>
+|           |   <li>`current`: current weather only</li>
+|           |   <li>`forecast`: 5-day forecast in 3-hour steps</li>
+|           |   <li>`air_pollution`: current air quality data</li>
+|           | </ul> |
📜 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 92bd9d8 and 03265cd.

📒 Files selected for processing (1)
  • source/_integrations/openweathermap.markdown (6 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/openweathermap.markdown

[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...weathermap.org/price#onecall) - v3.0 : current weather, hourly forecast for 48...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~45-~45: Loose punctuation mark.
Context: ...rmap.org/price#freeaccess) - current : current weather - forecast : weather...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)
source/_integrations/openweathermap.markdown

45-45: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


49-49: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (3)
source/_integrations/openweathermap.markdown (3)

55-57: Deprecation notice is clear and accurate
Stating that API V2.5 is “deprecated and no longer supported” aligns with core changes.


118-124: Clarification on minute forecast failure modes is good
The note clearly explains when the action will fail based on mode.


272-286:

❓ Verification inconclusive

Verify that documented sensor keys match integration code
Ensure the sensor IDs and names in this table align with the entity implementation.


🏁 Script executed:

#!/bin/bash
# Search for air quality sensor keys in the integration code
rg -n "air_quality_index|carbon_monoxide|nitrogen_monoxide|nitrogen_dioxide|ozone|sulphur_dioxide|pm2_5|pm10" -n .

Length of output: 9855


Verify documented sensor keys match implementation
Please confirm that each of the following keys in the OpenWeatherMap air quality table exactly matches the properties returned by the integration’s code (typically in homeassistant/components/openweathermap/sensor.py):

  • air_quality_index
  • carbon_monoxide
  • nitrogen_monoxide
  • nitrogen_dioxide
  • ozone
  • sulphur_dioxide
  • pm2_5
  • pm10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has-parent This PR has a parent PR in a other repo next This PR goes into the next branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant