WebRTC icon indicating copy to clipboard operation
WebRTC copied to clipboard

Feature Request: Provide an API to help control the card.

Open netsoft-ruidias opened this issue 3 months ago • 0 comments

Context

I use this card to create a video intercom system (with 2-way audio), and it works fantastically well. However, to make it more user-friendly and easier to integrate into a broader dashboard, I’d love to see support for a few additional controls.

Requested Features

  • Ability to control speaker volume
  • Ability to mute/unmute audio
  • Ability to enable/disable the microphone

Current Workaround

At the moment, I achieve this functionality using a set of JavaScript scripts executed via browser_mod.javascript. While this works, it doesn’t feel like the most robust or future-proof approach — particularly since any change in the card’s internal structure could easily break these scripts.

Suggested Enhancement

A more native and reliable solution would be to add support for binding entities to specific controls within the webrtc-camera card.

Example:

type: custom:webrtc-camera
ui: false
title: My video intercom
poster: /local/images/gnu-loader-3.gif
url: doorbell
mode: webrtc
media: video,audio
muted: true
controllers:
   - sound_mute: switch.intercom_mute
   - micro_on_off: switch.intercom_micro_on_off
   - volume_level: input_number.intercom_volume_level
   - stream_index: input_number.intercom_stream_index

The idea is that when these linked entities change state (e.g., via another card or automation), the webrtc-camera card would automatically update its corresponding internal state.

This would allow for a much cleaner and more integrated dashboard experience, for example:

  • Displaying the video stream in one card
  • Controlling mute, volume, or microphone via custom buttons elsewhere
  • Keeping all UI elements unified and consistent with other dashboard controls (like “open door” or “toggle porch light”)

Conclusion

This addition would make the card more modular, automation-friendly, and compatible with custom dashboards. If needed, I’m happy to provide further details, examples, or a diagram of my setup to illustrate how this integration could work.

netsoft-ruidias avatar Nov 07 '25 18:11 netsoft-ruidias