Skip to content

Add ring#223

Closed
cedarscarlett wants to merge 7 commits intoopenhome-dev:devfrom
cedarscarlett:add-ring
Closed

Add ring#223
cedarscarlett wants to merge 7 commits intoopenhome-dev:devfrom
cedarscarlett:add-ring

Conversation

@cedarscarlett
Copy link
Copy Markdown
Contributor

What does this Ability do?

Adds a Ring Security voice integration that allows users to monitor and control their Ring devices (status, activity, motion history, lights, siren, etc.) through natural voice commands, with deterministic device resolution and safe action handling.

Suggested Trigger Words

  • Ring
  • Check my Ring
  • Ring security
  • Doorbell status

Type

  • New community Ability
  • Improvement to existing Ability
  • Bug fix
  • Documentation update

External APIs

  • No external APIs
  • Uses external API(s): Ring private mobile API (unofficial / undocumented endpoints — requires user credentials and may break if Ring changes their API)

Testing

  • Tested in OpenHome Live Editor
  • All exit paths tested (said "stop", "exit", etc.)
  • Error scenarios tested (API down, bad input, etc.)

Note: Currently validated in mock_mode. Live device testing pending.

Checklist

  • Files are in community/ring/
  • main.py follows SDK pattern (extends MatchingCapability, has register_capability + call)
  • README.md included with description, suggested triggers, and setup
  • resume_normal_flow() called on every exit path
  • No print() — using editor_logging_handler
  • No hardcoded API keys — using placeholders
  • No blocked imports (redis, connection_manager, user_config)
  • No asyncio.sleep() or asyncio.create_task() — using session_tasks
  • Error handling on all external calls
  • Tested in OpenHome Live Editor

Anything else?

  • ⚠️ This Ability relies on undocumented Ring endpoints and may break if Ring changes their API. Use at your own risk.
  • Currently supports mock mode for safe testing without real credentials or hardware.
  • Designed with deterministic routing, centralized API wrapper, and safe confirmation flows for device control.
  • Live hardware validation will be completed once a Ring device is available.

@cedarscarlett cedarscarlett requested a review from a team as a code owner March 20, 2026 14:58
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 20, 2026

🔀 Branch Merge Check

PR direction: add-ringdev

Passedadd-ringdev is a valid merge direction

@github-actions github-actions bot added the community-ability Community-contributed ability label Mar 20, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 20, 2026

✅ Ability Validation Passed

📋 Validating: community/ring
  ✅ All checks passed!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 20, 2026

✅ Community PR Path Check — Passed

All changed files are inside the community/ folder. Looks good!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 20, 2026

🔍 Lint Results

__init__.py — Empty as expected

Files linted: community/ring/main.py

✅ Flake8 — Passed

✅ All checks passed!

@uzair401
Copy link
Copy Markdown
Contributor

Hello @cedarscarlett ,

Thank you for your submission and the effort you’ve put into this ability. Since this involve hardware interactions, we will need to test them with real hardware to fully verify their functionality. To keep the workflow clean, we are closing the PRs for now so they don’t remain stale. Once the hardware testing and verification are complete, we will reopen the PRs and proceed with merging them.

We truly appreciate your contributions and encourage you to continue submitting new abilities, as your work helps strengthen the ecosystem.

@uzair401 uzair401 closed this Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-ability Community-contributed ability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants