Onvif-nodes Event node auto start

I am having a play around with a Reolink Doorbell and Onvif-nodes. I can successfully connect to the doorbell and receive Onvif events like person detection and the button press etc but I need a way to start the node listening automatically.
If, for example there is a network outage or the Doorbell reboots, the event node will report that it has reconnected to the device but it is no longer actively listening to events anymore until you prompt the node again.
I thought maybe I could use a status node with some if(not listening) logic, but I can't see an easy way to do this as, it only reports "listening" when you first start the node listening but the status just goes back to "connected" after a few seconds.
I don't have a huge amount of experience with node-red so I am happy to hear any ideas that could make this work.
Thanks :smile:

@randall-tech

Yes indeed I have also used my onvif nodes a few weeks ago to listen for events. And I can confirm that I also had the same issues. But since all my free time is eaten by migration of my ui nodes for the new dashboard, chance is very small that I will be able to fix those. Of course contributions from anybody are always welcome...

A (stupid) workaround is to start the event stream every 60 minutes automatically, via an Inject node:

image

That seems to fix it for me and another community member...

Bart

Nice doorbel the Reolink, have myself one to. Value for money, no cloud subscription required.
Integrated the doorbel also in NR with the same Onvif node issue as you have.
Tried almost everything to make a "decent" way to see if the node still is listening, but ended up with the solution Bart also suggest.

1 Like

Thanks Bart,
It's funny how when you ask for help sometimes that is what helps you think of a solution.
I just tried this and it works reasonably well. At least, if there is an issue, it will only be "offline" for the period between status messages (about 5 seconds).

I am using the switch node to test if status is == "connected" or != "connected" and then passing that to the trigger node which is configured to trigger once and then wait for reset.

Seems to work ok?

2 Likes