ONVIF Camera Aluha DH-IPC-HDBW4431E

I have problems getting the Aluha DH-IPC-HDBW4431E to work.
It is a ONVIF compatible camera and it is working using two different ONVIF camera viewers.

In homeAssistant, my configuration yaml looks like:

ffmpeg:

camera:

  • platform: onvif
    host: 10.0.0.10
    port: 554
    username: admin
    password: VERY secret password here

But in the log homeassistant says:

Error while setting up platform onvif

Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/onvif/client.py”, line 34, in wrapped
return func(*args, **kwargs)
File “/usr/local/lib/python3.6/site-packages/onvif/client.py”, line 201, in wrapped
return call(params, callback)
File “/usr/local/lib/python3.6/site-packages/onvif/client.py”, line 191, in call
ret = func(**params)
File “/usr/local/lib/python3.6/site-packages/suds/client.py”, line 559, in call
return client.invoke(args, kwargs)
File “/usr/local/lib/python3.6/site-packages/suds/client.py”, line 618, in invoke
result = self.send(soapenv)
File “/usr/local/lib/python3.6/site-packages/suds/client.py”, line 652, in send
reply = transport.send(request)
File “/usr/local/lib/python3.6/site-packages/suds/transport/http.py”, line 178, in send
return HttpTransport.send(self, request)
File “/usr/local/lib/python3.6/site-packages/suds/transport/http.py”, line 78, in send
fp = self.u2open(u2request)
File “/usr/local/lib/python3.6/site-packages/suds/transport/http.py”, line 119, in u2open
return url.open(u2request, timeout=tm)
File “/usr/local/lib/python3.6/urllib/request.py”, line 526, in open
response = self._open(req, data)
File “/usr/local/lib/python3.6/urllib/request.py”, line 544, in _open
‘_open’, req)
File “/usr/local/lib/python3.6/urllib/request.py”, line 504, in _call_chain
result = func(*args)
File “/usr/local/lib/python3.6/urllib/request.py”, line 1346, in http_open
return self.do_open(http.client.HTTPConnection, req)
File “/usr/local/lib/python3.6/urllib/request.py”, line 1321, in do_open
r = h.getresponse()
File “/usr/local/lib/python3.6/http/client.py”, line 1331, in getresponse
response.begin()
File “/usr/local/lib/python3.6/http/client.py”, line 297, in begin
version, status, reason = self._read_status()
File “/usr/local/lib/python3.6/http/client.py”, line 266, in _read_status
raise RemoteDisconnected(“Remote end closed connection without”
http.client.RemoteDisconnected: Remote end closed connection without response

Other camera software report the camera to use:
port 554 for RSTP
port 37777 for TCP
port 37778 for UDP
port 80 for HTTP

What am I doing wrong, and what port do I have to configure?

Have you managed to find a fix for your problem?
Ive got exactly the same problem, except here the log is a lot shorter (still on debug level though!)

2019-01-15 06:44:45 DEBUG (SyncWorker_10) [homeassistant.components.camera.onvif] Connecting with ONVIF Camera: 10.10.30.11 on port 5000

2019-01-15 06:44:45 DEBUG (SyncWorker_10) [homeassistant.components.camera.onvif] Couldn't setup camera 'Backyard left CCTV'. Error: Unknown error: Remote end closed connection without response

Same problem with multiple different models of Dahua cams and a couple of Foscams too. Same cameras work perfectly fine when adding rtsp onvif stream directly to ffmpeg component, but some of my cameras are PTZ so im loosing this functionality this way.

Got it working using port 80 with onvif platform, but that is pretty slow.

Als works by defining a generic camera like this:

ffmpeg:
camera:
  - platform: generic
    still_image_url: "http://10.0.0.10/cgi-bin/snapshot.cgi"
    stream_source: "rtsp://<user>:<password>@10.0.0.10:554/cam/realmonitor?channel=1&subtype=00"
    username: <user>
    password: <password>
    authentication: digest
    verify_ssl: false

Of course replace with your username for the camera and with the password
Seems to load much faster