thomasloven / lovelace-fold-entity-row

🔹 A foldable row for entities card, containing other rows
MIT License
561 stars 37 forks source link

20.0.5: odd behavior on auto-entities fold: no show #183

Closed Mariusthvdb closed 2 years ago

Mariusthvdb commented 2 years ago

My Home Assistant version: 2021.XX.X 2021.12.dev Fold-entity-row version (FROM BROWSER CONSOLE): 20.0.5 What I am doing: folding an auto-entities config What I expected to happen: fold out the auto entities What happened instead: nothing shows Minimal steps to reproduce:

# The least ammount of code possible to reproduce my error
  - type: custom:fold-entity-row
    head:
      type: section
      label: Schedule
    padding: 0
    entities:
      - type: custom:auto-entities
        card:
          type: entities
          title: Hue schedule sensors
          card_mod:
            style: |
              ha-card {
                box-shadow: none;
                margin: 0px -16px 0px -16px;
              }
        filter:
          include:
            - entity_id: 'sensor.*_schedule_*'
              not:
                entity_id: '*buiten*'
              sort:
                method: name
            - entity_id: '*buiten_schedule_*'
              sort:
                method: name
          exclude:
            - entity_id: sensor.hue_sensor
# End of code

Error messages from the browser console:


No errors in the log

the card as stand alone works just fine. Ive also tested the fold with only:

        filter:
          include:
            - entity_id: 'sensor.*_schedule_*'

and still doesn't show.

Schermafbeelding 2021-11-06 om 09 46 38

using yaml config:

  - !include /config/lovelace/includes/include_hue_motion_sensor_settings.yaml

  - type: custom:auto-entities
    card:
      type: entities
      title: Hue schedule sensors
    filter:
      include:
        - entity_id: 'sensor.*_schedule_*'
          not:
           entity_id: '*buiten*'
          sort:
           method: name
        - entity_id: '*buiten_schedule_*'
          sort:
            method: name

btw, the 2 other folds do work, but they are using other configs.

By putting an X in the boxes ([X]) below, I indicate that I:

miraixyz commented 2 years ago

I have the same issue so I reverted back to the previous version, which works fine.

bcutter commented 2 years ago

Same for me. Only thing changing is the fold icon, but nothing shows up/folds. Reverting back to 20.0.4 as update to 20.0.5 broke this 👎

Non-working examples:

- type: vertical-stack
    title: 📄 Umgebungswerte - Liste
    state_color: true
    show_header_toggle: false
    cards:
      - type: entities
        entities:
          - type: custom:fold-entity-row
            head:
              type: section
              label: 🌡 Temperatur
            padding: 0
            open: false
            group_config:
              state_color: true
            entities:
              - entity: weather.local
                name: Außentemperatur
              - type: custom:auto-entities
                card:
                  type: entities
                  title: ''
                  state_color: true
                  show_header_toggle: false
                  card_mod:
                    style:
                      .: |
                        ha-card {
                          margin-left: -15px;
                          margin-right: -15px;
                          margin-top: -5px;
                          margin-bottom: -20px;
                          box-shadow: none;
                        }
                entities: []
                filter:
                  include:
                    - entity_id: sensor.multi_*_temperature
                  exclude: null
                show_empty: false
                unique: true
                sort:
                  method: state
                  reverse: true
                  count: 0
                  numeric: true
            card_mod:
              style:
                .: |
                  div#head {
                    #font-size: 16px;
                  }
                  ha-icon {
                    margin-top: 17px;
                  }
type: custom:collapsable-cards
title: 🔵 Betriebsstatus
defaultOpen: true
buttonStyle: 'font-size: medium; background: default;'
cards:
  - type: entities
    title: ''
    state_color: true
    show_header_toggle: false
    entities:
      - type: custom:fold-entity-row
        head:
          type: section
          label: 💻 Netzwerk-Geräte aktiv
        padding: 0
        open: false
        group_config:
          state_color: true
        entities:
          - type: custom:auto-entities
            card:
              type: entities
              title: null
              state_color: true
              show_header_toggle: false
              card_mod:
                style:
                  .: |
                    ha-card {
                      margin-left: -15px;
                      margin-right: -15px;
                      margin-top: -10px;
                      margin-bottom: -15px;
                      box-shadow: none;
                    }
            filter:
              include:
                - domain: device_tracker
                  state: home
                  options:
                    secondary_info: last-changed
              exclude:
                - domain: device_tracker
                  entity_id: '*app*'
                  options:
                    secondary_info: last-changed
            show_empty: false
            unique: true
            sort:
              method: last_changed
              reverse: true
            card_mod:
              style:
                .: |
                  div#head {
                    font-size: 16px;
                    margin-bottom: 10px;
                  }
                  ha-icon {
                    margin-top: 17px;
                  }
    card_mod:
      style:
        .: |
          ha-card {
            #margin-left: 3px;
            #margin-right: 3px;
            #margin-top: -10px;
            #margin-bottom: -10px;
            #box-shadow: 1px;
          }
MrSnakeSPb commented 2 years ago

Unfolding stopped working. What changed? where to dig, comrades?

  - type: entities
    title: Фильтр питьевой воды
    entities:
      - type: custom:fold-entity-row
        open: true
        head:
          type: section
          label: Расходы. Сегодня
        entities:
          - entity: sensor.raw_water_daily_um
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              КПД: [[ sensor.flowmeter_drop.attributes.kpd_membrane_daily ]] % |
              Сброс: [[ sensor.flowmeter_drop.attributes.drop_water_daily ]] л.
          - entity: sensor.pure_water_daily_um
          - entity: sensor.mineral_water_daily_um
          - type: custom:fold-entity-row
            open: false
            head:
              type: section
              label: Периоды
            entities:
              - type: custom:fold-entity-row
                open: true
                head:
                  type: section
                  label: Вчера
                entities:
                  - entity: sensor.raw_water_yesterday
                    type: custom:secondaryinfo-entity-row
                    secondary_info: >-
                      КПД: [[
                      sensor.flowmeter_drop.attributes.kpd_membrane_yesterday ]]
                      % | Сброс: [[
                      sensor.flowmeter_drop.attributes.drop_water_yesterday ]]
                      л.
                  - entity: sensor.pure_water_yesterday
                  - entity: sensor.mineral_water_yesterday
              - type: custom:fold-entity-row
                open: true
                head:
                  type: section
                  label: Неделя
                entities:
                  - entity: sensor.raw_water_weekly_um
                    type: custom:secondaryinfo-entity-row
                    secondary_info: >-
                      КПД: [[
                      sensor.flowmeter_drop.attributes.kpd_membrane_weekly ]] %
                      | Сброс: [[
                      sensor.flowmeter_drop.attributes.drop_water_weekly ]] л.
                  - entity: sensor.pure_water_weekly_um
                  - entity: sensor.mineral_water_weekly_um
              - type: custom:fold-entity-row
                open: true
                head:
                  type: section
                  label: Месяц
                entities:
                  - entity: sensor.raw_water_monthly_um
                    type: custom:secondaryinfo-entity-row
                    secondary_info: >-
                      КПД: [[
                      sensor.flowmeter_drop.attributes.kpd_membrane_monthly ]] %
                      | Сброс: [[
                      sensor.flowmeter_drop.attributes.drop_water_monthly ]] л.
                  - entity: sensor.pure_water_monthly_um
                  - entity: sensor.mineral_water_monthly_um
              - type: custom:fold-entity-row
                open: true
                head:
                  type: section
                  label: Год
                entities:
                  - entity: sensor.raw_water_yearly_um
                    type: custom:secondaryinfo-entity-row
                    secondary_info: >-
                      КПД: [[
                      sensor.flowmeter_drop.attributes.kpd_membrane_yearly ]] %
                      | Сброс: [[
                      sensor.flowmeter_drop.attributes.drop_water_yearly ]] л.
                  - entity: sensor.pure_water_yearly_um
                  - entity: sensor.mineral_water_yearly_um
              - type: custom:fold-entity-row
                open: true
                head:
                  type: section
                  label: За все время
                entities:
                  - entity: sensor.flowmeter_raw
                    type: custom:secondaryinfo-entity-row
                    secondary_info: >-
                      КПД: [[ sensor.flowmeter_drop.attributes.kpd_membrane ]] %
                      | Сброс: [[ sensor.flowmeter_drop ]] л.
                  - entity: sensor.flowmeter_pure
                  - entity: sensor.flowmeter_mineral
          - type: custom:fold-entity-row
            open: false
            head:
              label: Счетчики
              state_color: true
              type: section
            entities:
              - type: divider
              - entity: sensor.flow_raw
                name: Расход ESP сырой воды
              - entity: sensor.flow_raw_r
              - type: divider
              - entity: sensor.flow_pure
                name: Расход ESP чистой воды
              - entity: sensor.flow_pure_r
              - type: divider
              - entity: sensor.flow_mineral
                name: Расход ESP минеральной воды
              - entity: sensor.flow_mineral_r
              - type: divider
              - entity: sensor.flowmeter_drop
                type: custom:secondaryinfo-entity-row
                secondary_info: 'КПД: [[ sensor.flowmeter_drop.attributes.kpd_membrane ]] %'
      - type: divider
      - type: custom:fold-entity-row
        open: false
        head: binary_sensor.state_drink_filter
        state_color: true
        entities:
          - entity: sensor.drink_filter_wifi_signal
          - type: button
            tap_action:
              action: url
              url_path: >-
                https://docs.google.com/spreadsheets/d/1yJ9E3haJulJPcJjbWpsVHBjHd7xp20VS6AtH0miffDs/edit?usp=sharing
            name: Google таблица
          - entity: sensor.drink_filter_uptime
          - entity: switch.restart_drink_filter
      - type: divider
      - type: custom:fold-entity-row
        head: variable.filter_change
        open: true
        state_color: true
        entities:
          - entity: sensor.filter_raw_1
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              Осталось: [[ sensor.filter_raw_1.attributes.resurse ]] из [[
              sensor.filter_raw_1.attributes.resurse_full ]] л. ([[
              sensor.filter_raw_1.attributes.change_date ]])
          - entity: sensor.filter_raw_2
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              Осталось: [[ sensor.filter_raw_2.attributes.resurse ]] из [[
              sensor.filter_raw_2.attributes.resurse_full ]] л. ([[
              sensor.filter_raw_2.attributes.change_date ]])
          - entity: sensor.filter_raw_3
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              Осталось: [[ sensor.filter_raw_3.attributes.resurse ]] из [[
              sensor.filter_raw_3.attributes.resurse_full ]] л. ([[
              sensor.filter_raw_3.attributes.change_date ]])
          - type: divider
          - entity: sensor.filter_membrane
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              Осталось: [[ sensor.filter_membrane.attributes.resurse ]] из [[
              sensor.filter_membrane.attributes.resurse_full ]] л. ([[
              sensor.filter_membrane.attributes.change_date ]])
          - entity: sensor.filter_coil
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              Осталось: [[ sensor.filter_coil.attributes.resurse ]] из [[
              sensor.filter_coil.attributes.resurse_full ]] л. ([[
              sensor.filter_coil.attributes.change_date ]])
          - entity: sensor.filter_mineral
            type: custom:secondaryinfo-entity-row
            secondary_info: >-
              Осталось: [[ sensor.filter_mineral.attributes.resurse ]] из [[
              sensor.filter_mineral.attributes.resurse_full ]] л. ([[
              sensor.filter_mineral.attributes.change_date ]])
      - type: divider
      - type: custom:fold-entity-row
        head: input_boolean.filter_service
        state_color: true
        entities:
          - entity: timer.filter_service
            type: custom:secondaryinfo-entity-row
            secondary_info: >
              Service: [[ input_boolean.filter_service ]] / Secure: [[
              variable.filter_change.attributes.secure ]]
          - action_name: отключить
            icon: mdi:lock-open-alert-outline
            name: Защита от изменений
            service: script.filter_secure_off
            type: call-service
          - type: divider
          - entity: input_select.water_use_reset
          - action_name: ДА
            icon: mdi:progress-wrench
            name: Сбросить водопотребление
            service: script.water_use_reset
            type: call-service
          - type: divider
          - entity: input_select.filter_reset
          - action_name: ДА
            icon: mdi:progress-wrench
            name: Заменить фильтр
            service: script.filter_reset
            type: call-service
      - type: divider
    theme: ios-dark-mode
sstefanowski commented 2 years ago

I have the same issue. I guess this is because in the previous version custom:fold-entity-row could work as a card type. In newest it can NOT it can be just line in entity card! Please @thomasloven revert to the previous version enabling using custom:fold-entity-row as card type (with custom:auto-entities) It was very useful, now it's unusable.

My card example is below. It's probably the simplest possible combination of custom:auto-entites with custom:fold-entity-row. It was working fine with fold-entity-row 20.0.4 . It's not working in 20.0.5) and I can't figure out how to configure it properly.

type: custom:vertical-stack-in-card
title: PC Marta
cards:
  - type: entities
    (...)

  - type: conditional
    (...)

  - type: custom:auto-entities
    card:
      type: custom:fold-entity-row
      head:
        label: Disks
        type: section
    filter:
      include:
        - name: '*PC-MARTA Storage*'

  - type: custom:auto-entities
    card:
      type: custom:fold-entity-row
      head:
        label: Network
        type: section
    filter:
      include:
        - name: '*PC-MARTA Network*'
Duke-Box commented 2 years ago

I have similar issue but in my situation using version 20.0.5, my first entity (switch.garage_light) shows the second (cover.msg100_garage) doesn't.

type: entities
show_header_toggle: false
state_color: true
entities:
  - type: custom:fold-entity-row
    open: true
    head:
      type: custom:template-entity-row
      entity: group.garage
      icon: mdi:garage-variant
      name: Garage
      active: '{{ is_state("group.garage", "on") }}'
      state: ''
      tap_action:
        action: fire-dom-event
        fold_row: true
    entities:
      - type: custom:hui-button-card
        entity: switch.garage_light
        icon_height: 48px
      - type: custom:hui-button-card
        entity: cover.msg100_garage
        icon_height: 70px
        show_state: true
        tap_action:
          action: toggle

This worked fine in 20.0.4

Mariusthvdb commented 2 years ago

hey Thomas,

thanks for this, its back unfolding.

Unfortunately it seems to be way more sluggish than before, and, moreover is showing this odd box currently in Safari desktop on a Mac

Schermafbeelding 2021-11-06 om 23 05 12

showing on first unfold, and remaining on close.

Schermafbeelding 2021-11-06 om 23 09 41

you need a new issue for that I suppose?

thomasloven commented 2 years ago

... I should have realized safari would not have implemented this thing all other browsers have had for years.

I'll fix it.

You'll have to live with the sluggishness, I'm afraid. It's only 250 milliseconds, and the caret is still fast. In exchange, you can now have a header that toggles the fold on click, does something else on hold and something third on double click (for rows that support hold_ and double_tap_action natively).

thomasloven commented 2 years ago

There we go

Duke-Box commented 2 years ago

Thomas - working great for me again. Many many thanks for your quick response.