Feature request reolink integration - provide speakers as media target in home assistant

I’m using different camera brands right now (Reolink doorbell PoE, Unify G4 Instants and some Eufys).

Imho the one missing feature for reolink cameras with speakers is feature parity with the unify integration:

Media Player - If your camera has a speaker, you will get a media player entity that allows you to play audio to your camera’s speaker. Any audio file URI that is playable by FFmpeg will be able to be played to your speaker, including via the TTS Say Service.

This integration offers two main benefits:

  1. we can use tts to let the doorbell speak
  2. we can use prerecorded mp3 files to let the doorbell speak.

All of this can be triggered with quick actions from a Notification etc. or with automations.

So here is my feature request:

Please provide a media player entity for all reolink camers, which have a speaker, in order to enable us to use them for automations and actions.

One wish / addition to this.

I the app you can choose to play the prerecorded answers even if there was no interaction with the doorbell. Having this would be a small but important step for automations.

Use case:

  • you open the door with the door buzzer - it’s relatively silent → Inform the people infront of the door, that the door is open now
  • Inform people if you are going downstairs to the door after the bell was triggered, to make the wait 2 more minutes
  • let woman trigger males telling the people at the door to leave (otherwise calling the cops)

and so on …

5 Likes

Not have any web request to do it?

I facing with same issue right now

sadly i found nothing suitable.

For what it’s worth, I spent a little bit of time trying to implement this. Unfortunately, it seems like this is much harder with Reolink than with Unifi.

With Unifi, talkback audio is sent over a raw UDP socket. The Unifi integration sends audio over this interface by just pointing ffmpeg directly at it. Reolink, on the other hand, seems to have two means of sending talkback audio:

  • Using an ONVIF audio backchannel over RTSP (which ffmpeg doesn’t support)
  • Using a custom protocol involving obfuscated XML commands (which ffmpeg definitely doesn’t support).

There are libraries which support each of these - go2rtc for ONVIF backchannel, and the neolink Rust library for Baichuan - but neither can be easily included as a Python dependency, which makes it difficult for me to see how to include this as core functionality (rather than requiring a custom component, a la the WebRTC component which pairs up with go2rtc).

Would love to be proven wrong, though!

2 Likes

Cool thank you for the insights. Found this today as well. (Funny coincidence).

Imho it would be ok as an optional extension of the reolink integration. But yes it makes sense.

Sadly reolink does not respond to any questions on twitter etc.

1 Like

Did this progress at all? Just bought a reolink camera and don’t see it as an option. Thanks

Sadly not. Wonder why reolink does not take care of that

Finally i can tell you, that predefined answers from a doorbell can be played on demand. This makes some stuff possible, which wasn’t before. Anyway this is not perfect yet.

For example it’s now possible to play a sound after a door was unlocked. But I can’t play a sound on the e5 ptz cameras.

I’m not sure that this works on the doorbell? That is, I can select a pre-recorded audio response, but not trigger it. The documentation for the integration suggest that it (the integration) supports a trigger, but it isn’t listed for my doorbell.

Am I right, or am I missing something?

Nope, it’s exactly that. I can trigger that the doorbell plays some sound without other interaction.

  - device_id: e277944c5c55319f6e344f3a2c56c32f
    domain: select
    entity_id: aab9286b24136adc2743b2c6856f516d
    type: select_option
    option: Sieben Uhr Zwanzig

in the screenshot it looks like that:

Steps to use it:

  • latest HomeAssistant 2024.04
  • Reolink Doorbell
  • Add a predefined answer in the doorbell app from reolink
  • After adding or modifying a prerecording you need to reload the integration
  • Then you may create the automation