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

Skip to content

Add SolarEdge Modules docs #39361

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

Add SolarEdge Modules docs #39361

wants to merge 18 commits into from

Conversation

tronikos
Copy link
Member

@tronikos tronikos commented Jun 3, 2025

Proposed change

Add docs for home-assistant/core#146036

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 detailed documentation for the SolarEdge Modules integration, covering setup, usage, monitoring of solar energy production data, visualization options, automation examples, and troubleshooting guidance within Home Assistant.

@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 3, 2025
Copy link

netlify bot commented Jun 3, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit b4b056e
🔍 Latest deploy log https://app.netlify.com/projects/home-assistant-docs/deploys/6847dde22d854800087b498b
😎 Deploy Preview https://deploy-preview-39361--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 3, 2025

📝 Walkthrough

Walkthrough

A new documentation file has been added for the SolarEdge Modules integration in Home Assistant. The documentation outlines the integration's purpose, configuration steps, usage instructions, limitations, and troubleshooting guidance for retrieving and utilizing per-module solar energy production data.

Changes

File(s) Change Summary
source/_integrations/solaredge_modules.markdown Added documentation for the SolarEdge Modules integration, including setup, usage, limitations, and troubleshooting.

Sequence Diagram(s)

sequenceDiagram
    User->>Home Assistant: Configure SolarEdge Modules integration (provide credentials & site ID)
    Home Assistant->>SolarEdge Web Portal: Request energy production data (past 7 days)
    SolarEdge Web Portal-->>Home Assistant: Return inverter, string, and module data
    Home Assistant->>Statistics: Insert retrieved data
    User->>Home Assistant: Access statistics via Developer Tools or automations
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: 1

🧹 Nitpick comments (3)
source/_integrations/solaredge_modules.markdown (3)

16-23: Use concise phrasing
On line 22, consider replacing “in order to” with “to” for brevity and clarity.
Example:

- The main use case is to track your solar production per module in order to identify …
+ The main use case is to track your solar production per module to identify …
🧰 Tools
🪛 LanguageTool

[style] ~22-~22: Consider a more concise word here.
Context: ... track your solar production per module in order to identify any faulty module that underpe...

(IN_ORDER_TO_PREMIUM)


37-37: Add missing comma
Insert a comma after “updates” to improve readability.

- If you want more frequent updates you can call `homeassistant.reload_config_entry` from an automation.
+ If you want more frequent updates, you can call `homeassistant.reload_config_entry` from an automation.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~37-~37: A comma might be missing here.
Context: ...infrequently. If you want more frequent updates you can call `homeassistant.reload_conf...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


41-42: Improve word choice
Consider replacing “give you access” with “grant you access” (or “provide you with access”) for stronger phrasing.

- Make sure your account has access … If not, you will have to ask your installer to give you access to it.
+ Make sure your account has access … If not, you will have to ask your installer to grant you access.
🧰 Tools
🪛 LanguageTool

[style] ~41-~41: Try using a synonym here to strengthen your writing.
Context: ... you will have to ask your installer to give you access to it.

(GIVE_PROVIDE)

📜 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 2d62b1e and ec532db.

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

[style] ~22-~22: Consider a more concise word here.
Context: ... track your solar production per module in order to identify any faulty module that underpe...

(IN_ORDER_TO_PREMIUM)


[grammar] ~26-~26: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...inserts the data into statistics.

To setup the integration you need your username/...

(NOUN_VERB_CONFUSION)


[grammar] ~26-~26: The word “log-in” is a noun. The verb is spelled with a space.
Context: ...which you can get from the URL once you log-in, e.g. 1234 for `https://monitoring.so...

(NOUN_VERB_CONFUSION)


[uncategorized] ~37-~37: A comma might be missing here.
Context: ...infrequently. If you want more frequent updates you can call `homeassistant.reload_conf...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~41-~41: Try using a synonym here to strengthen your writing.
Context: ... you will have to ask your installer to give you access to it.

(GIVE_PROVIDE)

⏰ 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/solaredge_modules.markdown (1)

1-14: Verify front matter fields for integration docs
The ha_dhcp: true setting suggests DHCP discovery, but this integration uses Cloud Polling and doesn’t leverage DHCP. Also confirm whether ha_integration_type: service is a valid type for statistics-only integrations. Please verify these front matter keys against the Home Assistant documentation guidelines.

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

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

26-27: Fix setup instruction grammar and clarity

This sentence still contains the outdated patterns identified earlier. Please apply the full set of grammatical fixes as suggested:

  • Change username/password to username and password
  • Replace that has access with with access
  • Change log-in to log in
  • Add a period at the end of the sentence
--- a/source/_integrations/solaredge_modules.markdown
@@ 26
-To set up the integration you need your username/password that has access to the [SolarEdge web portal](https://monitoring.solaredge.com/). You also need the site ID which you can get from the URL once you log-in, e.g. `1234` for `https://monitoring.solaredge.com/solaredge-web/p/site/1234/`
+To set up the integration, you need a username and password with access to the [SolarEdge web portal](https://monitoring.solaredge.com/). You also need the site ID, which you can get from the URL once you log in (for example, `1234` from `https://monitoring.solaredge.com/solaredge-web/p/site/1234/`).
🧰 Tools
🪛 LanguageTool

[grammar] ~26-~26: The word “log-in” is a noun. The verb is spelled with a space.
Context: ...which you can get from the URL once you log-in, e.g. 1234 for `https://monitoring.so...

(NOUN_VERB_CONFUSION)

🧹 Nitpick comments (3)
source/_integrations/solaredge_modules.markdown (3)

38-38: Hyphenate compound adjective

Per style guidelines, use a hyphen for “long-term” as a compound adjective:

--- a/source/_integrations/solaredge_modules.markdown
@@ 38
-- The API provides data at 15 minutes interval but Home Assistant long term statistics can only be at 1 hour interval.
+- The API provides data at 15 minutes interval, but Home Assistant long-term statistics can only be at a 1 hour interval.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~38-~38: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... 15 minutes interval but Home Assistant long term statistics can only be at 1 hour interv...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


19-20: Link to related integrations and wrap entity names

For better user guidance, link to the Statistic/Statistics Graph cards and the SQL integration, and wrap their names in backticks:

--- a/source/_integrations/solaredge_modules.markdown
@@ 19
-You can show them in the UI using the **Statistic** or **Statistics graph** cards.
+You can show them in the UI using the [`Statistic`][stat-entity] or [`Statistics Graph`][stat-graph-entity] cards.
@@ 20
-You can use them in automations using the **SQL** integration.
+You can use them in automations using the [`SQL`][sql-integration] integration.

37-37: Link reload service and improve example

Wrap the service call in backticks and link to the reload service documentation:

--- a/source/_integrations/solaredge_modules.markdown
@@ 37
-- If you want more frequent updates, you can call `homeassistant.reload_config_entry` from an automation.
+- If you want more frequent updates, you can call the [`homeassistant.reload_config_entry`][reload-config-entry] service from an automation.
📜 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 ec532db and b46ba0c.

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

[grammar] ~26-~26: The word “log-in” is a noun. The verb is spelled with a space.
Context: ...which you can get from the URL once you log-in, e.g. 1234 for `https://monitoring.so...

(NOUN_VERB_CONFUSION)


[uncategorized] ~38-~38: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... 15 minutes interval but Home Assistant long term statistics can only be at 1 hour interv...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

⏰ 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

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/solaredge_modules.markdown (1)

10-10: Remove incorrect DHCP metadata

The ha_dhcp: true entry is not applicable for a cloud-polling integration. It should be removed (or set to false) to accurately represent the discovery method.
Apply this diff:

- ha_dhcp: true
🧹 Nitpick comments (3)
source/_integrations/solaredge_modules.markdown (3)

16-16: Clarify integration name for consistency

Since the title and domain use “SolarEdge Modules,” update the introduction to refer specifically to the “SolarEdge Modules integration” to avoid confusion with the core SolarEdge integration.

- The SolarEdge integration allows you to get energy production per inverter/string/module from your SolarEdge solar power setup and insert them into Home Assistant statistics.
+ The SolarEdge Modules integration allows you to retrieve energy production data per inverter, string, and module from your SolarEdge solar power setup and insert it into Home Assistant statistics.

26-26: Fix grammatical errors in setup instructions

Revise the sentence to add the missing comma, correct noun–verb confusion, and improve clarity:

- To set up the integration you need your username/password that has access to the [SolarEdge web portal](https://monitoring.solaredge.com/). You also need the site ID which you can get from the URL once you log-in, e.g. `1234` for `https://monitoring.solaredge.com/solaredge-web/p/site/1234/`
+ To set up the integration, you need a username and password with access to the [SolarEdge web portal](https://monitoring.solaredge.com/). You also need the site ID, which you can get from the URL once you log in (for example, `1234` from `https://monitoring.solaredge.com/solaredge-web/p/site/1234/`).
🧰 Tools
🪛 LanguageTool

[uncategorized] ~26-~26: Possible missing comma found.
Context: ... data into statistics.

To set up the integration you need your username/password that ha...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~26-~26: The word “log-in” is a noun. The verb is spelled with a space.
Context: ...which you can get from the URL once you log-in, e.g. 1234 for `https://monitoring.so...

(NOUN_VERB_CONFUSION)


38-38: Add hyphens to adjectival compounds

Compound modifiers should be hyphenated. Update the interval description:

- - The API provides data at 15 minutes interval, but Home Assistant long-term statistics can only be at a 1 hour interval.
+ - The API provides data at a 15-minute interval, but Home Assistant long-term statistics are limited to a 1-hour interval.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~38-~38: When a number forms part of an adjectival compound, use a hyphen.
Context: ...t long-term statistics can only be at a 1 hour interval.

Troubleshooting

Make...

(MISSING_HYPHEN)

📜 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 b46ba0c and 1912d79.

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

[uncategorized] ~26-~26: Possible missing comma found.
Context: ... data into statistics.

To set up the integration you need your username/password that ha...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~26-~26: The word “log-in” is a noun. The verb is spelled with a space.
Context: ...which you can get from the URL once you log-in, e.g. 1234 for `https://monitoring.so...

(NOUN_VERB_CONFUSION)


[uncategorized] ~38-~38: When a number forms part of an adjectival compound, use a hyphen.
Context: ...t long-term statistics can only be at a 1 hour interval.

Troubleshooting

Make...

(MISSING_HYPHEN)

⏰ 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

@c0ffeeca7 c0ffeeca7 added the new-integration This PR adds documentation for a new Home Assistant integration label Jun 4, 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: 1

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

4-14: 🛠️ Refactor suggestion

Remove incorrect discovery metadata
The ha_dhcp: true entry is not applicable for a cloud-polling integration. Remove this line to accurately reflect the integration’s discovery capabilities.

--- a/source/_integrations/solaredge_modules.markdown
@@
- ha_dhcp: true
🧹 Nitpick comments (2)
source/_integrations/solaredge_modules.markdown (2)

130-130: Use correct preposition in result phrase
Replace “result to a sensor” with “result in a sensor” for idiomatic usage.

-This will result to a sensor with state e.g.: `SolarEdge 1.1.13 (95.7%), SolarEdge 1.1.14 (95.2%)`
+This will result in a sensor with state e.g.: `SolarEdge 1.1.13 (95.7%), SolarEdge 1.1.14 (95.2%)`
🧰 Tools
🪛 LanguageTool

[uncategorized] ~130-~130: The preposition ‘in’ seems more likely in this position.
Context: ...tion at all
)


This will result to a sensor with state e.g.: `SolarEdge 1....

(AI_HYDRA_LEO_REPLACE_TO_IN)

</details>

</details>

---

`131-131`: **Add missing comma after “e.g.”**  
The abbreviation “e.g.” should be followed by a comma for correct punctuation.  


```diff
-You can use this sensor in automations, e.g to notify you if its value changes.
+You can use this sensor in automations, e.g., to notify you if its value changes.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~131-~131: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...You can use this sensor in automations, e.g to notify you if its value changes.

...

(E_G)

📜 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 f079735 and f592c06.

⛔ Files ignored due to path filters (2)
  • source/images/integrations/solaredge_modules/daily_production.png is excluded by !**/*.png
  • source/images/integrations/solaredge_modules/hourly_production.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • source/_integrations/solaredge_modules.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/solaredge_modules.markdown

[typographical] ~74-~74: It seems that a comma is missing.
Context: ...```

SQL

To identify problematic modules you could setup the [SQL](/integratio...

(IN_ORDER_TO_VB_COMMA)


[grammar] ~74-~74: The word “setup” is a noun. The verb is spelled with a space.
Context: ... identify problematic modules you could setup the SQL integra...

(NOUN_VERB_CONFUSION)


[uncategorized] ~130-~130: The preposition ‘in’ seems more likely in this position.
Context: ...tion at all
)


This will result to a sensor with state e.g.: `SolarEdge 1....

(AI_HYDRA_LEO_REPLACE_TO_IN)

---

[uncategorized] ~131-~131: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...You can use this sensor in automations, e.g to notify you if its value changes.

...

(E_G)

</details>

</details>
<details>
<summary>🪛 markdownlint-cli2 (0.17.2)</summary>

<details>
<summary>source/_integrations/solaredge_modules.markdown</summary>

71-71: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

---

72-72: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)

</details>

</details>

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms (3)</summary>

* GitHub Check: Redirect rules - home-assistant-docs
* GitHub Check: Header rules - home-assistant-docs
* GitHub Check: Pages changed - home-assistant-docs

</details>

</details>

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

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/solaredge_modules.markdown (1)

10-10: ⚠️ Potential issue

Remove inapplicable ha_dhcp metadata
The ha_dhcp: true entry is only relevant for DHCP discovery and should be omitted for a cloud-polling integration.

Proposed diff:

--- a/source/_integrations/solaredge_modules.markdown
+++ b/source/_integrations/solaredge_modules.markdown
@@
- ha_dhcp: true
🧹 Nitpick comments (2)
source/_integrations/solaredge_modules.markdown (2)

71-72: Surround fenced code block with blank lines
Markdown lint requires a blank line after a closing fence and before the next heading.

Proposed diff:

--- a/source/_integrations/solaredge_modules.markdown
+++ b/source/_integrations/solaredge_modules.markdown
@@ 71,72
-```
-### SQL
+```
+
+### SQL
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

71-71: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


72-72: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)


131-131: Fix “e.g.” punctuation
Add the missing period and comma after “e.g.” for correct abbreviation and readability.

Proposed diff:

--- a/source/_integrations/solaredge_modules.markdown
+++ b/source/_integrations/solaredge_modules.markdown
@@ 131
-You can use this sensor in automations, e.g to notify you if its value changes.
+You can use this sensor in automations, e.g., to notify you if its value changes.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~131-~131: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...You can use this sensor in automations, e.g to notify you if its value changes.

...

(E_G)

📜 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 f592c06 and da25cd0.

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

[uncategorized] ~74-~74: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~131-~131: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...You can use this sensor in automations, e.g to notify you if its value changes.

...

(E_G)

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

71-71: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


72-72: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)

⏰ 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

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

🧹 Nitpick comments (1)
source/_integrations/solaredge_modules.markdown (1)

73-129: SQL example contains TODO placeholders.

The snippet includes -- TODO: Adjust this to match your setup and -- TODO: Adjust the 96% threshold if needed. Consider turning these into a callout or note above the snippet, so users clearly see which parts must be customized.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~75-~75: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

📜 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 da25cd0 and 9ef72bf.

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

[uncategorized] ~75-~75: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

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

1-14: Frontmatter metadata looks good.

YAML fields (title, description, ha_category, ha_release, etc.) follow Home Assistant documentation standards and are consistent with the existing SolarEdge integration.


16-24: Introduction is clear and concise.

The overview of the integration’s capabilities and how statistics are exposed in Developer Tools aligns with style guidelines and provides sufficient context.


26-27: Setup instructions are grammatically correct and clear.

The phrasing “To set up the integration, you need a username and password with access…” is now accurate and follows documentation conventions.


28-28: Configuration snippet include is correct.

Including integrations/config_flow.md ensures readers see the standard config flow instructions.


30-33: Examples section header is well structured.

Use of “## Examples” and subheading “### Statistics graph” follows HA docs style.


134-137: Removal instructions include is correct.

Using integrations/remove_device_service.md matches other integrations’ patterns.


138-143: Known limitations are well documented.

The bullet points clearly outline the integration’s update frequency, data interval constraints, and sensor behavior.


145-147: Troubleshooting guidance is straightforward.

Advising users to confirm Layout tab access in the SolarEdge portal provides actionable next steps.

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/solaredge_modules.markdown (1)

82-82: Refine grammar and code span formatting in SQL note
Remove extra spaces inside code spans, insert a comma after “In the example,”, and hyphenate “to-dos” for consistency.

@@ -82 +82
-The SQL code contains a couple of TODOs for you to adjust the threshold and to select the proper modules based on your solar installation. In the example the panels on the east side have ` 1.1.` while the ones on the west have ` 1.2.`.
+The SQL code contains a couple of to-dos for you to adjust the threshold and to select the proper modules based on your solar installation. In the example, the panels on the east side have `1.1.` while the ones on the west have `1.2.`
🧰 Tools
🪛 LanguageTool

[grammar] ~82-~82: It appears that a hyphen is missing in the plural noun “to-dos”?
Context: ...e %}
The SQL code contains a couple of TODOs for you to adjust the threshold and to ...

(TO_DO_HYPHEN)


[uncategorized] ~82-~82: A comma might be missing here.
Context: ...ased on your solar installation. In the example the panels on the east side have ` 1.1....

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🪛 markdownlint-cli2 (0.17.2)

82-82: Spaces inside code span elements
null

(MD038, no-space-in-code)


82-82: Spaces inside code span elements
null

(MD038, no-space-in-code)

📜 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 9ef72bf and 1df74e4.

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

[uncategorized] ~79-~79: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[grammar] ~82-~82: It appears that a hyphen is missing in the plural noun “to-dos”?
Context: ...e %}
The SQL code contains a couple of TODOs for you to adjust the threshold and to ...

(TO_DO_HYPHEN)


[uncategorized] ~82-~82: A comma might be missing here.
Context: ...ased on your solar installation. In the example the panels on the east side have ` 1.1....

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

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

82-82: Spaces inside code span elements
null

(MD038, no-space-in-code)


82-82: Spaces inside code span elements
null

(MD038, no-space-in-code)

⏰ 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/solaredge_modules.markdown (2)

36-36:

✅ Verification successful

Verify image path exists for hourly production screenshot
Ensure that the image referenced at /images/integrations/solaredge_modules/hourly_production.png is present in the repository to avoid broken links in the documentation build.


🏁 Script executed:

#!/bin/bash
# Verify screenshot exists for hourly production graph
fd images/integrations/solaredge_modules/hourly_production.png images

Length of output: 165


🏁 Script executed:

#!/bin/bash
# Search for the 'hourly_production.png' screenshot anywhere in the repository
fd hourly_production.png

Length of output: 93


Confirmed image presence for hourly production graph
The file source/images/integrations/solaredge_modules/hourly_production.png exists and matches the reference /images/integrations/solaredge_modules/hourly_production.png. No further action required.


60-60:

✅ Verification successful

Verify image path exists for daily production screenshot
Ensure that the image referenced at /images/integrations/solaredge_modules/daily_production.png is present in the repository to avoid broken links in the documentation build.


🏁 Script executed:

#!/bin/bash
# Verify screenshot exists for daily production graph
fd images/integrations/solaredge_modules/daily_production.png images

Length of output: 164


🏁 Script executed:

#!/bin/bash
# Search for daily_production.png anywhere in the repository
rg -n "daily_production.png"
find . -type f -iname "daily_production.png"

Length of output: 302


Image path verified
The screenshot reference /images/integrations/solaredge_modules/daily_production.png exists at source/images/integrations/solaredge_modules/daily_production.png. No broken-link risk.

• source/_integrations/solaredge_modules.markdown:60
• source/images/integrations/solaredge_modules/daily_production.png

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

36-37: Enhance image alt text for accessibility
The alt text Screenshot hourly production Statistics graph is generic. Consider making it more descriptive, e.g., Hourly module production graph for past 7 days, to aid screen readers.


60-61: Enhance image alt text for accessibility
The alt text Screenshot daily production Statistics graph could be more descriptive, e.g., Daily module production graph for past 7 days, to improve accessibility.


38-40: Refine note phrasing for clarity
Replace “press on SHOW VISUAL EDITOR” with “use SHOW VISUAL EDITOR” for more natural wording.

Proposed diff:

-The statistic IDs below are examples. It's recommended to press on **SHOW VISUAL EDITOR** to select the statistics based on their name instead.
+The statistic IDs below are examples. It's recommended to use **SHOW VISUAL EDITOR** to select the statistics by name instead.

62-75: Standardize example config ordering
The two statistics-graph snippets use different key orders (days_to_show vs title). Align both examples to the same property order for consistency.

Proposed diff for the second example:

@@
-  stat_types:
-    - change
- title: Daily production per module on east side
- days_to_show: 30
+  stat_types:
+    - change
+  days_to_show: 30
+  title: Daily production per module on east side

91-137: Alias the SQL subquery for compatibility
Most SQL dialects (including SQLite) require a subquery alias. Add an alias (e.g., AS result) after the closing parenthesis of the subquery to ensure the query executes without errors.

Proposed diff:

-SELECT
+SELECT * FROM (
     WITH RelevantTimeRange AS (
         -- ...
     )
     -- rest of CTEs and SELECT
-) 
+ ) AS result
📜 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 1df74e4 and d91ee0b.

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

[uncategorized] ~79-~79: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~82-~82: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)

⏰ 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

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/solaredge_modules.markdown (1)

92-141: SQL snippet is comprehensive
CTEs and comments guide users through adjusting time ranges and thresholds. Consider using an explicit CROSS JOIN instead of the implicit comma join on line 134 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 d91ee0b and 04641b0.

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

[uncategorized] ~79-~79: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~82-~82: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)

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

1-14: Front matter is complete and accurate
Metadata keys (title, description, ha_category, ha_release, ha_iot_class, ha_config_flow, ha_domain, ha_dhcp, ha_codeowners, ha_integration_type) follow Home Assistant standards and are consistent with similar integrations.


16-21: Integration description is clear and concise
The introduction effectively communicates the purpose of the integration and where data appears in the UI.


22-24: Use case and fetch schedule clearly documented
Users are informed about the main use-case and update frequency.


26-26: Setup instructions are grammatically correct
The sentence “To set up the integration, you need a username and password with access…” reads well and follows documentation standards.


28-28: Config flow inclusion is correct
The {% include integrations/config_flow.md %} directive is properly placed to show the config flow snippet.


30-37: Examples section formatting is consistent
The use of headings and screenshots to introduce the Statistics graph examples is clear.


42-55: First Statistics graph YAML example is valid
Entities use the correct statistic ID format, and the example is easy to follow.


57-61: Second example narrative is clear
Describes the purpose of the daily production graph effectively.


63-75: Second Statistics graph YAML example is valid
Consistent with the first example; parameters correctly set for daily data.


77-83: SQL integration introduction is clear
Instructions for using the SQL integration and caveats in the note are helpful.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~79-~79: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~82-~82: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


146-149: Removing the integration section is correct
The {% include integrations/remove_device_service.md %} snippet is correctly placed.


150-155: Known limitations documented adequately
Clear explanation of limitations, update intervals, and statistic constraints.


156-159: Troubleshooting guidance is clear
Adequately informs users about permissions needed in the SolarEdge portal.

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

143-143: Use standard “e.g.,” punctuation
Replace the “e.g.:” construction with “e.g.,” to follow conventional usage.

- This will result in a sensor with state e.g.: `SolarEdge 1.1.13 (95.7%), …`
+ This will result in a sensor with state e.g., `SolarEdge 1.1.13 (95.7%), …`
🧰 Tools
🪛 LanguageTool

[uncategorized] ~143-~143: Possible missing comma found.
Context: ...``

This will result in a sensor with state e.g.: `SolarEdge 1.1.13 (95.7%), SolarE...

(AI_HYDRA_LEO_MISSING_COMMA)


145-146: Fix typo in “unnecessarily”
Correct the misspelling “uncessarily” to “unnecessarily” for clarity.

- Because this SQL sensor will uncessarily be updating every 30 seconds, …
+ Because this SQL sensor will unnecessarily be updating every 30 seconds, …
📜 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 04641b0 and 6f46ee4.

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

[uncategorized] ~79-~79: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~82-~82: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[uncategorized] ~143-~143: Possible missing comma found.
Context: ...``

This will result in a sensor with state e.g.: `SolarEdge 1.1.13 (95.7%), SolarE...

(AI_HYDRA_LEO_MISSING_COMMA)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Redirect rules - home-assistant-docs

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/solaredge_modules.markdown (1)

154-183: 🛠️ Refactor suggestion

Automation snippet needs schema alignment.

Current keys (triggers, actions, metadata, data) do not match Home Assistant’s automation format. Apply this diff to fix the YAML structure:

 alias: "Notify: Low solar production modules"
-triggers:
-  - trigger: time
-    at: "11:00:00"
+trigger:
+  - platform: time
+    at: "11:00:00"
 conditions: []
-actions:
-  - action: homeassistant.update_entity
-    metadata: {}
-    data:
-      entity_id:
-        - sensor.solaredge_low_production_modules_east
-        - sensor.solaredge_low_production_modules_west
-  - if:
-      - condition: template
-        value_template: |-
-          {{ states('sensor.solaredge_low_production_modules_east') != '' or
-             states('sensor.solaredge_low_production_modules_west') != '' }}
-    then:
-      - action: persistent_notification.create
-        metadata: {}
-        data:
-          message: >-
-            East: {{ states('sensor.solaredge_low_production_modules_east') |
-            default('N/A') }}
-
-            West: {{ states('sensor.solaredge_low_production_modules_west') |
-            default('N/A') }}
-          title: Low production detected on solar modules
-          notification_id: solaredge_modules_low_production_alert
+action:
+  - service: homeassistant.update_entity
+    target:
+      entity_id:
+        - sensor.solaredge_low_production_modules_east
+        - sensor.solaredge_low_production_modules_west
+  - condition: template
+    value_template: >-
+      {{ states('sensor.solaredge_low_production_modules_east') != '' or
+         states('sensor.solaredge_low_production_modules_west') != '' }}
+  - service: persistent_notification.create
+    data:
+      message: >-
+        East: {{ states('sensor.solaredge_low_production_modules_east')
+        | default('N/A') }}
+
+        West: {{ states('sensor.solaredge_low_production_modules_west')
+        | default('N/A') }}
+      title: "Low production detected on solar modules"
+      notification_id: solaredge_modules_low_production_alert
 mode: single
🧹 Nitpick comments (3)
source/_integrations/solaredge_modules.markdown (3)

82-82: Nit: improve phrasing of the SQL note.

Consider rephrasing “couple of to-dos” to “couple of TODO items” for clarity.

- The SQL code contains a couple of to-dos for you to adjust the threshold and to select the proper modules based on your solar installation.
+ The SQL code contains a couple of TODO items to adjust the threshold and select the proper modules based on your solar installation.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~82-~82: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


134-135: Consider using explicit JOIN syntax.

Replace the implicit comma join with an explicit CROSS JOIN for consistency with earlier CTEs:

- FROM
-     ModuleProduction mp, AverageProduction ap -- Implicit cross join
+ FROM ModuleProduction mp
+ CROSS JOIN AverageProduction ap -- Explicit cross join

143-143: Nit: add missing comma for readability.

Insert a comma after “state” in the sentence:

- This will result in a sensor with state e.g., `SolarEdge 1.1.13 (95.7%), SolarEdge 1.1.14 (95.2%)`
+ This will result in a sensor with state, e.g., `SolarEdge 1.1.13 (95.7%), SolarEdge 1.1.14 (95.2%)`
🧰 Tools
🪛 LanguageTool

[uncategorized] ~143-~143: Possible missing comma found.
Context: ...``

This will result in a sensor with state e.g., `SolarEdge 1.1.13 (95.7%), SolarE...

(AI_HYDRA_LEO_MISSING_COMMA)

📜 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 6f46ee4 and 1f76e67.

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

[uncategorized] ~79-~79: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~82-~82: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[uncategorized] ~143-~143: Possible missing comma found.
Context: ...``

This will result in a sensor with state e.g., `SolarEdge 1.1.13 (95.7%), SolarE...

(AI_HYDRA_LEO_MISSING_COMMA)

🔇 Additional comments (7)
source/_integrations/solaredge_modules.markdown (7)

1-14: Frontmatter metadata is complete and valid.

The YAML header correctly defines the integration’s title, category, release, discovery, and ownership settings.


16-27: Description and setup instructions are clear.

The overview and “To set up the integration…” section accurately explain how to obtain credentials and site ID.


42-55: First Statistics graph example is correct.

The YAML snippet includes all required keys (chart_type, period, type, entities, stat_types, days_to_show, title), and the note advises using the Visual Editor for statistic IDs.


62-75: Second Statistics graph example is correct.

The daily production snippet follows the same schema as the hourly example and is easy to adapt for different time ranges.


91-141: SQL query example is well structured.

The use of CTEs breaks down the logic into clear steps (time range, module production, average), and the final GROUP_CONCAT produces the expected output format.


190-195: Known limitations section is clear and complete.

The list explains the lack of sensors, the update frequency, and the granularity differences.


198-199: Troubleshooting instructions are straightforward.

The guidance on Layout tab access covers the most common permission issue.

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

17-19: Remove extra blank line for consistency
There are two consecutive blank lines between the intro paragraphs.

@@ 16-19
- 
- 
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD012, no-multiple-blanks)


149-149: Fix punctuation in descriptive text
Correct misplaced space and comma before “e.g.”

@@ 149
-This will result in a sensor with state ,e.g., `SolarEdge 1.1.13 (94.7%), SolarEdge 1.1.14 (94.2%)`
+This will result in a sensor with state, e.g., `SolarEdge 1.1.13 (94.7%), SolarEdge 1.1.14 (94.2%)`
📜 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 1f76e67 and 31e1a72.

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

[uncategorized] ~22-~22: A punctuation mark might be missing here.
Context: ...u can use them in automations using the SQL integration.
...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~85-~85: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~88-~88: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)

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

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

(MD012, no-multiple-blanks)


160-160: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


189-189: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

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

1-14: Front matter metadata looks correct
All required ha_* fields are present and align with Home Assistant standards.


16-24: Introduction is clear and concise
The integration’s purpose and entry points (Developer tools, cards, SQL) are well explained.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~22-~22: A punctuation mark might be missing here.
Context: ...u can use them in automations using the SQL integration.
...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

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

(MD012, no-multiple-blanks)


26-31: Prerequisites section is well-documented
Setup instructions are precise and include the correct “set up” phrasing.


32-34: Data updates description is accurate
The fetch interval and data insertion details are clearly stated.


38-61: Hourly production Statistics graph example is clear
Screenshot, YAML, and explanatory text align with HA patterns.


66-81: Daily production Statistics graph example is well-structured
Good follow-up example under the same subheading.


83-97: SQL integration example is comprehensive
The CTE-based query, notes on TODOs, and table field choices are well organized.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~85-~85: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~88-~88: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


159-190: Automation YAML snippet follows current schema
The triggers, conditions, and actions blocks use the 2024+ pluralized keys correctly.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

160-160: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


189-189: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


192-195: Removal instructions are correctly included
The standard remove_device_service.md include handles integration teardown.


196-201: Known limitations section is informative
Covers statistics-only behavior, update frequency, and granularity trade-offs.


202-205: Troubleshooting guidance is clear
Points users to the SolarEdge portal Layout tab and necessary permissions.

## Data updates

The integration fetches energy production for the past 7 days every 12 hours and inserts the data into statistics.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The API provides data at a 15-minute interval, but Home Assistant long-term statistics are limited to a 1-hour interval.

Would this be something that could be mentioned in the data updates section?

Copy link
Member Author

Choose a reason for hiding this comment

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

To me it feels more appropriate in the limitations section.

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/solaredge_modules.markdown (4)

16-19: Remove extra blank line
There are two consecutive blank lines between the introduction and the next paragraph. Collapse to a single blank line to satisfy markdown lint rules.
Apply this diff:

@@
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD012, no-multiple-blanks)


28-31: Trim trailing spaces and collapse blank lines
Line 28 ends with an unintended space, and there are two blank lines before the config_flow include. Reduce to one blank line and remove the trailing space.
Apply this diff:

@@
@@
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)


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

(MD012, no-multiple-blanks)


151-151: Fix punctuation in sensor state example
Remove the stray space before the comma and adjust for smoother reading.
Apply this diff:


162-191: Surround automation code fence with blank lines
Ensure the fenced YAML block inside {% raw %} has a blank line before and after the yaml fences to comply with markdown linting.
Apply this diff:

@@ 161,162
-161~ {% raw %}
-162~ ```yaml
+163~ ```yaml

@@ 191,192
-191~ ```
+191~ ```
+192~
+193~ {% endraw %}
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

162-162: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


191-191: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

📜 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 31e1a72 and b4b056e.

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

[uncategorized] ~22-~22: A punctuation mark might be missing here.
Context: ...u can use them in automations using the SQL integration.
...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~87-~87: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~90-~90: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)

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

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

(MD012, no-multiple-blanks)


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

(MD009, no-trailing-spaces)


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

(MD012, no-multiple-blanks)


162-162: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


191-191: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

🔇 Additional comments (7)
source/_integrations/solaredge_modules.markdown (7)

1-14: Front matter validation
The YAML metadata is comprehensive and aligns with Home Assistant standards (category, release, iot_class, config_flow, domain, codeowners, integration_type).


49-63: Statistics graph example is accurate
The YAML snippet and statistic ID format correctly demonstrate usage of the statistics-graph card.


70-83: Daily production graph example
The second statistics-graph snippet is clear and properly formatted for daily module production.


87-94: SQL integration instructions
The introduction and note clearly guide users through prerequisites and customizable TODO items.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~87-~87: A punctuation mark might be missing here.
Context: ...oblematic modules, you could set up the SQL integration wi...

(AI_EN_LECTOR_MISSING_PUNCTUATION)


[uncategorized] ~90-~90: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...n the east side contain "1.1." in their name while the ones on the west contain "1.2...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


99-149: SQL query example
The CTE-based query is well-structured, with clear comments and proper aggregation.


194-197: Removing integration snippet
The standard remove_device_service inclusion correctly documents how to remove the integration.


198-204: Limitations & troubleshooting
The known limitations and the troubleshooting section are comprehensive and user-friendly.

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