home-assistant / frontend

:lollipop: Frontend for Home Assistant
https://demo.home-assistant.io
Other
3.96k stars 2.69k forks source link

History does not render properly with a large number of entities #3340

Closed vamichael closed 2 years ago

vamichael commented 5 years ago

Home Assistant release with the issue: 95.4

Last working Home Assistant release (if known):

Operating environment (Hass.io/Docker/Windows/etc.):

Docker

Component/platform:

Description of problem:

When opening the history page, on my IPad Pro 10.5 (NPDY2LL/A) I get something like:

This happens with iOS Safari or Chrome. If I click in the white area, I am getting on/off popups for history events.

If I use any browser in Windows, I’m seeing the expected results.

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:

KennethLavrsen commented 5 years ago

I see the same problem and it has been like this for quite many releases. The data is there when you click on the white surface because you see the pop up info but all the page is just white except for the headlines as shown in the screenshot in the OP. It is only on the iPad this is bad. It works on my Linux and Windows computers

vamichael commented 4 years ago

Is anyone aware of this issue?

iantrich commented 4 years ago

? The issue logged, so yes

stale[bot] commented 4 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

KennethLavrsen commented 4 years ago

Still an issue that is very annoying

stale[bot] commented 4 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

KennethLavrsen commented 4 years ago

Still not fixed. The history page shows the date selector on an iPad. Rest of page is blank. If you touch the white area you see the correct data popping up. It seems the data is rendered white on white. I have a new iPad pro and latest IOS. And no themes that can cause it. This has been like that for a year

KennethLavrsen commented 4 years ago

Even in 0.112 with the possibility to select a small time interval the issue is still there.

KennethLavrsen commented 4 years ago

I got an idea in how to debug this triggered by an input from Petro on the forum. He said this IOS works so I thought that it must be the history showing specific content.

So I went to my configuration.yaml and added the include option and under that the domain option

history:
  include:
    domains:
      - sensor

That limits the history shown to only sensors. And then it shows in IOS. So I will slowly add more and more domains until it breaks so we can narrow down what it is that breaks it. Come back in 8 hours or so and I should have more updates

ArgoHA commented 4 years ago

Same thing here...

KennethLavrsen commented 4 years ago

Not a final conclusion but here are more observations

This config fails

history:
  exclude:
    domains:
      - device_tracker

So does this

history:
  exclude:
    domains:
      - automation

But this works

history:
  exclude:
    domains:
      - automation
      - device_tracker

So if both automations and device_tracker are NOT EXCLUDED IOS fails to display the content

So I revert the logic. I only include the two

history:
  include:
    domains:
      - automation
      - device_tracker

This works!

Automation and device_tracker are some of the most busy with the most entities to be shown. I have more than 100 automations. And I have 60+ device trackers from Unifi.

I tried many different combinations. I think IOS runs out of resources showing the content with the way it is implemented.

The strange thing is that I noticed with one of the failing combinations (I tried much more than listed here), I had included Sensors. I had the white surface. But when I scrolled down down down to the bottom the sensors that are graphs were shown. I think the webkit thing in IOS barfs if it has to display too many of the lines of entities that changes state between discrete values in the coloured blocks.

Those that report that IOS works for them either have small HA installations or they have a config where they limit how much is shown in history.

KennethLavrsen commented 4 years ago

I just came home from work and tried with my very new iPad Pro.

It fails to display history unless I reduce the included domains to a few. The method used to display history simply does not work well on IOS devices and a 2019 iPad pro is even worse than my old iPhone 7 I used earlier for my tests. You have a few pages of devices. Just a few more and the screen goes white. It will not render the content.

But also on the iPad it rendors the sensors that are graphs. But not anything shown as coloured blocks

hmoffatt commented 4 years ago

@KennethLavrsen perhaps you can get the debug console from Safari on the iPad to see what is going on. You will need to connect the iPad to a Mac with a cable. You have to enable the developer tools in Mac Safari (https://support.apple.com/en-gb/guide/safari/sfri20948/mac) and then you will see the option to debug the iPad page.

Baumtreter commented 4 years ago

Hey! Just wanted to jump in here as I have the same issue since HA below 0.100. I raised this in the forum back in December. Here is the link with a few screenshots https://community.home-assistant.io/t/history-graph-is-not-displayed-properly/142775 Would be happy if we get it to work.

Note: On Safari on Mac itΒ΄s the same. History is not visible. Chrome on Mac shows everything.

ZuluWhiskey commented 4 years ago

Having this issue on an iPhone 8 Plus running 13.6.1 and my 2020 iPad Pro with the latest version of HA (0.114.0).

Bar graphs are not shown but are there as you're able to click the blank space and get the info popup image

If I scroll down to the line (?) graphs section I can see those but still not the bar graphs image

ZuluWhiskey commented 4 years ago

Update: Like others, I've found that reducing the number of items that report their history has allowed me to now see the bar graphs.

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

KennethLavrsen commented 3 years ago

Pinging the bot

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

KennethLavrsen commented 3 years ago

This is still broken. It works if you enable only a few things like 10 or so. Otherwise you get a lot of white space that you can scroll through until you get to the graphs which are shown normally. There is a CSS bug that makes all the bars white. If you tap on the white area you can see the popup text. They are there but white on white. This bug is now close to getting two years old

SteffenWilberg commented 3 years ago

The developer console on a connected Mac shows the following warning: β€žCanvas area exceeds the maximum limit (width * height > 16777216).β€œ

This element is apparently too large:

canvas id="chartCanvas" width="2156" height="8532" class="chartjs-render-monitor" style="display: block; height: 4266px; width: 1078px;"

because 2156 x 8532 = 18,394,992.

SteffenWilberg commented 3 years ago

Bug still occurs with the latest iOS 14.4.2.

bdraco commented 3 years ago

History needs to be virtualized to resolve this. This is not a small task.

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Baumtreter commented 3 years ago

This is still broken. Is anyone working on this?

bramkragten commented 3 years ago

This is an iOS issue, they restrict the size (width, height) of an SVG, probably for performance reasons...

github-actions[bot] commented 2 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

KennethLavrsen commented 2 years ago

Ping bot

kyrios commented 2 years ago

I had a quick look with the Developer Tools to see if there is something obvious. Unfortunately not. But what I found a little curious is the rendering time for the history graphs beeing exactly 3.0s. That seems like some kind of timeout for performance reasons? Also the UI is blocking during these 3 seconds. Which makes it really annoying Cursor_und_Web_Inspector_β€”_iPad_von_Thorsten_β€”_Safari_β€”_homeassistant_β€”_heizung_und_Start_Page.

I tested on iOS 15.1 with a current iPad Pro (5th Gen).

kyrios commented 2 years ago

Did some more digging. But honesly I'm clueless about Canvas. Still I wanted to update this issue with my findings. I recorded the drawing of of one of the canvases. Apparently the history graph gets drawn just not displayed ?!? Web_Inspector_β€”_iPad_von_Thorsten_β€”_Safari_β€”_homeassistant_β€”_strom

github-actions[bot] commented 2 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment πŸ‘ This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

KennethLavrsen commented 2 years ago

This is still broken in exact the same way. It has been broken since 2019. It is 3 years with a feature that does not work on one of the most popular platforms for phone and tablets. Broken as in - does not work at all.

It may be Apple that has a limitation in how much can be shown. But then the solution is to change the graphical design instead of blaming the problem on Apple. It is actually not very useful in Windows either even if it works. Scrolling down hundreds of bars is not very useful either. You should consider rethinking the feature. Apple will never change their Safari browsers

bdraco commented 2 years ago

This actually happens on all my large installs on chrome/safari/brave/etc. I just get a red x since newer chrome and brave have also added a similar canvas size limit

kyrios commented 2 years ago

This is still broken in exact the same way. It has been broken since 2019. It is 3 years with a feature that does not work on one of the most popular platforms for phone and tablets. Broken as in - does not work at all.

It may be Apple that has a limitation in how much can be shown. But then the solution is to change the graphical design instead of blaming the problem on Apple. It is actually not very useful in Windows either even if it works. Scrolling down hundreds of bars is not very useful either. You should consider rethinking the feature. Apple will never change their Safari browsers

I can confirm.

Thank you for your volunteer work in keeping the software as good as it is. I guess it would be highly appreciated if someone can find time to take a look at it.

emufan commented 2 years ago

History needs to be virtualized to resolve this. This is not a small task.

My proposal is still to split the canvas creation after each x entities. Just a break / new canvas after x items.

As different entity types are already split/grouped, why not doing the same within one bar chart entity type? It would solve any canvas size restrictions and would be beneficial for load time and performance as well. And most probably not that difficult to implement compared to other general re-designs.

BTW same as https://github.com/home-assistant/frontend/issues/11608