Skip to content

Instantly share code, notes, and snippets.

@martijndierckx
Created May 30, 2023 07:47
Show Gist options
  • Save martijndierckx/8b0df1efd9531b1c65f35d7b4ea580bb to your computer and use it in GitHub Desktop.
Save martijndierckx/8b0df1efd9531b1c65f35d7b4ea580bb to your computer and use it in GitHub Desktop.
How to setup an IMOU DB61i Doorbell in order to get access to the RTSP streams and configuration API endpoints.

How to 'properly' configure an IMOU DB61i Doorbell

I had been looking for a doorbell which offers local RTSP streams for a very long time. Armcrest offered just that in its AD410 model since a couple of years. Only problem ... it was not available in Europe.

But a couple of weeks ago my eye caught the DB61i model of IMOU, which apparently shares the same internals as the Armcrest AD410 and the Dahua DH-DB6I, and which is pretty cheaply available in Europe. 🥳🚀

Using the provided IMOU Life app I wasn't able to get the configurability I craved. But since they shared the same internals, I figured maybe ... just maybe ... I could use the Dahua DMSS app (all apps are also clones).

Eureka! The DMSS app works flawlessly!
The Dahua app has one big difference in the device configuration flow: It allows you to set the device password. Which allows you to access the RTSP streams and allows some configuration.

Device configuration

The configuration endpoints are pretty well documented. Search for 'DAHUA_IPC_HTTP_API_V1.00x' and you'll find a PDF describing most of them.

All of the endpoints are available trough HTTP GET and need basic authentication: http://admin:PASSWORD@IP-ADDRESS. The username is admin. The password is what you have setup in the DMSS app when configuring your device.

Append any of the following paths, and you'll see the magic happen 🦄:

  • Switch between h264 and h265 (note the correct notation in the URL)

    /cgi-bin/configManager.cgi?action=setConfig&Encode[0].MainFormat[0].Video.Compression=H.264
    
  • Remove timestamp from video (needs to be redone every time the device reboots)

    /cgi-bin/configManager.cgi?action=setConfig&VideoWidget[0].TimeTitle.EncodeBlend=false
    
  • Remove logo from video (=permanent)

    /cgi-bin/configManager.cgi?action=setConfig&VideoWidget[0].PictureTitle.EncodeBlend=false
    
  • Disable local audio recording to have 2 way audio working

    /cgi-bin/configManager.cgi?action=setConfig&Record[0].SaveAudio=false
    
  • Disable cloud connection

    /cgi-bin/configManager.cgi?action=setConfig&T2UServer.Enable=false
    /cgi-bin/configManager.cgi?action=setConfig&VSP_PaaS.Enable=false
    /cgi-bin/configManager.cgi?action=setConfig&VSP_PaaS.CustomEnable=false
    
  • Make the device think it's online, so it doesn't flash red (needs to repeated often. f.e. every 5 mins)

    /cgi-bin/configManager.cgi?action=setConfig&VSP_PaaS.Online=true
    
  • Disable NTP

    /cgi-bin/configManager.cgi?action=setConfig&NTP.Enable=false
    
  • Change NTP Period (it does NTP very often by default)

    /cgi-bin/configManager.cgi?action=setConfig&NTP.UpdatePeriod=360
    

I'm still looking for the endpoints to change the ring volume and sound. Tips are welcome 😘

Adding a non-admin user

While the configuration endpoints are available, the 'user' group is not created on the device and it doesn't seem possible to create it. Meaning you cannot create a user with limited rights.

/cgi-bin/userManager.cgi?action=addUser&user.Name=rtsp&user.Password=rtsp&user.Memo=rtsp&user.Group=user&user.Reserved=false&user.Sharable=true

Controlling the light

Can be done in the same way, and needs the same authentication.

  • Turn on

    /cgi-bin/configManager.cgi?action=setConfig&Lighting_V2[0][0][1].Mode=ForceOn&Lighting_V2[0][0][1].State=On
    
  • Flicker

    /cgi-bin/configManager.cgi?action=setConfig&Lighting_V2[0][0][1].Mode=ForceOn&Lighting_V2[0][0][1].State=Flicker
    
  • Turn off

    /cgi-bin/configManager.cgi?action=setConfig&Lighting_V2[0][0][1].Mode=Off
    

RTSP Streams:

The device offers 2 streams, which also need the same basic authentication:

  • 2560x1920 15fps:

    rtsp://admin:PASSWORD@IP-ADDRESS:554/cam/realmonitor?channel=1&subtype=0#backchannel=0
    
  • 720x576 15fps:

    rtsp://admin:PASSWORD@IP-ADDRESS:554/cam/realmonitor?channel=1&subtype=1#backchannel=0
    

Make sure you add #backchannel=0 to the end of the URL. This disables the 2-way audio on the stream. If you don't, the device will think there's an ongoing conversation and the doorbell button won't work.

Homekit Secure Video

You can use Scrypted and the Dahua doorbell plugin to get HKSV up and running seamlessly including 2-way audio. Just make sure you configure the main stream of the device as h264 (see above).

Node-RED

You can capture the ONVIF events (including doorbell button presses) in Node-RED using Bart Butenaers' plugin (requires manual install).

Go2RTC

As a bonus: I use go2rtc to proxy the streams from my cameras to the different consumers. Requesting too many concurrent streams might make your camera hickup.

@grubia
Copy link

grubia commented Jul 31, 2024

I've managed to change the ring volume, but unfortunately the setting also lowers the voice volume. Instead I've disabled it completely by changing the filename of the ding_dong file.

Get full config backup with all camera settings in human readable txt format:

/cgi cgi-bin/Config.backup?action=All

Get current talkphone settings:

/cgi-bin/configManager.cgi?action=getConfig&name=VideoTalkPhoneGeneral

Output should be:

table.VideoTalkPhoneGeneral.RingFile=Ding_dong1.mp3
table.VideoTalkPhoneGeneral.RingVolume=100
table.VideoTalkPhoneGeneral.TalkVolume=100

Lowering Ding_Dong and talk volume:

/cgi-bin/configManager.cgi?action=setConfig&VideoTalkPhoneGeneral.TalkVolume=20

Disabling Ding_dong without lowering the volume(changing the name of the local file played on camera):

/cgi-bin/configManager.cgi?action=setConfig&VideoTalkPhoneGeneral.RingFile=Ding_dong1.mp4

Unfortunately VideoTalkPhoneGeneral.RingVolume does not do anything meaningful in my case.

@martijndierckx Please update the post, so we can spare others hours of reading through API documentation and config backups.

@fotis3d
Copy link

fotis3d commented Jul 31, 2024

@grubia nice. thanks :)
I still struggle with Home Assistant. Somehow the doorbell sometimes changes the timezone byitself when connected via onvif, therefore it stops working via onvif. And that is the only way I can get the signal when the button is pressed in order to get notification and run automations.

@toralux
Copy link

toralux commented Oct 25, 2024

If I want to use the Dahua DMSS app instead of the IMOU Life app, do I have to revert all my cameras to factory defaults and rea-dd them to Dahua DMSS app for them to appear in that app? Could I use both apps at the same time or I will have to choose which one?

@ManiacDC
Copy link

@toralux I haven't tried DMSS, but I've used the SmartPSS and IMOU Life apps simultaneously.

@fotis3d
Copy link

fotis3d commented Oct 26, 2024

@toralux I think once I was using both of them. Though I did not find any usage in DMSS intstead of Imou Life.

@dtczest
Copy link

dtczest commented Oct 31, 2024

@toralux I tried this today. I was not able to use DMSS and IMOU life apps at the same time because the cameras are tied to my Imou account and won't allow me to use them on the Dahua DMSS account (even though the email is the same).

@toralux
Copy link

toralux commented Nov 9, 2024

I think was able to find the password in the IMOU Life app, so I think I didn't need to register the doorbell i the DMSS app anyway. Thanks for all comments!

@jaccovw5
Copy link

jaccovw5 commented Feb 2, 2025

thank you very much for this info! It helps me a lot. Buy different doorbells. And still keep this doorbell to use for later. Now i install it back with the new settings and now i'm loving it! Finally iam done.

Bedankt Martijn!

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