10000 Add Google Air Quality integration by Thomas55555 · Pull Request #39107 · home-assistant/home-assistant.io · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
8000

Add Google Air Quality integration #39107

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

Conversation

Thomas55555
Copy link
8000 Contributor
@Thomas55555 Thomas55555 commented May 19, 2025

Proposed change

Add Google Air Quality integration

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
    • Added new documentation for the Google Air Quality integration, detailing setup instructions, required credentials, supported features, usage limits, and troubleshooting tips.

@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 May 19, 2025
Copy link
netlify bot commented May 19, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit 16464a0
🔍 Latest deploy log https://app.netlify.com/projects/home-assistant-docs/deploys/682c137f5f449e0008993ca8
😎 Deploy Preview https://deploy-preview-39107--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 May 19, 2025
📝 Walkthrough

"""

Walkthrough

A new documentation file for the "Google Air Quality" integration has been added. This file details setup, configuration, features, limitations, and troubleshooting for integrating Google Air Quality data into Home Assistant, including credential requirements, API usage, and sensor information.

Changes

File(s) Change Summary
source/_integrations/google_air_quality.markdown Added documentation for the new Google Air Quality integration, including setup, usage, API details, sensors, limitations, and troubleshooting.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant HomeAssistant
    participant GoogleAPI

    User->>HomeAssistant: Configure Google Air Quality integration
    HomeAssistant->>User: Request Google API credentials
    User->>HomeAssistant: Provide credentials and location(s)
    HomeAssistant->>GoogleAPI: Poll air quality data (every 60 min)
    GoogleAPI-->>HomeAssistant: Return air quality data (UAQI, PM10, PM2.5, Category)
    HomeAssistant-->>User: Update sensors with latest data
Loading

"""

Note

⚡️ AI Code Reviews for VS Code, Cursor, Windsurf

CodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback.
Learn more here.


Note

⚡️ Faster reviews with caching

CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.
Enjoy the performance boost—your workflow just got faster.


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: 3

🧹 Nitpick comments (6)
source/_integrations/google_air_quality.markdown (6)

25-25: Add missing commas to improve clarity
Introductory adverbs and clauses should be set off with commas for readability.

- Additionally you have to create a *Billing Account*. At the time of writing this documentation Google allows 10,000 API calls per month for free.
+ Additionally, you have to create a *Billing Account*. At the time of writing this documentation, Google allows 10,000 API calls per month for free.

28-28: Rephrase warning overview for grammar and style
Replace awkward prepositions and phrasing to align with HA docs style.

- This integration polls every 60 minutes. Here is an overview about how many API calls are performed per month in dependence of the amount of coordinates:
+ This integration polls every 60 minutes. Here is an overview of how many API calls are performed per month depending on the number of coordinates:
🧰 Tools
🪛 LanguageTool

[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


42-42: Remove unnecessary comma before “when”
The comma before “when reaching” is not needed.

- ... but you can get an alert, when reaching the budget.
+ ... but you can get an alert when reaching the budget.
🧰 Tools
🪛 LanguageTool

[typographical] ~42-~42: Usually, there’s no comma before “when”.
Context: ...mit your costs, but you can get an alert, when reaching the budget. You may want to se...

(IF_NO_COMMA)


43-43: Correct “setup” verb usage and remove extra article
Use “set up” (verb) instead of “setup” (noun), and simplify phrasing.

- You may want to setup [disable billing with notifications](...). This can still produce costs in the between incurring costs and receiving budget notifications.
+ You may want to set up [disable billing with notifications](...). This can still produce costs between incurring costs and receiving budget notifications.
🧰 Tools
🪛 LanguageTool

[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...en reaching the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


45-45: Hyphenate “self-aware”
Compound adjectives require a hyphen.

- You are always self aware of the costs.
+ You are always self-aware of the costs.
🧰 Tools
🪛 LanguageTool

[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endwarning %} {% incl...

(EN_COMPOUNDS_SELF_AWARE)


56-56: Add comma and article in known limitations
Ensure grammatical accuracy in bullet points.

- - Currently only the Universal Air Quality Index (UAQI) is supported as Air Quality Index.
+ - Currently, only the Universal Air Quality Index (UAQI) is supported as an air quality index.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Troubleshooting If ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

📜 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 15c53f5 and 9398cfb.

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

[uncategorized] ~24-~24: A comma may be missing after the conjunctive/linking adverb ‘Additionally’.
Context: ...Google Calendar](/integrations/google). Additionally you have to create a Billing Account....

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


[typographical] ~42-~42: Usually, there’s no comma before “when”.
Context: ...mit your costs, but you can get an alert, when reaching the budget. You may want to se...

(IF_NO_COMMA)


[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...en reaching the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endwarning %} {% incl...

(EN_COMPOUNDS_SELF_AWARE)


[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Troubleshooting If ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

⏰ 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 (1)
source/_integrations/google_air_quality.markdown (1)

7-7: Verify ha_iot_class value formatting
Home Assistant frontmatter fields typically use lowercase snake_case for IoT class values (e.g., cloud_poll). Please confirm that Cloud Poll matches the expected format or update to cloud_poll.

Thomas55555 and others added 2 commits May 19, 2025 22:47
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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/google_air_quality.markdown (4)

25-25: Grammar: Add missing commas.

Consider adding commas for clarity:

- Additionally you have to create a *Billing Account*. At the time of writing this documentation Google allows 10,000 API calls per month for free.
+ Additionally, you have to create a *Billing Account*. At the time of writing this documentation, Google allows 10,000 API calls per month for free.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~25-~25: Possible missing comma found.
Context: ...g Account*. At the time of writing this documentation Google allows 10,000 API calls per mont...

(AI_HYDRA_LEO_MISSING_COMMA)


28-28: Clarity: Simplify phrasing for API call overview.

Rephrase to improve readability and use correct term:

- This integration polls every 60 minutes. Here is an overview about how many API calls are performed per month in dependence of the amount of coordinates:
+ This integration polls every 60 minutes. Here is an overview of monthly API calls based on the number of coordinates:
🧰 Tools
🪛 LanguageTool

[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


43-43: Typo: Use correct verb form.

Replace “setup” with the verb “set up”:

- You may want to setup [disable billing with notifications](...).
+ You may want to set up [disable billing with notifications](...).
🧰 Tools
🪛 LanguageTool

[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...en reaching the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


45-45: Typographical: Hyphenate compound adjective.

Add a hyphen to “self-aware”:

- You are always self aware of the costs.
+ You are always self-aware of the costs.
🧰 Tools
🪛 LanguageTool

[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endwarning %} {% incl...

(EN_COMPOUNDS_SELF_AWARE)

📜 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 9398cfb and 6160491.

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

[uncategorized] ~24-~24: A comma may be missing after the conjunctive/linking adverb ‘Additionally’.
Context: ...Google Calendar](/integrations/google). Additionally you have to create a Billing Account....

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~25-~25: Possible missing comma found.
Context: ...g Account*. At the time of writing this documentation Google allows 10,000 API calls per mont...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


[uncategorized] ~39-~39: Possible missing comma found.
Context: ...0 | 8,000 12 | 9,600 Consider each restart of Home Assistant is an ad...

(AI_HYDRA_LEO_MISSING_COMMA)


[typographical] ~42-~42: Usually, there’s no comma before “when”.
Context: ...mit your costs, but you can get an alert, when reaching the budget. You may want to se...

(IF_NO_COMMA)


[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...en reaching the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endwarning %} {% incl...

(EN_COMPOUNDS_SELF_AWARE)


[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Troubleshooting If ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

⏰ 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 (2)
source/_integrations/google_air_quality.markdown (2)

1-16: Frontmatter and Metadata: Looks good.

The YAML frontmatter correctly specifies title, description, category, release, IoT class, config flow support, code owners, platforms, integration type, domain, and quality scale. Documentation standards met.


68-75: Entities Section: Definitions accurate.

Sensor descriptions for Universal Air Quality Index, Category, PM10, and PM2.5 are correctly defined and formatted.

@c0ffeeca7 c0ffeeca7 added the new-integration This PR adds documentation for a new Home Assistant integration label May 20, 2025
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/google_air_quality.markdown (4)

18-18: Consistent casing for 'air quality'
To align with common style guidelines, consider lowercasing “Air quality” in the sentence (the API name remains capitalized):

- The **Google Air Quality** {% term integration %} provides Air quality data through the Google Air Quality API.
+ The **Google Air Quality** {% term integration %} provides air quality data through the Google Air Quality API.

22-26: Enhance billing guidance
Great to call out the free tier. Optionally, you could link to pricing details and clarify that charges apply beyond 10,000 calls:

- Additionally, you have to create a *Billing Account*. At the time of writing this documentation, Google allows 10,000 API calls per month for free.
+ Additionally, you have to create a *Billing Account*. At the time of writing this documentation, Google allows 10,000 API calls per month for free. Beyond that, standard Google Cloud rates apply—see [Google Cloud pricing](https://cloud.google.com/pricing) for details.

27-46: Refine wording in usage table and notes
The section can be made clearer and more idiomatic by adjusting prepositions, hyphenating compounds, and rephrasing the restart note:

- This integration polls every 60 minutes. Here is an overview about how many API calls are performed per month in dependence of the amount of coordinates:
+ This integration polls every 60 minutes. Below is an overview of API calls per month, depending on the number of coordinates:
...
- Consider each restart of Home Assistant is an additional API call, per coordinate/entry.
+ Consider that each restart of Home Assistant results in an additional API call per coordinate.
- You are always self aware of the costs.
+ You are always self-aware of the costs.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


[uncategorized] ~39-~39: Possible missing comma found.
Context: ...0 | 8,000 12 | 9,600 Consider each restart of Home Assistant is an ad...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...n you reach the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endimportant %} {% in...

(EN_COMPOUNDS_SELF_AWARE)


54-57: Insert comma after 'Currently'
Improve readability by adding a comma after “Currently”:

- - Currently only the Universal Air Quality Index (UAQI) is supported as Air Quality Index.
+ - Currently, only the Universal Air Quality Index (UAQI) is supported as Air Quality Index.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Supported functional...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

📜 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 6160491 and ec783a8.

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

[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


[uncategorized] ~39-~39: Possible missing comma found.
Context: ...0 | 8,000 12 | 9,600 Consider each restart of Home Assistant is an ad...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...n you reach the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endimportant %} {% in...

(EN_COMPOUNDS_SELF_AWARE)


[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Supported functional...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

⏰ 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/google_air_quality.markdown (5)

1-16: Frontmatter follows Home Assistant standards
The YAML frontmatter includes all required keys (title, description, ha_category, ha_release, ha_iot_class, ha_config_flow, ha_codeowners, ha_platforms, ha_integration_type, ha_domain, ha_quality_scale) and correctly uses bronze for a beta‐quality integration.


48-53: Verify snippet includes
Confirm that the following snippet files exist and are up to date in source/_integrations/integrations/ (or the appropriate docs path):

  • google_client_secret.md
  • config_flow.md
  • google_oauth.md

62-72: Sensor descriptions are accurate and well-formatted
The sensor list correctly includes:

  • Proper apostrophe in “Google's AQI”
  • Closed italic formatting for Category
  • Accurate definitions for PM10 and PM2.5

73-76: Troubleshooting guidance is clear
The steps for deleting credentials via the Application Credentials UI are straightforward and actionable.


77-81: Removal instructions present
Including the remove_device_service.md snippet ensures users can cleanly uninstall the integration.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

81-81: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)

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

18-18: Use consistent casing for 'air quality data'
Lowercase generic terms for clarity and consistency:

-The **Google Air Quality** {% term integration %} provides Air quality data through the Google Air Quality API.
+The **Google Air Quality** {% term integration %} provides air quality data through the Google Air Quality API.

25-26: Refine billing account instruction
Use lowercase for generic terms and improve phrasing:

-Additionally, you have to create a *Billing Account*. At the time of writing this documentation, Google allows 10,000 API calls per month for free.
+Additionally, you must create a billing account. At the time of writing, Google provides 10,000 free API calls per month.

28-29: Improve phrasing for API call overview
The sentence is awkward; consider rewording:

-This integration polls every 60 minutes. Here is an overview about how many API calls are performed per month in dependence of the amount of coordinates:
+This integration polls every 60 minutes. The table below shows the number of API calls per month based on the number of configured coordinates:
🧰 Tools
🪛 LanguageTool

[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


40-41: Clarify restart behavior wording
Refine the sentence for clarity:

-Consider each restart of Home Assistant is an additional API call, per coordinate/entry.
+Each restart of Home Assistant triggers an additional API call for every configured coordinate.

43-44: Correct verb form 'set up'
Use "set up" (verb) instead of "setup" (noun):

-You may want to setup [disable billing with notifications](https://cloud.google.com/billing/docs/how-to/disable-billing-with-notifications).
+You may want to set up [disable billing with notifications](https://cloud.google.com/billing/docs/how-to/disable-billing-with-notifications).
🧰 Tools
🪛 LanguageTool

[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...n you reach the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


45-45: Hyphenate 'self-aware'
Add a hyphen for correct spelling:

-You are always self aware of the costs.
+You are always self-aware of the costs.
🧰 Tools
🪛 LanguageTool

[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endimportant %} {% in...

(EN_COMPOUNDS_SELF_AWARE)


56-57: Add comma and article for clarity
Improve readability in the Known limitations:

-Currently only the Universal Air Quality Index (UAQI) is supported as Air Quality Index.
+Currently, only the Universal Air Quality Index (UAQI) is supported as the Air Quality Index.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Supported functional...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

📜 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 ec783a8 and 16464a0.

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

[uncategorized] ~28-~28: The preposition “of” seems more likely in this position.
Context: ...s every 60 minutes. Here is an overview about how many API calls are performed per mo...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[uncategorized] ~28-~28: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...erformed per month in dependence of the amount of coordinates: Coordinates | API call...

(AMOUNTOF_TO_NUMBEROF)


[grammar] ~43-~43: The word “setup” is a noun. The verb is spelled with a space.
Context: ...n you reach the budget. You may want to setup [disable billing with notifications](ht...

(NOUN_VERB_CONFUSION)


[misspelling] ~45-~45: This word is normally spelled with a hyphen.
Context: ...g budget notifications. You are always self aware of the costs. {% endimportant %} {% in...

(EN_COMPOUNDS_SELF_AWARE)


[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...le_oauth.md %} ## Known limitations - Currently only the Universal Air Quality Index (U...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~56-~56: You might be missing the article “an” here.
Context: ...ir Quality Index (UAQI) is supported as Air Quality Index. ## Supported functional...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

⏰ 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/google_air_quality.markdown (5)

31-39: Verify accuracy of API call counts
The sample values (e.g., 800 calls for 1 coordinate) don’t align with a strict 60-minute polling schedule (24 × 30 = 720). Please confirm whether these figures are approximations or require correction.


48-53: Include statements look correct
The snippets for google_client_secret, config_flow, and google_oauth are properly included.


64-68: Sensor descriptions are accurate and formatted correctly
The descriptions for UAQI, Category, PM10, and PM2.5 accurately reflect their meanings and follow markdown conventions.


71-72: Troubleshooting instructions look good
The guidance for deleting credentials via the Application Credentials UI is clear and correctly linked.


73-76: Removal instructions are correctly included
The snippet for removing the integration is present and appropriate.

ha_category:
- Sensor
ha_release: 2025.7
ha_iot_class: Cloud Poll
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix IoT class metadata formatting
The ha_iot_class value should be in snake_case (cloud_poll) to match Home Assistant documentation conventions, not title case.
Apply this diff:

-ha_iot_class: Cloud Poll
+ha_iot_class: cloud_poll
📝 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.

Suggested change
ha_iot_class: Cloud Poll
ha_iot_class: cloud_poll
🤖 Prompt for AI Agents
In source/_integrations/google_air_quality.markdown at line 7, the ha_iot_class
metadata value is incorrectly formatted as "Cloud Poll". Change it to snake_case
"cloud_poll" to comply with Home Assistant documentation conventions.

@c0ffeeca7 c0ffeeca7 added the awaits-parent Awaits the merge of an parent PR label May 20, 2025
Copy link
Contributor
@c0ffeeca7 c0ffeeca7 left a comment

Choose a reason for hiding this comment

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

Thank you, @Thomas55555 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaits-parent Awaits the merge of an parent PR has-parent This PR has a parent PR in a other repo new-integration This PR adds documentation for a new Home Assistant integration next This PR goes into the next branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0