Reolink doorbell finally supports webhooks

Update on my tale of woes that have now turned into a state of happiness.

The support people at Reolink have just sent me a file to upgrade the firmware in the camera which has resulted in the Video Doorbell now showing v2410211119 - yipppppeeee!!


As you can see...the Webhook facility is now operational.

I created a very simple test-flow in NR and can detect activity around the doorbell.

Can I express my thanks to the Forum members who offered me help and advice.

6 Likes

Update for anyone who is interested.

So far I've just created this simple NR flow to detect webhooks from the doorbell then get a snapshot and send it to Telegram accounts on our mobile phones and to my PC.


The flow also sends a message to a nominated Alexa device. I have a number of Alexa devices around the house and in another flow I make use of the Virtual Smart Home (VSH) node to set the default Alexa device.
e.g. I can say... "Alexa, I'm in the study" and VSH will set that as the required 'destination'.
This is what gets shown on my mobile phone...

As you can see, at the moment the doorbell is sitting on my desk in the study - but when it stops raining I'm going to fix it to the front door.

Can't you do that without node-red, just using Alexa?

Probably - just seemed more "fun" using Node-RED.

1 Like

Also, if it runs on your local network, it may cut down on latency, and respond a bit quicker.

Indeed and also from the reolink phone app. Where you can dismiss cold callers from the Pub :wink:

However It's still interesting to play with (face recognition flow coming soon :rofl: )

3 Likes

Glad you are up and running! Must be a relief.

Have had a problem with Frigate, seems I have corrupted Frigate and have tried rebuilding the container using docker rmi ca7bd739497b and then reinstalling using docker compose up -d. Seems I might have a bad config, so need to start again!

I now have Portainer loaded and am experimenting with how that might help me. Can anyone suggest an editor to run on headless were I can use some more advance methods of deleting rather than holding my finger on delete!! (Worried about permissions in Docker!!) - I know not NR related!!

Question - Why should I use Webhooks over MQTT? What advantages does it offer? (or not?)

Reading around the web, it seems 'it just removes the MQTT server' and communicates with Node-RED direct thus saving x mS.

Webhook is available within the Reolink Doorbell and makes communicating with NR a breeze.
I don't think the Reolink Doorbell offers MQTT (well if it does, I've not found it yet).

The Switch, in the above flow, directs 'VISITOR', 'VEHICLE', 'TEST' and 'OTHER' to the output pins (top to bottom). I've tuned my setup to filter out vehicles passing along my main road and also blocked-out parts of the sensitivity pattern. The alarms are much calmer and quieter now.

Who would have thought a humble doorbell could offer so much fun and excitement (ha, ha) ?

2 Likes

Sorry are you trying to delete the database files or the snapshots etc ?

Assuming you have your images stored outside of the Docker Container - then you should be able to login to the host in question with SSH and delete from the commandline - or have a i got the wrong end of the stick here ?

Craig

Nice one Dave

Thanks Craig, I probably have given you the wrong end of the stick!

Frigate will not run so I wanted to test the 'easily restored Docker Image should something go wrong', or at least, that is what I understand about using Docker. I am at the stage where I probably know enough to be dangerous!

I have some other things I need to do, and will come back to the Frigate install shortly, but I was trying to add Cameras and I found early on the if Frigate doesn't run then it might be a badly formed Frigate Config file. I need to check.

I am not bothered about storing the videos/snapshots at the moment, other than to understand what is going on. I am trying to get a Frigate system running and be able to use Reolink Trackmix Dual Lens PZT Camera (impressive piece of kit for the price! ) with Frigate and ONVIF. Storage is something else I need to sort, I currently have 1.5TB of space on Synology DS218 RAID 1 to be integrated into the Frigate Network. I bought this to store any media and Backups. I would like to get a lot bigger Network RAID drive to work with Frigate, but that costs and must come later.

I am still wondering about the advantages of using Webhooks, MQTT or (I forgot to include yesterday) ONVIF

Having said that, I feel thread drift and will do some research as what we are discussing is not really NR. I will do some more research and start a different thread when I feel more comfortable with things,

Thank you everyone, again I am indebted!!

EDIT 17:31 There was indeed a problem with the config.yml file. Now rebuilding, albeit a bit slower this time!! :cowboy_hat_face:

-1 Unknown Error: Please try again.

I could really use this feature. Someone wake me when it's stable and works.

Not adverse to the world stopping all development for two years and fixing all the bugs instead.

Hopes dashed again.

What is this about ?

That is the error I get from the Reolink webhook no matter what URL is used when I do the test option. Post, get, local network, remote network same thing everywhere.

Apparently I'm not the only one.

No problem here.

Can you ping the bell from Node-RED (i.e. using a ping node or exec)

What IPs did you actually try in the hook?

What is the IP of Node-RED server?

Is Node-RED running in docker or Home Assistant?

Here is a demo flow that works:

[{"id":"818ae09b2187d564","type":"http in","z":"5efe3d794ba3e041","name":"","url":"doorbell","method":"post","upload":true,"swaggerDoc":"","x":140,"y":260,"wires":[["75e85ed1413527e8","585f43bee80ba3f0","862821262e37bb07"]]},{"id":"75e85ed1413527e8","type":"http response","z":"5efe3d794ba3e041","name":"","statusCode":"","headers":{},"x":470,"y":260,"wires":[]},{"id":"585f43bee80ba3f0","type":"debug","z":"5efe3d794ba3e041","name":"debug 3","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":480,"y":220,"wires":[]}]

This is what I have in the Webhook on my Reolink D340W Video Doorbell...


I have Node-RED running on a Raspberry Pi (not in Docker or HA) with an IP of 192.168.1.156

I am using the same flow as @Steve-Mcl posted above - and it works fine.

I can ping everything from everwhere.

I have Apache running on the nodered virtual machine so one of the things I tried was just doing gets, posts etc. to port 80. Nothing showed in the Apache logs so it never left the door bell.

Then I tried various other servers and same thing. It looks to me like the problem is inside the camera itself and for whatever reason it just spews and error and doesn't try to even make the post or get. First thought was it wanted a get, or post so I did try both.

There are multiple varients of the camera and firmware, black, white, PoE, non PoE so it may be that this is limited to just one of the camera varients and firmwares.

So now I have an esp8266 connected to a giant red button for people to push and a postit note taped over the button on the reolink and it looks pretty stupid.

Found the problem, encoding a username and password in the webhook url doesn't work.

Removed username and password from webhook url, removed endpoint authentication from nodered and posts go through.

Glad you have got it working. So now you should be able to have some "fun" with it.

This is the NR flow I've created so far...


The 'Routing' switch uses the property msg.payload.alarm.type to determine the event that has triggered the Doorbell. So far found these 'types'... VISITOR, PEOPLE, VEHICLE, MD and TEST.

If anyone is interested, I found this link to Reolink's comprehensive HTTP/API Guide.

I've used this HTTP-GET request to get a snapshot from my doorbell.
http://<your_camera's_IP_address>/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=snapshot&user=admin&password=<insert_your_password>