marcokreeft87 / room-card

Show multiple entity states, attributes and icons in a single card in Home Assistant's Lovelace UI
MIT License
231 stars 38 forks source link

Cards: sections reloading/refreshing causing flickering #283

Open systanford opened 1 year ago

systanford commented 1 year ago

Which version of Room Card? 1.08.02

Describe the bug When using Firefiox, Cards listed under cards: repeatedly reload/refresh causing a flickering effect. experiencing issue with weather cards, media control, markdown cards,

To Reproduce Load a page with Room Card featuring a card: element

Expected behavior cards should be static.

Screenshots

Desktop (please complete the following information):

Smartphone (please complete the following information): unaffected as far as I can tell

Additional context cant be 100% sure, but think it started after latest HA update

marcokreeft87 commented 1 year ago

Can you share your yaml?

elninosi commented 1 year ago

Can confirm same observation on Android 14.

On Sun, Oct 29, 2023, 22:34 systanford @.***> wrote:

Which version of Room Card? 1.08.02

Describe the bug When using Firefiox, Cards listed under cards: repeatedly reload/refresh causing a flickering effect. experiencing issue with weather cards, media control, markdown cards,

To Reproduce Load a page with Room Card featuring a card: element

Expected behavior cards should be static. Screenshots

Desktop (please complete the following information):

  • OS: windows 11
  • Browser: Firefox
  • Version: 118.0.2 (64-bit)

Smartphone (please complete the following information): unaffected as far as I can tell

Additional context cant be 100% sure, but think it started after latest HA update

— Reply to this email directly, view it on GitHub https://github.com/marcokreeft87/room-card/issues/283, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACURVVAJIBPHQ45Q4F5IHGTYB24TVAVCNFSM6AAAAAA6VDTURWVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DOMJWGI4DCNY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

systanford commented 1 year ago

Can you share your yaml? Difficult without Doxxing myself

marcokreeft87 commented 1 year ago

I can't help without

systanford commented 1 year ago

anyway I can send privately?

marcokreeft87 commented 1 year ago

Rather not. But you can mask your sensitive data in the yaml

systanford commented 1 year ago

views:
  - theme: Backend-selected
    icon: mdi:home
    title: Main
    path: default_view
    badges: []
    cards:
      - square: false
        type: grid
        cards:
          - type: horizontal-stack
            cards:
              - type: tile
                entity: alarm_control_panel.home_alarm
                vertical: true
                show_entity_picture: false
          - type: custom:room-card
            title: Who's in?
            entity: null
            icon: mdi:home
            show_icon: true
            state_color: true
            show_state: false
            content_alignment: center
            info_entities:
              - entity: input_boolean.xxxxxxxxxxxxxxxx_teeth
                show_icon: true
                show_state: true
                icon:
                  conditions:
                    - icon: mdi:tooth
                      condition: equals
                      value: 'on'
                      styles:
                        color: white
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - entity: sensor.recycling_collection
                show_icon: true
                show_state: true
                icon:
                  conditions:
                    - icon: mdi:recycle
                      condition: below
                      attribute: days
                      value: 2
                      styles:
                        color: green
                    - icon: mdi:recycle
                      condition: equals
                      attribute: days
                      value: 2
                      styles:
                        color: '#FBCD41'
                hide_if:
                  conditions:
                    - condition: above
                      value: 2
                      attribute: days
              - entity: sensor.general_waste_collection
                show_icon: true
                show_state: true
                icon:
                  conditions:
                    - icon: mdi:trash-can
                      condition: below
                      attribute: days
                      value: 2
                      styles:
                        color: green
                    - icon: mdi:trash-can
                      condition: equals
                      attribute: days
                      value: 2
                      styles:
                        color: yellow
                hide_if:
                  conditions:
                    - condition: above
                      value: 2
                      entity: sensor.general_waste_collection
                      attribute: days
              - entity: binary_sensor.frost_warning
                show_icon: true
                icon: mdi:snowflake-alert
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
            entities:
              - entity: person.xxxxxxxxxxxxxxxx
                name: xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      value: not_home
                    - condition: equals
                      value: unknown
              - entity: person.xxxxxxxxxxxxxxxx
                name: xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      value: not_home
                    - condition: equals
                      value: unknown
              - entity: person.xxxxxxxxxxxxxxxx
                name: xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      value: not_home
                    - condition: equals
                      value: unknown
              - entity: person.xxxxxxxxxxxxxxxx
                name: xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      value: not_home
                    - condition: equals
                      value: unknown
              - entity: person.xxxxxxxxxxxxxxxx
                name: xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      value: not_home
                    - condition: equals
                      value: unknown
              - entity: person.maxxxxxxxxxxxxxxxxx
                name: xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      value: not_home
                    - condition: equals
                      value: unknown
            cards: null
          - square: true
            columns: 6
            type: grid
            cards:
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/bedroom
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data:
                    entity_id: light.bedroom_group
                icon: mdi:bed
                entity: light.bedroom_group
                show_name: false
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/xxxxxxxxxxxxxxxx
                entity: light.xxxxxxxxxxxxxxxxs_room_group
                icon: mdi:lava-lamp
                show_name: false
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data:
                    entity_id: light.xxxxxxxxxxxxxxxxs_room_group
              - show_name: false
                show_icon: true
                type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/back_bedroom
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data: {}
                  target:
                    entity_id: light.back_bedroom_group
                icon: mdi:bed-king
                entity: light.back_bedroom_group
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/bathroom
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data: {}
                  target:
                    entity_id: light.bathroom_group
                icon: mdi:shower
                entity: light.bathroom
                show_name: false
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/landing
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data: {}
                  target:
                    entity_id: light.upstairs_toilet
                entity: light.upstairs_toilet
                show_name: false
              - show_name: false
                show_icon: true
                type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/landing
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data: {}
                  target:
                    entity_id: light.landing_group
                icon: mdi:stairs-up
                entity: light.landing_group
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/living-room
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data:
                    entity_id: light.living_room_group
                icon: mdi:sofa
                entity: light.living_room_group
                show_name: false
              - show_name: false
                show_icon: true
                type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/kitchen
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data:
                    entity_id: light.kitchen_group
                entity: light.kitchen_group
                icon: mdi:knife
              - show_name: false
                show_icon: true
                type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/dining-room
                entity: light.dining_room_group
                icon: mdi:table-chair
                hold_action:
                  action: call-service
                  service: light.turn_off
                  data: {}
                  target:
                    entity_id: light.dining_room_group
              - show_name: false
                show_icon: true
                type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/office
                entity: light.office_group
                icon: mdi:desk
                hold_action:
                  action: call-service
                  service: light.turn_off
                  data: {}
                  target:
                    entity_id: light.office_group
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/hallway
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data: {}
                  target:
                    entity_id: light.downstairs_toilet
                entity: light.downstairs_toilet
                show_name: false
              - type: button
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/hallway
                hold_action:
                  action: call-service
                  service: light.turn_off
                  service_data:
                    entity_id: light.hallway_group
                entity: light.hallway_light
                show_name: false
                icon: mdi:door
          - square: false
            type: grid
            cards:
              - type: thermostat
                entity: climate.living_room
                name: ' '
              - type: vertical-stack
                cards:
                  - type: tile
                    entity: sensor.outside_temperature_humidity
                    name: Outside
                    icon: mdi:sun-thermometer-outline
                  - type: tile
                    entity: sensor.climate_upstairs_averages
                    name: Upstairs
                    icon: mdi:stairs-up
                  - type: tile
                    entity: sensor.climate_downstairs_averages
                    name: Downstairs
                    icon: mdi:stairs-down
            columns: 2
          - type: conditional
            conditions:
              - entity: input_boolean.xmas_time
                state: 'on'
            card:
              type: custom:room-card
              title: Christmas
              content_alignment: center
              entity: null
              icon: mdi:pine-tree
              show_icon: true
              state_color: true
              show_state: false
              tap_action:
                action: toggle
              double_tap_action:
                action: more-info
              hold_action:
                action: more-info
              info_entities: null
              entities:
                - entity: light.christmas_tree
                  name: Christmas Tree
                  tap_action:
                    action: toggle
                - entity: light.wled_holly_bush
                  name: Holly Bush
                  tap_action:
                    action: toggle
                  hold_action:
                    action: more_info
                - entity: light.tree_frame_v2
                  name: Tree Frame
                  tap_action:
                    action: toggle
                  hold_action:
                    action: more_info
                - entity: light.photo_string_lights
                  name: Photo Lights
                  tap_action:
                    action: toggle
                  hold_action:
                    action: more_info
                - entity: switch.fence_and_tree
                  name: Fence & Tree
                  tap_action:
                    action: toggle
                  hold_action:
                    action: more_info
              cards: null
          - type: custom:room-card
            title: Outside
            entity: null
            content_alignment: center
            icon: mdi:outdoor-lamp
            show_icon: true
            state_color: true
            show_state: false
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            info_entities:
              - entity: binary_sensor.back_door_sensor
                show_icon: true
                state_color: true
              - entity: binary_sensor.garage_door
                show_icon: true
                state_color: true
              - entity: binary_sensor.front_door_sensor
                show_icon: true
                state_color: true
            entities:
              - entity: light.front_garden_lights
                name: Front
                tap_action:
                  action: toggle
              - entity: switch.rope_light
                name: Rope Light
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.outside_led
                name: Window
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: switch.pool_filter_pump
                name: Pool Filter
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: switch.slitinto_2
                name: Water Pump
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.garage_light
                name: Garage Light
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
            cards: null
        columns: 1
      - type: custom:room-card
        title: Weather
        content_alignment: center
        entity: weather.met_office_xxxxxxxxxxxxxxxx_3_hourly
        show_icon: true
        state_color: true
        show_state: true
        tap_action:
          action: toggle
        double_tap_action:
          action: more-info
        hold_action:
          action: more-info
        info_entities: null
        entities:
          - entity: input_boolean.weather_hourly_menu_toggle
            name: Hourly
            state_color: true
            show_state: false
            tap_action:
              action: toggle
          - entity: input_boolean.weather_daily_menu_toggle
            name: Daily
            state_color: true
            show_state: false
            tap_action:
              action: toggle
        cards:
          - type: weather-forecast
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            entity: weather.met_office_xxxxxxxxxxxxxxxx_3_hourly
            name: Hourly
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.weather_hourly_menu_toggle
                  value: 'off'
            show_current: true
            show_forecast: true
          - show_current: true
            show_forecast: true
            type: weather-forecast
            entity: weather.met_office_xxxxxxxxxxxxxxxx_daily
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.weather_daily_menu_toggle
                  value: 'off'
            name: Daily
            forecast_type: legacy
          - type: markdown
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.xxxxxxxxxxxxxxxx_trip
                  value: 'off'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            content: >
              The Forecast for **xxxxxxxxxxxxxxxx** is {{
              states('weather.met_office_xxxxxxxxxxxxxxxx_3_hourly') 

              | replace("pouring", "**Heavy Rain**") 

              | replace("rainy", "**Raining**") 

              | replace("fog", "**Foggy**") 

              | replace("cloudy", "**Cloudy**") 

              | replace("clear-night", "a **Clear Night**") 

              | replace("partlycloudy", "Partly Cloudy") }} with a "real feel"
              of **{{
              states('sensor.met_office_xxxxxxxxxxxxxxxx_feels_like_temperature_3_hourly',
              with_unit=True) }}**.

              {% set feels_like_temp =
              states('sensor.met_office_xxxxxxxxxxxxxxxx_feels_like_temperature_3_hourly')
              | float %}

              {% set weather_condition =
              states('weather.met_office_xxxxxxxxxxxxxxxx_3_hourly') %}

              {% if feels_like_temp < 8 %}
                It's chilly, best take a coat! 
              {% endif %}

              {% if weather_condition == "rainy" %}
                {% if feels_like_temp < 8 %}
                Maybe a brolly too!
                {% else %}
                Take a brolly!
                {% endif %}
              {% endif %}

              {% if weather_condition == "sunny" %}
                {% if feels_like_temp > 16 %}
                  It's a warm and sunny day!
                {% endif %}
              {% endif %}

              {% if weather_condition == "snowy" %}
                {% if feels_like_temp < 1 %}
                 Be prepared for snow and icy conditions!
                {% endif %}
              {% endif %}

              {% if weather_condition == "windy" %}
                It's windy out there! Drive Safe!
              {% endif %}

              ETA: {{ states('sensor.drive_xxxxxxxxxxxxxxxx_lane') | int // 60 }}h {{
              states('sensor.drive_xxxxxxxxxxxxxxxx_lane') | int % 60 }}m, Driving
              from your location.
          - type: markdown
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.sheffield_trip
                  value: 'on'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            content: >
              In **xxxxxxxxxxxxxxxx** it's likely to be {{
              states('weather.met_office_xxxxxxxxxxxxxxxx_3_hourly') 

              | replace("pouring", "**Raining Heavily**") 

              | replace("rainy", "**Raining**") 

              | replace("fog", "**Foggy**") 

              | replace("cloudy", "**Cloudy**") 

              | replace("clear-night", "a **Clear Night**") 

              | replace("partlycloudy", "Partly Cloudy") }} with a "real feel"
              of **{{
              states('sensor.met_office_xxxxxxxxxxxxxxxx_feels_like_temperature_3_hourly',
              with_unit=True) | join}}**.

              {% set feels_like_temp =
              states('sensor.met_office_xxxxxxxxxxxxxxxx_feels_like_temperature_3_hourly')
              | float %}

              {% set weather_condition =
              states('weather.met_office_xxxxxxxxxxxxxxxx_3_hourly') %}

              {% if feels_like_temp < 8 %}
                It's chilly, layer up! 
              {% endif %}

              {% if weather_condition == "rainy" %}
                {% if feels_like_temp < 8 %}
                Take a brolly too!
                {% else %}
                Take a brolly!
                {% endif %}
              {% endif %}

              {% if weather_condition == "sunny" %}
                {% if feels_like_temp > 16 %}
                  Warm and sunny today!
                {% endif %}
              {% endif %}

              {% if weather_condition == "snowy" %}
                {% if feels_like_temp < 1 %}
                Be prepared for snow and icy conditions - Wrap Up!
                {% endif %}
              {% endif %}

              {% if weather_condition == "windy" %}
                It's windy out there! Drive Safe!
              {% endif %}

              {% if weather_condition == "pouring" %}
                100% a Brolly Day
              {% endif %}
      - type: custom:frigate-card
        cameras:
          - camera_entity: camera.driveway_1
          - camera_entity: camera.front_garden
          - camera_entity: camera.front_door_2
          - camera_entity: camera.back_door_3
      - type: custom:room-card
        title: Transport
        content_alignment: center
        entity: input_boolean.transport_menu_toggle
        show_icon: true
        state_color: true
        tap_action:
          action: toggle
        double_tap_action:
          action: more-info
        hold_action:
          action: more-info
        info_entities: null
        entities:
          - entity: input_boolean.traffic_menu_toggle
            name: Traffic
            state_color: true
            tap_action:
              action: toggle
          - entity: input_boolean.trains_menu_toggle
            name: Trains
            state_color: true
            tap_action:
              action: toggle
            hold_action:
              action: more_info
          - entity: input_boolean.aircraft_menu_toggle
            name: Aircraft
            state_color: true
            tap_action:
              action: toggle
            hold_action:
              action: more_info
        cards:
          - type: tile
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.transport_menu_toggle
                  value: 'off'
                - condition: equals
                  entity: person.sy
                  value: home
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            entity: sensor.drive_home
            show_entity_picture: false
            vertical: false
            name: Home
          - type: tile
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.transport_menu_toggle
                  value: 'off'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            entity: sensor.drive_xxxxxxxxxxxxxxxx_s_school
            show_entity_picture: false
            vertical: false
            name: xxxxxxxxxxxxxxxx's School
          - type: tile
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.transport_menu_toggle
                  value: 'off'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            entity: sensor.drive_twentywell_lane
            show_entity_picture: false
            vertical: false
            name: Twentywell Lane
          - type: entities
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.trains_menu_toggle
                  value: 'off'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            title: Trains
            entities:
              - entity: sensor.next_train_from_xxxxxxxxxxxxxxxx_to_xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      entity: sensor.next_train_from_xxxxxxxxxxxxxxxx_to_xxxxxxxxxxxxxxxx
                      value: unavailable
                name: Towards xxxxxxxxxxxxxxxx
              - entity: sensor.next_train_from_xxxxxxxxxxxxxxxx_to_xxxxxxxxxxxxxxxx
                hide_if:
                  conditions:
                    - condition: equals
                      entity: sensor.next_train_from_xxxxxxxxxxxxxxxx_to_xxxxxxxxxxxxxxxx
                      value: unavailable
                name: Towards xxxxxxxxxxxxxxxx
          - type: iframe
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.traffic_menu_toggle
                  value: 'off'
            url: >-
              https://embed.waze.com/iframe?zoom=14&lat=167.006962&lon=-4.499290&ct=livemap"
            aspect_ratio: 120%
            title: Live Traffic
          - type: iframe
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
                }
            hide_if:
              conditions:
                - condition: equals
                  entity: input_boolean.aircraft_menu_toggle
                  value: 'off'
            url: >-
              https://globe.adsbexchange.com/?SiteLat=167.998453&SiteLon=-4.515941&zoom=11&hideSidebar&hideButtons
            title: Aircraft Overhead
            aspect_ratio: 100%
      - type: custom:room-card
        title: Media
        content_alignment: center
        entity: null
        icon: mdi:multimedia
        show_icon: true
        state_color: true
        show_state: false
        tap_action:
          action: toggle
        double_tap_action:
          action: more-info
        hold_action:
          action: more-info
        info_entities: null
        entities: null
        cards:
          - type: media-control
            entity: media_player.living_room_tv
            hide_if:
              conditions:
                - condition: equals
                  entity: media_player.living_room_tv
                  value: 'off'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
          - type: media-control
            entity: media_player.bedroom_tv
            hide_if:
              conditions:
                - condition: equals
                  entity: media_player.bedroom_tv
                  value: 'off'
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
          - type: custom:mini-media-player
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            entity: media_player.spotify_sy_stanford
            artwork: cover
            info: short
            source: icon
          - artwork: cover
            entity: media_player.downstairs
            hide_if:
              conditions:
                - condition: equals
                  entity: media_player.downstairs
                  value: standby
            icon: mdi:spotify
            type: custom:mini-media-player
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
      - type: custom:room-card
        title: Streams
        content_alignment: center
        entity: null
        icon: mdi:twitch
        show_icon: true
        state_color: true
        show_state: false
        tap_action:
          action: toggle
        double_tap_action:
          action: more-info
        hold_action:
          action: more-info
        info_entities: null
        entities: null
        cards:
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.justjamie
                  value: offline
            entities:
              - entity: sensor.justjamie
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/2605b624-e124-4aa1-b514-99a3e61e191d-profile_image-150x150.png
              - type: attribute
                entity: sensor.justjamie
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.hayley_corinne
                  value: offline
            entities:
              - entity: sensor.hayley_corinne
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/8f6ce226-c26b-480a-bdb4-f19da0b58286-profile_image-150x150.png
              - type: attribute
                entity: sensor.hayley_corinne
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.zerkaa
                  value: offline
            entities:
              - entity: sensor.zerkaa
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/6a8880bb-00be-4080-9649-2c2348548811-profile_image-150x150.png
              - type: attribute
                entity: sensor.zerkaa
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.louuis
                  value: offline
            entities:
              - entity: sensor.louuis
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/1793b1c0-796b-4e6d-8858-f6a8f12af682-profile_image-150x150.png
              - type: attribute
                entity: sensor.louuis
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.moosetaffy
                  value: offline
            entities:
              - entity: sensor.moosetaffy
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/7415af77-a997-47b2-a727-f1660bbb767f-profile_image-150x150.png
              - type: attribute
                entity: sensor.moosetaffy
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.defac3d
                  value: offline
            entities:
              - entity: sensor.defac3d
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/960687de-1093-4c5a-b4c1-e0c54e7d29f3-profile_image-150x150.png
              - type: attribute
                entity: sensor.defac3d
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.bbjess
                  value: offline
            entities:
              - entity: sensor.bbjess
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/524377ed-63fd-4ccb-90fb-f83c3e10f9cf-profile_image-150x150.png
              - type: attribute
                entity: sensor.bbjess
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.lydability
                  value: offline
            entities:
              - entity: sensor.lydability
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/18faa552-6d69-4342-8ac0-2476e61de756-profile_image-150x150.png
              - type: attribute
                entity: sensor.lydability
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.justjasmine
                  value: offline
            entities:
              - entity: sensor.justjasmine
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/18faa552-6d69-4342-8ac0-2476e61de756-profile_image-150x150.png
              - type: attribute
                entity: sensor.justjasmine
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.9knives
                  value: offline
            entities:
              - entity: sensor.9knives
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/91d02050-a5fc-4426-a132-740250778ab2-profile_image-150x150.png
              - type: attribute
                entity: sensor.9knives
                name: ' '
                attribute: title
                icon: ' '
          - type: entities
            style: |
              ha-card {
                border: 0px;
                background: none;
                box-shadow: none;
              }
            hide_if:
              conditions:
                - condition: equals
                  entity: sensor.dustmonkey
                  value: offline
            entities:
              - entity: sensor.dustmonkey
                image: >-
                  https://static-cdn.jtvnw.net/jtv_user_pictures/2b5b6f11-2543-4125-add9-dbbca6b2e197-profile_image-150x150.png
              - type: attribute
                entity: sensor.dustmonkey
                name: ' '
                attribute: title
                icon: ' '
      - type: custom:room-card
  - icon: mdi:sofa
    panel: false
    path: living-room
    title: Living Room
    badges: []
    cards:
      - type: grid
        columns: 1
        square: false
        cards:
          - type: custom:room-card
            title: Living Room
            content_alignment: center
            entity: light.living_room_group
            icon: mdi:sofa
            show_icon: true
            state_color: true
            show_state: false
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            info_entities:
              - entity: binary_sensor.motion_sensor_living_room
                show_icon: true
                state_color: true
              - entity: sensor.living_room_temperature
                show_icon: false
            entities:
              - entity: light.living_room_lamp
                name: Lamp
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.living_room_ceiling
                name: Ceiling
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.living_room_led
                name: Accent
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.photo_string_lights
                name: String
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
                icon: mdi:string-lights
                show_icon: true
              - entity: switch.disco_light
                name: Disco
                state_color: true
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: media_player.living_room_tv
                name: TV
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: input_boolean.tower_fan_menu_toggle
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.tower_fan_in_living_room
                      value: 'off'
                name: Fan
                icon: mdi:fan
                show_icon: true
                tap_action:
                  action: toggle
              - entity: device_tracker.living_room_tv
                name: Remote
                icon: mdi:remote-tv
                show_icon: true
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/living-room-tv
                hide_if:
                  conditions:
                    - condition: equals
                      entity: media_player.living_room_tv
                      value: 'off'
              - entity: script.av_receiver_power
                name: AV
                tap_action:
                  action: toggle
                hide_if:
                  conditions:
                    - condition: equals
                      entity: media_player.living_room_tv
                      value: 'off'
            cards:
              - type: grid
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.tower_fan_menu_toggle
                      value: 'off'
                    - condition: equals
                      entity: input_boolean.tower_fan_in_living_room
                      value: 'off'
                square: true
                columns: 5
                cards:
                  - type: custom:button-card
                    color_type: blank-card
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.turn_on_tower_fan
                    entity: ''
                    name: Fan On
                    icon: mdi:fan
                    hold_action:
                      action: call-service
                      service: script.turn_off_tower_fan
                    show_state: false
                    show_name: false
                    show_icon: true
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.fan_speed_tower_fan
                    entity: switch.fan_timer
                    icon: mdi:fan-chevron-up
                    show_name: false
                  - show_name: false
                    show_icon: true
                    type: custom:button-card
                    tap_action:
                      action: toggle
                    entity: script.oscillate_fan_tower_fan
                    icon: mdi:rotate-right
                  - type: custom:button-card
                    color_type: blank-card
              - type: grid
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.tower_fan_menu_toggle
                      value: 'off'
                    - condition: equals
                      entity: input_boolean.tower_fan_in_living_room
                      value: 'off'
                square: true
                columns: 6
                cards:
                  - type: custom:button-card
                    color_type: blank-card
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.fan_5min
                      data: {}
                      target: {}
                    entity: ''
                    name: 5 mins
                    icon: mdi:fan-off
                    show_state: true
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.fan_15min
                      data: {}
                      target: {}
                    entity: ''
                    name: 15 mins
                    icon: mdi:fan-off
                    show_state: true
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.fan_30min
                      data: {}
                      target: {}
                    entity: ''
                    name: 30 mins
                    icon: mdi:fan-off
                    show_state: true
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.fan_1hr
                      data: {}
                      target: {}
                    entity: ''
                    name: 1 hr
                    icon: mdi:fan-off
                    show_state: true
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    color_type: blank-card
              - type: custom:mini-media-player
                entity: media_player.living_room_echo
                show_states:
                  - playing
                  - paused
              - type: media-control
                entity: media_player.living_room_tv
                show_states:
                  - 'on'
                  - playing
                  - paused
              - type: custom:mini-media-player
                entity: media_player.cast_livingroom
                show_states:
                  - 'on'
          - type: markdown
            content: '## Scenes'
          - type: grid
            columns: 4
            cards:
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.living_room_day
                entity: scene.living_room_day
                show_name: false
                show_icon: true
                icon: mdi:weather-sunny
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.living_room_evening
                entity: scene.living_room_evening
                show_name: false
                icon: mdi:moon-waning-crescent
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.living_room_evening_dark
                entity: scene.living_room_evening_dark
                show_name: false
                icon: mdi:weather-night
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.movie_mode
                entity: scene.movie_mode
                show_name: false
                icon: mdi:movie-open-outline
              - type: button
                tap_action:
                  action: call-service
                  service_data:
                    entity_id: scene.living_room_gaming
                  service: scene.turn_on
                entity: scene.living_room_gaming
                icon: mdi:sony-playstation
                show_name: false
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.living_room_netflix
                entity: scene.living_room_netflix
                icon: mdi:netflix
                show_name: false
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.living_room_emby
                entity: scene.living_room_emby
                show_name: false
                icon: mdi:emby
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.living_room_youtube
                entity: scene.living_room_youtube
                icon: mdi:youtube
                show_name: false
          - type: media-control
            entity: media_player.ps4_pro
          - type: grid
            columns: 4
            cards:
              - show_name: true
                show_icon: true
                type: button
                tap_action:
                  action: toggle
                entity: switch.ps5_power
          - type: entity
            entity: sensor.ps5_activity
            icon: mdi:sony-playstation
            name: PS5
  - theme: Backend-selected
    title: Kitchen
    path: kitchen
    icon: mdi:knife
    badges: []
    cards:
      - type: vertical-stack
        cards:
          - type: custom:room-card
            title: Kitchen
            content_alignment: center
            entity: light.kitchen_group
            show_icon: true
            icon: mdi:knife
            state_color: true
            tap_action:
              action: toggle
            hold_action:
              action: more-info
            show_state: false
            info_entities:
              - entity: binary_sensor.motion_sensor_kitchen
                show_icon: true
              - entity: sensor.humidity_kitchen
                show_icon: false
              - entity: sensor.temperature_kitchen
                show_icon: false
            entities:
              - entity: light.kitchen_lights
                name: Ceiling
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.kitchen_sink_lights
                name: Sink
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.kitchen_side_lights
                name: Side Lights
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.kitchen_led
                name: Window
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: switch.kitchen_speakers
                name: Speakers
                state_color: true
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: sensor.temperature_drinks_fridge
                show_name: false
                show_state: true
                show_icon: true
                icon: mdi:beer
              - entity: sensor.temperature_fridge
                show_name: false
                show_state: true
            cards:
              - type: tile
                entity: vacuum.robovac
                style: |
                  ha-card {
                    border: 0px;
                    background: none;
                    box-shadow: none;
                  }
                features:
                  - type: vacuum-commands
                    commands:
                      - start_pause
                      - locate
                      - return_home
              - type: custom:mini-media-player
                entity: media_player.kitchen_dot
                show_states:
                  - playing
                  - paused
              - type: entities
                style: |
                  ha-card {
                    border: 0px;
                    background: none;
                    box-shadow: none;
                  }
                title: null
                entities:
                  - entity: sensor.cactus_moisture
                    type: custom:multiple-entity-row
                    name: Cactus
                    icon: mdi:cactus
                    entities:
                      - entity: sensor.cactus_conductivity
                        name: false
                      - entity: sensor.cactus_illuminance
                        name: false
                      - entity: sensor.cactus_temperature
                        name: false
  - title: Dining Room
    path: dining-room
    icon: mdi:table-chair
    badges: []
    cards:
      - type: vertical-stack
        cards:
          - type: custom:room-card
            title: Dining Room
            entity: light.dining_room_group
            icon: mdi:table-chair
            content_alignment: center
            show_icon: true
            state_color: true
            show_state: false
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            info_entities:
              - entity: binary_sensor.dining_room_motion_sensor
                show_icon: true
                tap_action:
                  action: none
                hold_action:
                  action: more-info
              - entity: sensor.humidity_desk
                show_icon: false
              - entity: sensor.temperature_desk
                show_icon: false
                tap_action:
                  action: none
                hold_action:
                  action: more-info
            entities:
              - entity: light.dining_room_lamp
                name: Lamps
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.dining_room_ceiling
                name: Ceiling
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.dining_table
                name: Table
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.shelf_light
                name: Shelf
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.office_group
                name: Office
                icon: mdi:desk
                show_icon: true
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/office
                hold_action:
                  action: toggle
            cards:
              - type: tile
                entity: light.dining_room_lamp
                name: Lamps
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                  - type: light-color-temp
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.dining_room_ceiling
                name: Ceiling
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                  - type: light-color-temp
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.dining_table
                name: Table
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                  - type: light-color-temp
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.shelf_light
                name: Shelf
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: custom:mini-media-player
                entity: media_player.desk
                show_states:
                  - playing
                  - paused
              - type: media-control
                entity: media_player.living_room_tv
                show_states:
                  - 'on'
                  - playing
                  - paused
  - title: Office
    path: office
    icon: mdi:desk
    badges: []
    cards:
      - type: vertical-stack
        cards:
          - type: custom:room-card
            title: Office
            content_alignment: center
            entity: light.office_group
            icon: mdi:desk
            show_icon: true
            state_color: true
            show_state: false
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            info_entities:
              - entity: sensor.humidity_desk
              - entity: sensor.temperature_desk
            entities:
              - entity: light.desk_atmosphere
                name: Desk
                tap_action:
                  action: toggle
              - entity: light.wled_desk_uplight
                name: Uplight
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.desk_light
                name: Downlight
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.wled_server
                name: Server Light
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: switch.workbench_fan
                name: Workbench Fan
                state_color: true
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: input_boolean.stream_toggle
                name: Stream Lights
                state_color: true
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
            cards:
              - type: custom:room-card
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.stream_toggle
                      value: 'off'
                style: |
                  ha-card {
                    border: 0px;
                    background: none;
                    box-shadow: none;
                    font-size: 10px;
                    --ha-card-header-font-size: 16px;
                    }
                title: Left Fill
                content_alignment: center
                entity: script.stream_light_left_power
                icon: mdi:power
                show_icon: true
                state_color: true
                show_state: false
                tap_action:
                  action: toggle
                double_tap_action:
                  action: more-info
                hold_action:
                  action: more-info
                info_entities:
                  - entity: script.stream_light_left_brightness_up
                    show_icon: true
                    state_color: true
                    show_state: false
                    tap_action:
                      action: toggle
                  - entity: script.stream_light_left_brightness_down
                    show_icon: true
                    state_color: true
                    show_state: false
                    tap_action:
                      action: toggle
              - type: custom:room-card
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.stream_toggle
                      value: 'off'
                style: |
                  ha-card {
                    border: 0px;
                    background: none;
                    box-shadow: none;
                    font-size: 10px;
                    --ha-card-header-font-size: 16px;
                    }
                title: Right Fill
                content_alignment: center
                entity: script.stream_light_right_power
                icon: mdi:power
                show_icon: true
                state_color: true
                show_state: false
                tap_action:
                  action: toggle
                double_tap_action:
                  action: more-info
                hold_action:
                  action: more-info
                info_entities:
                  - entity: script.stream_light_right_brightness_up
                    show_icon: true
                    state_color: true
                    show_state: false
                    tap_action:
                      action: toggle
                  - entity: script.stream_light_right_brightness_down
                    show_icon: true
                    state_color: true
                    show_state: false
                    tap_action:
                      action: toggle
              - type: custom:mini-media-player
                entity: media_player.kitchen_dot
                show_states:
                  - playing
                  - paused
          - entity: switch.synas_wol
            show_state: false
            type: custom:multiple-entity-row
            name: Server
            toggle: false
            state_color: true
            entities:
              - entity: light.wled_server
                icon: true
                name: false
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: sensor.temperature_server_rack
                toggle: false
                name: false
          - type: grid
            cards:
              - show_name: false
                show_icon: true
                type: button
                tap_action:
                  action: toggle
                entity: switch.heat_press
              - show_name: false
                show_icon: true
                type: button
                entity: switch.gamerig_wol
                show_state: false
                icon: mdi:desktop-tower-monitor
              - show_name: false
                show_icon: true
                type: button
                entity: switch.synas_wol
                show_state: false
                icon: mdi:server
  - title: Hallway
    path: hallway
    icon: mdi:door
    badges: []
    cards:
      - type: custom:room-card
        title: Hallway
        content_alignment: center
        entity: light.hallway_group
        icon: mdi:door
        show_icon: true
        state_color: true
        show_state: false
        tap_action:
          action: toggle
        double_tap_action:
          action: more-info
        hold_action:
          action: more-info
        info_entities:
          - entity: binary_sensor.motion_sensor_hallway
            show_icon: true
            state_color: true
          - entity: sensor.humidity_hallway
          - entity: sensor.temperature_hallway
        entities:
          - entity: light.hallway_light
            name: Ceiling
            tap_action:
              action: toggle
          - entity: light.hallway_led
            name: Accent
            tap_action:
              action: toggle
            hold_action:
              action: more_info
          - entity: light.downstairs_toilet
            name: Toilet
            tap_action:
              action: toggle
            hold_action:
              action: more_info
        cards:
          - type: custom:mini-media-player
            entity: media_player.portable_dot
            show_states:
              - playing
              - paused
  - title: Landing
    path: landing
    icon: mdi:stairs-up
    badges: []
    cards:
      - type: grid
        columns: 1
        square: false
        cards:
          - type: custom:room-card
            title: Landing
            entity: light.landing_group
            icon: mdi:stairs-up
            content_alignment: center
            show_icon: true
            state_color: true
            show_state: true
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            info_entities:
              - entity: binary_sensor.motion_sensor_landing
                show_icon: true
                tap_action:
                  action: none
                hold_action:
                  action: more-info
              - entity: sensor.humidity_landing
                show_icon: false
              - entity: sensor.temperature_landing
                show_icon: false
            entities:
              - entity: light.landing
                name: Ceiling
                tap_action:
                  action: toggle
              - entity: light.landing_hub_light
                name: LED Hub
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: input_boolean.shower
                name: Shower
                state_color: true
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.upstairs_toilet
                name: Toilet
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
            cards:
              - type: tile
                entity: light.landing
                name: Ceiling
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.landing_hub_light
                name: LED Hub
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.upstairs_toilet
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
  - icon: mdi:bed
    panel: false
    path: bedroom
    title: Bedroom Remote
    badges: []
    cards:
      - square: false
        columns: 1
        type: grid
        cards:
          - type: custom:room-card
            title: Bedroom
            entity: light.bedroom_group
            show_icon: true
            icon: mdi:bed
            state_color: true
            show_state: false
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            content_alignment: center
            info_entities:
              - entity: binary_sensor.withings_in_bed_sy
                show_icon: true
                state_color: true
              - entity: binary_sensor.motion_sensor_bed
                show_icon: true
              - entity: sensor.humidity_bedroom
                show_icon: false
              - entity: sensor.temperature_bedroom
                show_icon: false
            entities:
              - entity: light.bedhead
                name: Bedhead
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.bedroom
                name: Ceiling
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: light.bed_leds
                name: Bed LEDs
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: media_player.bedroom_tv
                name: TV
                tap_action:
                  action: toggle
                hold_action:
                  action: more-info
              - entity: input_boolean.bedroom_fan_menu_toggle
                name: Fan
                icon: mdi:fan
                show_icon: true
                tap_action:
                  action: toggle
              - entity: device_tracker.living_room_tv
                name: Remote
                icon: mdi:remote-tv
                show_icon: true
                tap_action:
                  action: navigate
                  navigation_path: /lovelace/bedroom-tv
                hide_if:
                  conditions:
                    - condition: equals
                      entity: media_player.bedroom_tv
                      value: 'off'
            cards:
              - type: grid
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.bedroom_fan_menu_toggle
                      value: 'off'
                square: true
                columns: 5
                cards:
                  - type: custom:button-card
                    color_type: blank-card
                  - type: custom:button-card
                    tap_action:
                      action: call-service
                      service: script.turn_on_fan
                      data: {}
                      target: {}
                    entity: ''
                    name: Fan On
                    icon: mdi:fan
                    hold_action:
                      action: call-service
                      service: script.turn_off_fan
                      data: {}
                      target: {}
                    double_tap_action:
                      action: call-service
                      service: script.turn_off_fan
                      data: {}
                      target: {}
                    show_state: false
                    show_name: false
                    show_icon: true
                  - type: custom:button-card
                    tap_action:
                      action: toggle
                    entity: switch.fan_timer
                    icon: mdi:fan-chevron-up
                    show_name: false
                  - show_name: false
                    show_icon: true
                    type: custom:button-card
                    tap_action:
                      action: toggle
                    entity: switch.swing_fan
                    icon: mdi:rotate-right
                  - type: custom:button-card
                    color_type: blank-card
              - type: grid
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.bedroom_fan_menu_toggle
                      value: 'off'
                square: true
                columns: 7
                cards:
                  - type: custom:button-card
                    color_type: blank-card
                  - type: custom:button-card
                    styles:
                      card: null
                      name:
                        - font-size: 80%
                    tap_action:
                      action: toggle
                    entity: input_button.bedroom_fan_5mins
                    name: 5 mins
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    styles:
                      card: null
                      name:
                        - font-size: 80%
                    tap_action:
                      action: toggle
                    entity: input_button.bedroom_fan_15mins
                    name: 15 mins
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    styles:
                      card: null
                      name:
                        - font-size: 80%
                    tap_action:
                      action: toggle
                    entity: input_button.bedroom_fan_30mins
                    name: 30 mins
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    styles:
                      card: null
                      name:
                        - font-size: 80%
                    tap_action:
                      action: toggle
                    entity: input_button.bedroom_fan_1hr
                    name: 1 hr
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    styles:
                      card: null
                      name:
                        - font-size: 80%
                    tap_action:
                      action: toggle
                    entity: input_button.bedroom_fan_cancel
                    name: Cancel
                    show_name: true
                    show_icon: true
                    state_color: true
                  - type: custom:button-card
                    color_type: blank-card
              - type: grid
                hide_if:
                  conditions:
                    - condition: equals
                      entity: input_boolean.bedroom_fan_menu_toggle
                      value: 'off'
                    - condition: equals
                      entity: timer.bedroom_fan
                      value: idle
                square: false
                columns: 1
                cards:
                  - type: entities
                    style: |
                      ha-card {
                        border: 0px;
                        background: none;
                        box-shadow: none;
                        margin: 0px 50px;
                      }
                    entities:
                      - entity: timer.bedroom_fan
                        type: custom:timer-bar-card
                        name: Timer
                        bar_direction: rtl
                        invert: true
              - type: tile
                entity: light.bedhead
                name: Bedhead
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.bedroom
                name: Ceiling
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.bed_leds
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: custom:mini-media-player
                entity: media_player.bedroom_dot
                show_states:
                  - playing
                  - paused
              - type: media-control
                entity: media_player.bedroom_tv
                show_states:
                  - 'on'
                  - playing
                  - paused
              - type: custom:mini-media-player
                entity: media_player.cast_bedroom
                show_states:
                  - 'on'
          - type: markdown
            content: '## Scenes'
          - type: grid
            columns: 4
            cards:
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.bedroom_day
                entity: scene.bedroom_day
                show_name: false
                show_icon: true
                icon: mdi:weather-sunny
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.bedroom_evening
                entity: scene.bedroom_evening
                show_name: false
                icon: mdi:moon-waning-crescent
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.bedroom_evening_dark
                entity: scene.bedroom_evening_dark
                show_name: false
                icon: mdi:weather-night
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.bedroom_movie_mode
                entity: scene.bedroom_movie_mode
                show_name: false
                icon: mdi:movie-open-outline
              - type: button
                tap_action:
                  action: call-service
                  service_data:
                    entity_id: scene.bedroom_gaming
                  service: scene.turn_on
                entity: scene.bedroom_gaming
                icon: mdi:sony-playstation
                show_name: false
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.bedroom_netflix
                entity: scene.bedroom_netflix
                icon: mdi:netflix
                show_name: false
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.bedroom_youtube
                entity: scene.bedroom_youtube
                icon: mdi:youtube
                show_name: false
  - title: xxxxxxxxxxxxxxxx's Room
    path: xxxxxxxxxxxxxxxx
    icon: mdi:lava-lamp
    badges: []
    cards:
      - type: vertical-stack
        cards:
          - type: custom:room-card
            title: xxxxxxxxxxxxxxxx's Room
            content_alignment: center
            entity: light.xxxxxxxxxxxxxxxxs_room_group
            icon: mdi:lava-lamp
            show_icon: true
            state_color: true
            show_state: false
            tap_action:
              action: toggle
            double_tap_action:
              action: more-info
            hold_action:
              action: more-info
            info_entities:
              - entity: binary_sensor.motion_sensor_xxxxxxxxxxxxxxxxs
                show_icon: true
                state_color: true
              - entity: sensor.humidity_xxxxxxxxxxxxxxxxs_room
              - entity: sensor.temperature_xxxxxxxxxxxxxxxxs_room
            entities:
              - entity: light.xxxxxxxxxxxxxxxxs_ceiling
                name: Ceiling
                tap_action:
                  action: toggle
              - entity: light.xxxxxxxxxxxxxxxx_s_night_light
                name: Night Light
                tap_action:
                  action: toggle
                hold_action:
                  action: more_info
              - entity: switch.lava_lamp
                name: Lava Lamp
                tap_action:
                  action: toggle
                hold_action:
                  action: more_info
              - entity: light.xxxxxxxxxxxxxxxx_downlights
                name: Shelf Lights
                tap_action:
                  action: toggle
                hold_action:
                  action: more_info
            cards:
              - type: tile
                entity: light.xxxxxxxxxxxxxxxxs_ceiling
                name: Ceiling
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
                    - condition: equals
                      value: unavailable
              - type: tile
                entity: light.xxxxxxxxxxxxxxxx_s_night_light
                name: Night Light
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: tile
                entity: light.xxxxxxxxxxxxxxxx_downlights
                hold_action:
                  action: more-info
                show_entity_picture: false
                features:
                  - type: light-brightness
                hide_if:
                  conditions:
                    - condition: equals
                      value: 'off'
              - type: custom:mini-media-player
                entity: media_player.xxxxxxxxxxxxxxxx_s_dot
                show_states:
                  - playing
                  - paused
          - type: markdown
            content: '## Scenes'
          - type: grid
            columns: 4
            cards:
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.xxxxxxxxxxxxxxxx_daytime
                entity: scene.xxxxxxxxxxxxxxxx_daytime
                show_name: false
                show_icon: true
                icon: mdi:weather-sunny
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.xxxxxxxxxxxxxxxx_desk_light
                entity: scene.xxxxxxxxxxxxxxxx_desk_light
                show_name: false
                icon: mdi:desk
              - type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data:
                    entity_id: scene.xxxxxxxxxxxxxxxx_night_light
                entity: scene.xxxxxxxxxxxxxxxx_night_light
                show_name: false
                icon: mdi:weather-night
          - type: media-control
            entity: media_player.spotify_xxxxxxxxxxxxxxxx
          - type: media-control
            entity: media_player.xxxxxxxxxxxxxxxx_s_dot
  - title: Bathroom
    path: bathroom
    icon: mdi:shower
    badges: []
    cards:
      - type: vertical-stack
        cards:
          - type: markdown
            content: '# Bathroom'
          - type: grid
            cards:
              - type: button
                tap_action:
                  action: toggle
                entity: light.bathroom
                show_name: false
              - type: button
                tap_action:
                  action: none
                entity: binary_sensor.bathroom_door
                show_name: false
                show_state: true
                show_icon: true
              - type: button
                tap_action:
                  action: toggle
                entity: input_boolean.shower
                icon: mdi:shower-head
                show_state: false
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: sensor.temperature_bathroom
                show_state: true
                show_name: false
                show_icon: true
              - type: button
                tap_action:
                  action: toggle
                entity: sensor.humidity_bathroom
                show_state: true
                show_name: false
              - show_name: true
                show_icon: true
                type: button
                tap_action:
                  action: call-service
                  service: scene.turn_on
                  service_data: {}
                  target:
                    entity_id: scene.relaxing_bath
                entity: scene.relaxing_bath
                show_state: false
          - type: media-control
            entity: media_player.bathroom_dot
  - theme: Backend-selected
    path: back_bedroom
    title: Back
    icon: mdi:bed-empty
    badges: []
    cards:
      - square: false
        columns: 1
        type: grid
        cards:
          - type: custom:mod-card
            style:
              hui-horizontal-stack-card$: |
                hui-markdown-card {
                  margin-left: 0px !important;
                  margin-right: 0px !important;
                  margin-bottom: 0px !important;
                  width: 60%;
                  flex: unset !important; 
                }
                custom:button-card {
                  margin-right: 0px !important;
                  margin-bottom: 0px !important;
                  width: 20%

                  flex: unset !important; 
                }
            card:
              type: horizontal-stack
              cards:
                - type: markdown
                  content: '# Back Bedroom'
                - type: custom:button-card
                  entity: binary_sensor.motion_sensor_rearbedroom
                  show_name: false
                  show_icon: true
                  show_state: false
                  styles:
                    card:
                      - height: 100%
                - type: custom:button-card
                  entity: sensor.temperature_rearbedroom
                  show_name: false
                  show_icon: false
                  show_state: true
                  styles:
                    card:
                      - height: 100%
          - type: tile
            entity: light.rear_bedroom_ceiling
            tap_action:
              action: toggle
            icon_tap_action:
              action: more-info
            features:
              - type: light-brightness
  - title: Outside
    path: outside
    icon: mdi:flower-tulip
    badges: []
    cards:
      - type: custom:room-card
        title: Outside
        entity: null
        content_alignment: center
        icon: mdi:outdoor-lamp
        show_icon: true
        state_color: true
        show_state: false
        tap_action:
          action: toggle
        double_tap_action:
          action: more-info
        hold_action:
          action: more-info
        info_entities:
          - entity: binary_sensor.back_door_sensor
            show_icon: true
            state_color: true
          - entity: binary_sensor.garage_door
            show_icon: true
            state_color: true
          - entity: binary_sensor.front_door_sensor
            show_icon: true
            state_color: true
        entities:
          - entity: light.front_garden_lights
            name: Front
            tap_action:
              action: toggle
          - entity: switch.rope_light
            name: Rope Light
            tap_action:
              action: toggle
            hold_action:
              action: more-info
          - entity: light.outside_led
            name: Window
            tap_action:
              action: toggle
            hold_action:
              action: more-info
          - entity: switch.pool_filter_pump
            name: Pool Filter
            tap_action:
              action: toggle
            hold_action:
              action: more-info
          - entity: switch.slitinto_2
            name: Water Pump
            tap_action:
              action: toggle
            hold_action:
              action: more-info
          - entity: light.garage_light
            name: Garage Light
            tap_action:
              action: toggle
            hold_action:
              action: more-info
        cards: null
      - type: button
        tap_action:
          action: toggle
        entity: automation.pool_turn_off_pool_filter_pump_after_4_hours
        icon_height: 40px
        name: Pool Filter 4hr
      - type: button
        tap_action:
          action: toggle
        icon_height: 40px
        name: Pool Filter 8-12
        entity: automation.pool_filter_pump_8am_12pm
  - badges: []
    cards:
      - entities:
          - entity: light.hallway_light
            tap_action:
              action: toggle
          - entity: light.hallway_led
            tap_action:
              action: toggle
        show_name: false
        title: Hallway
        type: glance
      - entities:
          - entity: light.landing
            tap_action:
              action: toggle
          - entity: light.upstairs_toilet
            tap_action:
              action: toggle
          - entity: light.landing_hub_light
            tap_action:
              action: toggle
        show_name: false
        title: Landing
        type: glance
      - entities:
          - entity: light.dining_room
            tap_action:
              action: toggle
          - entity: switch.dining_room_lamp
            tap_action:
              action: toggle
          - entity: light.shelf_light
            tap_action:
              action: toggle
        show_name: false
        show_state: true
        title: Dining Room
        type: glance
      - entities:
          - entity: light.xxxxxxxxxxxxxxxx_s_night_light
            tap_action:
              action: toggle
          - entity: switch.lava_lamp
            tap_action:
              action: toggle
        title: xxxxxxxxxxxxxxxx’s Room
        type: glance
      - entities:
          - entity: light.kitchen_lights
            show_state: false
            tap_action:
              action: toggle
          - entity: light.kitchen_sink_lights
            show_state: false
            tap_action:
              action: toggle
          - entity: light.kitchen_led
            show_state: false
            tap_action:
              action: toggle
        show_name: false
        title: Kitchen
        type: glance
    path: guest_view
    title: Guest
  - path: climate
    title: Climate
    icon: mdi:thermometer-low
    badges: []
    cards:
      - cards:
          - entity: weather.met_office_xxxxxxxxxxxxxxxx_3_hourly
            name: Outside
            type: weather-forecast
            forecast_type: legacy
          - entity: climate.living_room
            type: thermostat
          - entities:
              - entity: sensor.downstairs_avg_temp
              - entity: sensor.upstairs_avg_temp
                show_icon: true
                show_name: true
                show_state: true
            type: glance
        type: vertical-stack
      - cards:
          - align_header: left
            align_icon: left
            color_thresholds:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.living_room_temperature
              - entity: sensor.living_room_humidity
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:sofa
            name: Living Room
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_thresholds:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_kitchen
              - entity: sensor.humidity_kitchen
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:fridge-outline
            name: Kitchen
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_thresholds:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_hallway
              - entity: sensor.humidity_hallway
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:door
            name: Hallway
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_threshoxxxxxxxxxxxxxxxx:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_desk
              - entity: sensor.humidity_desk
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:silverware-fork-knife
            name: Dining Room
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
        type: vertical-stack
      - cards:
          - align_header: left
            align_icon: left
            color_threshoxxxxxxxxxxxxxxxx:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_landing
              - entity: sensor.humidity_landing
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:stairs
            name: Landing
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_threshoxxxxxxxxxxxxxxxx:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_bedroom
              - entity: sensor.humidity_bedroom
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:hotel
            name: Bedroom
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_threshoxxxxxxxxxxxxxxxx:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_xxxxxxxxxxxxxxxxs_room
              - entity: sensor.humidity_xxxxxxxxxxxxxxxxs_room
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:hotel
            name: xxxxxxxxxxxxxxxx's Room
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_threshoxxxxxxxxxxxxxxxx:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_bathroom
              - entity: sensor.humidity_bathroom
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:shower
            name: Bathroom
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
          - align_header: left
            align_icon: left
            color_threshoxxxxxxxxxxxxxxxx:
              - color: '#c0392b'
                value: 21
              - color: '#d35400'
                value: 18
              - color: '#f39c12'
                value: 17
              - color: '#0a0efc'
                value: 60
              - color: '#42adf4'
                value: 50
              - color: '#f29c3a'
                value: 40
            entities:
              - entity: sensor.temperature_rearbedroom
              - entity: sensor.humidity_rearbedroom
                show_graph: true
                show_legend: false
                show_state: true
                y_axis: secondary
            hour24: true
            icon: mdi:hotel
            name: Rear Bedroom
            points_per_hour: 1
            show:
              extrema: true
            type: custom:mini-graph-card
        type: vertical-stack
  - theme: Backend-selected
    title: Living Room TV
    path: living-room-tv
    icon: mdi:remote
    subview: true
    badges: []
    cards:
      - type: grid
        columns: 1
        square: false
        cards:
          - type: media-control
            entity: media_player.living_room_tv
          - type: grid
            columns: 3
            cards:
              - type: button
                tap_action:
                  action: toggle
                entity: script.tv_source
                show_name: false
                icon_height: 35px
              - type: button
                tap_action:
                  action: toggle
                entity: script.up_living_room
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.tv_volume_up
                show_name: false
                icon_height: 35px
              - type: button
                tap_action:
                  action: toggle
                entity: script.left_living_room
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.enter_living_room
                show_name: false
                icon_height: 35px
              - type: button
                tap_action:
                  action: toggle
                entity: script.right_living_room
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.back_living_room
                hold_action:
                  action: none
                show_name: false
                icon_height: 35px
              - type: button
                tap_action:
                  action: toggle
                entity: script.down_living_room
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.volume_down_living_room
                show_name: false
                icon_height: 35px
  - theme: Backend-selected
    title: Bedoom TV
    path: bedroom-tv
    icon: mdi:remote
    subview: true
    badges: []
    cards:
      - type: grid
        columns: 1
        square: false
        cards:
          - type: media-control
            entity: media_player.bedroom_tv
          - type: grid
            columns: 3
            cards:
              - type: button
                tap_action:
                  action: toggle
                entity: script.tv_bedroom_source
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.up_bedroom
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.volume_up_bedroom
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.left_bedroom
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.enter_bedroom
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.right_bedroom
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.back_bedroom
                hold_action:
                  action: none
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.down_bedroom
                show_name: false
              - type: button
                tap_action:
                  action: toggle
                entity: script.volume_down_bedroom
                show_name: false
  - title: Audio
    path: audio
    icon: mdi:headphones
    badges: []
    cards:
      - entities:
          - artwork: cover
            entity: media_player.upstairs
            group: true
            hide:
              source: true
            icon: mdi:spotify
            type: custom:mini-media-player
          - entity: media_player.bedroom_dot
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
          - entity: media_player.xxxxxxxxxxxxxxxxs_dot
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
          - entity: media_player.bathroom_dot
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
        title: Audio
        type: entities
      - entities:
          - artwork: cover
            entity: media_player.downstairs
            group: true
            hide:
              source: true
            icon: mdi:spotify
            type: custom:mini-media-player
          - entity: media_player.living_room_echo
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
          - entity: media_player.kitchen_dot
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
          - entity: media_player.desk_dot
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
          - entity: media_player.portable_dot
            group: true
            hide:
              artwork: true
              controls: true
              power: true
              progress: true
              source: true
            icon: mdi:speaker
            type: custom:mini-media-player
        title: Audio
        type: entities
      - entities:
          - entity: light.living_room_lamp
            tap_action:
              action: toggle
          - entity: light.living_room_ceiling
            tap_action:
              action: toggle
          - entity: light.living_room_led
            tap_action:
              action: toggle
          - entity: sensor.living_room_thermostat_temperature
          - entity: sensor.living_room_thermostat_humidity
        show_name: false
        title: Living Room
        type: glance
  - theme: Backend-selected
    title: Kiosk
    path: kiosk
    icon: mdi:monitor
    type: panel
    badges: []
    cards:
      - type: grid
        cards:
          - square: false
            columns: 1
            type: grid
            cards:
              - type: horizontal-stack
                cards:
                  - type: conditional
                    conditions:
                      - entity: sensor.frost_warning_2
                        state: 'True'
                    card:
                      show_name: true
                      show_icon: true
                      type: button
                      entity: binary_sensor.frost_warning
                      show_state: false
                      icon_height: 40px
                  - type: entity-filter
                    entities:
                      - sensor.recycling_collection
                      - sensor.general_waste_collection
                    state_filter:
                      - in 6 days
                      - in 5 days
                      - in 4 days
                      - in 3 days
                      - in 2 days
                      - tomorrow
                      - today
                    card:
                      type: glance
                      show_name: false
                  - show_name: false
                    show_icon: true
                    type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/keypad
                    entity: alarm_control_panel.home_alarm
              - card:
                  show_state: false
                  title: Who's In?
                  type: glance
                entities:
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                  - person.xxxxxxxxxxxxxxxx
                state_filter:
                  - home
                type: entity-filter
              - square: true
                columns: 6
                type: grid
                cards:
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/bedroom
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data:
                        entity_id: light.bedroom_group
                    icon: mdi:bed
                    entity: light.bedroom_group
                    show_name: false
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/xxxxxxxxxxxxxxxx
                    entity: light.xxxxxxxxxxxxxxxxs_room_group
                    icon: mdi:lava-lamp
                    show_name: false
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data:
                        entity_id: light.xxxxxxxxxxxxxxxxs_room_group
                  - show_name: false
                    show_icon: true
                    type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/back_bedroom
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data: {}
                      target:
                        entity_id: light.back_bedroom_group
                    icon: mdi:bed-king
                    entity: light.back_bedroom_group
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/bathroom
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data: {}
                      target:
                        entity_id: light.bathroom_group
                    icon: mdi:shower
                    entity: light.bathroom
                    show_name: false
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/landing
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data: {}
                      target:
                        entity_id: light.upstairs_toilet
                    entity: light.upstairs_toilet
                    show_name: false
                  - show_name: false
                    show_icon: true
                    type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/landing
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data: {}
                      target:
                        entity_id: light.landing_group
                    icon: mdi:stairs-up
                    entity: light.landing_group
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/living-room
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data:
                        entity_id: light.living_room_group
                    icon: mdi:sofa
                    entity: light.living_room_group
                    show_name: false
                  - show_name: false
                    show_icon: true
                    type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/kitchen
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data:
                        entity_id: light.kitchen_group
                    entity: light.kitchen_group
                    icon: mdi:knife
                  - show_name: false
                    show_icon: true
                    type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/dining-room
                    entity: light.dining_room_group_2
                    icon: mdi:table-chair
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      data: {}
                      target:
                        entity_id: group.dining_room
                  - show_name: false
                    show_icon: true
                    type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/office
                    entity: light.office_group
                    icon: mdi:desk
                    hold_action:
                      action: call-service
                      service: scene.turn_on
                      service_data:
                        entity_id: scene.office_off
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/hallway
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data: {}
                      target:
                        entity_id: light.downstairs_toilet
                    entity: light.downstairs_toilet
                    show_name: false
                  - type: button
                    tap_action:
                      action: navigate
                      navigation_path: /lovelace/hallway
                    hold_action:
                      action: call-service
                      service: light.turn_off
                      service_data:
                        entity_id: light.hallway_group
                    entity: light.hallway_light
                    show_name: false
                    icon: mdi:door
              - type: conditional
                conditions:
                  - entity: input_boolean.xmas_time
                    state: 'on'
                card:
                  type: grid
                  title: Christmas
                  cards:
                    - show_name: true
                      show_icon: true
                      type: button
                      tap_action:
                        action: toggle
                      entity: light.wled_christmas_tree
                      icon: mdi:pine-tree
                      name: Christmas Tree
                      hold_action:
                        action: more-info
                    - show_name: true
                      show_icon: true
                      type: button
                      tap_action:
                        action: toggle
                      entity: switch.plug_1_6
                      icon: mdi:string-lights
                    - show_name: true
                      show_icon: true
                      type: button
                      tap_action:
                        action: toggle
                      entity: light.wled_window
                      icon: mdi:string-lights
                      name: Tree Frame
                      hold_action:
                        action: more-info
                    - show_name: true
                      show_icon: true
                      type: button
                      tap_action:
                        action: toggle
                      entity: light.photo_string_lights
                      icon: mdi:string-lights
                      name: Photo Lights
                      hold_action:
                        action: more-info
                    - show_name: true
                      show_icon: true
                      type: button
                      tap_action:
                        action: toggle
                      entity: switch.fence_and_tree
                      icon: mdi:string-lights
                      name: Fence & Tree
                  columns: 5
              - type: grid
                columns: 2
                cards:
                  - type: thermostat
                    entity: climate.living_room
                    name: ' '
                  - type: weather-forecast
                    entity: weather.dark_sky
              - type: horizontal-stack
                cards:
                  - show_name: true
                    show_icon: true
                    type: button
                    tap_action:
                      action: toggle
                    entity: light.front_garden_lights
                    name: Front Garden
                  - show_name: true
                    show_icon: true
                    type: button
                    tap_action:
                      action: toggle
                    entity: switch.rope_light
                  - show_name: true
                    show_icon: true
                    type: button
                    tap_action:
                      action: toggle
                    entity: light.outside_led
                    icon: mdi:window-closed-variant
                  - show_name: true
                    show_icon: true
                    type: button
                    tap_action:
                      action: toggle
                    entity: switch.pool_filter_pump
                    name: Pool Filter
                  - show_name: true
                    show_icon: true
                    type: button
                    tap_action:
                      action: toggle
                    entity: switch.slitinto_2
                    name: Water Pump
                  - show_name: true
                    show_icon: true
                    type: button
                    tap_action:
                      action: toggle
                    entity: light.garage_light
          - type: alarm-panel
            states:
              - arm_home
              - arm_away
              - arm_night
            entity: alarm_control_panel.home_alarm
          - square: true
            columns: 2
            type: grid
            cards:
              - type: custom:frigate-card
                cameras:
                  - camera_entity: camera.back_door_3
              - type: custom:frigate-card
                cameras:
                  - camera_entity: camera.front_door
              - type: custom:frigate-card
                cameras:
                  - camera_entity: camera.front_garden
              - type: custom:frigate-card
                cameras:
                  - camera_entity: camera.driveway
              - entities:
                  - entity: sensor.next_bus_to_xxxxxxxxxxxxxxxx
                    icon: mdi:bus-side
                    name: xxxxxxxxxxxxxxxx
                  - entity: sensor.next_bus_to_xxxxxxxxxxxxxxxx
                    name: xxxxxxxxxxxxxxxx
                    icon: mdi:bus-side
                title: Busses
                type: entities
              - type: entities
                title: Trains
                entities:
                  - entity: sensor.next_train_from_xxxxxxxxxxxxxxxx_to_xxxxxxxxxxxxxxxx
                    name: Towards xxxxxxxxxxxxxxxx
                  - entity: sensor.next_train_from_xxxxxxxxxxxxxxxx_to_xxxxxxxxxxxxxxxx
                    name: Towards York
  - theme: Backend-selected
    title: CCTV
    path: cctv
    icon: mdi:cctv
    type: panel
    badges: []
    cards:
      - type: custom:frigate-card
        cameras:
          - camera_entity: camera.driveway_3
          - camera_entity: camera.front_garden
          - camera_entity: camera.front_door_2
          - camera_entity: camera.back_door```
marcokreeft87 commented 1 year ago

Haha that's a lot of yaml. Can you limit it to the dashboard that flickers? Or are they all flickering?

systanford commented 1 year ago

you asked and I provided haha

Thats just one dashboard

All cards that use 'cards:' flicker this is an example of one

type: custom:room-card
title: Weather
content_alignment: center
entity: weather.met_office_harrogate_3_hourly
show_icon: true
state_color: true
show_state: true
tap_action:
  action: toggle
double_tap_action:
  action: more-info
hold_action:
  action: more-info
info_entities: null
entities:
  - entity: input_boolean.weather_hourly_menu_toggle
    name: Hourly
    state_color: true
    show_state: false
    tap_action:
      action: toggle
  - entity: input_boolean.weather_daily_menu_toggle
    name: Daily
    state_color: true
    show_state: false
    tap_action:
      action: toggle
cards:
  - type: weather-forecast
    style: |
      ha-card {
        border: 0px;
        background: none;
        box-shadow: none;
        }
    entity: weather.met_office_xxxxx_3_hourly
    name: Hourly
    hide_if:
      conditions:
        - condition: equals
          entity: input_boolean.weather_hourly_menu_toggle
          value: 'off'
    show_current: true
    show_forecast: true
  - show_current: true
    show_forecast: true
    type: weather-forecast
    entity: weather.met_office_xxxxx_daily
    hide_if:
      conditions:
        - condition: equals
          entity: input_boolean.weather_daily_menu_toggle
          value: 'off'
    name: Daily
    forecast_type: legacy
  - type: markdown
    hide_if:
      conditions:
        - condition: equals
          entity: input_boolean.xxxxx_trip
          value: 'off'
    style: |
      ha-card {
        border: 0px;
        background: none;
        box-shadow: none;
        }
    content: >
      The Forecast for **xxxxx** is {{
      states('weather.met_office_xxxxx_3_hourly') 

      | replace("pouring", "**Heavy Rain**") 

      | replace("rainy", "**Raining**") 

      | replace("fog", "**Foggy**") 

      | replace("cloudy", "**Cloudy**") 

      | replace("clear-night", "a **Clear Night**") 

      | replace("partlycloudy", "Partly Cloudy") }} with a "real feel" of **{{
      states('sensor.met_office_xxxxx_feels_like_temperature_3_hourly',
      with_unit=True) }}**.

      {% set feels_like_temp =
      states('sensor.met_office_xxxxx_feels_like_temperature_3_hourly') |
      float %}

      {% set weather_condition = states('weather.met_office_xxxxx_3_hourly')
      %}

      {% if feels_like_temp < 8 %}
        It's chilly, best take a coat! 
      {% endif %}

      {% if weather_condition == "rainy" %}
        {% if feels_like_temp < 8 %}
        Maybe a brolly too!
        {% else %}
        Take a brolly!
        {% endif %}
      {% endif %}

      {% if weather_condition == "sunny" %}
        {% if feels_like_temp > 16 %}
          It's a warm and sunny day!
        {% endif %}
      {% endif %}

      {% if weather_condition == "snowy" %}
        {% if feels_like_temp < 1 %}
         Be prepared for snow and icy conditions!
        {% endif %}
      {% endif %}

      {% if weather_condition == "windy" %}
        It's windy out there! Drive Safe!
      {% endif %}

      ETA: {{ states('sensor.drive_xxxxx_lane') | int // 60 }}h {{
      states('sensor.drive_xxxxx_lane') | int % 60 }}m, Driving from your
      location.
  - type: markdown
    hide_if:
      conditions:
        - condition: equals
          entity: input_boolean.xxxxx_trip
          value: 'on'
    style: |
      ha-card {
        border: 0px;
        background: none;
        box-shadow: none;
        }
    content: >
      In **xxxxx** it's likely to be {{
      states('weather.met_office_xxxxx_3_hourly') 

      | replace("pouring", "**Raining Heavily**") 

      | replace("rainy", "**Raining**") 

      | replace("fog", "**Foggy**") 

      | replace("cloudy", "**Cloudy**") 

      | replace("clear-night", "a **Clear Night**") 

      | replace("partlycloudy", "Partly Cloudy") }} with a "real feel" of **{{
      states('sensor.met_office_xxxxx_feels_like_temperature_3_hourly',
      with_unit=True) | join}}**.

      {% set feels_like_temp =
      states('sensor.met_office_xxxxx_feels_like_temperature_3_hourly') |
      float %}

      {% set weather_condition = states('weather.met_office_xxxxx_3_hourly')
      %}

      {% if feels_like_temp < 8 %}
        It's chilly, layer up! 
      {% endif %}

      {% if weather_condition == "rainy" %}
        {% if feels_like_temp < 8 %}
        Take a brolly too!
        {% else %}
        Take a brolly!
        {% endif %}
      {% endif %}

      {% if weather_condition == "sunny" %}
        {% if feels_like_temp > 16 %}
          Warm and sunny today!
        {% endif %}
      {% endif %}

      {% if weather_condition == "snowy" %}
        {% if feels_like_temp < 1 %}
        Be prepared for snow and icy conditions - Wrap Up!
        {% endif %}
      {% endif %}

      {% if weather_condition == "windy" %}
        It's windy out there! Drive Safe!
      {% endif %}

      {% if weather_condition == "pouring" %}
        100% a Brolly Day
      {% endif %}
marcokreeft87 commented 1 year ago

Ah ok. I have to admit, this is the most complex use of my room card. Could be that you ask too much of it and the companion app/browser struggles.

Other than that, if your info_entities is null, it's better to remove them from the config. Try to start every entity, info_entity and card with the entity property as high as possible in the declaration.

I'm afraid I can't help you with this other than give you tips. It could be the things I've mentioned above, but it could also be one of the entities that's on the cards.

Try and rebuild one of the flickering Dashboards step by step and try to find out when it starts flickering

systanford commented 1 year ago

It's happening with clean/new dashboard, with a basic set up as below.

The problem doesnt occur in the companion app. It also wasn't an issue before the last HA update

type: custom:room-card
title: Media
entity: null
icon: mdi:multimedia
show_icon: true
state_color: true
show_state: false
tap_action:
  action: toggle
hold_action:
  action: more-info
cards:
  - type: media-control
    entity: media_player.living_room_tv
marcokreeft87 commented 1 year ago

Does it flicker when you remove 'entity: null' ?

systanford commented 1 year ago

Unfortunately yes

marcokreeft87 commented 1 year ago

I know that every mediaplayer type card refreshes a lot.

I see I've got the same issue now I'm playing media and the media player card pops up.

Only the card part flickers right?

marcokreeft87 commented 1 year ago

Hmm weird, I see the flickering in the browser on my phone, but not on my laptop.

systanford commented 1 year ago

Yeah, just the card part, It also happens with markdown cards, iframes and sometimes, but not always weather cards.

Props for the room-card though. Until this issue arose after the last HA update, it had zero issues putting up with the torture I put it through 😁

marcokreeft87 commented 1 year ago

Yeah, just the card part, It also happens with markdown cards, iframes and sometimes, but not always weather cards.

Props for the card though. Until this issue arose after the last HA update, it had zero issues putting up with the torture I put it through 😁

Haha good to hear that! Don't think its the card tbh. I've tested it on my work laptop too just now, and there it also doesnt flicker. But it does on my phone. Super weird.

I've tried different resolutions but that doesnt matter. Let me check what the last HA update changed

systanford commented 1 year ago

I'm also experiencing the issue on safari and firefox on my iPhone, but not the iOS companion app.

Just tested for certainty sake, the aforementioned cards don't flicker outside of room-card for me.

marcokreeft87 commented 1 year ago

I'm also experiencing the issue on safari and firefox on my iPhone, but not the iOS companion app.

Just tested for certainty sake, the aforementioned cards don't flicker outside of room-card for me.

That that don't flicker outside the card is expected, room-card is just another layer between if they are in the room-card. But I see the problem, you are using an iPhone ;-)

Do you have a laptop or a tablet? Can you test with that?

systanford commented 1 year ago

I'm in the design world... I'm deep in the ecosystem 🤣

already on it... bare with me

systanford commented 1 year ago

OK, so... The only way I'm not experiencing flickering, its the iOS HA Companion App.

The following all experience the issue

iPhone

PC, Windows 11,

Macbook Pro,

tylerpieper commented 1 year ago

I think I'm experiencing the same issue with the Android companion app as well. The custom:collapsable-cards entry keeps resetting to the collapsed position due to the media player cards refreshing. Not sure if it's something to do with room-card specifically though.

type: custom:room-card
title: Living Room
entity: light.living_room_main_lights
show_icon: true
icon: mdi:sofa
state_color: false
info_entities:
  - entity: binary_sensor.g3_instant_motion
    sohw_name: false
    show_icon: true
  - entity: sensor.ths004_temperature
rows:
  - entities:
      - entity: light.living_room_main_lights
        name: Light
      - entity: switch.bubbles
        show_icon: true
        icon: mdi:chart-bubble
      - entity: media_player.do_not_use_2
        name: TV
        tap_action: toggle
  - entities:
      - entity: media_player.living_room_tv
    hide_if:
      conditions:
        - condition: not_equals
          entity: media_player.do_not_use_2
          value: 'on'
cards:
  - type: custom:mini-media-player
    entity: media_player.do_not_use_2
    name: TV (HDMI-1)
    toggle_power: false
    group: true
    hide:
      volume: true
      play_pause: true
      prev: true
      next: true
      info: true
    source: full
    volume_stateless: false
    artwork: none
    hide_if:
      conditions:
        - condition: not_equals
          entity: media_player.do_not_use_2
          value: 'on'
  - type: custom:mini-media-player
    entity: media_player.living_room
    sound_mode: full
    source: full
    artwork: none
    info: scroll
    volume_step: '5'
    name: Audio Reciever
    group: true
    volume_stateless: true
    hide:
      play_pause: true
      volume_level: false
    hide_if:
      conditions:
        - condition: not_equals
          entity: media_player.do_not_use_2
          value: 'on'
  - type: custom:collapsable-cards
    title_card:
      type: custom:mini-media-player
      group: true
      entity: media_player.living_room_tv
      hide:
        volume: true
        next: true
        prev: true
        play_pause: true
      info: none
      sound_mode: icon
    style: |
      ha-card, ha-card button:focus {
      border: none
      }
    cards:
      - type: custom:android-tv-card
        media_player_id: media_player.living_room_tv
        remote_id: remote.living_room_tv
        rows:
          - - back
            - home
            - power
          - - null
          - - - volume_up
              - null
              - volume_down
            - - navigation_buttons
          - - null
          - - rewind
            - play_pause
            - fast_forward
        touchpad_height: 300px
        alt_volume_icons: true
    hide_if:
      conditions:
        - condition: not_equals
          entity: media_player.do_not_use_2
          value: 'on'
efaden commented 1 year ago

Can confirm I started experiencing this behavior also.

chrispatin commented 1 year ago

Using Firefox on a PC, and Android Companion app I experienced the same behavior with the custom collapsible card which keeps on collapsing. I do not have any media player, just entity cards with sensors.

I reverted to Room Card 1.08.01 and the issue stopped.

efaden commented 1 year ago

I tried reverting to 1.08.01.... No good for me.

Shows what it is doing:

https://github.com/marcokreeft87/room-card/assets/12599300/7b62dc07-8436-4ea8-affe-976c85f296d1

And this is the code.

              - type: custom:room-card
                title: Sound Machines
                entities: []
                entity: switch.sound_machines
                show_icon: false
                tap_action: !include ui/popups/sound_machines.yaml
                style:
                  .: |
                    ha-card {
                      background: var(--material-secondary-background-color) !important;
                      box-shadow: none !important;
                    }
                    .card-header {padding-top: 0px;}
                    .entities-info-row {
                      padding: 50px;
                      right: 50px;
                      top: 50px;
                    }
                cards:
                  - type: custom:mushroom-chips-card
                    chips:
                      - type: template
                        content: >
                          {% set soundMachines = expand('switch.sound_machines') %} 
                          ({{ soundMachines | selectattr('state','eq','on') | list | count }}) Sound Machines On
                        icon: emf:sound-machine
                        icon_color: >
                          {% set soundMachines = expand('switch.sound_machines') %} 
                          {% if (soundMachines | selectattr('state','eq','on') | list | count > 0) %}
                            orange
                          {% else %}
                            gray
                          {% endif %}
                        tap_action:
                          action: more-info
                        entity: switch.sound_machines
                    alignment: end
                    card_mod:
                      style:
                        .: |
                          ha-card {
                            --chip-box-shadow: none;
                            --chip-spacing: 0;
                            --chip-border-width: 0;
                            --chip-background: none;
                            background: var(--material-background-color) !important;
                            border-radius: 0px 0px 12px 12px !important;
marcokreeft87 commented 1 year ago

And without the mushroom card?

efaden commented 1 year ago

Interestingly no... seems fine. But i have mushroom cards at the top of the page that don't seem to be doing it. So there is something with the mushroom cards within the room card.

marcokreeft87 commented 1 year ago

But are the mushroom cards on top in a room card?

But why are you using it like this? XD

efaden commented 1 year ago

No. So it only seems to happen to the mushroom chips that are within the room card.

efaden commented 1 year ago

But are the mushroom cards on top in a room card?

But why are you using it like this? XD

Because there was something about the chips that I liked... I just can't remember what. Some flexibility that didn't exist in the straight room card.

marcokreeft87 commented 1 year ago

But are the mushroom cards on top in a room card?

But why are you using it like this? XD

Because there was something about the chips that I liked... I just can't remember what. Some flexibility that didn't exist in the straight room card.

What I see in the video is possible in the room card

salvisbh commented 1 year ago

I can reproduce the flickering of the room card in various scenarios. It is not related to the mushroom cards, but occurs as soon as I use templating in my auto-entities. The following configuration flickers:

type: custom:room-card
title: Küche
show_icon: false
entities:
  - entity: light.kuechentisch
    name: Küchentisch
    tap_action:
      action: toggle
cards:
  - type: custom:auto-entities
    card:
      type: entities
    filter:
      include:
        - entity_id: scene.kuche*
          options:
            type: custom:card-templater
            card:
              type: button
              show_icon: false
              entity: this.entity_id
              name_template: |
                {{ state_attr("this.entity_id", "name") }}
      exclude: []
    sort:
      method: none

The flickering does not occur with version 1.08.00 of the room-card. If I use auto-entities including templating outside the room-card, I have no problems. The refresh problem only occurs when using it as a card within the room-card.

systanford commented 1 year ago

Just to confirm, having re-read my previous responses, reverting to 1.08.00 of room-card has stopped the issue for me.

Re-downloading versions 1.08.01 or 1.08.02 of room-card has instances repeatedly flicker/refresh again.

doctorlunch commented 12 months ago

A this late stage, I don't know if it helps but I had the same problem with media refreshing every five seconds or so when using media control options in the card. As soon as I removed the media_player command in the card, the problem was resolved.

noobey commented 10 months ago

I'm a new user of room-card, and downloaded 1.08.02 today.

I have the same flickering issue whenever I embed any form of media card into room-card. Even in an empty card with nothing else in it, it's a consistent issue for me.

Here's an example of it happening side by side with the same card not embedded on the left: https://imgur.com/a/mrs0D9n

Here's my yaml:

type: custom:room-card
title: Cinema Room
entity: camera.cinema_room_camera_4
show_icon: true
tap_action: null
rows:
  - entities:
      - entity: switch.nspanellivingroom_relay_2
        name: Uplights
        icon: mdi:wall-sconce-flat-variant
        show_icon: true
        state_color: true
        tap_action:
          action: toggle
      - entity: switch.nspanellivingroom_relay_1
        name: Downlight
        icon: mdi:wall-sconce-flat
        show_icon: true
        state_color: true
        tap_action:
          action: toggle
  - entities:
      - entity: select.cinema_room_harmony_hub_activities
        icon:
          state_on: mdi:gate
          state_off: mdi:gate-open
        show_icon: true
        state_color: true
        name: Cinema Activity
        tap_action:
          action: select
      - entity: switch.sl_living_room_wall_socket_2
        name: Sonos
        show_icon: true
        state_color: true
        icon: mdi:power-socket-uk
        tap_action:
          action: toggle
cards:
  - type: custom:mini-media-player
    entity: media_player.sonos_playroom
    artwork: material
    source: full
    sound_mode: full
    info: scroll
    show_states:
      - playing
  - type: custom:mini-media-player
    entity: media_player.atv_cinema_room
    artwork: material
    source: full
    sound_mode: full
    info: scroll
    show_states:
      - playing
info_entities:
  - entity: binary_sensor.everything_presence_one_dacd10_pir
    show_icon: true
    state_color: true
  - entity: sensor.living_room_temperature
    state_color: true

Any help would be appreciated.

frankvHoof93 commented 9 months ago

V 1.08.02 Can confirm this is happening for me as well. If I look at the html, I can see that everything in "Cards" is recreated from scratch (once per minute or so?), which messes up the CSS for me (causing a short time-window in which the room-card grows, then shrinks again)

This only happens with cards, not with entities or entity-info.

Video: https://gyazo.com/69a96358431fb6df6c3b2d754cf2a477 Yaml for specific room-card: https://pastebin.com/M2h1LngK

Edit: Looking at your render-method, I see that you 'createCardElement' for every render. Shouldn't you be caching those cards?

${this.config.cards?.map((card) => this.createCardElement(card, this._hass))}

marcokreeft87 commented 9 months ago

V 1.08.02 Can confirm this is happening for me as well. If I look at the html, I can see that everything in "Cards" is recreated from scratch (once per minute or so?), which messes up the CSS for me (causing a short time-window in which the room-card grows, then shrinks again)

This only happens with cards, not with entities or entity-info.

Video: https://gyazo.com/69a96358431fb6df6c3b2d754cf2a477 Yaml for specific room-card: https://pastebin.com/M2h1LngK

I see what buttons and stuff you have in the room card, but wouldn't it be better to use another card for this case? The room card isn't designed for this. You are using it more like a button card now

frankvHoof93 commented 9 months ago

V 1.08.02 Can confirm this is happening for me as well. If I look at the html, I can see that everything in "Cards" is recreated from scratch (once per minute or so?), which messes up the CSS for me (causing a short time-window in which the room-card grows, then shrinks again) This only happens with cards, not with entities or entity-info. Video: https://gyazo.com/69a96358431fb6df6c3b2d754cf2a477 Yaml for specific room-card: https://pastebin.com/M2h1LngK

I see what buttons and stuff you have in the room card, but wouldn't it be better to use another card for this case? The room card isn't designed for this. You are using it more like a button card now

I'm using 4 different room-cards, with this being the only one enveloping other cards (since I needed somewhere to put my blinds). image

frankvHoof93 commented 9 months ago

Can confirm this is NOT happening in 1.07.30. Likely cause: contained cards are re-created from scratch upon an update, instead of the existing cards being updated/re-rendered.

(it not reproing in 1.07.30 might be a red-herring based on states not being tracked/forwarded, and thus an update never occurring?)

Edit: Repro's in 1.07.30 whenever layout changes (e.g. when moving from portrait to landscape) or when switching from/to view.

xbmcnut commented 8 months ago

I've rolled back to 1.07.30 today and can confirm it's still doing it.