Hello there!
I’m trying to configure my IP cameras and the least I can say is that I’m having a bad time. Until now I was using Synology Surveillance Station but since I’m currently building a HASS setup I though it would be a good thing to ditch SS and its absurd licensing model.
One of my IP cameras, however, won’t cooperate much. An Escam QD300 Brick. I first set it up with ffmpeg but the stream is really random and laggy, when it won’t show the typical “Image won’t load” on the HASS UI. So I wanted to give Onvif a try since my camera is supposed to be compatible (we’re never sure with these chinese clones with random firmwares). My camera.yaml:
# Camera du jardin
- platform: onvif
host: garden.bigoudi.lan
port: 8899
username: hass
password: ssah
The log file:
2017-07-23 17:55:35 ERROR (MainThread) [homeassistant.components.camera] Error while setting up platform onvif
Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/deps/suds/transport/http.py", line 78, in send
fp = self.u2open(u2request)
File "/home/homeassistant/.homeassistant/deps/suds/transport/http.py", line 119, in u2open
return url.open(u2request, timeout=tm)
File "/usr/lib/python3.5/urllib/request.py", line 472, in open
response = meth(req, response)
File "/usr/lib/python3.5/urllib/request.py", line 582, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.5/urllib/request.py", line 510, in error
return self._call_chain(*args)
File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(*args)
File "/usr/lib/python3.5/urllib/request.py", line 590, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: **HTTP Error 400: Bad Request**
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/deps/suds/client.py", line 652, in send
reply = transport.send(request)
File "/home/homeassistant/.homeassistant/deps/suds/transport/http.py", line 178, in send
return HttpTransport.send(self, request)
File "/home/homeassistant/.homeassistant/deps/suds/transport/http.py", line 86, in send
raise TransportError(e.msg, e.code, e.fp)
suds.transport.TransportError: **Bad Request**
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/deps/onvif/client.py", line 34, in wrapped
return func(*args, **kwargs)
File "/home/homeassistant/.homeassistant/deps/onvif/client.py", line 201, in wrapped
return call(params, callback)
File "/home/homeassistant/.homeassistant/deps/onvif/client.py", line 191, in call
ret = func(**params)
File "/home/homeassistant/.homeassistant/deps/suds/client.py", line 559, in __call__
return client.invoke(args, kwargs)
File "/home/homeassistant/.homeassistant/deps/suds/client.py", line 618, in invoke
result = self.send(soapenv)
File "/home/homeassistant/.homeassistant/deps/suds/client.py", line 664, in send
result = self.failed(binding, e)
File "/home/homeassistant/.homeassistant/deps/suds/client.py", line 726, in failed
raise Exception((status, reason))
**Exception: (400, 'Bad Request')**
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_component.py", line 164, in _async_setup_platform
SLOW_SETUP_MAX_WAIT, loop=self.hass.loop)
File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
return fut.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/usr/lib/python3.5/asyncio/coroutines.py", line 210, in coro
res = func(*args, **kw)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/camera/onvif.py", line 48, in async_setup_platform
async_add_devices([ONVIFCamera(hass, config)])
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/camera/onvif.py", line 68, in __init__
self._input = media.GetStreamUri().Uri
File "/home/homeassistant/.homeassistant/deps/onvif/client.py", line 36, in wrapped
raise ONVIFError(err)
**onvif.exceptions.ONVIFError: Unknown error: (400, 'Bad Request')**
Bad requests. Bad requests everywhere. And I can’t find the reason. I found a recent similar topic right there but the given solutions (especially the custom component given by Matt) aren’t working. Is there something I’m missing?
Thanks for your help!