[Deprecated] Interactive history explorer custom card

Could you open a github issue on that ? So we can continue discussion there over this particular issue. Thanks.

1 Like

hehe, always me, sorry…

tbh, I wouldnt know what/why. only thing remotely ‘shiny’ is what I use in my themes, like:

lovelace-background: radial-gradient(var(--primary-color),var(--card-background-color))

but as you say, that is not used in the HE card.
I havent seen it elsewhere though, its only appearing in this card

It’s a default thing your browser does in the absence of full styling around the element. The rest of paper probably does a full restyle of all elements. Or maybe the frontend just doesn’t use select tags at all.

Yes, yaml, but I’m lazy.

I have to add the fill line for every entity. Not a big deal, but again, the laziness factor.

I have the explorer card showing outside and inside temperatures. My system went offline and the temperature went to 275 degrees. Now, even a day after that has happened, the graph will not reset to show the normal temperature range of 50 to 70. Did I miss a setting or does it take time for it to scale down?

The caching system operates on 24h boundaries, so it will take a minimum of 24h and a maximum of 48h for a rogue value to stop affecting the auto scaling at the current time. Of course it will reaffect the scaling when you scroll back, within a ±24h window around the outlier value.

If it bothers you (especially when scrolling around), you can set a ymax value to limit the damage of the incorrect value (maybe a ymax of 80 or 90).

Wonderful, thank you! I’ll look at that ymax value

now this might be a long shot, but here goes:
having hot water boiler (Quooker) that switches off an on. With regular toggles/binaries, we can see the ‘for x minutes’ in the history graph. Not so for this power sensor:

since this is an almost ‘binary’ sensor, I’d love to be able to see that ‘for x minutes’ too. Is there any chance this could be done?
am aware I could use a binary ‘active’ based on a certain threshold, but would rather do it on the entity directly than on a derivative entity

The problem being the almost part here :wink:

When doing this on numerical graphs, it’s always going to involve some form of thresholds and/or epsilons. Getting these right for all corner cases and data types is notoriously difficult and they would have to be configurable, but still with a somewhat useful default, etc etc. There’s also the question about sensor update granularity - like for example a sensor updating every ten minutes would basically show 10 minute duration on every single sample, hardly useful. There’s also the question how that would work with data decimation at longer date ranges.

There’s another unrelated update I’m currently implementing that might help here though: user defined equations and/or JS functions to process data before it is displayed. You could use that to derive a binary graph on the fly using your entities data (by coding the thresholds into the YAML) and display it as a timeline.

It would work something like this:

graphs:
  - type: timeline
    entities:
      - entity: sensor.whatever
        process: "( state < threshold ) ? 'off' : 'on'"

Edit: I just tried it in my current dev build and it works perfectly:

graphs:
  - type: line
    entities:
      - entity: sensor.outside_temperature
  - type: timeline
    entities:
      - entity: sensor.outside_temperature
        process: '( state >= 10 ) ? "on" : "off"'
2 Likes

wow, thats exactly what I need! its just like the binary threshold sensor settings, and might even allow me to dump those :wink:
and the would also have the hover popups with the period in it?
btw, from the sight of it, I take it this would be yaml only? meaning a fixed permanent graph?

If the graph type is a timeline, then yes. The process function itself doesn’t add durations, it just lets you turn your numerical graph into a thresholded timeline graph (and a lot more).

No, it will work with dynamic graphs too (entityOptions) as well as the more info panel.

1 Like

magic, looking forward to testrunning it :wink:
as always: appreciated!

V 1.0.38 now adds user definable custom data processing functions. You can use those to design custom filters, scaling, conversions, etc on your graphs. More info here in the readme, along with some examples. I’ll add some more in the future.

It also fixes lots of smaller issues, UI customizations, etc. Full changelog here.

2 Likes

Hello @HeyImAlex,
thanks for your great work.

I was wondering if it would be possible to adjust time period also for mean values of long term statistics (e.g. daily). I have some temperature sensors and with hourly values they are swinging a lot due to temperature difference during day and night. To have a nice graph about last 3 months, it would be great to use only the daily mean value.
Also it would be great if for csv export same period would be used as selected in graph. That would it make it much easier to further use the data, if it is only one data point per day.

Br,
tkrhiman

Funny, I had an issue on Github from someone who asked for the exact opposite, he wanted more long term resolution :slight_smile:

I planned a YAML option for long term statistics resolution, but it didn’t make it into the last release, mostly because some quick tests revealed that the HA WS API used to retrieve the statistics behaved really strange when asking for 5 minute resolution. Daily worked fine though. I need to dig into this a little more before adding it to the card when I have some time, probably next weekend.

1 Like

Is there any way where I can influence the card, that there is more contrast in timeline states in in infopanel info without defining own state colors ?

image

almost equal green for both binary states are difficult to distinguish.

image

more different but too similar as well

Outside infopanel, the first one it is e.g. shown in red and green.

image

Edit: no scratch that, just checked the source, the card does the state lookup correctly. Can you switch to raw state mode and see what your first image looks like with raw state values (the one with Getrennt / Verbunden) ? Is this a binary on/off sensor ? Would be weird for both states to have the same color.

Yes, as described above binary. And no, not exactly the same, but more or less euqeal the two greens.

image
device_class: connectivity
binary_sensor.abc

Some more (this one a cover), but similar colors for the states as well.
image
device_class: door
cover.xyz

image
binary_sensor.foobar
device_class: battery_charging

And it is only in infopanel. Same entity in a card is fine.

Do you have any custom state colors defined ? Post your YAML under the stateColors key, if you have one.

No, not at all for infopanel. In the card, where I have definde the infopanel, only

stateColors:
  gestoppt: '#414141'

But that’s all.

Funny think it, that all the example entities come from one (the latest installed) integration, so all there entities are the newest in the system. Is there a limit of entities for your color generation? :sunglasses: