core: Not being able to add generic camera, server returning 401 unauthorized

The problem

Running Hassio on raspberry pi 4, I have a hikvision ip camera, Ive tried connecting to its stream via VLC from various devices and they all work, but for some reason only home assistant fails to work.

What version of Home Assistant Core has the issue?

2022.12.4

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Generic Camera, Stream

Link to integration documentation on our website

https://www.home-assistant.io/integrations/generic/ https://www.home-assistant.io/integrations/stream/

Diagnostics information

home-assistant_2022-12-13T08-03-57.770Z.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2022-12-13 13:10:43.501 ERROR (stream_worker) [homeassistant.components.stream.stream.test_stream] Error from stream worker: Error opening stream (HTTP_UNAUTHORIZED, Server returned 401 Unauthorized (authorization failed)) rtsp://****:****@192.168.1.64:554/Streaming/Channels/101/

Additional information

As this was a fairly new installation, i even tried completely reinstalling home assistant, still didnt work. Also, the link doesnt seem to work in any other nvr inside home assistant, including but not limited to Frigate or motion eye

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 22 (5 by maintainers)

Most upvoted comments

Unfortunately the pi architecture I’m on isn’t supported by either of the Hikvision Doorbell integrations. More accurately, the SDK requires aarch64 or amd64 and my pi is armv71

I think my work around for now will be setting up a sensor fed by shell_command running the curl command to get the output from callStatus. It’s dirty but should work until I have more time to investigate further

EDIT: Confirmed as working without getting banned by the doorbell

- platform: command_line
  name: Doorbell Status
  command: "curl -s --digest -u username:password http://192.168.x.xx/ISAPI/VideoIntercom/callStatus?format=json | jq -r '.CallStatus.status'"
  scan_interval: 1

What happens if u use the onvif integration ?