Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doorbell press event support #339

Open
ruben-janssens opened this issue Dec 28, 2024 · 25 comments
Open

Doorbell press event support #339

ruben-janssens opened this issue Dec 28, 2024 · 25 comments
Labels
enhancement New feature or request

Comments

@ruben-janssens
Copy link

Is your feature request related to a problem? Please describe.
I am using Neolink to connect to the new WiFi battery doorbell. Everything works like expected (after some fiddling of course) but now I need to know when someone presses the bell.

I would implement it myself but then I would need to learn Rust from scratch :)

@ruben-janssens ruben-janssens added the enhancement New feature or request label Dec 28, 2024
@QuantumEntangledAndy
Copy link
Owner

It's a nice enhancement and I wouldn't mind tackling it. But I'd need access to the wireshark packets to reverse engineer the protocol

@ruben-janssens
Copy link
Author

If you can provide some steps on how I should setup an environment to capture those packets I can provide them to you.

@ruben-janssens
Copy link
Author

I have also been looking at how the button press event is implemented in the official HomeAssistant Reolink integration. There the package reolink_aio is used. When looking into it it seems like the event is called visitor on cmd code 33

https://github.com/starkillerOG/reolink_aio/blob/main/reolink_aio/baichuan/baichuan.py#L423

Not sure if this could be of any help...

@QuantumEntangledAndy
Copy link
Owner

Oh we have CMD 33 already done. It will pop up as a motion alert but we filter it out.

@QuantumEntangledAndy
Copy link
Owner

How would you expect it to be integrated? Are you using the mqtt to read events?

@ruben-janssens
Copy link
Author

Yes I use MQTT to receive everything on HomeAssistant so that would be ideal :)

@QuantumEntangledAndy
Copy link
Owner

I'm working on a build for this to test. Are you using docker or bare metal neolink?

@ruben-janssens
Copy link
Author

ruben-janssens commented Jan 24, 2025 via email

@QuantumEntangledAndy
Copy link
Owner

QuantumEntangledAndy commented Jan 24, 2025

Ok I have the build happening here hopefully it will work and then the binaries will be available

@ruben-janssens
Copy link
Author

ruben-janssens commented Jan 24, 2025 via email

@QuantumEntangledAndy
Copy link
Owner

Build will take an hour anyways so no rush

@QuantumEntangledAndy
Copy link
Owner

QuantumEntangledAndy commented Jan 24, 2025

Ok build of the binaries are here https://github.com/QuantumEntangledAndy/neolink/actions/runs/12947507860

Docker is here quantumentangledandy/neolink:feat-visitor

@ruben-janssens
Copy link
Author

Talk about perfectly timed, will test them now

@ruben-janssens
Copy link
Author

Do I have to modify any config to add the visitor functionality ?
Like for example in mqqt features ?

@ruben-janssens
Copy link
Author

Alright got the event! A small problem dho

Message 138438 received on neolink/Doorbell/status/visitor at 15:13:

visitor

Neolink has send the event almost 140000 times

@ruben-janssens
Copy link
Author

Same with the AI event and something is wrong with the motion event no longer coming through

@QuantumEntangledAndy
Copy link
Owner

https://github.com/QuantumEntangledAndy/neolink/actions/runs/12961197957 next build

Should fix the repeating notifications, couldnt replicate the motion stopping on mine but I don't have ai or visitor

@ruben-janssens
Copy link
Author

ruben-janssens commented Jan 25, 2025 via email

@ruben-janssens
Copy link
Author

I see that the issue is now fixed. Thanks! But for some reason motion events are still not pushed through.
I have enabled debug mode but that also gives nothing.

@QuantumEntangledAndy
Copy link
Owner

Is the motion on your camera PIR?

@QuantumEntangledAndy
Copy link
Owner

Reolink has some different ways to detect motion.

  • One of the ways is PiR into AI
  • another is PIR only (can't detect that any more since we lost push notifications)
  • another is detecting changed pixels between frames

The motion detection in Neolink is for the third kind, changed frames

Did it work before? I'd like to get a wireshark dump so I can examine the packets and see what is coming from the cameras can you provide one?

@ruben-janssens
Copy link
Author

Ah then I think it is not working because of the lost push notifications. I have it setup to disconnect when no motion is detected after a certain amount of time because it is a battery powered doorbell.

@QuantumEntangledAndy
Copy link
Owner

QuantumEntangledAndy commented Feb 3, 2025

Since there's no push notifications it won't reconnect by itself anymore.

P.s. do you have an NVR? I think I can reverse engineer their protocol to hook into its notification system. But I don't have one myself to find out

@ruben-janssens
Copy link
Author

Sadly I don't have the NVR or the home hub. I have thought about buying one of them if neolink didn't work out.
Maybe for the greater good I should buy one ...

If we can solve it in 30 days I could theoretically send it back even.

@QuantumEntangledAndy
Copy link
Owner

I'm not sure about the less than 30 days thing. (Work is always busy and would require a lot of effort to reverse engineer)

I'm hoping to find something to help or maybe try other experiments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants