Doorbird video doorbell binding

In HABpanel, use an Image widget. Then configure the widget with an item that’s linked to one of the image channels – image, doobellImage, motionImage, etc.

For the image channel, you need to enable image refresh. The doorbell and motion image channels will be updated when one of those events occurs.

I’m looking to display the history of the last visitor. Right now I do this via a script. I have the channels linked. Ill hunt the forum for some sample Angular code

Left image is image channel as of the most recent refresh.

Middle image is doorbellImage channel, which is the image from the last button press

Right image is motionImage channel, which is the image from the last motion detection.

This is in HABpanel using the Image widget configured with the items linked to the above channels.

Cool. Using an Image Item in HabPanel is fine, I can get the doorbellImage to work, it’s just extracting the code from it to put into my existing Widget :slight_smile:

Ill play around! So far so good! PS: SIP is another one for your list along with RFID, I have this working also via a script.

Yeah, I see the SIP stuff in the API spec, but I haven’t really thought about how to expose it in openHAB.

Glad you got it working. Keep playing around and let me know if you run into any issues.

Thanks Mark, got the Last Pressed working nicely. Hopefully someone smarter than me will provide an example using the History, it would be nice to see a few small images of the past 2 visitors. Ill play around when ive got some more time but awesome work!

re: SIP, how it works for me, is theres a rule that switches a virtual item on

DoorBird_SIP

When that switches on, I do this:


rule "Send request for DoorBird back call"
    when
        Item DoorBird_SIP received command ON
    then
        sendHttpGetRequest("http://user:pass@192.168.0.141/bha-api/sip.cgi?action=makecall&url=sip:1002@192.168.0.6")
        logInfo("DoorBird", "SIP Call from Doorbird")
end

rule "Send request for DoorBird hangup"
    when
        Item DoorBird_SIP received command OFF
    then
        sendHttpGetRequest("http://user:pass@192.168.0.141/bha-api/sip.cgi?action=hangup")
end

These effectively allow me to call the gate and then hangup.

1 Like

Check this post out as the IpCamera binding can use the Doorbird API and now has a few new features…

  1. Animated GIF creation with the ability to let you know when the file is created.
  2. Cast the video to Chromecasts and browsers with HLS format.
  3. The ability to copy the MJPEG stream and send it to multiple displays for cameras which usually only allow 1 stream to work at a time.
2 Likes

Thanks Matt, yourself and Mark have done great work with these two bindings

@mhilbush
Yes it is great to see another binding for cameras, the more support and options people have the better. Since I do not own a Doorbird I have zero drive to ever implement the SIP or some of the other stuff in the API, so having a dedicated binding is fantastic. If you ever wish to add the ffmpeg features to your binding it is pretty easy to paste across as it does not rely on Netty like most of my coding and I have been cleaning up the code to make it neater and it has zero dependencies. Well you do need to manually install ffmpeg :slight_smile: for it to work.

Placing the animated gif into the …conf/html/ folder then allows it to be used in sitemaps and the like.

Thanks for the info, @matt1. I had not seen your IP Camera binding. Nice work!

The animated GIF feature looks nice. I’ll take a look at it at some point, but for now I’m going to focus on the Doorbird-specific functionality.

@dastrix80 @swamiller Here’s how I was thinking about handling this. Let me know what you think.

The idea is to create a montage of the last n history images for the doorbell and motion sensor. So, there would be two new channels

  • doorbellMontage
  • motionMontage

In the thing config you would specify two parameters

  • the number of history images to include in the montage (1 to n, where n should be kept relatively small, e.g. 3, 4, or 5). It needs to be a small number because each history image needs to be pulled from the cloud service through the doorbird. This would take a while for more than a few images.
  • the scaling factor for the image (i.e. percentage between 1 and 100)

Whenever, the doorbell is pressed, or motion is detected, not only would the doorbelImage and motionImage channels be updated, respectively, but the doorbellMontage and motionMontage image channels also would be updated, as well.

It would look something like this (4 images at 20% scale).

download

Right now, the images are concatenated horizontally, but vertically is equally easy, and could be configurable either way.

WDYT?

And 5 images at 30% scale.

1 Like

Hi Mark, sorry for the slow reply. This is a fantastic idea. I would never use the motion version but I would totally use the Visitor version. Horizontal for me is great! I use 250x200 resolution now for the ButtonPressed channel if that helps with your scaling/sizing.

Ok, I’ll post a new version shortly. You’ll need to delete and readd the thing to pick up the new channels. You’ll need to experiment with the scaling factor to get the right size that meets your needs.

As a reference, the 30% setting produced a 5-image wide montage that’s 960x144 pixels.

No worries Mark will do, 3 images would be enough for my usecase. Ill play around and report back. The other channels are working nicely.

New version is posted.

1 Like

You dont muck around Mark! Ill report back in a day so with the new version. Thanks!

Great news! i will check new binding

Hold off on downloading the latest version. I forgot to add the new montage channels to the D210x thing. :roll_eyes: I need to fix that. I also need to rework a couple things. I’ll post back here when it’s ready.

Ok, @dastrix80. It should be fixed now.

1 Like

Hi Mark, ive installed and configured it. Is there a way to trigger the doorbell so that it records an image without using the image channels? ie: simulate a button press. Setting Doorbell_Pressed does not take the history Image