Skip to content

Releases: AmoebeLabs/flex-horseshoe-card

dev-latest

dev-latest Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 12:21
4638a9c

Latest development build.

Branch: master
Commit: 4638a9c

v5.4.7-dev.18

v5.4.7-dev.18 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 21 Jul 11:44
96cb00c

This dev.18 release is a large refactor and performance upgrade of the configuration processing, including JavaScript templating

The main changes are:

  • JavaScript templates are cached now for better performance
  • The configuration checks for JavaScript templates once, and then skips or evaluates JavaScript templates with every state change for that specific item configuration.
  • Processing order for all tools has been harmonized and optimized

What's Changed

🚀 New features

  • refactor: Add JavaScript cache and centralize layout section registration and JavaScript template detection by @AmoebeLabs in #360
  • feat: Add JavaScript template support to groups by @AmoebeLabs in #366

🧰 Maintenance

  • refactor: Refactor the configuration lifecycle for consistent javascript template evaluation by @AmoebeLabs in #368
  • refactor: Split config into source and active configuration by @AmoebeLabs in #361
  • refactor: Migrate standard layout tools to this.config as the active configuration by @AmoebeLabs in #362
  • refactor: Migrate horseshoe tool to the this.config active configuration by @AmoebeLabs in #363
  • refactor: Migrate sparkline tool to the this.config active configuration by @AmoebeLabs in #364
  • refactor: Centralize JavaScript evaluation for entities, animations and card styles by @AmoebeLabs in #365

📚 Documentation

  • refactor: Remove legacy paths and update documentation by @AmoebeLabs in #367

Other changes

Full Changelog: v5.4.7-dev.17...v5.4.7-18

v5.4.7-dev.17

v5.4.7-dev.17 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 20 Jul 16:39
b4e1cff

This dev release contains a lot of fixes and a few new features. It adds the "dots" and "equalizer" graphs for instance.
The other new feature is that you can now use a rectangle as a background for a state/name/area that automatically "fits" the size and position of the state/name/area. In the next images, this is used for the min and max date/time entities.

image

What's Changed (compared to dev.16)

🐛 Bug fixes

  • fix: Fix positioning of child cards including embedded and frameless settings by @AmoebeLabs in #321
  • fix: Reroute real-time sparkline data outside history path by @AmoebeLabs in #332
  • fix: Prevent realtime updates from filling the historical calendar periods for offset < 0 by @AmoebeLabs in #333
  • fix: Preserve realtime updates for rolling window and calendars with offset=0 by @AmoebeLabs in #334
  • fix: Process realtime bin boundaries the same as previous history fetches on bin boundaries by @AmoebeLabs in #335
  • fix: Prune live history to the active history window by @AmoebeLabs in #337
  • fix: Add styles section to barcode part in sparkline config by @AmoebeLabs in #341
  • fix: Refresh calendar history ranges at local midnight for history graphs with offset < 0 by @AmoebeLabs in #336

🚀 New features

  • feat: Align axis, grid and label support and harmonize colorstops for FHS by @AmoebeLabs in #344
  • feat: Add dynamic size with "fit" config to rectangle to "fit" area, name or state as background by @AmoebeLabs in #346
  • feat: Add support for dots and equalizer as chart types by @AmoebeLabs in #350

Other changes

  • refactor: Replace periodic history fetching with sync at things like connect, updated and firstupdated by @AmoebeLabs in #338
  • refactor: Refactor sparkline history lifecycle for realtime, rolling window and calendar types by @AmoebeLabs in #339
  • refactor: Harmonize external config using color_stops and internal config using colorstops by @AmoebeLabs in #348

Full Changelog: v5.4.7-dev.16...v5.4.7-dev.17

v5.4.7-dev.16

v5.4.7-dev.16 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 13 Jul 15:16
37f347b

Sparkline Graphs from the Swiss Army Knife card!

First adaptation and extension of these libraries/classes for the Horseshoe. Not perfect yet, so more issues/PRs will be necessary to complete the integration. There are also more sparkline graph types to adapt and test.

Sparkline bar type with min/mean/max values:
image

Same but now with line/area including min/max values:
image

Sparkline radial stuff with history per day:
image

Sparkline radial for current day with tooltip functionality. That will be changed because it is hard to read on mobile and clashes with finger position. A sort of fixed tooltip position will be better on mobile and perfecty usable on desktop

image

What's Changed

💥 Breaking changes

  • break: Combine state and role in stringstate modes by @AmoebeLabs in #267
  • breaking: Replace variables with constants for JavaScript templates by @AmoebeLabs in #310

🐛 Bug fixes

  • fix: Add future formatters as comment in state tool by @AmoebeLabs in #248
  • fix: Remove default 0 for entity index for shapes and icons if icon set by @AmoebeLabs in #256
  • fix: Let scaleLayer renderer use styleMap() instead of direct fill by @AmoebeLabs in #269
  • fix: Apply color filter to horseshoe animator by @AmoebeLabs in #271
  • fix: Fix mergeFilters. Allow false values for toDict by @AmoebeLabs in #277
  • regresssion: Fix state overrides, formatters and icon override by @AmoebeLabs in #281
  • fix: Fix decimal separator detection. Use locale to find the separator by @AmoebeLabs in #294
  • fix: Fix card template merge preserving entities arrays by @AmoebeLabs in #315

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238
  • feat: Add default ZPOS in config for each section by @AmoebeLabs in #252
  • feat: Add sorted zpos rendering by @AmoebeLabs in #253
  • feat: Add zpos next to xpos and ypos to define the layer and render order by @AmoebeLabs in #254
  • feat: Add parent tree to groups so groups itself can be grouped and positioned too. Includes dzpos and calc(zpos.
    ) by @AmoebeLabs in #257
  • feat: Add arc tool shape as lowest layer by @AmoebeLabs in #259
  • feat: Add segment stringstate mode for horseshoe to show for instance lowhighmoderate including labels and translations by @AmoebeLabs in #263
  • feat: Add support for dark and light modes of a theme in the color stops (and some version of color filter by mistake) by @AmoebeLabs in #265
  • feat: Add preserve_neutral to monochrome and duotone color filters to preserve black, white and gray colors by @AmoebeLabs in #273
  • feat: Add amount of color option to monochrome and duotone filters by @AmoebeLabs in #275
  • feat: Add ranking with color stop and connect reversed state map with stringstate_level horseshoe to make it work! by @AmoebeLabs in #283
  • feat: Add relative position to uom like none, top, bottom and default end by @AmoebeLabs in #286
  • feat: Add icon_size_percent to icon tool by @AmoebeLabs in #288
  • feat: Let ref() do a replace instead of a merge in combination with same_as by @AmoebeLabs in #292
  • feat: Add template and templates support by @AmoebeLabs in #304
  • feat: Add child card support by @AmoebeLabs in #305
  • feat: Remove card settings on best effort basis for frameless or embedded setting by @AmoebeLabs in #306
  • feat: Extend template engine to work for more templates like color_stops and more by @AmoebeLabs in #308
  • feat: Add support for mask and clippath sections including gradients to use as the mask by @AmoebeLabs in #316
  • feat: Explore adding sparkline graph and tool from SAK to add history to horseshoe by @AmoebeLabs in #319

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

  • doc: Add docs folder and documentation by @AmoebeLabs in #229
  • doc: Update documentation for templates, color stops and color filters by @AmoebeLabs in #311

Other changes

  • refactor: Refactor other shapes like lines and circles to same structure as the rectangle by @AmoebeLabs in #240
  • Refactor: Add name and area too caused by refactor by @AmoebeLabs in #242
  • Refactor: Add state tool caused by refactor by @AmoebeLabs in #244
  • Refactor: Add icon tool caused by refactor by @AmoebeLabs in #246
  • refactor: Horseshoe-gauge now uses base tool by @AmoebeLabs in #261
  • Fix: Add delayed update after theme change to let palette work by @AmoebeLabs in #279
  • chore: Add JSDOC stuff and rename some functions by @AmoebeLabs in #285
  • regression: Remove stateValue from format if attribute by @AmoebeLabs in #290
  • chore: Split same as into its own class file by @AmoebeLabs in #302
  • chore: Rename functions to logical more descriptive names by @AmoebeLabs in #303

Full Changelog: v5.4.7...v5.4.7-dev.16

v5.4.7-dev.15

v5.4.7-dev.15 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 01 Jul 14:54
8d331fe

Masks, Clips and Gradients

Add support for mask and clippath sections, including gradients to use as the mask.

Since Icons can also display external images, masks and clippaths can be of use. For instance if you want the external image to be round.
A special case is the arc, as you can see: to accomplish what you see in the center example, a combination of masks is required.

More examples will be added to the manual.

image

The Swiss Army Knife card is also capable of this. The next two examples are from this card:

  • The washing machine fitted into a round icon/circle
  • The external background image with a gradient to the bottom
image

What's Changed

💥 Breaking changes

  • break: Combine state and role in stringstate modes by @AmoebeLabs in #267
  • breaking: Replace variables with constants for JavaScript templates by @AmoebeLabs in #310

🐛 Bug fixes

  • fix: Add future formatters as comment in state tool by @AmoebeLabs in #248
  • fix: Remove default 0 for entity index for shapes and icons if icon set by @AmoebeLabs in #256
  • fix: Let scaleLayer renderer use styleMap() instead of direct fill by @AmoebeLabs in #269
  • fix: Apply color filter to horseshoe animator by @AmoebeLabs in #271
  • fix: Fix mergeFilters. Allow false values for toDict by @AmoebeLabs in #277
  • regresssion: Fix state overrides, formatters and icon override by @AmoebeLabs in #281
  • fix: Fix decimal separator detection. Use locale to find the separator by @AmoebeLabs in #294
  • fix: Fix card template merge preserving entities arrays by @AmoebeLabs in #315

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238
  • feat: Add default ZPOS in config for each section by @AmoebeLabs in #252
  • feat: Add sorted zpos rendering by @AmoebeLabs in #253
  • feat: Add zpos next to xpos and ypos to define the layer and render order by @AmoebeLabs in #254
  • feat: Add parent tree to groups so groups itself can be grouped and positioned too. Includes dzpos and calc(zpos.
    ) by @AmoebeLabs in #257
  • feat: Add arc tool shape as lowest layer by @AmoebeLabs in #259
  • feat: Add segment stringstate mode for horseshoe to show for instance lowhighmoderate including labels and translations by @AmoebeLabs in #263
  • feat: Add support for dark and light modes of a theme in the color stops (and some version of color filter by mistake) by @AmoebeLabs in #265
  • feat: Add preserve_neutral to monochrome and duotone color filters to preserve black, white and gray colors by @AmoebeLabs in #273
  • feat: Add amount of color option to monochrome and duotone filters by @AmoebeLabs in #275
  • feat: Add ranking with color stop and connect reversed state map with stringstate_level horseshoe to make it work! by @AmoebeLabs in #283
  • feat: Add relative position to uom like none, top, bottom and default end by @AmoebeLabs in #286
  • feat: Add icon_size_percent to icon tool by @AmoebeLabs in #288
  • feat: Let ref() do a replace instead of a merge in combination with same_as by @AmoebeLabs in #292
  • feat: Add template and templates support by @AmoebeLabs in #304
  • feat: Add child card support by @AmoebeLabs in #305
  • feat: Remove card settings on best effort basis for frameless or embedded setting by @AmoebeLabs in #306
  • feat: Extend template engine to work for more templates like color_stops and more by @AmoebeLabs in #308
  • feat: Add support for mask and clippath sections including gradients to use as the mask by @AmoebeLabs in #316

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

  • doc: Add docs folder and documentation by @AmoebeLabs in #229
  • doc: Update documentation for templates, color stops and color filters by @AmoebeLabs in #311

Other changes

  • refactor: Refactor other shapes like lines and circles to same structure as the rectangle by @AmoebeLabs in #240
  • Refactor: Add name and area too caused by refactor by @AmoebeLabs in #242
  • Refactor: Add state tool caused by refactor by @AmoebeLabs in #244
  • Refactor: Add icon tool caused by refactor by @AmoebeLabs in #246
  • refactor: Horseshoe-gauge now uses base tool by @AmoebeLabs in #261
  • Fix: Add delayed update after theme change to let palette work by @AmoebeLabs in #279
  • chore: Add JSDOC stuff and rename some functions by @AmoebeLabs in #285
  • regression: Remove stateValue from format if attribute by @AmoebeLabs in #290
  • chore: Split same as into its own class file by @AmoebeLabs in #302
  • chore: Rename functions to logical more descriptive names by @AmoebeLabs in #303

Full Changelog: v5.4.7...v5.4.7-dev.15

v5.4.7-dev.14

v5.4.7-dev.14 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 30 Jun 15:37
ed32df1

Templates and Cards...

This dev build brings template and card compose capabilities to the horseshoe. Now you can re-use complete cards, or color stops and more and even compose cards out of other cards!

The child cards are actually meant for scalable cards like the horseshoe and the Swiss Army Knife. As you can see, the markdown card does not scale very well in the reserved space. It adds a scroll bar as it does not scale the contents to the width and height given.

On the left a simple card. On the right, a card built with a markdown card, and two of the "left" card.

image
    awair_test2:
      template:
        type: card
        defaults:
          - max: 100
      card:
        dev:
          debug: true
        constants:
          max: '[[max]]'

        layout:
          states:
            - entity_index: 0
              xpos: 50
              ypos: 50
              color_stops:
                template:
                  name: fhs_colorstops_awair_score
          names:
            - entity_index: 0
              xpos: 50
              ypos: 65
              color_stops:
                template:
                  name: fhs_colorstops_awair_score

And the YAML for the card on the right:

        - type: custom:flex-horseshoe-card
          dev:
            debug: true
          template:
            name: awair_test
            variables:
              - entity: sensor.awair_element_study_score
              - label: Awair
              - max: 100

        - type: custom:flex-horseshoe-card
          aspectratio: 1/1

          cards:
            - type: markdown
              xpos: 50
              ypos: 25
              width: 80
              height: 20
              frameless: true
              content: |
                ## Markdown child

            - type: custom:flex-horseshoe-card
              entities:
                - entity: sensor.awair_element_study_score
                  name: Awair S
              template:
                name: awair_test2
                variables:
                  - max: 100
              xpos: 25
              ypos: 65
              width: 40
              height: 40

            - type: custom:flex-horseshoe-card
              template:
                name: awair_test
                variables:
                  - entity: sensor.awair_element_livingroom_score
                  - label: Awair L
                  - max: 100
              xpos: 75
              ypos: 65
              width: 40
              height: 40

What's Changed

💥 Breaking changes

  • break: Combine state and role in stringstate modes by @AmoebeLabs in #267
  • breaking: Replace variables with constants for JavaScript templates by @AmoebeLabs in #310

🐛 Bug fixes

  • fix: Add future formatters as comment in state tool by @AmoebeLabs in #248
  • fix: Remove default 0 for entity index for shapes and icons if icon set by @AmoebeLabs in #256
  • fix: Let scaleLayer renderer use styleMap() instead of direct fill by @AmoebeLabs in #269
  • fix: Apply color filter to horseshoe animator by @AmoebeLabs in #271
  • fix: Fix mergeFilters. Allow false values for toDict by @AmoebeLabs in #277
  • regresssion: Fix state overrides, formatters and icon override by @AmoebeLabs in #281
  • fix: Fix decimal separator detection. Use locale to find the separator by @AmoebeLabs in #294
  • fix: Fix card template merge preserving entities arrays by @AmoebeLabs in #315

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238
  • feat: Add default ZPOS in config for each section by @AmoebeLabs in #252
  • feat: Add sorted zpos rendering by @AmoebeLabs in #253
  • feat: Add zpos next to xpos and ypos to define the layer and render order by @AmoebeLabs in #254
  • feat: Add parent tree to groups so groups itself can be grouped and positioned too. Includes dzpos and calc(zpos.
    ) by @AmoebeLabs in #257
  • feat: Add arc tool shape as lowest layer by @AmoebeLabs in #259
  • feat: Add segment stringstate mode for horseshoe to show for instance lowhighmoderate including labels and translations by @AmoebeLabs in #263
  • feat: Add support for dark and light modes of a theme in the color stops (and some version of color filter by mistake) by @AmoebeLabs in #265
  • feat: Add preserve_neutral to monochrome and duotone color filters to preserve black, white and gray colors by @AmoebeLabs in #273
  • feat: Add amount of color option to monochrome and duotone filters by @AmoebeLabs in #275
  • feat: Add ranking with color stop and connect reversed state map with stringstate_level horseshoe to make it work! by @AmoebeLabs in #283
  • feat: Add relative position to uom like none, top, bottom and default end by @AmoebeLabs in #286
  • feat: Add icon_size_percent to icon tool by @AmoebeLabs in #288
  • feat: Let ref() do a replace instead of a merge in combination with same_as by @AmoebeLabs in #292
  • feat: Add template and templates support by @AmoebeLabs in #304
  • feat: Add child card support by @AmoebeLabs in #305
  • feat: Remove card settings on best effort basis for frameless or embedded setting by @AmoebeLabs in #306
  • feat: Extend template engine to work for more templates like color_stops and more by @AmoebeLabs in #308

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

  • doc: Add docs folder and documentation by @AmoebeLabs in #229
  • doc: Update documentation for templates, color stops and color filters by @AmoebeLabs in #311

Other changes

Read more

v5.4.7-dev.13

v5.4.7-dev.13 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 26 Jun 12:57
f3b336f

With the support of stringstates, it was not incredibly much work to add implicit mapping in the horseshoe to allow for Awair Element displays using the horseshoe. Awair ranks values to states like good, poor, etc.
Both the color stop and the state map now support ranking, allowing these translations to occur, so the existing stringstate level and mode options can handle this without modifications.

To give you an idea:

  • The picture on the left contains 6 horseshoes: one for the score (a normal one), and 5 for the individual sensors using a horseshoe with a large radius (5000) and very small arc (0.3) to look like a vertical bar 😄
  • The picture on the right is also 6 horseshoes, but now more default visualizations showing the ranking Awair specifies.

And yes, temperatures will reach almost 40 degrees this afternoon. I am very happy without any air conditioning 😢

imageimage

And lucky me, it's warmer outside than in my study 🥳

image

And the pollen levels are also still relatively high:

image

What's Changed

💥 Breaking changes

  • break: Combine state and role in stringstate modes by @AmoebeLabs in #267

🐛 Bug fixes

  • fix: Add future formatters as comment in state tool by @AmoebeLabs in #248
  • fix: Remove default 0 for entity index for shapes and icons if icon set by @AmoebeLabs in #256
  • fix: Let scaleLayer renderer use styleMap() instead of direct fill by @AmoebeLabs in #269
  • fix: Apply color filter to horseshoe animator by @AmoebeLabs in #271
  • fix: Fix mergeFilters. Allow false values for toDict by @AmoebeLabs in #277
  • regresssion: Fix state overrides, formatters and icon override by @AmoebeLabs in #281

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238
  • feat: Add default ZPOS in config for each section by @AmoebeLabs in #252
  • feat: Add sorted zpos rendering by @AmoebeLabs in #253
  • feat: Add zpos next to xpos and ypos to define the layer and render order by @AmoebeLabs in #254
  • feat: Add parent tree to groups so groups itself can be grouped and positioned too. Includes dzpos and calc(zpos.
    ) by @AmoebeLabs in #257
  • feat: Add arc tool shape as lowest layer by @AmoebeLabs in #259
  • feat: Add segment stringstate mode for horseshoe to show for instance lowhighmoderate including labels and translations by @AmoebeLabs in #263
  • feat: Add support for dark and light modes of a theme in the color stops (and some version of color filter by mistake) by @AmoebeLabs in #265
  • feat: Add preserve_neutral to monochrome and duotone color filters to preserve black, white and gray colors by @AmoebeLabs in #273
  • feat: Add amount of color option to monochrome and duotone filters by @AmoebeLabs in #275
  • feat: Add ranking with color stop and connect reversed state map with stringstate_level horseshoe to make it work! by @AmoebeLabs in #283

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

Other changes

  • refactor: Refactor other shapes like lines and circles to same structure as the rectangle by @AmoebeLabs in #240
  • Refactor: Add name and area too caused by refactor by @AmoebeLabs in #242
  • Refactor: Add state tool caused by refactor by @AmoebeLabs in #244
  • Refactor: Add icon tool caused by refactor by @AmoebeLabs in #246
  • refactor: Horseshoe-gauge now uses base tool by @AmoebeLabs in #261
  • Fix: Add delayed update after theme change to let palette work by @AmoebeLabs in #279

Full Changelog: v5.4.7...v5.4.7-dev.13

v5.4.7-dev.12

v5.4.7-dev.12 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 23 Jun 12:44
b8a2c58

It is too hot for documentation, so I got creative again 😄

Let the horseshoe handle so-called stringstates, i.e., non-numerical states in two ways: states that show a level, and states that show a mode. Also included is dedicated formatting, depending on the segment/state, so fonts look nice, and you can use a different font for the active segment, and other segments (states).

Here you see a pollen card, using the stringstate_level mode and different font colors/modes for several segments.

image

A variation of the horseshoe in stringstate_mode mode: only the current state segment is filled.

image

Another variation with labels on its own arc using stringstate)level mode:

image

And one with stringstate_mode mode.
image

To give you an idea of the config:

                show:
                  horseshoe_style: colorstop
                  scale_style: colorstop
                  labels_at: stringstate      # So labels are nicely aligned in the middle of the segment

                horseshoe_state:
                  mode: stringstate_mode      # Single state active
                  width: 33
                  linecap: butt
                  state_map:                  # Need statemap for color stops and state translations
                    map:
                      - state: 'low'          # Raw states are translated
                        value: 0.99           # using Home Assistant
                      - state: 'moderate'     # and used as labels
                        value: 1.99
                      - state: 'high'
                        value: 2.99
                      - state: 'very_high'
                        value: 3.99
                  styles:
                    - stroke-linecap: butt
                #
                color_stops:
                  gap: 2
                  colors:
                    0: '#838383'
                    1: '#fcc449'
                    2: '#ed8003'
                    3: 'red'

And if you want, full control over label styling per segment (in the case you put the labels on the horseshoe state part) as you can see on card 54v2:

                horseshoe_labels:
                  orientation: arc
                  offset: 0      # Labels on horseshoe state
                  stringstate:
                    segment_roles:    # Specific label formatting per segment
                      before:
                        styles:
                          - opacity: 0.6
                      current:
                        styles:
                          - fill: white
                          - font-weight: bold
                      after:
                        styles:
                          - opacity: 0.35
                    state_map:      # Specific label formatting per state. Overrules segment formatting
                      map:
                        - state: very_high
                          label: Zeer Hoog    # Override label, as no translation available in Home Assistant
                          styles:
                            - fill: white                    
                        - state: high
                          styles:
                            - fill: white                    
                        - state: moderate
                          styles:
                            - fill: black  

What's Changed

🐛 Bug fixes

  • fix: Add future formatters as comment in state tool by @AmoebeLabs in #248
  • fix: Remove default 0 for entity index for shapes and icons if icon set by @AmoebeLabs in #256

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238
  • feat: Add default ZPOS in config for each section by @AmoebeLabs in #252
  • feat: Add sorted zpos rendering by @AmoebeLabs in #253
  • feat: Add zpos next to xpos and ypos to define the layer and render order by @AmoebeLabs in #254
  • feat: Add parent tree to groups so groups itself can be grouped and positioned too. Includes dzpos and calc(zpos.
    ) by @AmoebeLabs in #257
  • feat: Add arc tool shape as lowest layer by @AmoebeLabs in #259
  • feat: Add segment stringstate mode for horseshoe to show for instance lowhighmoderate including labels and translations by @AmoebeLabs in #263

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

Other changes

  • refactor: Refactor other shapes like lines and circles to same structure as the rectangle by @AmoebeLabs in #240
  • Refactor: Add name and area too caused by refactor by @AmoebeLabs in #242
  • Refactor: Add state tool caused by refactor by @AmoebeLabs in #244
  • Refactor: Add icon tool caused by refactor by @AmoebeLabs in #246
  • refactor: Horseshoe-gauge now uses base tool by @AmoebeLabs in #261

Full Changelog: v5.4.7...v5.4.7-dev.12

v5.4.7-dev.11

v5.4.7-dev.11 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 21 Jun 13:35
a553c3c

This dev version adds zpos and the new arc tool.
With zpos you can control the rendering order, ie which shape for instance is on top on which shape. The default rendering order is still the same, but now you can change this if you need to.

The second change is the addition of the arc tool. This one complements the horseshoe: it has the same config for things like position, rotation and more. It can be used as a sort of background tool for the horseshoe...

image
arcs:
  - xpos: 50
    ypos: 50
    radius: 30
    arc_degrees: 300
    styles:
      - fill: var(--disabled-text-color)
      - opacity: 0.3

It is now time to update the documentation with all these new features, and then release a new version!

What's Changed

🐛 Bug fixes

  • fix: Add future formatters as comment in state tool by @AmoebeLabs in #248
  • fix: Remove default 0 for entity index for shapes and icons if icon set by @AmoebeLabs in #256

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
    #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238
  • feat: Add default ZPOS in config for each section by @AmoebeLabs in #252
  • feat: Add sorted zpos rendering by @AmoebeLabs in #253
  • feat: Add zpos next to xpos and ypos to define the layer and render order by @AmoebeLabs in #254
  • feat: Add parent tree to groups so groups itself can be grouped and positioned too. Includes dzpos and calc(zpos.
    ) by @AmoebeLabs in #257
  • feat: Add arc tool shape as lowest layer by @AmoebeLabs in #259

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

Other changes

  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in
  • refactor: Refactor other shapes like lines and circles to same structure as the rectangle by @AmoebeLabs in #240
  • Refactor: Add name and area too caused by refactor by @AmoebeLabs in #242
  • Refactor: Add state tool caused by refactor by @AmoebeLabs in #244
  • Refactor: Add icon tool caused by refactor by @AmoebeLabs in #246
  • refactor: Horseshoe-gauge now uses base tool by @AmoebeLabs in #261

Full Changelog: v5.4.7...v5.4.7-dev.11

v5.4.7-dev.10

v5.4.7-dev.10 Pre-release
Pre-release

Choose a tag to compare

@AmoebeLabs AmoebeLabs released this 19 Jun 15:13
bde8795

This is a refactor release. No new functionality compared to dev.9. Only a split of main.js into smaller tool modules.

What's Changed

🚀 New features

  • feat: (beta) Add labels and ticks to horseshoe by @AmoebeLabs in #212
  • feat: Add external json color palettes to support darklight mode for custom colors not in the theme by @AmoebeLabs in #214
  • feat: Extend same_as with named tags, and auto-ids when not assigned based on index in list, delta's and calc() functions by @AmoebeLabs in #218
  • feat: Add static constants and ref support for reusable layout configuration by @AmoebeLabs in #221
  • feat: Add display svg or image instead of icon by @AmoebeLabs in #225
  • feat: Add state mapping support to horseshoe by @AmoebeLabs in #226
  • feat: Add format options in entity definitions to regain control over formatting by @AmoebeLabs in #232
  • Refactor: Rewrite horseshoe to separate classes to make maintenance and changes easier by @AmoebeLabs in #234
  • feat: Add rectangle tool and base tool. Base tool to be used by future shap… by @AmoebeLabs in #238

🧰 Maintenance

  • chore: Remove vx versions of functions and classes for dev3 by @AmoebeLabs in #216
  • chore: Remove obsolete files and fix regression for spline by @AmoebeLabs in #237
  • Bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #235

📚 Documentation

Other changes

  • refactor: Refactor other shapes like lines and circles to same structure as the rectangle by @AmoebeLabs in #240
  • Refactor: Add name and area too caused by refactor by @AmoebeLabs in #242
  • Refactor: Add state tool caused by refactor by @AmoebeLabs in #244
  • Refactor: Add icon tool caused by refactor by @AmoebeLabs in #246
  • Fix: Add future formatters as comment in state tool by @AmoebeLabs in #248

Full Changelog: v5.4.7...v5.4.7-dev.10