sibbl / hass-lovelace-kindle-screensaver

This tool generates a png from a Home Assistant Lovelace view, which can be displayed on a Kindle device which has the Online Screensaver plugin installed.
MIT License
315 stars 71 forks source link

HA 2021.11 gives logo + "Loading data" #15

Closed bictorv closed 2 years ago

bictorv commented 2 years ago

Since I updated to Home Assistant 2021.11, I just get a Home Assistant logo and "Loading data" in the screensaver screenshot. Something must have changed, but what, and how can it be handled?

Screenshot (rotated 90):

foo

sibbl commented 2 years ago

Thanks for the report. I can reproduce it after updating HA as well. As I just got back from vacation I'll try to fix it asap in the next coming days.

sibbl commented 2 years ago

@bictorv I've just released a new version where I've added another selector to wait for. It solves the problem for me, I'd be happy to know if it also works for you. Thanks!

bictorv commented 2 years ago

I'm sorry, it doesn't work consistently for me. I managed to get one proper screenshot but now it's just the "Loading data" screen.

blockarchitech commented 2 years ago

+1, Works, but not all of the time using the same steps as I have in older versions.

I've also tried 1.0.1 to no avail. @bictorv Try 1.0.1 though, see if you can get something different.

bictorv commented 2 years ago

I've also tried 1.0.1 to no avail. @bictorv Try 1.0.1 though, see if you can get something different.

I am running 1.0.1, but getting "Loading data". Could it be that you need to wait for something else than the "home-assistant" selector?

bictorv commented 2 years ago

It may be that my problems were resolved by upping the rendering timeout (from the default 10000 to 20000). Fingers crossed.

sibbl commented 2 years ago

@bictorv thanks for your feedback! I can also suggest to play around with the parameter RENDERING_DELAY which adds a delay after the screenshot browser signals "all API requests have settled and the home assistant component should be rendered to DOM" and the actual generation of the screenshot.

I've set it to 5 seconds on my Synology NAS. Depending on the device which has to build the components DOM, it might take longer even when all data was fetched. In my case the graph sometimes didn't render very quickly, so I had to increase the delay.

Unfortunately I've found no way yet to programatically find out reliably when all components have finished their initial render.

bictorv commented 2 years ago

Aha, will try. (By the way, what is the easiest way to update the environment variables, ideally without having to recreate the whole docker thing - I'd wish for a way to "change a config file and restart the docker"?)

sibbl commented 2 years ago

In the 2022.06 update of Home Assistant the recorder queries were changed to be much faster than before. At least in my case, the rendering happens much faster because of this.

Thus I'd like to close the issue. If somebody comes across, I can still recommend changing the TIMEOUT configuration in your docker-compose.yml and then simply run docker-compose up or docker-compose up -d for a quick recreation of the docker instance.