Open systanford opened 1 year ago
Can you share your yaml?
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: @.***>
Can you share your yaml? Difficult without Doxxing myself
I can't help without
anyway I can send privately?
Rather not. But you can mask your sensitive data in the yaml
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```
Haha that's a lot of yaml. Can you limit it to the dashboard that flickers? Or are they all flickering?
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 %}
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
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
Does it flicker when you remove 'entity: null' ?
Unfortunately yes
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?
Hmm weird, I see the flickering in the browser on my phone, but not on my laptop.
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 😁
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
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.
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?
I'm in the design world... I'm deep in the ecosystem 🤣
already on it... bare with me
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,
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'
Can confirm I started experiencing this behavior also.
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.
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;
And without the mushroom card?
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.
But are the mushroom cards on top in a room card?
But why are you using it like this? XD
No. So it only seems to happen to the mushroom chips that are within the room card.
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.
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
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.
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.
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.
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.
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))}
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
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).
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.
I've rolled back to 1.07.30 today and can confirm it's still doing it.
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