WARNING
This is a pre-release, some functionality might be changed in the final "normal" release (like a name of an option, behaviour of a feature).
Please test, report bugs, provide observations.
What's Changed
features:
- feat: Log fatal errors to console by @ildar170975 in #1468
- feat: Make labels inactive conditionally by @ildar170975 in #1469
- feat: Keep points of same size by @ildar170975 in #1470
- feat: Add checks for group_by option by @ildar170975 in #1473
- feat: Get interval end date - move to a dedicated function (+ add a "week" grouping) by @ildar170975 in #1474
- feat: Add "30min" & "15min" for "group_by" by @ildar170975 in #1475
- feat: Force zero vertical position by @ildar170975 in #1477
- feat: Display Y-axis labels conditionally by @ildar170975 in #1478
- feat: Display Y-axis labels conditionally: fixes & Docs by @ildar170975 in #1479
- feat: hours_to_show<=24: show a date for a selected point/bar if it belongs to "yesterday" by @ildar170975 in #1480
- feat: Add state_map check by @ildar170975 in #1485
- feat: resolve entity names via hass.formatEntityName by @bramkragten in #1457
fixes:
- fix: sort median aggregate values by @dajiaohuang in #1467
- fix: Minor fixes in aggregate functions by @ildar170975 in #1471
- fix: Fix a path in tests by @ildar170975 in #1476
- fix: Additional changes for "Resolve entity names via hass.formatEntityName" by @ildar170975 in #1481
- fix: Graph::calcY() - use Number.EPSILON by @ildar170975 in #1482
- fix: Use same endTime in the card & in Graph object by @ildar170975 in #1483
- fix: Tests for checkColorThresholds() by @ildar170975 in #1484
docs:
- docs: Fix typo: graphs_order -> graph_order by @ildar170975 in #1472
New Contributors
- @dajiaohuang made their first contribution in #1467
Full Changelog: v0.14.0-dev.2...v0.14.0-dev.3
More detailed about new features
Make labels inactive conditionally - show only related Y-axis labels when some point/bar/graph is selected:
Keep points of same size - do not scale points when a card's size is changed, then all cards have same consistent line widths & points:
Display Y-axis labels conditionally - choose which Y-axis labels should be displayed, 'max' & 'min' (by default) or any of them.
Also, you can display a new 'zero' Y-axis label.
Force zero vertical position - force a "Y=0" point vertical position for all axes. Set by a new zero_position option [0..1]:
y_axis:
zero_position: 0.5
...
Number defines a vertical offset from a top edge of a graph canvas.
Although any number [0..1] (incl. 0 & 1) can be set, only values like 0.5 (symmetric split), 0.25 (more attention to a bottom part) or 0.75 (more attention to a top part) should be set.
After fixing a zero vertical position, all upper/lower bounds (including ones defined by a user with lower_bound & upper_bound) are automatically re-calculated to fit in new proportions.
Could be useful for these scenarios:
- Fix a vertical position of a 0-baseline for a rapidly changing graph (although positive & negative peaks will be re-scaled automatically). So it is up to a user whether to see a 0-baseline moving up/down or peaks re-scaled.
- More interesting case - use for 2 graphs, one graph is inverted:
hours_to_show<=24: show a date for a selected point/bar if it belongs to "yesterday" - display a time in a more clear way:
Resolve entity names via hass.formatEntityName - support a new concept for naming entities using different ways like a device name, entity name, area name, floor name:
More group_by variants - added "week", "30min" & "15min".
Add options validation for group_by & state_map options - a low-level improvement, options are checked for integrity, values & consistency.
Log fatal errors to console: in case of a wrong config, in a yaml-mode dashboard & on a storage-mode "not-being-edited" view, it is not possible to find out a reason of the failure due to a brief "Configuration error" label & a lack of any details; then a browser's console is a proper way to diagnose.