NVR GW security GW5532np

Trying to integrate this NVR with 12 IP cameras… But Onivf does not recognize if… Tried with NVR IP… And with cameras IP… No lucky… I entered on NVR config and didn’t find anything to enable or disable onvif
Tried lots of you tube tutorial and nothing…

Thanks in Advance and sorry about my begginer issues

I would start by doing some googling and see if you can find out who makes it. It is very likely it is a made by an OEM manufacturer like Dahua or Hikvision (just throwing those out as examples)… if you search for the RTSP url for that model you may be able to then see what bigger name RTSP url it matches and may be able to then figure out what/who’s software is on it if it isnt proprietary software… and that might get you a little closer.

I Wil do that… Here is the log of the attempt

Logger: aiohttp.server
Source: components/onvif/config_flow.py:202
First occurred: 2 de julho de 2021 20:38:01 (10 occurrences)
Last logged: 2 de julho de 2021 20:41:07

Error handling request
Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/httpx/_transports/default.py”, line 61, in map_httpcore_exceptions
yield
File “/usr/local/lib/python3.8/site-packages/httpx/_transports/default.py”, line 277, in handle_async_request
) = await self._pool.handle_async_request(
File “/usr/local/lib/python3.8/site-packages/httpcore/_async/connection_pool.py”, line 230, in handle_async_request
response = await connection.handle_async_request(
File “/usr/local/lib/python3.8/site-packages/httpcore/_async/connection.py”, line 115, in handle_async_request
return await self.connection.handle_async_request(
File “/usr/local/lib/python3.8/site-packages/httpcore/_async/http11.py”, line 69, in handle_async_request
) = await self._receive_response(timeout)
File “/usr/local/lib/python3.8/site-packages/httpcore/_async/http11.py”, line 130, in _receive_response
event = await self._receive_event(timeout)
File “/usr/local/lib/python3.8/site-packages/httpcore/_async/http11.py”, line 178, in _receive_event
raise RemoteProtocolError(msg)
httpcore.RemoteProtocolError: Server disconnected without sending a response.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py”, line 422, in _handle_request
resp = await self._request_handler(request)
File “/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py”, line 499, in _handle
resp = await handler(request)
File “/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py”, line 119, in impl
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/security_filter.py”, line 60, in security_filter_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/forwarded.py”, line 76, in forwarded_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/request_context.py”, line 24, in request_context_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/ban.py”, line 78, in ban_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/auth.py”, line 144, in auth_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/view.py”, line 135, in handle
result = await result
File “/usr/src/homeassistant/homeassistant/components/config/config_entries.py”, line 155, in post
return await super().post(request, flow_id)
File “/usr/src/homeassistant/homeassistant/components/http/data_validator.py”, line 63, in wrapper
result = await method(view, request, *args, **kwargs)
File “/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py”, line 109, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 202, in async_configure
result = await self._async_handle_step(flow, cur_step[“step_id”], user_input)
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 260, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File “/usr/src/homeassistant/homeassistant/components/onvif/config_flow.py”, line 169, in async_step_auth
return await self.async_step_profiles()
File “/usr/src/homeassistant/homeassistant/components/onvif/config_flow.py”, line 202, in async_step_profiles
await device.update_xaddrs()
File “/usr/local/lib/python3.8/site-packages/onvif/client.py”, line 276, in update_xaddrs
capabilities = await devicemgmt.GetCapabilities({“Category”: “All”})
File “/usr/local/lib/python3.8/site-packages/zeep/proxy.py”, line 64, in call
return await self._proxy._binding.send_async(
File “/usr/local/lib/python3.8/site-packages/zeep/wsdl/bindings/soap.py”, line 156, in send_async
response = await client.transport.post_xml(
File “/usr/local/lib/python3.8/site-packages/zeep/transports.py”, line 230, in post_xml
response = await self.post(address, message, headers)
File “/usr/local/lib/python3.8/site-packages/zeep/transports.py”, line 215, in post
response = await self.client.post(
File “/usr/local/lib/python3.8/site-packages/httpx/_client.py”, line 1747, in post
return await self.request(
File “/usr/local/lib/python3.8/site-packages/httpx/_client.py”, line 1426, in request
response = await self.send(
File “/usr/local/lib/python3.8/site-packages/httpx/_client.py”, line 1511, in send
response = await self._send_handling_auth(
File “/usr/local/lib/python3.8/site-packages/httpx/_client.py”, line 1546, in _send_handling_auth
response = await self._send_handling_redirects(
File “/usr/local/lib/python3.8/site-packages/httpx/_client.py”, line 1580, in _send_handling_redirects
response = await self._send_single_request(request, timeout)
File “/usr/local/lib/python3.8/site-packages/httpx/_client.py”, line 1621, in _send_single_request
) = await transport.handle_async_request(
File “/usr/local/lib/python3.8/site-packages/httpx/_transports/default.py”, line 272, in handle_async_request
(
File “/usr/local/lib/python3.8/contextlib.py”, line 131, in exit
self.gen.throw(type, value, traceback)
File “/usr/local/lib/python3.8/site-packages/httpx/_transports/default.py”, line 78, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.RemoteProtocolError: Server disconnected without sending a response.

Do you have a page like this on your NVR?

This seems to tell you at least the RTSP url so you could try using a generic camera component. Using onvif may be tricky as when plugged in through the nvr they are technically on a separate network and sometime not accessible through Normal means depending how exactly the nVR is setup

I have this…

So before bothering trying to setup the generic or ffmpeg camera in Home Assistant I would download VLC and you can enter a network stream url there. I would test to verify you can reach the camera image at something like:

rtsp://<nvr-ip-address>:554/ch01/0

Make sure you can see the image there then begin setting up your first camera in ha using:

Or

Also you may want to try an app called NX-V to easily find your URL… it found a url for a camera that I struggled to find because it was locked down… although it may only find the first channel of your nvr but then you should be able to easily change to ch02 or ch03 for the others… it’s also possible that Onvif is disabled or not properly compatible at all if you don’t see any settings for the ONVIF port in your settings

1 Like

This is an old one but since I have the solution thought I’d add it here:

The GW NVR’s use a URL like:

rtsp://192.168.1.5:80/rtsp/streaming?channel=01&subtype=0

Obviously the IP should be the IP of your GW NVR. The Channel is a 2 digit number that indicates which camera. Subtype 0 is main, 1 is lower res I think. Use the generic camera integration on HTTP with basic authentication. Use the above URL as the Stream Source, but leave the Still Image link blank.

Doesn’t give me audio in the stream, but otherwise works great for a live view.