Skip to content
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

Add example automations to devolo Home Network #36101

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

Conversation

Shutgun
Copy link
Contributor

@Shutgun Shutgun commented Dec 2, 2024

Proposed change

Add example automation to fulfill the docs-examples quality scale requirement.

I looked at the imap integration on how to do this, however I'm not sure if the current format violates "The documentation pages should not be used as a collection or as a replacement of the blueprint exchange on the forums." If so, please advice how to propery fulfill the requirement.

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

  • Link to parent pull request in the codebase:
  • Link to parent pull request in the Brands repository:
  • This PR fixes or closes issue: fixes #

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

  • New Features
    • Added a new section in the documentation for the devolo Home Network integration with example automations.
    • Introduced three specific automation examples:
      • Restarting PLC device on loss of pairing.
      • Notifying users on data rate drops.
      • Scheduling guest Wi-Fi access.

These enhancements improve usability by providing practical scenarios for users to implement.

@home-assistant home-assistant bot added the current This PR goes into the current branch label Dec 2, 2024
Copy link

netlify bot commented Dec 2, 2024

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit a838c04
🔍 Latest deploy log https://app.netlify.com/sites/home-assistant-docs/deploys/674dcf28ecdf7b00086d9014
😎 Deploy Preview https://deploy-preview-36101--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 site configuration.

Copy link
Contributor

coderabbitai bot commented Dec 2, 2024

📝 Walkthrough
📝 Walkthrough

Walkthrough

The changes in this pull request enhance the documentation for the devolo Home Network integration by adding a new section titled "Example automations." This section includes three specific automation examples: restarting a PLC device on loss of pairing, notifying users on data rate drops, and enabling guest Wi-Fi based on a time schedule. Each example is detailed with YAML code blocks that outline the necessary triggers, conditions, and actions, providing users with practical scenarios for implementing automation.

Changes

File Path Change Summary
source/_integrations/devolo_home_network.markdown Added a new section "Example automations" with three automation examples, each including YAML code blocks.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant PLC_Device
    participant Notification_System
    participant WiFi_System

    User->>PLC_Device: Check connected devices
    PLC_Device-->>User: Return number of devices
    alt Devices below threshold
        User->>PLC_Device: Restart PLC device
    end

    User->>Notification_System: Monitor data rate
    Notification_System-->>User: Data rate drops
    alt Drop > 25%
        User->>User: Notify user of data rate drop
    end

    User->>WiFi_System: Schedule guest Wi-Fi
    WiFi_System-->>User: Enable guest Wi-Fi
Loading

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 36884fe and a838c04.

📒 Files selected for processing (1)
  • source/_integrations/devolo_home_network.markdown (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • source/_integrations/devolo_home_network.markdown

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ 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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate unit testing code.
    • @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.

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 resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

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

CodeRabbit Configuration File (.coderabbit.yaml)

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

Documentation and Community

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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (5)
source/_integrations/devolo_home_network.markdown (5)

139-139: Fix typo in the description

Change "sometime" to "sometimes" for correct grammar.

-PLC networks are sometime flaky. In order to restore a network's state it's sometimes a good idea
+PLC networks are sometimes flaky. To restore a network's state it's sometimes a good idea
🧰 Tools
🪛 LanguageTool

[style] ~139-~139: Consider a shorter alternative to avoid wordiness.
Context: ...iring PLC networks are sometime flaky. In order to restore a network's state it's sometime...

(IN_ORDER_TO_PREMIUM)


143-162: Make the automation example more generic

The automation example uses specific device names ("Alexandra") and IDs which may confuse users. Consider making it more generic and adding a comment explaining how users should replace these values with their own.

 alias: PLC Feeder Restart
 description: "Restart device connected to the router if number of PLC devices is unexpected low"
 triggers:
   - trigger: numeric_state
     entity_id:
-      - sensor.alexandra_connected_plc_devices
+      - sensor.YOUR_DEVICE_connected_plc_devices  # Replace with your device's sensor
     for:
       hours: 0
       minutes: 10
       seconds: 0
     below: 3
 conditions: []
 actions:
-  - device_id: c38fe153e4a5b560995fd0a0850a5443
+  - device_id: DEVICE_ID  # Replace with your device's ID from the device page
     domain: button
-    entity_id: 5ccbb089c6208425aec3cb331dd0b716
+    entity_id: ENTITY_ID  # Replace with your restart button's entity ID
     type: press
 mode: single

172-195: Improve example clarity and generalization

The automation example could be more helpful with these improvements:

  1. Uses specific device names ("Nell", "Alexandra") and a specific notification service ("mobile_app_pixel_4a").
  2. The template condition could benefit from a comment explaining the calculation.
 alias: PLC Data rate
 description: PLC Data rate dropped more than 25%
 triggers:
   - entity_id:
-      - sensor.nell_plc_downlink_phy_rate_alexandra
-      - sensor.nell_plc_uplink_phy_rate_alexandra
+      - sensor.YOUR_DEVICE_plc_downlink_phy_rate_TARGET  # Replace with your device's sensors
+      - sensor.YOUR_DEVICE_plc_uplink_phy_rate_TARGET
     trigger: state
 conditions:
   - condition: template
     value_template: >-
+      # Checks if new value is less than 75% of previous value
       {{ not(0.75 < (trigger.to_state.state|float /
       trigger.from_state.state|float)) }}
 actions:
-  - action: notify.mobile_app_pixel_4a
+  - action: notify.YOUR_NOTIFICATION_SERVICE  # Replace with your notification service
     metadata: {}
     data:
       message: >-

201-201: Fix typo in the description

Change "of" to "off" in the description.

-You might want to expose your guest wifi only during the day but turn it of at night.
+You might want to expose your guest wifi only during the day but turn it off at night.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~201-~201: “of” seems less likely than “off” (as in: go/turn off, off the coast).
Context: ...st wifi only during the day but turn it of at night. {% raw %} ```yaml alias: To...

(AI_HYDRA_LEO_CP_OF_OFF)


205-220: Make the automation example more generic

The automation example uses specific device and entity IDs which should be replaced with placeholders.

 alias: Toggle Guest Wifi
 description: Turn Guest Wifi on and off
 triggers:
   - trigger: time
     at: "08:00:00"
   - trigger: time
     at: "17:00:00"
 conditions: []
 actions:
   - type: toggle
-    device_id: ec24234d5d2daf35ff57d6162d2801ab
-    entity_id: 4c5ef9690593dc3c77079e4045558ac8
+    device_id: DEVICE_ID  # Replace with your device's ID
+    entity_id: ENTITY_ID  # Replace with your guest WiFi switch's entity ID
     domain: switch
 mode: single
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 00eef48 and 36884fe.

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

[style] ~139-~139: Consider a shorter alternative to avoid wordiness.
Context: ...iring PLC networks are sometime flaky. In order to restore a network's state it's sometime...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~201-~201: “of” seems less likely than “off” (as in: go/turn off, off the coast).
Context: ...st wifi only during the day but turn it of at night. {% raw %} ```yaml alias: To...

(AI_HYDRA_LEO_CP_OF_OFF)

🔇 Additional comments (2)
source/_integrations/devolo_home_network.markdown (2)

135-136: LGTM!

The new section header follows documentation conventions and integrates well with the existing content.


135-223: Overall documentation improvements look good!

The added automation examples provide valuable practical scenarios that will help users better understand and utilize the integration. The examples cover common use cases and follow a clear structure. After addressing the suggested improvements for generalization and fixing typos, this will be a great addition to the documentation.

🧰 Tools
🪛 LanguageTool

[style] ~139-~139: Consider a shorter alternative to avoid wordiness.
Context: ...iring PLC networks are sometime flaky. In order to restore a network's state it's sometime...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~201-~201: “of” seems less likely than “off” (as in: go/turn off, off the coast).
Context: ...st wifi only during the day but turn it of at night. {% raw %} ```yaml alias: To...

(AI_HYDRA_LEO_CP_OF_OFF)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
current This PR goes into the current branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant