-
Notifications
You must be signed in to change notification settings - Fork 50
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
ISAPI 'Invalid Operation' Response #16
Comments
Can I assume your camera is running the v5.5.0 series of firmware? I'm wondering if the 403 responses showing up are what are causing the issues for others with that same firmware in the other open issue I currently have. I never seen that response on the older versions. Can you verify that if you disconnect and reconnect once the 403 responses start showing up you return to a healthy stream? If so I can add some detection for that response and trigger a reconnect to keep things moving. |
I believe the firmware version I am on is (latest currently available) V1.4.62 build 171219. I can double check on that. So, I'm not sure how your devices behave (and this has crossed my mind as a potential cause of this issue), but when I hit But to answer your question, no, I still get the 403 response even on subsequent HTTP requests. I will have some more time to play around with it tonight. |
You firmware versioning points to a different series for these devices. I'd just assumed they used the same thing they use on all their other cameras, but that may not be the case. If I curl my alertStream url I receive a continuous stream of events. The connection will stay open until either I close it or a network error occurs interrupting the connection. This syncs up with the description of the endpoint in the only published API documentation i'm aware of:
If yours is constantly disconnecting it's going to make it nearly impossible to render a reliable stream though. Since you're testing things out with postman, have you tried using digest auth, assuming your firmware version supports it? |
Another route you could take (assuming the app notifies you quickly when someone triggers an event) is to run the app requests through a proxy server (charles or similar) and see if you can capture the endpoint the app is connecting to or the method it's using. Only tricky part is that if there are any SSL calls involved you'll need to use a pre-Nougat phone for android so you can trust the Charles SSL cert for things to work. Not sure if iphones are any different. |
I have this camera and after @ajhodges notified me of this issue, I did some testing.
Yields a 2 second time_total and a open/close connection, aka, it does not actually stream. I am using the v1.4.62 build 171219 firmware. I have an NVR. I wonder if pointing to it and letting it handle things would allow this camera to work in HA. |
Just an update to crush any dreams that might have been formed by the changelog of the latest update for this DS-KB6003-WIP doorbell cam. The changelog lists "Support ONVIF and ISAPI protocols" under new features. I updated my doorbell to this latest firmware (V1.4.62 build 180515) and still am getting the 403 error. Sorry! |
This is almost certainly an issue with my device and not pyHik, but I thought I'd open a thread about it.
I'm playing around with possibly adding support for the Hikvision DS-KB6003-WIP Doorbell cam to pyHik, and hopefully catching the doorbell event. However, I've noticed some stability issues with the alertStream on my device.
Sometimes the /ISAPI/Event/notification/alertStream endpoint returns a healthy response that looks like this:
but then occasionally it will only send this response in a HTTP 403 error (which of course pyHik doesn't like):
Once it starts sending invalidOperation responses, it will only return those responses for some undefined amount of time until it eventually starts working again (I haven't timed it). It seems completely random. I have saved the HTTP request in Postman (so not even using Python/pyHik at this point) and can verify that I observe the same behavior there as well, so I think this is a server (device) issue.
The API documentation isn't too helpful about this message. I don't think it's an authentication issue since I'm sending the same basic auth credentials with every request, and it's a 403 (forbidden) not a 401 (unauthorized).
I'm just mostly wondering if @mezz64 you have seen anything like this in your testing with your devices. I am thinking about trying to reach out to Hikvision to see if I can get an explanation... barring any magic solution I would probably have to add some sort of retry logic to handle this in order to add support for this device, unless my device is defective or this is fixed in a future firmware update.
The text was updated successfully, but these errors were encountered: