Feature Request: Provide an API to help control the card.
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.