Skip to content

Conversation

salmanesm
Copy link

@salmanesm salmanesm commented Sep 1, 2025

Closes #1652

Summary

Expose the Ring Alarm Base Station / Panel volume to HomeKit as a visible slider. This is opt-in and coexists with the existing Speaker/Volume characteristic.

Why

  • Quick volume adjustments from the Home app (no need to open Ring).
  • Enable scenes/automations (e.g., “Night” → quieter chimes).
  • Keep defaults unchanged for users who don’t want the extra tile.

Implementation

  • New accessory: VolumeAccessory
    • Uses Lightbulb service so the slider is prominent.
    • Maps Brightness (0–100)volume (0.0–1.0).
    • On = volume > 0; turning Off sets volume to 0.
    • Subscribes to device.onData to keep HomeKit in sync.
    • Gracefully handles devices without setVolume().
  • Platform wiring: in ring-platform.ts, when exposeAlarmVolume is true, attach VolumeAccessory for devices that have data.volume and setVolume().
  • Config: adds exposeAlarmVolume?: boolean (default false), and reserves volumeService?: 'lightbulb' | 'speaker' for future use.
  • NodeNext-friendly imports: use explicit .ts extensions.

Behavior

  • Default: no changes unless exposeAlarmVolume is enabled.
  • When enabled, a new accessory like “<Panel Name> Volume” appears with a slider.
  • Slider changes affect the device immediately; external volume changes reflect back in HomeKit.

Config example

{
  "platform": "Ring",
  "refreshToken": "<your-token>",
  "exposeAlarmVolume": true
}

…ider (opt-in)

- Add VolumeAccessory mapping HomeKit Brightness (0–100) ↔ Ring volume (0.0–1.0)
- Wire into discovery for devices that support setVolume() and have data.volume
- Gate with config flag (no change unless enabled)
- Use NodeNext-friendly .ts import paths; follow BaseDeviceAccessory pattern

BREAKING CHANGE: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: expose Base Station (and Keypad) volume to HomeKit as a dimmer slider

1 participant