Skip to content

Add ring#223

Open
cedarscarlett wants to merge 5 commits intoopenhome-dev:devfrom
cedarscarlett:add-ring
Open

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

Conversation

@cedarscarlett
Copy link
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
Contributor

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

✅ Ability Validation Passed

📋 Validating: community/ring
  ✅ All checks passed!

@github-actions
Copy link
Contributor

✅ Community PR Path Check — Passed

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

@github-actions
Copy link
Contributor

🔍 Lint Results

🔧 Auto-formatted

Some files were automatically cleaned and formatted with autoflake + autopep8 and committed.

  • Unused imports removed (autoflake)
  • Unused variables removed (autoflake)
  • PEP8 formatting applied (autopep8)

__init__.py — Empty as expected

Files linted: community/ring/main.py

✅ Flake8 — Passed

✅ All checks passed!

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.

1 participant