Camera widget consumes bandwidth even if not visible

Hello, the app is really great!

I just run into problems when configured camera widget. I bind two items: the snapshot url and live url.

The problem is that
when:

  • the widget is not visible currently (scrolled to another dashboard)
  • or when the live preview is closed (tapped the snapshot to see live preview then closed)

then:

  • bandwidth usage is relatively high (the same value as when the live preview is running)
  • all my transfer is immediately consumed (I use LTE connection with transfer limit)

So I can’t use the widget in fact.

I think it shouldn’t buffer the data when the widget is not visible :slight_smile:

Would be great to have it solved this way!
Thanks!

What is the data format for those two items? Is snapshot URL a static image?
What is snapshot interval in camera widget config?

The expected behavior should be: refresh snapshot URL based on configured interval when dashboard is open (even if on different dashboard page) and use video URL only in popup.
So if you can answer questions above, it could help figuring out if there is a bug there somewhere.

Hello,

For both (“Video URL” and “Snapshot URL”) I used “Raspberry Pi Camera” item, which I selected from “Bind an item” menu. Then, “Video URL” and “Snapshot URL” has value “/api/camera_proxy_stream/camera.raspberry_pi_camera”.

In Home Assistant I use configuration:

camera:
- platform: rpi_camera  
  name: Raspberry Pi Camera
  image_width: 640
  image_height: 480
  image_quality: 7
  image_rotation: 0
  timelapse: 1000
  horizontal_flip: 0
  vertical_flip: 0
  file_path: /mnt/ramdisk/raspistill.jpg

@KrystianPW Thanks for providing the information.

Just want to confirm that both Video and Snapshot URLs properties show the same URL in widget editor?

/api/camera_proxy_stream/camera.raspberry_pi_camera

Normally Snapshot property should show something like that:

/api/camera_proxy/camera.raspberry_pi_camera

This might be the reason the extra bandwidth is consumed.

Can you also screenshot attributes shown in the last column for that camera component in HA UI on /developer-tools/state page?

I added 6 cameras to my second dashboard. Now from time to time the app crashes.
I also think that the widget should not poll any snapshot when it is not visible.

Did you add to a separate dashboard (switched through drawer menu) or just second page of the same dashboard (switched through tabs or swipe)?

Second page.

Currently all pages are loaded at the same time for fast switching, and avoiding showing stale information.
Now that I’m thinking about it though, camera snapshot might need to be an exception to that, but not sure what is possible there yet.

I removed the camera widgets (left ony 1, instead of 7), no more crashes.
Meanwhile I noticed that the camera sends huge still pictures (2688x1520px JPEG files) at the still_image_url. At the stream_source i’ve specified a lower resolution sub-stream, but still pictures resolution cannot be modified.

Perhaps HomeHabit puts too much workload on the tablet’s CPU processing such big still pictures, just for the scope of thumbnails in the widgets.

If I set to refresh the image every 10 seconds, often I see that some cameras are refreshed at once, that may cause even more load. Maybe some rotation with a little delay would free up CPU.

I’m thinking to implement a quick proxy in php with imgmagick on my home server just to resize the photos while they’re pulled from the camera - to offload the tablet.

@Robi what is the tablet model?

It’s model YC-1011 from https://portworld-solu.com/poe-tablet/
An industrial wall-mounted POE tablet.