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

Hikvision DS-2CD2232-I5 onvif cameras not working in 2023.4.0 #90912

Closed
janchrillesen opened this issue Apr 6, 2023 · 30 comments · Fixed by #91399
Closed

Hikvision DS-2CD2232-I5 onvif cameras not working in 2023.4.0 #90912

janchrillesen opened this issue Apr 6, 2023 · 30 comments · Fixed by #91399
Assignees

Comments

@janchrillesen
Copy link

The problem

I have 3x Hikvision DS-2CD2232-I5 cameras that have been working fine with the onvif integration for a very long time. After upgrading to 2023.4.0 all 3 cameras stopped working. The cameras are reachable over the network (from a browser)

The logfile shows

2023-04-06 10:24:51.999 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Kamera - kældertrappe - 44:19:b6:4e:d2:23 for onvif
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/onvif/__init__.py", line 30, in async_setup_entry
    if not await device.async_setup():
  File "/usr/src/homeassistant/homeassistant/components/onvif/device.py", line 112, in async_setup
    self.profiles = await self.async_get_profiles()
  File "/usr/src/homeassistant/homeassistant/components/onvif/device.py", line 309, in async_get_profiles
    result = await media_service.GetProfiles()
  File "/usr/local/lib/python3.10/site-packages/zeep/proxy.py", line 64, in __call__
    return await self._proxy._binding.send_async(
  File "/usr/local/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 156, in send_async
    response = await client.transport.post_xml(
  File "/usr/local/lib/python3.10/site-packages/zeep/transports.py", line 235, in post_xml
    response = await self.post(address, message, headers)
  File "/usr/local/lib/python3.10/site-packages/zeep/transports.py", line 220, in post
    response = await self.client.post(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1848, in post
    return await self.request(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1533, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1620, in send
    response = await self._send_handling_auth(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1648, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1685, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1722, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 353, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
    response = await connection.handle_async_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection.py", line 90, in handle_async_request
    return await self._connection.handle_async_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 112, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 91, in handle_async_request
    ) = await self._receive_response_headers(**kwargs)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 155, in _receive_response_headers
    event = await self._receive_event(timeout=timeout)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 191, in _receive_event
    data = await self._network_stream.read(
  File "/usr/local/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 34, in read
    return await self._stream.receive(max_bytes=max_bytes)
  File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 1265, in receive
    await self._protocol.read_event.wait()
  File "/usr/local/lib/python3.10/asyncio/locks.py", line 214, in wait
    await fut
asyncio.exceptions.CancelledError

Could this be related to mvantellingen/python-zeep#1369 ?

What version of Home Assistant Core has the issue?

2023.4.0

What was the last working version of Home Assistant Core?

2023.3.6

What type of installation are you running?

Home Assistant OS

Integration causing the issue

onvif

Link to integration documentation on our website

https://www.home-assistant.io/integrations/onvif/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

home-assistant bot commented Apr 6, 2023

Hey there @hunterjm, mind taking a look at this issue as it has been labeled with an integration (onvif) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of onvif can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign onvif Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


onvif documentation
onvif source
(message by IssueLinks)

@kovacsla
Copy link

kovacsla commented Apr 6, 2023

I have the same issue. Started happening immediately after 2023.4 update. The DS-2CV2Q21FD-IW working, but DS-2CD2720F-I and DS-2CD2720F-IS stopped working.

@jara1
Copy link

jara1 commented Apr 6, 2023

Hi,
same here, I have two Hikvisions and three Dahuas in Onvif integration. Dahuas are working just fine, but both Hikvisions stopped working after update to 2023.4.0. It seems it's somehow related to only Hikvision.

@mib1185 mib1185 added this to the 2023.4.1 milestone Apr 6, 2023
@bdraco bdraco changed the title onvif cameras not working in 2023.4.0 Hikvision DS-2CD2232-I5 onvif cameras not working in 2023.4.0 Apr 6, 2023
@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

Please post the full traces for the other models.

It looks like it's the older models that have the issue?

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

If you enable debug logs for httpx we might get a better idea why the camera isn't responding

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

I recall some of the older hikvisions have broken keep alive. I thought they had fixed that in newer firmwares but it looks like these cameras may be EOL so they aren't going to solve it.

I expect the issue is the connection pool and disabling keep alive with max_keepalive_connections 0 will probably fix it. That's not a particularly good solution though since it will tank performance for all cameras which would be a shame to do since we went through so much trouble fix it in 2023.4.x

What's more concerning is canceled error is being raised all the way up so it might also be a bug in httpx's handling of the broken keep alive in the hikvision firmware.

But without httpx logs I'm just speculating and might be way off here

@janchrillesen
Copy link
Author

I enabling debugging for httpx and interestingly one of the three cameras are now working! So it seems to be a cornercase...

First one of the non-working cameras:

2023-04-06 12:31:01.475 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:31:01.509 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:31:01.534 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:31:01.565 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:31:01.860 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/Media "HTTP/1.1 200 OK"
2023-04-06 12:31:02.103 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/Events "HTTP/1.1 200 OK"
2023-04-06 12:31:02.325 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/Events/PullSubManager_2023-04-06T10:31:01Z_6 "HTTP/1.1 200 OK"
2023-04-06 12:31:03.064 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/Events/PullSubManager_2023-04-06T10:31:01Z_6 "HTTP/1.1 200 OK"
2023-04-06 12:31:03.147 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.152/onvif/Events/PullSubManager_2023-04-06T10:31:01Z_6 "HTTP/1.1 200 OK"
2023-04-06 12:32:00.589 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Kamera - kældertrappe - 44:19:b6:4e:d2:23 for onvif
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/onvif/__init__.py", line 30, in async_setup_entry
    if not await device.async_setup():
  File "/usr/src/homeassistant/homeassistant/components/onvif/device.py", line 112, in async_setup
    self.profiles = await self.async_get_profiles()
  File "/usr/src/homeassistant/homeassistant/components/onvif/device.py", line 309, in async_get_profiles
    result = await media_service.GetProfiles()
  File "/usr/local/lib/python3.10/site-packages/zeep/proxy.py", line 64, in __call__
    return await self._proxy._binding.send_async(
  File "/usr/local/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 156, in send_async
    response = await client.transport.post_xml(
  File "/usr/local/lib/python3.10/site-packages/zeep/transports.py", line 235, in post_xml
    response = await self.post(address, message, headers)
  File "/usr/local/lib/python3.10/site-packages/zeep/transports.py", line 220, in post
    response = await self.client.post(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1848, in post
    return await self.request(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1533, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1620, in send
    response = await self._send_handling_auth(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1648, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1685, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1722, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 353, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
    response = await connection.handle_async_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/connection.py", line 90, in handle_async_request
    return await self._connection.handle_async_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 112, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 91, in handle_async_request
    ) = await self._receive_response_headers(**kwargs)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 155, in _receive_response_headers
    event = await self._receive_event(timeout=timeout)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_async/http11.py", line 191, in _receive_event
    data = await self._network_stream.read(
  File "/usr/local/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 34, in read
    return await self._stream.receive(max_bytes=max_bytes)
  File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 1265, in receive
    await self._protocol.read_event.wait()
  File "/usr/local/lib/python3.10/asyncio/locks.py", line 214, in wait
    await fut
asyncio.exceptions.CancelledError

...and the working one:

2023-04-06 12:28:53.728 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:28:53.870 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:28:53.934 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:28:54.101 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/device_service "HTTP/1.1 200 OK"
2023-04-06 12:28:55.486 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Media "HTTP/1.1 200 OK"
2023-04-06 12:28:56.692 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events "HTTP/1.1 200 OK"
2023-04-06 12:28:57.753 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:00.108 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:00.831 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:02.405 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Media "HTTP/1.1 200 OK"
2023-04-06 12:29:03.075 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Media "HTTP/1.1 200 OK"
2023-04-06 12:29:19.984 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:25.596 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:26.699 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:28.614 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:29.722 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:31.596 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:32.697 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:34.611 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:29:35.673 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:07.655 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:08.706 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:10.663 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:11.715 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:12.637 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Media "HTTP/1.1 200 OK"
2023-04-06 12:30:13.678 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:14.773 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:16.612 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:17.682 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:18.658 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Media "HTTP/1.1 200 OK"
2023-04-06 12:30:18.725 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:20.624 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
2023-04-06 12:30:21.731 DEBUG (MainThread) [httpx._client] HTTP Request: POST http://192.168.75.153/onvif/Events/PullSubManager_2023-04-06T10:28:55Z_1 "HTTP/1.1 200 OK"
 
[this log goes on and on]

I don't see any difference between the two logs, but my guess it's related to getting the camera stream.
My cameras are quite old and EOL long time ago

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

It looks like agronholm/anyio#374

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

looks like we need to wait for agronholm/anyio#496

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

more discussion on the issue encode/httpx#2381 here encode/httpx#2370

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

Setting max_keepalive_connections to 0 would likely work around the problem because we would never get to the point where it could happen.

But it would be better if it was fixed in anyio since the trade off would be to tank the performance for all other cameras unless we started maintaining a list of cameras with broken keep alive and only setting it from them.

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

I found one of those older cameras on eBay. If it makes it here in working I'll see if I can work up another alternative that doesn't come with major performance hit for the compliant cameras in case the anyio issue takes a while to get fixed

@janchrillesen
Copy link
Author

I found one of those older cameras on eBay. If it makes it here in working I'll see if I can work up another alternative that doesn't come with major performance hit for the compliant cameras in case the anyio issue takes a while to get fixed

I appreciate the work you put into solving this issue. I have a spare camera, that I can connect directly to the Internet, to allow you to access it. Let me know if that would be useful

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

I appreciate the work you put into solving this issue. I have a spare camera, that I can connect directly to the Internet, to allow you to access it. Let me know if that would be useful

If eBay doesn’t come through that should be a good fallback but since this is a timing issue, I would probably need something local to be able to run code in to talk to the camera as talking to it over the internet will add several hundred milliseconds and might not be a good test case to develop a workaround.

@janchrillesen
Copy link
Author

In the meantime - is setting max_keepalive_connections to 0, something that can be done within Home Assistant, or would that mean editing the actual Python code?

@bdraco
Copy link
Member

bdraco commented Apr 6, 2023

In the meantime - is setting max_keepalive_connections to 0, something that can be done within Home Assistant, or would that mean editing the actual Python code?

It's in the code

https://www.python-httpx.org/advanced/

See Pool limit configuration

@balloob balloob modified the milestones: 2023.4.1, 2023.4.2 Apr 6, 2023
@cavamora
Copy link

cavamora commented Apr 8, 2023

+1 here.
4 EZVIZ C1C cameras stopped working on onvif integration after upgrade.

@haforme
Copy link

haforme commented Apr 8, 2023

My Trendnet TV-IP420P ONVIF Profile S camera stopped working with the upgrade to Home Assistant 2023.4.0. Once I rolled back to Home Assistant 2023.3.6 it worked again.

@bdraco
Copy link
Member

bdraco commented Apr 8, 2023

Its not particularly helpful if you post a "me too" without a trace as it only makes this issue harder to follow and doesn't get this closer to resolution. In fact it will likely make people unsubscribe and ignore this issue to stop getting notifications which is the opposite of what we want.

@balloob balloob modified the milestones: 2023.4.2, 2023.4.3 Apr 9, 2023
@haforme
Copy link

haforme commented Apr 11, 2023

To "bdraco" concerning your comments above. You are correct. I should have provided the configuration and logs. Will upgrade in the morning and do so. Thanks for the advice.

@bdraco
Copy link
Member

bdraco commented Apr 12, 2023

+1 here.
4 EZVIZ C1C cameras stopped working on onvif integration after upgrade.

I picked up one of these for testing but I can't seem to get onvif enabled on it. It looks like the only option is some windows software to configure the camera. Does anyone know of a way to do it without windows?

@dkulchinsky
Copy link

dkulchinsky commented Apr 12, 2023

I picked up one of these for testing but I can't seem to get onvif enabled on it. It looks like the only option is some windows software to configure the camera. Does anyone know of a way to do it without windows?

Hey @bdraco, I had a similar camera in the past and assuming it has a recent Firmware (you should be able to upgrade using their phone app) it should have a working onvif endpoint, as I recall you also need to disable the "Image Encryption" option for onvif integration to work.

EDIT: found this guide that may help

They are indeed using the EZVIZ PC Studio which is basically the HikVision Batch Configuration Tool, unfortunately it's only available for Windows or Mac. In the past I remember using HikVision iVMS 4200 software that was available for Linux and can also configures cameras, I think you can still find a downloadable version of the iVMS for Linux somewhere.

@bdraco
Copy link
Member

bdraco commented Apr 12, 2023

Thank you, thats helpful. I'll disable image encryption and give it a shot. I was trying port 8000 but it looks like onvif is no port 8999 based on that link.

@bdraco
Copy link
Member

bdraco commented Apr 12, 2023

Sadly the test camera I have doesn't listen on port 8999. Only 8000 is open. Disabling image encryption didn't get it working on 2023.3.6 or 2023.4.2 or dev

@bdraco
Copy link
Member

bdraco commented Apr 12, 2023

It looks like I'm going to need to borrow a windows computer from someone to be able to get onvif turned on to be able to test with this camera. I ordered a few other ones so its likely they will show up before than and hopefully have the same issue.

@dkulchinsky
Copy link

It looks like I'm going to need to borrow a windows computer from someone to be able to get onvif turned on to be able to test with this camera. I ordered a few other ones so its likely they will show up before than and hopefully have the same issue.

sounds good, if it helps I have the HikVision DS-HD1 (doorbell) that supports onvif and has the same issue.

@bdraco
Copy link
Member

bdraco commented Apr 12, 2023

HikVision DS-HD1

That helps. It looks like those are in stock in a few places with only a few days shipping lead time so I should be able to pickup one of those

edit: estimated delivery Monday, April 24

@balloob balloob modified the milestones: 2023.4.3, 2023.4.4 Apr 13, 2023
@bdraco
Copy link
Member

bdraco commented Apr 13, 2023

Sadly the ebay sent the wrong camera. I got a non-IP version so I'm back to looking for a DS-2CD2232-I5

@bdraco
Copy link
Member

bdraco commented Apr 13, 2023

I found one from a different seller so I should have it here by the 24th as well

@kovacsla
Copy link

kovacsla commented Apr 19, 2023

Hi,
My every cam's working fine after the 2023.4.5 update

  • HIKVISION DS-2CV2Q21FD-IW
  • HIKVISION DS-2CD2720F-IS
  • HIKVISION DS-2CD2720F-I
    Thanks, Your job.
    :)

@github-actions github-actions bot locked and limited conversation to collaborators May 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.