custom-cards / decluttering-card

🧹 Declutter your lovelace configuration with the help of this card
MIT License
372 stars 30 forks source link

Decluttering not possible with conditional row? reports missing card #48

Closed Mariusthvdb closed 2 years ago

Mariusthvdb commented 2 years ago

Checklist:

Release with the issue: latest Last working release (if known): don tknow Browser and Operating System: Any browser on Mac

Description of problem:

creating a decluttering for many repeating conditional rows:

      - type: conditional
        conditions:
          - entity: media_player.googlehome_library
            state_not: unavailable
        row:
          entity: input_boolean.googlehome_library
          state_color: true

with decl. template:

card:
  type: conditional
  conditions:
    - entity: media_player.googlehome_[[id]]
      state_not: unavailable
  row:
    entity: input_boolean.googlehome_[[id]]
    state_color: true

doesnt work and reports below error

Javascript errors shown in the web inspector (if applicable):

Schermafbeelding 2022-03-28 om 17 41 49

can clearly see the variables are replaced as they should:

Schermafbeelding 2022-03-28 om 16 41 27

Additional information:

Can we not use decluttering in a conditional row? Or am I missing another important config option. Please have a look? thanks

mathmaniac43 commented 2 years ago

Hello @Mariusthvdb. I just found the decluttering card today and was able to apply it to a bunch of my conditional cards, and things seem to work for me. I am using HA 2022.5.5 and installed the Decluttering Card via HACS.

I do not know if the Conditional Card has changed its interface recently, but I do not believe that it supports the row YAML key, but only the card YAML key. Here is an example that I used in my Lovelace YAML (via the web UI).

decluttering_templates:
  template_healthcheck:
    card:
      type: conditional
      conditions:
        - entity: '[[entity]]'
          state_not: 'on'
      card:
        type: entity
        entity: '[[entity]]'
        attribute: last_ping

You may need to use the Entity Card or Entities Card in order to get your entity to work with the Decluttering Card.

Hope that helps.

ildar170975 commented 2 years ago

but I do not believe that it supports the row YAML key, but only the card YAML key

You may display a row wrapped into hui-element card.

Compare these templates:

  decl_conditional:
    card:
      type: conditional
      conditions:
        - entity: '[[SENSOR_CHECK]]'
          state: 'on'
      row:
        entity: '[[SENSOR_SHOW]]'

  decl_conditional_2:
    card:
      type: custom:hui-element
      row_type: conditional
      conditions:
        - entity: '[[SENSOR_CHECK]]'
          state: 'on'
      row:
        entity: '[[SENSOR_SHOW]]'
type: entities
entities:
  - entity: input_boolean.test_boolean
  - type: custom:decluttering-card
    template: decl_conditional
    variables:
      - SENSOR_CHECK: input_boolean.test_boolean
      - SENSOR_SHOW: sun.sun
  - type: custom:decluttering-card
    template: decl_conditional_2
    variables:
      - SENSOR_CHECK: input_boolean.test_boolean
      - SENSOR_SHOW: sun.sun

изображение

Mariusthvdb commented 2 years ago

yes, I should have updated the first post long time ago, sorry about that:

card:
  type: custom:hui-element
  row_type: conditional
  conditions:
    - entity: media_player.googlehome_[[id]]
      state_not: unavailable
  row:
    entity: input_boolean.googlehome_[[id]]
    state_color: true

is what I've been using for those for some time now

used in:

  entities:
      - type: custom:decluttering-card
        template: conditional_row_boolean
        variables:
          - id: hub

      - type: custom:decluttering-card
        template: conditional_row_boolean
        variables:
          - id: woonkamer

      - type: custom:decluttering-card
        template: conditional_row_boolean
        variables:
          - id: hall

      - type: custom:decluttering-card
        template: conditional_row_boolean
        variables:
          - id: master_bedroom

will close as this seems to be solved by that construction.