Axis cameras (Companion line) - solved by kimjohnson

Does anyone know if the Axis Camera Integration (Axis - Home Assistant) works with the Axis Companion Camera Line? The Companion camera line is/was (they have since been discontinued) the Axis economy line and these cameras are designed to only work with the Companion Player NVR or a NAS having Companion sofware AXIS Companion Classic - Product support | Axis Communications. Please note, Axis Companion software will support ALL Axis cameras, but the Axis Companion cameras will only play on Axis Companion software (not Axis Camera Station). The Companion line camera models are: AXIS Companion 360, AXIS Companion Dome V, AXIS Companion Bullet LE, AXIS Companion Bullet mini LE, AXIS Companion Eye L, AXIS Companion Eye LVE and AXIS Companion Eye mini L.

I am new to Home Assistant, purchased a Home Assistant Blue (an ODROID-N2+ with Home Assistant preinstalled) when first released and am just now starting it up, updated the firmware and am not having any success with my first integration, which are my Axis Companion cameras. The Axis cameras are set for static IP and they were automatically discovered and integrated by Home Assistant upon startup. However, the cameras will not stream. Any guidance would be appreciated.

I’d suggest starting with the exact url required to pull a stream into something like VLC. Once you’ve got that working in one place you can use it as a stepping stone of trial and error.
Either you can because it does work and you’ve discovered it or you haven’t. Or you can’t because it doesn’t and you’ve spent a week discovering that.
Test with actual hardware.

Hi Rob,

I am facing the same issues and was wondering if you have the companion cameras working in HA?

I wish I had something to share with you, but no I cannot figure anything out. It is agravating, especially with the cost of companion cameras and recorder (all now out of production), even though it is entry level equipment it was exxpensive compared to other brands. If you find a way to integrate, please share.

Hello!

I’ve also been having issues with my Axis companion cameras, trying to connect them to home assistants using the Axis integration… After investigating the logs I noticed that I’m getting 403 forbidden errors when home assistant is trying to access the stream from the cameras. Couldn’t figure out a solution for this until today when I stumbled across a github issue where they mention that unless they have Axis-Orig-Sw=true in the RTSP query the camera denies access…

Solution

Instead of using the Axis integration in home assistant I used the Generic Camera integration!

Using the RTSP url as a stream source with the missing query: rtsp://<camera-ip>/axis-media/media.amp?videocodec=h264&Axis-Orig-Sw=true

I now have access to my Axis companion cameras from home assistant! I hope this helps!

Thank you Kim… I will try that out. Your sharing is much appreciated!

1 Like

Is it as simple as just adding Axis-Orig-Sw=true

That’s what worked for me, you still have to authenticate with a username and password to access the camera. Other then that I haven’t done anything else in the generic camera integration.

Stream Source: rtsp://<camera-ip>/axis-media/media.amp?videocodec=h264&Axis-Orig-Sw=true
Username: camera username, I used root but I recommend creating another user with non admin privilege’s later on!
Password: Then the password for the user.

3 Likes

Kim, thank you for sharing! It works great for my Companion cameras. I didn’t even try the Generic Camera integration since there was an Axis Camera integration - lesson learned.

1 Like

@kimjohnsson

Hello.

Your solution was so useful.

Could you please give an example of the Still Image URL (http://)? I am unable to test out the integration without one and all my attempts have failed.

It would be greatly appreciated.

Thank you.

Hi!

The Generic Camera integrations requires at least one of the fields Still Image URL or Stream Source. I’m using Stream Source URL and have therefore left the Still Image URL empty.

After entering Stream Source URL, Username, Password and clicking SAVE. You should be prompted with a new dialog asking if the image looks okay. Click the checkbox and then press save. The camera should now be added to the integration (might take a couple of seconds before the stream is loaded).

If you get an error saying timed out while trying to get the URL the fields have been entered incorrectly…

If you are getting the error regarding not being able to get the URL make sure the Stream Source URL is entered correctly rtsp://<camera-ip>/axis-media/media.amp?videocodec=h264&Axis-Orig-Sw=true replace <camera-ip> with the IP address of your camera so it looks something like rtsp://192.168.2.16/axis-media/media.amp?videocodec=h264&Axis-Orig-Sw=true

Hello and thank you so much for your reply. It means a lot that you took out the time to respond. I really appreciate it.

The “Timeout while loading URL” error did come back up. Could it possible be the protocol or the authentication? I left them as tcp and basic. Should I make other choices?

Here is the completed dialog. Do you see where I am going wrong?

Thanks again for all your help.
Allex

Here is the bottom of the dialog box:

I went over it again and found a special character in the password. I’m good now.

Thank you so much for your guidance!

Take care.

1 Like

For anyone having updated their Companion cameras and can’t get the old trick with Axis-Orig-Sw=true to work - I just got some of the cameras working with go2rtc.

See GitHub - AlexxIT/go2rtc: Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc. (the RTSP over websocket, a bit down below, search for ‘axis’). So the Companion Cube LE and and Companion Bullet LE works like a charm but the Bullet mini LE seems like it lacks the web-ui (and thus the API endpoints to make this work)…