Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- kiosk_mode:
- user_settings:
- - users:
- - rey
- - christina
- hide_header: true
- views:
- - type: sections
- max_columns: 4
- title: Overview
- path: overview
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - type: grid
- square: false
- columns: 2
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.house_average_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.house_average_temperature') |
- float %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- - type: custom:mushroom-template-card
- entity: sensor.outdoor_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- Outdoor Feels Like
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.outdoor_temperature') | float
- %}
- {% if temp < 16 %} #907CAB
- {% elif temp < 18 %} #4790b6
- {% elif temp < 22 %} #77998c
- {% elif temp < 24 %} #b08a4a
- {% elif temp < 27 %} #c34139
- {% else %} #752722 {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- - type: custom:config-template-card
- entities:
- - sensor.house_average_temperature
- - sensor.outdoor_temperature
- - climate.heat_pump
- variables:
- - states['climate.heat_pump'].state
- - states['sensor.house_average_temperature'].state
- - states['sensor.outdoor_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.house_average_temperature
- name: House Average Temperature
- color: |-
- ${vars[0] === 'heat' ? 'red' :
- (vars[0] === 'cool' ? '#12c8da' :
- (vars[0] === 'fan_only' ? '#029688' :
- (vars[1] < 16 ? '#CEB2F5' :
- (vars[1] < 18 ? '#5EBDEE' :
- (vars[1] < 22 ? '#9cc8b8' :
- (vars[1] < 24 ? '#e7b562' :
- (vars[1] < 27 ? '#FF564B' : '#99332d')))))))}
- - entity: sensor.outdoor_temperature
- name: Outdoor Temperature
- color: |-
- ${vars[2] < 16 ? '#907CAB' :
- (vars[2] < 18 ? '#4790b6' :
- (vars[2] < 22 ? '#77998c' :
- (vars[2] < 24 ? '#b08a4a' :
- (vars[2] < 27 ? '#c34139' :'#752722'))))}
- y_axis: secondary
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.heat_pump
- primary_info: none
- secondary_info: none
- icon_type: none
- show_temperature_control: true
- - type: custom:mushroom-climate-card
- entity: climate.heat_pump
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - cool
- - heat
- - fan_only
- - 'off'
- - type: custom:vertical-stack-in-card
- cards:
- - type: custom:mushroom-template-card
- primary: Scenes
- layout: horizontal
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- .card-content {
- background: transparent !important;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: input_boolean.climate_no_guest
- icon: mdi:account
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #0CC078
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: |-
- {% if is_state(entity, 'on') %}
- No Guest
- {% else %}
- {% endif %}
- - type: template
- entity: input_boolean.climate_single_guest
- icon: mdi:account-plus
- icon_color: |-
- {% if is_state(entity, 'on') %}
- orange
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: |-
- {% if is_state(entity, 'on') %}
- Single Guest
- {% else %}
- {% endif %}
- - type: template
- entity: input_boolean.climate_multiple_guest
- icon: mdi:account-group
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #FB6962
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: |-
- {% if is_state(entity, 'on') %}
- Multiple Guest
- {% else %}
- {% endif %}
- - type: template
- entity: input_boolean.night_car_wash
- icon: mdi:car-wash
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #48AAAD
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: |-
- {% if is_state(entity, 'on') %}
- Night Car Wash
- {% else %}
- {% endif %}
- - type: template
- entity: input_boolean.party_mode
- icon: mdi:party-popper
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #ca5cdd
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: |-
- {% if is_state(entity, 'on') %}
- Party Mode
- {% else %}
- {% endif %}
- alignment: start
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- .chip-container {
- background: transparent !important;
- }
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- - type: conditional
- conditions:
- - condition: state
- entity: media_player.spotify_reynaldi_sutrisno
- state: playing
- card:
- type: custom:mushroom-title-card
- title: Media
- - type: conditional
- conditions:
- - condition: state
- entity: media_player.spotify_reynaldi_sutrisno
- state: playing
- card:
- type: custom:stack-in-card
- cards:
- - type: custom:mushroom-media-player-card
- entity: media_player.spotify_reynaldi_sutrisno
- icon: mdi:play
- name: Media Player
- use_media_info: true
- use_media_artwork: false
- show_volume_level: false
- media_controls:
- - play_pause_stop
- - previous
- - next
- volume_controls:
- - volume_buttons
- - volume_set
- fill_container: false
- collapsible_controls: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/media
- card_mod:
- style:
- mushroom-media-player-volume-control$: |
- mushroom-slider {
- --main-color: #cccccc !important;
- --bg-color: rgb(var(--album-art-color)) !important;
- }
- .: |
- mushroom-shape-icon {
- display: flex;
- {% set media_type = state_attr(config.entity, 'media_content_type') %}
- {% if media_type == 'tvshow' %}
- --card-mod-icon: mdi:television-classic;
- animation: flicker 1s linear infinite alternate;
- {% elif media_type == 'movie' %}
- --card-mod-icon: mdi:movie-roll;
- animation: spin 2s linear infinite reverse;
- {% elif media_type == 'music' %}
- --card-mod-icon: mdi:music;
- animation: beat 1.3s ease-out infinite both;
- {% elif media_type == 'playlist' %}
- --card-mod-icon: mdi:music;
- animation: beat 1.3s ease-out infinite both;
- {% else %}
- --card-mod-icon: mdi:play;
- {% endif %}
- {{ 'animation: none;' if not is_state(config.entity, 'playing') }}
- }
- @keyframes flicker {
- 0%, 31.98%, 32.98%, 34.98%, 36.98%, 39.98%, 67.98%, 68.98%, 95.98%, 96.98%, 97.98%, 98.98%, 100% { --icon-color: rgba(var(--album-art-color), 1); }
- 32%, 33%, 35%, 36%, 37%, 40%, 68%, 69%, 96%, 97%, 98%, 99% { --icon-color: rgba(var(--album-art-color), 0.6); }
- }
- @keyframes beat {
- 0%, 60% { --icon-symbol-size: 21px; }
- 5%, 17%, 57% { --icon-symbol-size: 22px; }
- 10%, 20%, 51% { --icon-symbol-size: 23px; }
- 25%, 45% { --icon-symbol-size: 24px; }
- 30%, 39% { --icon-symbol-size: 25px; }
- 33% { --icon-symbol-size: 26px; }
- }
- .: |
- mushroom-shape-icon {
- /* Change media player icon based on media type */
- {% set media_type = state_attr(config.entity, 'media_content_type') %}
- --card-mod-icon:
- {% if media_type == 'tvshow' %}
- mdi:television-classic
- {% elif media_type == 'movie' %}
- mdi:movie-roll
- {% elif media_type == 'music' %}
- mdi:music
- {% elif media_type == 'playlist' %}
- mdi:music
- {% else %}
- mdi:play
- {% endif %};
- }
- ha-card {
- /* Remove border from media player */
- --ha-card-border-width: 0;
- /* Apply album art color to media player icon & volume bar */
- --rgb-state-media-player: var(--album-art-color);
- /* Disable transitions */
- transition: all 0s;
- }
- .actions {
- /* Apply to controls only when active */
- {% if is_state(config.entity, ['playing', 'paused']) %}
- /* Apply album art color to media player controls */
- --rgb-primary-text-color: var(--album-art-color);
- --primary-text-color: rgb(var(--album-art-color));
- /* Add space for progress bar */
- padding-top: 24px;
- {% endif %}
- }
- - entity: media_player.spotify_reynaldi_sutrisno
- hide:
- icon: true
- name: true
- runtime: true
- source: true
- power: true
- state_label: true
- volume: true
- info: true
- progress: false
- controls: true
- more_info: false
- type: custom:mini-media-player
- toggle_power: false
- group: true
- card_mod:
- style:
- mmp-progress$: |
- paper-progress {
- /* Hide the progress bar when not playing or paused */
- {{ 'display: none;' if not is_state(config.entity, ['playing', 'paused']) }}
- /* Apply album art color to progress bar when paused */
- --paper-progress-container-color: rgba(var(--album-art-color), 0.2) !important;
- /* Apply album art color to progress bar when playing */
- --paper-progress-active-color: rgb(var(--album-art-color)) !important;
- }
- .: |
- ha-card {
- /* Move progress bar up into gap */
- bottom: calc(3 * var(--mush-spacing, 12px) + var(--mush-control-height, -25px));
- /* Correct margins for progress bar */
- margin: 0px calc(1.618 * var(--mush-spacing, 12px)) calc(-1 * var(--mush-spacing, 12px));
- /* Set height of card to match pregress bar height */
- height: var(--mmp-progress-height);
- /* Remove border outline */
- --ha-card-border-width: 0;
- /* Round corners of progress bar */
- --mmp-border-radius: var(--control-border-radius, 12px) !important;
- /* Set height of progress bar */
- --mmp-progress-height: var(--mush-spacing, 12px) !important;
- /* Remove transitions to prevent progress bar floating in */
- transition: all 0s;
- }
- card_mod:
- style: |
- ha-card:before {
- content: "";
- /* Position and size background color */
- position: absolute;
- height: 100%;
- width: 100%;
- /* Apply background to media player using album art color */
- {% if is_state('media_player.spotify_reynaldi_sutrisno', ['playing', 'paused']) %}
- background: rgba({{ states('sensor.spotify_reynaldi_sutrisno_dark_vibrant_color') }}, 0.3);
- {% endif %}
- }
- ha-card {
- /* Apply blended album art background */
- {% if is_state('media_player.spotify_reynaldi_sutrisno', ['playing', 'paused']) %}
- background: url( '{{ state_attr("media_player.spotify_reynaldi_sutrisno", "entity_picture") }}' ) no-repeat,
- linear-gradient(to left, transparent, rgb(var(--rgb-card-background-color)) 50%);
- /* Adjust for different aspect ratio of TV shows episode art */
- {% if state_attr('media_player.spotify_reynaldi_sutrisno', 'media_content_type') == 'tvshow' %}
- background-size: 50% 100%, cover;
- {% else %}
- background-size: 50% auto, cover;
- {% endif %}
- /* Position art on right side */
- background-position: right;
- /* Blend art with background using saturation */
- background-blend-mode: saturation;
- {% endif %}
- }
- :host {
- /* Assign album art color to variable used in media player. Default to indigo when idle */
- --album-art-color:
- {% if is_state('media_player.spotify_reynaldi_sutrisno', ['playing', 'paused']) %}
- {{ states('sensor.spotify_reynaldi_sutrisno_muted_color') }}
- {% else %}
- var(--mush-rgb-indigo, 63, 81, 181)
- {% endif %};
- }
- - type: grid
- cards:
- - type: custom:mushroom-title-card
- title: Irrigation Status
- - type: custom:vertical-stack-in-card
- cards:
- - type: grid
- square: false
- columns: 2
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.right_walkway_water_tap_flow
- primary: |
- {{ states(entity) | round(1) }} m³/h
- secondary: Water Flow Rate
- icon: mdi:water
- icon_color: >
- {% set flow =
- states('sensor.right_walkway_water_tap_flow') | float %}
- {% if flow < 0.1 %} #A9A9A9
- {% elif flow < 0.3 %} #ffd34f
- {% elif flow < 0.5 %} #9fe7e8
- {% else %} #36a9e2
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/entities-on
- - type: custom:config-template-card
- entities: sensor.right_walkway_water_tap_flow
- variables:
- - states['sensor.right_walkway_water_tap_flow'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.right_walkway_water_tap_flow
- name: Soil Temperature
- color: |-
- ${vars[0] < 0.1 ? '#a9a9a9' :
- (vars[0] < 0.3 ? '#ffd34f' :
- (vars[0] < 0.5 ? '#9fe7e8' : '#36a9e2'))}
- hours_to_show: 48
- line_width: 3
- font_size: 50
- animate: true
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-entity-card
- entity: input_boolean.no_water_restriction
- secondary_info: none
- primary_info: none
- tap_action:
- action: toggle
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-color: {{ '#6f9c3d' if states('input_boolean.no_water_restriction') == 'on' else 'white' }} !important;
- }
- .: |
- ha-state-icon {
- color: {{ 'white' if states('input_boolean.no_water_restriction') == 'on' else 'none' }};
- }
- - type: custom:mushroom-entity-card
- entity: input_boolean.water_level_1
- secondary_info: none
- primary_info: none
- tap_action:
- action: toggle
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-color: {{ '#a5c90f' if states('input_boolean.water_level_1') == 'on' else 'white' }} !important;
- }
- .: |
- ha-state-icon {
- color: {{ 'white' if states('input_boolean.water_level_1') == 'on' else 'none' }};
- }
- - type: custom:mushroom-entity-card
- entity: input_boolean.water_level_2
- secondary_info: none
- primary_info: none
- tap_action:
- action: toggle
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-color: {{ '#ffb366' if states('input_boolean.water_level_2') == 'on' else 'white' }} !important;
- }
- .: |
- ha-state-icon {
- color: {{ 'white' if states('input_boolean.water_level_2') == 'on' else 'none' }};
- }
- - type: custom:mushroom-entity-card
- entity: input_boolean.water_level_3
- secondary_info: none
- primary_info: none
- tap_action:
- action: toggle
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-color: {{ '#ff8829' if states('input_boolean.water_level_3') == 'on' else 'white' }} !important;
- }
- .: |
- ha-state-icon {
- color: {{ 'white' if states('input_boolean.water_level_3') == 'on' else 'none' }};
- }
- - type: custom:mushroom-entity-card
- entity: input_boolean.water_level_4
- primary_info: none
- secondary_info: none
- tap_action:
- action: toggle
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-color: {{ '#fe6b40' if states('input_boolean.water_level_4') == 'on' else 'white' }} !important;
- }
- .: |
- ha-state-icon {
- color: {{ 'white' if states('input_boolean.water_level_4') == 'on' else 'none' }};
- }
- - type: grid
- cards:
- - type: custom:week-planner-card
- calendars:
- - entity: calendar.christina
- color: '#fc6c85'
- - entity: calendar.reynaldi_sutrisno_rs16_gmail_com
- color: '#6ac5fe'
- weather:
- entity: weather.home
- showTemperature: true
- showLowTemperature: true
- days: 7
- noCardBackground: true
- eventBackground: rgba(0, 0, 0, 0)
- locale: nz
- texts:
- noEvents: No Events
- fullDay: Full Day
- today: Today
- tomorrow: Tomorrow
- card_mod:
- style: |
- .event.past {
- opacity: .3;
- }
- - type: grid
- cards:
- - type: custom:mod-card
- card_mod:
- style: |
- @media (min-width:180px) {
- ha-card {
- z-index:6;
- position: fixed;
- background: #eeedf5;
- bottom: 5px;
- left: 10px;
- padding: 0px;
- border-radius: 100px;
- width: calc(100% - 20px);
- }
- }
- @media (min-width:801px) {
- ha-card {
- left: calc(20% + 43px);
- width: calc(60% - 30px);
- }
- }
- card:
- type: grid
- square: false
- columns: 3
- cards:
- - type: custom:button-card
- icon: mdi:home
- name: Overview
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- - type: custom:button-card
- icon: mdi:home-roof
- name: Room
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- - type: custom:button-card
- icon: mdi:cctv
- name: Camera
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/camera
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- badges:
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - entity: sensor.house_maintenance_chip_card
- state: 'true'
- chip:
- type: template
- icon: |
- {% if is_state('input_boolean.rubbish', 'on') %}
- mdi:trash-can
- {% elif is_state('input_boolean.recycle', 'on') %}
- mdi:recycle
- {% else %} {% endif %}
- icon_color: |
- {% if is_state('input_boolean.rubbish', 'on') %}
- #C41E3A
- {% elif is_state('input_boolean.recycle', 'on') %}
- #50C878
- {% else %} {% endif %}
- content: |
- {% if is_state('input_boolean.rubbish', 'on') %}
- Rubbish Day
- {% elif is_state('input_boolean.recycle', 'on') %}
- Recycle Day
- {% else %} {% endif %}
- - type: conditional
- conditions:
- - condition: state
- entity: input_boolean.away_mode
- state: 'on'
- chip:
- type: template
- icon: mdi:home-export-outline
- icon_color: '#52b2bf'
- content: >-
- {{ 'Away Mode' if states('input_boolean.away_mode') == 'on' else
- '' }}
- entity: input_boolean.away_mode
- tap_action:
- action: toggle
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.door_sensor_grg_contact
- state: 'on'
- chip:
- type: template
- icon: mdi:garage-variant
- icon_color: red
- content: >-
- {{ 'Garage is Opened' if
- states('binary_sensor.door_sensor_grg_contact') == 'on' else ''
- }}
- entity: binary_sensor.door_sensor_grg_contact
- tap_action:
- action: navigate
- navigation_path: /mobile-light/security-garage
- - type: conditional
- conditions:
- - condition: state
- entity: climate.heat_pump
- state_not: 'off'
- chip:
- type: entity
- entity: sensor.active_climate_rooms
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: |
- {% if is_state('climate.heat_pump', 'heat') %}
- mdi:fire
- {% elif is_state('climate.heat_pump', 'cool') %}
- mdi:snowflake
- {% elif is_state('climate.heat_pump', 'fan') %}
- mdi:fan
- {% else %}
- mdi:thermometer
- {% endif %}
- - type: conditional
- conditions:
- - condition: state
- entity: input_boolean.water_the_flower
- state: 'on'
- chip:
- type: template
- icon: mdi:flower
- icon_color: '#cc7fdb'
- content: >
- {{ 'Water Flower' if states('input_boolean.water_the_flower') ==
- 'on' else '' }}
- entity: input_boolean.water_the_flower
- tap_action:
- action: toggle
- - type: conditional
- conditions:
- - condition: state
- entity: timer.wash_cuddly
- state: idle
- chip:
- type: template
- icon: mdi:teddy-bear
- icon_color: '#f385bc'
- content: >-
- {{ 'Wash Cuddly' if states('timer.wash_cuddly') == 'idle' else
- '' }}
- entity: input_boolean.wash_cuddly
- - type: conditional
- conditions:
- - condition: state
- entity: timer.wash_duvet
- state: idle
- chip:
- type: template
- icon: mdi:bed-empty
- icon_color: '#B2DFDB'
- content: >-
- {{ 'Wash Duvet' if states('timer.wash_duvet') == 'idle' else ''
- }}
- entity: input_boolean.wash_duvet
- - type: conditional
- conditions:
- - condition: state
- entity: light.all_lights
- state: 'on'
- chip:
- type: template
- icon: mdi:lightbulb-group-outline
- icon_color: '#c2b280'
- content: >-
- {{ expand(states.light.all_lights) | selectattr( 'state', 'eq',
- 'on') | list | count }}
- entity: light.all_lights
- tap_action:
- action: navigate
- navigation_path: /mobile-light/entities-on
- - type: conditional
- conditions:
- - condition: state
- entity: switch.all_light_switches
- state: 'on'
- chip:
- type: template
- icon: mdi:light-switch
- icon_color: '#c2b280'
- content: >-
- {{ expand(states.switch.all_light_switches) | selectattr(
- 'state', 'eq', 'on') | list | count }}
- entity: switch.all_light_switches
- tap_action:
- action: navigate
- navigation_path: /mobile-light/entities-on
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.all_doors
- state: 'on'
- chip:
- type: template
- icon: mdi:door-open
- icon_color: red
- content: >-
- {{ expand(states.binary_sensor.all_doors) | selectattr( 'state',
- 'eq', 'on') | list | count }}
- entity: binary_sensor.all_doors
- tap_action:
- action: navigate
- navigation_path: /mobile-light/entities-on
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.all_windows
- state: 'on'
- chip:
- type: template
- icon: mdi:window-open
- icon_color: orange
- content: >-
- {{ expand(states.binary_sensor.all_windows) | selectattr(
- 'state', 'eq', 'on') | list | count }}
- entity: binary_sensor.all_windows
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- - type: conditional
- conditions:
- - condition: state
- entity: switch.all_water_taps
- state: 'on'
- chip:
- type: template
- icon: mdi:water
- icon_color: blue
- content: >-
- {{ expand(states.switch.all_water_taps) | selectattr( 'state',
- 'eq', 'on') | list | count }}
- entity: switch.all_water_taps
- tap_action:
- action: navigate
- navigation_path: /mobile-light/entities-on
- - type: conditional
- conditions:
- - condition: state
- entity: fan.all_fans
- state: 'on'
- chip:
- type: template
- icon: mdi:fan
- icon_color: '#b5e0f7'
- content: >-
- {{ expand(states.fan.all_fans) | selectattr( 'state', 'eq',
- 'on') | list | count }}
- entity: fan.all_fans
- tap_action:
- action: navigate
- navigation_path: /mobile-light/entities-on
- card_mod:
- style: |
- ha-card {
- animation: ping 2s infinite;
- }
- @keyframes ping {
- 0% {box-shadow: 0 0 0 0 rgba(var(--rgb-blue), 0.4);}
- 70% {box-shadow: 0 0 0 10px transparent;}
- 100% {box-shadow: 0 0 0 0 transparent;}
- }
- cards: []
- icon: mdi:home
- header:
- card:
- type: markdown
- text_only: true
- content: >-
- {% set time = now().hour %}
- {% if (time >= 18) %}
- # Evening, {{ user }}!
- {% elif (time >= 12) %}
- # Afternoon, {{ user }}!
- {% elif (time >= 5) %}
- # Morning, {{ user }}!
- {% else %}
- # Welcome, {{ user }}!
- {% endif %}
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {{ states('input_text.today_s_weather_ai_wind') }}
- {{ states('input_text.today_s_weather_ai_uv') }}
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {{ states('input_text.tomorrow_s_weather_ai_wind') }}
- {{ states('input_text.tomorrow_s_weather_ai_uv') }}
- {% endif %}
- layout: responsive
- badges_position: bottom
- - type: sections
- max_columns: 4
- title: Room
- path: room
- sections:
- - type: grid
- cards:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: custom:mushroom-title-card
- title: Room
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Garage
- tap_action:
- action: navigate
- navigation_path: /mobile-light/garage-room-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- secondary: >-
- {{ states('sensor.garage_temperature')|round(1) }}°C /
- {{ states('sensor.garage_humidity')|round(1) }}%
- card_mod:
- style: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.light_switch_grg
- layout: horizontal
- icon: mdi:garage-variant
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state('switch.light_switches_grg', 'on') %}
- #c2b280 {% else %} #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: switch.light_switch_grg
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.light_switch_grg', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.light_switch_grg', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.doors_grg
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:door-open
- {% else %}
- mdi:door-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.doors_grg', 'on') %} #C62828 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.doors_grg', 'on') %} white {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.doors_grg) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.doors_grg) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.doors_grg', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.doors_grg', 'on') %} #EE4B2B {% else %} {% endif %};
- color: var(--card-background-color);
- }
- - type: template
- entity: binary_sensor.windows_grg
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_grg', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_grg', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_grg) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_grg) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_grg', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_grg', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.garage_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Living Area
- secondary: >-
- {{ states('sensor.living_room_temperature')|round(1)
- }}°C / {{
- states('sensor.living_area_humidity')|round(1) }}%
- tap_action:
- action: navigate
- navigation_path: /mobile-light/living-area-room-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- display: none !important;
- }
- .: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.sofa_light
- layout: horizontal
- icon: mdi:sofa
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state('switch.light_switches_la', 'on') %}
- #c2b280 {% else %} #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: climate.living_room
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'heat_cool') %}
- mdi:heat-pump
- {% else %}
- mdi:heat-pump-outline
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background:
- {% if is_state('climate.living_room', 'heat_cool') and is_state('climate.heat_pump', 'cool') %} #b5e0f7
- {% elif is_state('climate.living_room', 'heat_cool') and is_state('climate.heat_pump', 'heat') %} #FF8B8B
- {% elif is_state('climate.living_room', 'heat_cool') and is_state('climate.heat_pump', 'fan_only') %} #DEDEDE
- {% elif is_state('climate.living_room', 'heat_cool') and is_state('climate.heat_pump', 'off') %} white
- {% else %} #353535
- {% endif %};
- --color: {% if is_state('climate.living_room', 'heat_cool') %} #333333 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- } - type: custom:mushroom-chips-card
- - type: template
- entity: switch.sofa_light
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.sofa_light', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.sofa_light', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.doors_la
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:door-sliding-open
- {% else %}
- mdi:door-sliding
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.doors_la', 'on') %} #C62828 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.doors_la', 'on') %} white {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.doors_la) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.doors_la) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.doors_la', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.doors_la', 'on') %} #EE4B2B {% else %} {% endif %};
- color: var(--card-background-color);
- }
- - type: template
- entity: binary_sensor.windows_la
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_la', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_la', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_la) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_la) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_la', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_la', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.living_room_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Master Bedroom
- secondary: >-
- {{
- states('sensor.master_bedroom_temperature')|round(1)
- }}°C / {{
- states('sensor.master_bedroom_humidity')|round(1) }}%
- tap_action:
- action: navigate
- navigation_path: /mobile-light/master-bedroom-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- card_mod:
- style: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.bedside_lights_switch
- layout: horizontal
- icon: mdi:bed-king
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state('switch.light_switches_mbr', 'on') %}
- #c2b280 {% else %} #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: climate.master_bedroom
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'heat_cool') %}
- mdi:heat-pump
- {% else %}
- mdi:heat-pump-outline
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background:
- {% if is_state('climate.master_bedroom', 'heat_cool') and is_state('climate.heat_pump', 'cool') %} #b5e0f7
- {% elif is_state('climate.master_bedroom', 'heat_cool') and is_state('climate.heat_pump', 'heat') %} #FF8B8B
- {% elif is_state('climate.master_bedroom', 'heat_cool') and is_state('climate.heat_pump', 'fan_only') %} #DEDEDE
- {% elif is_state('climate.master_bedroom', 'heat_cool') and is_state('climate.heat_pump', 'off') %} white
- {% else %} #353535
- {% endif %};
- --color: {% if is_state('climate.master_bedroom', 'heat_cool') %} #333333 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: switch.light_switch_mbr
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.light_switch_mbr', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.light_switch_mbr', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.sliding_door_sensor_mbr_contact
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:door-sliding-open
- {% else %}
- mdi:door-sliding
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.sliding_door_sensor_mbr_contact', 'on') %} #C62828 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.sliding_door_sensor_mbr_contact', 'on') %} white {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.sliding_door_sensor_mbr_contact) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.sliding_door_sensor_mbr_contact) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.sliding_door_sensor_mbr_contact', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.sliding_door_sensor_mbr_contact', 'on') %} #EE4B2B {% else %} {% endif %};
- color: var(--card-background-color);
- }
- - type: template
- entity: binary_sensor.windows_mbr
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_mbr', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_mbr', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_mbr) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_mbr) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_mbr', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_mbr', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.master_bedroom_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Baby Room
- entity: switch.light_switch_br
- tap_action:
- action: navigate
- navigation_path: /mobile-light/baby-room-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- secondary: >-
- {{ states('sensor.baby_room_temperature')|round(1) }}°
- / {{ states('sensor.baby_room_humidity')|round(1) }}%
- card_mod:
- style: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.light_switch_br
- layout: horizontal
- icon: mdi:baby-carriage
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state(entity, 'on') %} #c2b280 {% else %}
- #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: climate.baby_room
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'heat_cool') %}
- mdi:heat-pump
- {% else %}
- mdi:heat-pump-outline
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background:
- {% if is_state('climate.baby_room', 'heat_cool') and is_state('climate.heat_pump', 'cool') %} #b5e0f7
- {% elif is_state('climate.baby_room', 'heat_cool') and is_state('climate.heat_pump', 'heat') %} #FF8B8B
- {% elif is_state('climate.baby_room', 'heat_cool') and is_state('climate.heat_pump', 'fan_only') %} #DEDEDE
- {% elif is_state('climate.baby_room', 'heat_cool') and is_state('climate.heat_pump', 'off') %} white
- {% else %} #353535
- {% endif %};
- --color: {% if is_state('climate.baby_room', 'heat_cool') %} #333333 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: switch.light_switch_br
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.light_switch_br', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.light_switch_br', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.windows_br
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_br', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_br', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_br) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_br) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_br', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_br', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.baby_room_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.master_bedroom
- primary_info: none
- secondary_info: none
- icon_type: none
- show_temperature_control: true
- - type: custom:mushroom-climate-card
- entity: climate.baby_room
- primary_info: none
- secondary_info: none
- icon_type: none
- show_temperature_control: true
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Single Guest Room
- entity: switch.light_switch_sgr
- tap_action:
- action: navigate
- navigation_path: /mobile-light/single-guest-room-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- secondary: >-
- {{
- states('sensor.single_guest_room_temperature')|round(1)
- }}°C
- card_mod:
- style: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.light_switch_sgr
- layout: horizontal
- icon: mdi:account-plus
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state(entity, 'on') %} #c2b280 {% else %}
- #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: climate.single_guest_room
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'heat_cool') %}
- mdi:heat-pump
- {% else %}
- mdi:heat-pump-outline
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background:
- {% if is_state('climate.single_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'cool') %} #b5e0f7
- {% elif is_state('climate.single_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'heat') %} #FF8B8B
- {% elif is_state('climate.single_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'fan_only') %} #DEDEDE
- {% elif is_state('climate.single_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'off') %} white
- {% else %} #353535
- {% endif %};
- --color: {% if is_state('climate.single_guest_room', 'heat_cool') %} #333333 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: switch.light_switch_sgr
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.light_switch_sgr', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.light_switch_sgr', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.windows_sgr
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_sgr', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_sgr', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_sgr) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_sgr) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_sgr', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_sgr', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.single_guest_room_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Multiple Guest Room
- entity: switch.light_switch_mgr
- tap_action:
- action: navigate
- navigation_path: /mobile-light/multiple-guest-room-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- secondary: >-
- {{
- states('sensor.multiple_guest_room_temperature')|round(1)
- }}°C
- card_mod:
- style: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.light_switch_mgr
- layout: horizontal
- icon: mdi:account-group
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state(entity, 'on') %} #c2b280 {% else %}
- #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: climate.multiple_guest_room
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'heat_cool') %}
- mdi:heat-pump
- {% else %}
- mdi:heat-pump-outline
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background:
- {% if is_state('climate.multiple_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'cool') %} #b5e0f7
- {% elif is_state('climate.multiple_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'heat') %} #FF8B8B
- {% elif is_state('climate.multiple_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'fan_only') %} #DEDEDE
- {% elif is_state('climate.multiple_guest_room', 'heat_cool') and is_state('climate.heat_pump', 'off') %} white
- {% else %} #353535
- {% endif %};
- --color: {% if is_state('climate.multiple_guest_room', 'heat_cool') %} #333333 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: switch.light_switch_mgr
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.light_switch_mgr', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.light_switch_mgr', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.windows_mgr
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_mgr', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_mgr', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_mgr) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_mgr) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_mgr', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_mgr', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.multiple_guest_room_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.single_guest_room
- primary_info: none
- secondary_info: none
- icon_type: none
- show_temperature_control: true
- - type: custom:mushroom-climate-card
- entity: climate.multiple_guest_room
- primary_info: none
- secondary_info: none
- icon_type: none
- show_temperature_control: true
- - type: horizontal-stack
- cards:
- - type: custom:stack-in-card
- mode: horizontal
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-template-card
- primary: Office Room
- entity: switch.light_switch_or
- tap_action:
- action: navigate
- navigation_path: /mobile-light/office-room-details
- hold_action:
- action: none
- double_tap_action:
- action: none
- secondary: >-
- {{ states('sensor.office_room_temperature')|round(1)
- }}°C
- card_mod:
- style: |
- ha-card {
- border: 0px;
- padding-left: 5px;
- padding-top: 5px;
- width: 500px;
- }
- - type: custom:mushroom-template-card
- entity: switch.light_switch_or
- layout: horizontal
- icon: mdi:desktop-tower-monitor
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon_color: >-
- {% if is_state(entity, 'on') %} #c2b280 {% else %}
- #7A7A7F {% endif %}
- primary_info: none
- secondary_info: none
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --icon-size: 135px;
- }
- .: |
- ha-card {
- border: 0px;
- margin-left: -30px;
- margin-top: -15px;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: climate.office_room
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: |
- {% if is_state(entity, 'heat_cool') %}
- mdi:heat-pump
- {% else %}
- mdi:heat-pump-outline
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background:
- {% if is_state('climate.office_room', 'heat_cool') and is_state('climate.heat_pump', 'cool') %} #b5e0f7
- {% elif is_state('climate.office_room', 'heat_cool') and is_state('climate.heat_pump', 'heat') %} #FF8B8B
- {% elif is_state('climate.office_room', 'heat_cool') and is_state('climate.heat_pump', 'fan_only') %} #DEDEDE
- {% elif is_state('climate.office_room', 'heat_cool') and is_state('climate.heat_pump', 'off') %} white
- {% else %} #353535
- {% endif %};
- --color: {% if is_state('climate.office_room', 'heat_cool') %} #333333 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: switch.light_switch_or
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:light-recessed
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('switch.light_switch_or', 'on') %} #c2b280 {% else %} #353535 {% endif %};
- --color: {% if is_state('switch.light_switch_or', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- - type: template
- entity: binary_sensor.windows_or
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: more-info
- icon: |
- {% if is_state(entity, 'on') %}
- mdi:window-open
- {% else %}
- mdi:window-closed
- {% endif %}
- card_mod:
- style: |
- ha-card {
- --chip-background: {% if is_state('binary_sensor.windows_or', 'on') %} #FFC067 {% else %} #353535 {% endif %};
- --color: {% if is_state('binary_sensor.windows_or', 'on') %} #433752 {% else %} #DBDBDB {% endif %};
- justify-content: center;
- height: 35px !important;
- width: 35px !important;
- border: 0 !important;
- box-shadow: none !important;
- border-radius: 22px !important;
- }
- ha-card:after {
- content: "{{ '' if (expand(states.binary_sensor.windows_or) | selectattr('state', 'eq', 'on') | list | count) == 0 else expand(states.binary_sensor.windows_or) | selectattr('state', 'eq', 'on') | list | count }}";
- position: absolute;
- top: -10%;
- right: -10%;
- display: {% if is_state('binary_sensor.windows_or', 'on') %} flex {% else %} none {% endif %};
- justify-content: center;
- align-items: center;
- width: 14px;
- height: 14px;
- font-size: 9px;
- font-weight: 700;
- border-radius: 50%;
- background: {% if is_state('binary_sensor.windows_or', 'on') %} orange {% else %} {% endif %};
- color: var(--card-background-color);
- }
- card_mod:
- style: |
- .chip-container {
- flex-flow: column wrap-reverse !important;
- display: flex !important;
- --chip-spacing: 8px;
- margin: 12px;
- }
- .: |
- .container {
- align: end;
- }
- card_mod:
- style: |
- ha-card {
- background:
- {% set temp = states('sensor.office_room_temperature') | float %}
- {% if temp < 16 %}
- #CEB2F5
- {% elif temp < 18 %}
- #a3d9f5
- {% elif temp < 22 %}
- #cde3db
- {% elif temp < 24 %}
- #fbd9a0
- {% elif temp < 27 %}
- #f4a8a3
- {% else %}
- #FC6C6C
- {% endif %};
- max-width: 100%;
- min-width: 50%;
- height: 186px;
- }
- grid_options:
- columns: 6
- rows: 3
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.office_room
- primary_info: none
- secondary_info: none
- icon_type: none
- show_temperature_control: true
- card_mod:
- style: |
- ha-card {
- max-width: 50%;
- height: 186px;
- }
- - type: grid
- cards:
- - type: custom:mod-card
- card_mod:
- style: |
- @media (min-width:180px) {
- ha-card {
- z-index:6;
- position: fixed;
- background: #eeedf5;
- bottom: 5px;
- left: 10px;
- padding: 0px;
- border-radius: 100px;
- width: calc(100% - 20px);
- }
- }
- @media (min-width:801px) {
- ha-card {
- left: calc(20% + 43px);
- width: calc(60% - 30px);
- }
- }
- card:
- type: grid
- square: false
- columns: 3
- cards:
- - type: custom:button-card
- icon: mdi:home
- name: Overview
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- - type: custom:button-card
- icon: mdi:home-roof
- name: Room
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- - type: custom:button-card
- icon: mdi:cctv
- name: Camera
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/camera
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- icon: mdi:home-roof
- cards: []
- - type: sections
- max_columns: 4
- path: camera
- sections:
- - type: grid
- cards:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: custom:mushroom-title-card
- title: Driveaway
- - type: custom:webrtc-camera
- entity: camera.left_driveway_camera_clear
- mode: webrtc
- muted: true
- - type: custom:vertical-stack-in-card
- cards:
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: light.left_driveway_camera_floodlight
- icon: mdi:light-flood-down
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #c2b280
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: Floodlight
- - type: template
- entity: switch.left_driveway_camera_siren_on_event
- icon: mdi:alarm-light
- icon_color: ''
- tap_action:
- action: perform-action
- perform_action: siren.turn_on
- target:
- entity_id:
- - siren.left_driveway_camera_siren
- content: Siren
- alignment: start
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- .chip-container {
- background: transparent !important;
- }
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- - type: grid
- cards:
- - type: custom:mushroom-title-card
- title: Right Walkway
- - type: custom:webrtc-camera
- entity: camera.right_walkway_camera_clear
- mode: webrtc
- muted: true
- - type: custom:vertical-stack-in-card
- cards:
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: light.right_walkway_camera_floodlight
- icon: mdi:light-flood-down
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #c2b280
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: Floodlight
- - type: template
- entity: switch.right_walkway_camera_siren_on_event
- icon: mdi:alarm-light
- icon_color: ''
- tap_action:
- action: perform-action
- perform_action: siren.toggle
- target:
- entity_id:
- - siren.right_walkway_camera_siren
- content: Siren
- alignment: start
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- .chip-container {
- background: transparent !important;
- }
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- - type: grid
- cards:
- - type: custom:mushroom-title-card
- title: Left Walkway
- - type: custom:webrtc-camera
- entity: camera.left_walkway_camera_clear
- mode: webrtc
- muted: true
- - type: custom:vertical-stack-in-card
- cards:
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: light.left_walkway_camera_floodlight
- icon: mdi:light-flood-down
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #c2b280
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: Floodlight
- - type: template
- entity: switch.left_walkway_camera_siren_on_event
- icon: mdi:alarm-light
- icon_color: ''
- tap_action:
- action: perform-action
- perform_action: siren.toggle
- target:
- entity_id:
- - siren.left_walkway_camera_siren
- content: Siren
- alignment: start
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- .chip-container {
- background: transparent !important;
- }
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- - type: grid
- cards:
- - type: custom:mushroom-title-card
- title: Garage
- - type: custom:webrtc-camera
- entity: camera.garage_camera_clear
- mode: webrtc
- muted: true
- - type: custom:mushroom-chips-card
- chips:
- - type: entity
- entity: button.garage_camera_ptz_left
- content_info: name
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:arrow-left
- name: Pan Left
- - type: entity
- entity: button.garage_camera_ptz_stop
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:stop
- content_info: none
- - type: entity
- entity: button.garage_camera_ptz_right
- icon: mdi:arrow-right
- name: Pan Right
- content_info: name
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: grid
- cards:
- - type: custom:mushroom-title-card
- title: Backyard
- - type: custom:webrtc-camera
- entity: camera.right_backyard_camera_clear
- mode: webrtc
- muted: true
- - type: custom:vertical-stack-in-card
- cards:
- - type: custom:mushroom-chips-card
- chips:
- - type: template
- entity: light.right_backyard_camera_floodlight
- icon: mdi:light-flood-down
- icon_color: |-
- {% if is_state(entity, 'on') %}
- #c2b280
- {% else %}
- grey
- {% endif %}
- tap_action:
- action: toggle
- content: Floodlight
- - type: template
- entity: switch.right_backyard_camera_siren_on_event
- icon: mdi:alarm-light
- icon_color: ''
- tap_action:
- action: perform-action
- perform_action: siren.toggle
- target:
- entity_id:
- - siren.right_backyard_camera_siren
- content: Siren
- alignment: start
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- .chip-container {
- background: transparent !important;
- }
- card_mod:
- style: |
- ha-card {
- background: transparent !important;
- box-shadow: none !important;
- }
- - type: grid
- cards:
- - type: custom:mod-card
- card_mod:
- style: |
- @media (min-width:180px) {
- ha-card {
- z-index:6;
- position: fixed;
- background: #eeedf5;
- bottom: 5px;
- left: 10px;
- padding: 0px;
- border-radius: 100px;
- width: calc(100% - 20px);
- }
- }
- @media (min-width:801px) {
- ha-card {
- left: calc(20% + 43px);
- width: calc(60% - 30px);
- }
- }
- card:
- type: grid
- square: false
- columns: 3
- cards:
- - type: custom:button-card
- icon: mdi:home
- name: Overview
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- - type: custom:button-card
- icon: mdi:home-roof
- name: Room
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- - type: custom:button-card
- icon: mdi:cctv
- name: Camera
- show_label: false
- show_state: false
- show_name: true
- tap_action:
- action: navigate
- navigation_path: /mobile-light/camera
- styles:
- icon:
- - width: 24px
- - color: '#3b3b3b'
- name:
- - font-size: 13px
- img_cell:
- - width: 50px
- - height: 40px
- card:
- - background: none
- - padding: 0
- icon: mdi:cctv
- cards: []
- subview: false
- title: Camera
- - type: sections
- max_columns: 4
- title: Media
- path: media
- icon: mdi:music
- sections:
- - type: grid
- cards:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: custom:mushroom-title-card
- title: Media
- - type: custom:stack-in-card
- cards:
- - type: custom:mushroom-media-player-card
- entity: media_player.spotify_reynaldi_sutrisno
- icon: mdi:play
- use_media_info: true
- use_media_artwork: false
- show_volume_level: false
- media_controls:
- - play_pause_stop
- - previous
- - next
- volume_controls:
- - volume_buttons
- - volume_set
- fill_container: false
- card_mod:
- style:
- mushroom-media-player-volume-control$: |
- mushroom-slider {
- --main-color: #cccccc !important;
- --bg-color: rgb(var(--album-art-color)) !important;
- }
- .: |
- mushroom-shape-icon {
- display: flex;
- {% set media_type = state_attr(config.entity, 'media_content_type') %}
- {% if media_type == 'tvshow' %}
- --card-mod-icon: mdi:television-classic;
- animation: flicker 1s linear infinite alternate;
- {% elif media_type == 'movie' %}
- --card-mod-icon: mdi:movie-roll;
- animation: spin 2s linear infinite reverse;
- {% elif media_type == 'music' %}
- --card-mod-icon: mdi:music;
- animation: beat 1.3s ease-out infinite both;
- {% elif media_type == 'playlist' %}
- --card-mod-icon: mdi:music;
- animation: beat 1.3s ease-out infinite both;
- {% else %}
- --card-mod-icon: mdi:play;
- {% endif %}
- {{ 'animation: none;' if not is_state(config.entity, 'playing') }}
- }
- mushroom-media-player-volume-control$: |
- mushroom-slider {
- --main-color: black !important;
- --bg-color: #d1eced !important;
- }
- @keyframes flicker {
- 0%, 31.98%, 32.98%, 34.98%, 36.98%, 39.98%, 67.98%, 68.98%, 95.98%, 96.98%, 97.98%, 98.98%, 100% { --icon-color: rgba(var(--album-art-color), 1); }
- 32%, 33%, 35%, 36%, 37%, 40%, 68%, 69%, 96%, 97%, 98%, 99% { --icon-color: rgba(var(--album-art-color), 0.6); }
- }
- @keyframes beat {
- 0%, 60% { --icon-symbol-size: 21px; }
- 5%, 17%, 57% { --icon-symbol-size: 22px; }
- 10%, 20%, 51% { --icon-symbol-size: 23px; }
- 25%, 45% { --icon-symbol-size: 24px; }
- 30%, 39% { --icon-symbol-size: 25px; }
- 33% { --icon-symbol-size: 26px; }
- }
- ha-card {
- --ha-card-border-width: 0;
- --rgb-state-media-player: var(--album-art-color);
- }
- .actions {
- --rgb-primary-text-color: var(--album-art-color);
- --primary-text-color: rgb(var(--album-art-color));
- }
- ha-card:before {
- transform: translate3d(0,0,0);
- -webkit-transform: translate3d(0,0,0);
- content: "";
- background: url('/local/idle_art.png') center no-repeat;
- {% if not is_state(config.entity, 'idle') and not is_state(config.entity, 'off') %}
- background: url( '{{ state_attr(config.entity, "entity_picture") }}') center no-repeat;
- {% endif %}
- background-size: contain;
- margin: 4px 4px 16px;
- filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.5));
- border-radius: var(--control-border-radius);
- {% set media_type = state_attr(config.entity, 'media_content_type') %}
- {% if media_type == 'tvshow' %}
- aspect-ratio: 16 / 9;
- {% elif media_type == 'movie' %}
- aspect-ratio: 2 / 3;
- background-size: 100% 100%;
- {% else %}
- aspect-ratio: 1 / 1;
- {% endif %}
- }
- .actions {
- display: block !important;
- }
- mushroom-button {
- display: flex;
- width: calc((100% / 3) - (var(--spacing) / 3) * 2);
- margin: auto;
- }
- mushroom-media-player-media-control,
- mushroom-media-player-volume-control {
- display: flex;
- margin-right: 0px !important;
- margin-bottom: var(--spacing) !important;
- }
- - type: conditional
- conditions:
- - entity: media_player.spotify_reynaldi_sutrisno
- state_not: 'off'
- - entity: media_player.spotify_reynaldi_sutrisno
- state_not: idle
- card:
- entity: media_player.spotify_reynaldi_sutrisno
- hide:
- icon: true
- name: true
- runtime: true
- source: true
- power: true
- state_label: true
- volume: true
- info: true
- progress: false
- controls: true
- more_info: false
- type: custom:mini-media-player
- toggle_power: false
- group: true
- card_mod:
- style:
- mmp-progress$: |
- paper-progress {
- /* Hide the progress bar when not playing or paused */
- {{ 'display: none;' if not is_state(config.entity, ['playing', 'paused']) }}
- /* Apply album art color to progress bar when paused */
- --paper-progress-container-color: rgba(var(--album-art-color), 0.2) !important;
- /* Apply album art color to progress bar when playing */
- --paper-progress-active-color: rgb(var(--album-art-color)) !important;
- }
- .: |
- ha-card {
- /* Move progress bar up into gap */
- bottom: calc(3 * var(--mush-spacing, 12px) + var(--mush-control-height, -25px));
- /* Correct margins for progress bar */
- margin: 0px calc(1.618 * var(--mush-spacing, 12px)) calc(-1 * var(--mush-spacing, 12px));
- /* Set height of card to match pregress bar height */
- height: var(--mmp-progress-height);
- /* Remove border outline */
- --ha-card-border-width: 0;
- /* Round corners of progress bar */
- --mmp-border-radius: var(--control-border-radius, 12px) !important;
- /* Set height of progress bar */
- --mmp-progress-height: var(--mush-spacing, 12px) !important;
- /* Remove transitions to prevent progress bar floating in */
- transition: all 0s;
- }
- card_mod:
- style: |
- ha-card:before {
- transform: translate3d(0,0,0);
- -webkit-transform: translate3d(0,0,0);
- content: "";
- position: absolute;
- height: 100%;
- width: 100%;
- background: url('/local/idle_art.png') center no-repeat;
- {% if not is_state('media_player.spotify_reynaldi_sutrisno', 'idle') and not is_state('media_player.spotify_reynaldi_sutrisno', 'off') %}
- background: url( '{{ state_attr('media_player.spotify_reynaldi_sutrisno', "entity_picture") }}' ) center no-repeat;
- {% endif %}
- filter: blur(150px) saturate(200%) opacity(60%);
- background-size: 100% 100%;
- }
- ha-card {
- transform: translate3d(0,0,0);
- -webkit-transform: translate3d(0,0,0);
- }
- :host {
- --album-art-color:
- {% if not is_state('media_player.spotify_reynaldi_sutrisno', 'idle') and not is_state('media_player.spotify_reynaldi_sutrisno', 'off') %}
- {{ states('sensor.muted_color') }}
- {% else %}
- var(--rgb-indigo-color)
- {% endif %};
- }
- visibility:
- - condition: state
- entity: media_player.spotify_reynaldi_sutrisno
- state: playing
- cards: []
- subview: true
- - type: sections
- max_columns: 4
- path: entities-on
- sections:
- - type: grid
- cards:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: custom:mushroom-title-card
- title: |-
- {% set open_doors = expand(states.binary_sensor.all_doors)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'Door Open' if open_doors == 1 else 'Doors Open' }}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.all_doors
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.all_doors)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: |-
- {% set open_doors = expand(states.binary_sensor.all_doors)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'mdi:door-sliding-open' if open_doors > 0 else '' }}
- icon_color: red
- - type: custom:auto-entities
- card:
- square: false
- type: grid
- columns: 2
- title: Lights
- card_param: cards
- filter:
- include:
- - group: light.all_lights
- state: 'on'
- options:
- type: custom:mushroom-light-card
- use_light_color: true
- show_brightness_control: true
- show_color_control: true
- layout: vertical
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- {% if states(config.entity) == 'on' and state_attr(config.entity, 'brightness') != none %}
- {% if state_attr(config.entity,'rgb_color') != none %}
- background: linear-gradient(0deg, rgba{{(state_attr(config.entity,'rgb_color')[0] * 0.85, state_attr(config.entity,'rgb_color')[1] * 0.85, state_attr(config.entity,'rgb_color')[2] * 0.85) + (0.3,)}} calc( {{state_attr(config.entity,'brightness') | float / 2.55}}%), rgba{{(state_attr(config.entity,'rgb_color')[0] * 0.85, state_attr(config.entity,'rgb_color')[1] * 0.85, state_attr(config.entity,'rgb_color')[2] * 0.85) + (0.12,)}} 0.1%) !important;
- {% else %}
- background: linear-gradient(0deg, rgba(255, 152, 0, 0.3) {{state_attr(config.entity,'brightness') | float / 2.55}}%, rgba(255, 152, 0, 0.12) 0.1%) !important;
- {% endif %}
- {% endif %}
- }
- exclude: []
- show_empty: false
- sort:
- method: entity_id
- - type: custom:auto-entities
- card:
- square: false
- type: grid
- columns: 2
- title: Switches
- card_param: cards
- filter:
- include:
- - group: switch.all_light_switches
- state: 'on'
- options:
- type: custom:button-card
- layout: vertical
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- exclude: []
- show_empty: false
- sort:
- method: entity_id
- - type: custom:auto-entities
- card:
- square: false
- type: grid
- columns: 2
- title: Fans
- card_param: cards
- filter:
- include:
- - group: fan.all_fans
- state: 'on'
- options:
- type: custom:mushroom-light-card
- layout: vertical
- tap_action:
- action: toggle
- secondary_info: state
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-animation: spin 1s linear infinite;
- --shape-color: #b5e0f7;
- }
- .: |
- ha-card {
- height: 113px !important;
- }
- ha-state-icon {
- color: #6082B6;
- }
- exclude: []
- show_empty: false
- sort:
- method: friendly_name
- - type: custom:auto-entities
- card:
- square: false
- type: grid
- columns: 2
- title: Water
- card_param: cards
- filter:
- include:
- - group: switch.all_water_taps
- state: 'on'
- options:
- type: custom:mushroom-entity-card
- icon: mdi:water
- layout: vertical
- tap_action:
- action: toggle
- secondary_info: state
- card_mod:
- style:
- mushroom-shape-icon$: |
- .shape {
- --shape-color: #b5e0f7;
- }
- .: |
- ha-card {
- height: 113px !important;
- }
- ha-state-icon {
- color: #6082B6;
- }
- exclude: []
- show_empty: false
- sort:
- method: friendly_name
- icon: ''
- cards: []
- subview: true
- title: Entities On
- - type: sections
- max_columns: 4
- subview: true
- path: garage-room-details
- title: Garage Room Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.garage_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.garage_temperature') | float
- %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.garage_temperature
- variables:
- - states['sensor.garage_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.garage_temperature
- name: House Average Temperature
- color: |-
- ${vars[0] < 16 ? '#CEB2F5' :
- (vars[0] < 18 ? '#5EBDEE' :
- (vars[0] < 22 ? '#9cc8b8' :
- (vars[0] < 24 ? '#e7b562' :
- (vars[0] < 27 ? '#FF564B' : '#99332d'))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: custom:mushroom-title-card
- title: Lights
- - type: custom:button-card
- entity: switch.light_switch_grg
- icon: mdi:light-recessed
- name: Room Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- entity: switch.light_switch_atc
- icon: mdi:home-floor-2
- name: Attic
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:button-card
- entity: switch.rear_light_switch_grg
- icon: mdi:outdoor-lamp
- name: Rear Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:mushroom-title-card
- title: |-
- {% set windows_open = expand(states.binary_sensor.windows_grg)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {% set doors_open = expand(states.binary_sensor.doors_grg)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {% if windows_open > 0 and doors_open > 0 %}
- {{ 'Open Windows and Doors' if windows_open > 1 and doors_open > 1 else
- 'Open Window and Doors' if windows_open == 1 and doors_open > 1 else
- 'Open Windows and Door' if windows_open > 1 and doors_open == 1 else
- 'Open Window and Door' }}
- {% elif windows_open > 0 %}
- {{ 'Open Windows' if windows_open > 1 else 'Open Window' }}
- {% elif doors_open > 0 %}
- {{ 'Open Doors' if doors_open > 1 else 'Open Door' }}
- {% else %}
- {% endif %}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.doors_grg
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.doors_grg)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: |-
- {% set open_doors = expand(states.binary_sensor.doors_grg)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'mdi:door-open' if open_doors > 0 else '' }}
- icon_color: red
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_grg
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_grg)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- icon: mdi:garage-variant
- cards: []
- header:
- card:
- type: markdown
- text_only: true
- content: >-
- # Garage
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {% endif %}
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- subview: true
- path: living-area-room-details
- title: Living Area Room Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.living_room_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.living_room_temperature') |
- float %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.living_room_temperature
- - climate.living_room
- - climate.heatpump
- variables:
- - states['climate.heat_pump'].state
- - states['climate.living_room'].state
- - states['sensor.living_room_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.living_room_temperature
- name: Living Room Temperature
- color: >-
- ${vars[0] === 'heat_cool' || vars[1] === 'heat' ? 'red'
- :
- (vars[0] === 'heat_cool' || vars[1] === 'cool' ? '#12c8da' :
- (vars[0] === 'heat_cool' || vars[1] === 'fan_cool' ? '#029688' :
- (vars[2] < 16 ? '#CEB2F5' :
- (vars[2] < 18 ? '#5EBDEE' :
- (vars[2] < 22 ? '#9cc8b8' :
- (vars[2] < 24 ? '#e7b562' :
- (vars[2] < 27 ? '#FF564B' : '#99332d')))))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.living_room
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - 'off'
- - heat_cool
- show_temperature_control: true
- tap_action:
- action: toggle
- - type: custom:mushroom-title-card
- title: Lights
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- entity: switch.kitchen_light
- icon: mdi:fridge-outline
- name: Kitchen Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:button-card
- entity: switch.dining_table_light
- icon: mdi:table-chair
- name: Dining Table Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- entity: switch.kitchen_cabinet_led
- icon: mdi:file-cabinet
- name: Kitchen Cabinet LED
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:button-card
- entity: switch.table_top_light
- icon: mdi:countertop-outline
- name: Table Top Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- entity: switch.table_top_led
- icon: mdi:led-strip-variant
- name: Kitchen Cabinet LED
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:button-card
- entity: switch.sofa_light
- icon: mdi:sofa-outline
- name: Sofa Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:mushroom-title-card
- title: Other Lights
- - type: custom:button-card
- entity: switch.light_switch_scr
- icon: mdi:cookie-outline
- name: Scullery
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- entity: switch.patio_main_switch_la
- icon: mdi:outdoor-lamp
- name: Main Patio
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:button-card
- entity: switch.patio_side_switch_la
- icon: mdi:outdoor-lamp
- name: Side Patio
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:mushroom-title-card
- title: |-
- {% set windows_open = expand(states.binary_sensor.windows_la)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {% set doors_open = expand(states.binary_sensor.doors_la)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {% if windows_open > 0 and doors_open > 0 %}
- {{ 'Open Windows and Doors' if windows_open > 1 and doors_open > 1 else
- 'Open Window and Doors' if windows_open == 1 and doors_open > 1 else
- 'Open Windows and Door' if windows_open > 1 and doors_open == 1 else
- 'Open Window and Door' }}
- {% elif windows_open > 0 %}
- {{ 'Open Windows' if windows_open > 1 else 'Open Window' }}
- {% elif doors_open > 0 %}
- {{ 'Open Doors' if doors_open > 1 else 'Open Door' }}
- {% else %}
- {% endif %}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.doors_la
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.doors_la)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: |-
- {% set open_doors = expand(states.binary_sensor.doors_la)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'mdi:door-sliding-open' if open_doors > 0 else '' }}
- icon_color: red
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_la
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_la)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- icon: mdi:sofa
- cards: []
- header:
- card:
- type: markdown
- content: >-
- # Living Area
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {% endif %}
- text_only: true
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- subview: true
- path: master-bedroom-details
- title: Master Bedroom Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.master_bedroom_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.master_bedroom_temperature')
- | float %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.master_bedroom_temperature
- - climate.master_bedroom
- - climate.heatpump
- variables:
- - states['climate.heat_pump'].state
- - states['climate.master_bedroom'].state
- - states['sensor.master_bedroom_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.master_bedroom_temperature
- name: Master Bedroom Temperature
- color: >-
- ${vars[0] === 'heat_cool' || vars[1] === 'heat' ? 'red'
- :
- (vars[0] === 'heat_cool' || vars[1] === 'cool' ? '#12c8da' :
- (vars[0] === 'heat_cool' || vars[1] === 'fan_cool' ? '#029688' :
- (vars[2] < 16 ? '#CEB2F5' :
- (vars[2] < 18 ? '#5EBDEE' :
- (vars[2] < 22 ? '#9cc8b8' :
- (vars[2] < 24 ? '#e7b562' :
- (vars[2] < 27 ? '#FF564B' : '#99332d')))))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.master_bedroom
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - 'off'
- - heat_cool
- show_temperature_control: true
- tap_action:
- action: toggle
- - type: custom:paper-buttons-row
- styles:
- gap: 8px
- justify-content: flex-start
- overflow: scroll
- margin: 12px 0 0 -18px
- padding-left: 18px
- width: calc(100% + 36px)
- extra_styles: |
- ::-webkit-scrollbar {
- display: none;
- }
- buttons:
- - entity: automation.room_presence_mbr
- state_icons:
- 'on': mdi:motion-sensor
- 'off': mdi:motion-sensor-off
- layout: icon_name
- name: Sensor
- state_name: null
- tap_action:
- action: call-service
- service: automation.toggle
- target:
- entity_id: automation.room_presence_mbr
- styles:
- name:
- color: var(--gray800)
- button:
- padding: 12px
- width: 76px
- height: 76px
- flex-basis: 1
- flex-shrink: 0
- display: flex
- background-color: var(--popupBG)
- border-radius: 24px
- color: var(--white)
- icon:
- '--mdc-icon-size': 26px
- color: var(--gray800)
- - icon: mdi:lightbulb-outline
- layout: icon_name
- name: Mindre lys
- tap_action:
- action: call-service
- service: script.lys_all_darker_stue_oppe
- styles:
- name:
- color: var(--gray800)
- button:
- padding: 12px
- width: 76px
- height: 76px
- flex-basis: 1
- flex-shrink: 0
- display: flex
- background-color: var(--popupBG)
- border-radius: 24px
- color: var(--white)
- icon:
- '--mdc-icon-size': 26px
- color: var(--gray800)
- - icon: mdi:desk
- layout: icon_name
- name: Kontor
- tap_action:
- action: call-service
- service: scene.turn_on
- target:
- entity_id: scene.stue_oppe_hjemmekontor
- data:
- transition: 1
- styles:
- name:
- color: var(--gray800)
- button:
- padding: 12px
- width: 76px
- height: 76px
- flex-basis: 1
- flex-shrink: 0
- display: flex
- background-color: var(--popupBG)
- border-radius: 24px
- color: var(--white)
- icon:
- '--mdc-icon-size': 26px
- color: var(--gray800)
- - icon: mdi:sleep
- layout: icon_name
- name: Leggetid
- tap_action:
- action: call-service
- service: scene.turn_on
- target:
- entity_id: scene.stue_oppe_leggetid
- data:
- transition: 1
- styles:
- name:
- color: var(--gray800)
- button:
- padding: 12px
- width: 76px
- height: 76px
- flex-basis: 1
- flex-shrink: 0
- display: flex
- background-color: var(--popupBG)
- border-radius: 24px
- color: var(--white)
- icon:
- '--mdc-icon-size': 26px
- color: var(--gray800)
- - icon: mdi:power
- layout: icon_name
- name: Alt av
- tap_action:
- action: call-service
- service: scene.turn_on
- target:
- entity_id: scene.stue_oppe_alt_av
- data:
- transition: 1
- styles:
- name:
- color: var(--gray800)
- button:
- padding: 12px
- width: 76px
- height: 76px
- flex-basis: 1
- flex-shrink: 0
- display: flex
- margin-right: 36px
- background-color: var(--popupBG)
- border-radius: 24px
- color: var(--white)
- icon:
- '--mdc-icon-size': 26px
- color: var(--gray800)
- - type: custom:mushroom-title-card
- title: Lights
- - type: custom:button-card
- entity: switch.light_switch_mbr
- icon: mdi:light-recessed
- name: Room Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- entity: switch.left_bedside_light_switch_mbr
- icon: mdi:face-woman
- name: Chrissy Bed Side Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:button-card
- entity: switch.right_bedside_light_switch_mbr
- icon: mdi:face-man
- name: Rey Bed Side Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: conditional
- conditions:
- - condition: state
- entity: light.bed_led_mbr
- state: 'off'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.bed_led_mbr
- name: Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- - type: custom:my-slider-v2
- entity: light.bed_led_mbr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: none
- thumb:
- - width: 3px
- - height: 30%
- - background: '#000000'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: none
- - type: conditional
- conditions:
- - condition: state
- entity: light.bed_led_mbr
- state: 'on'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.bed_led_mbr
- name: Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#ffffff'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#ffffff'
- - type: custom:my-slider-v2
- entity: light.bed_led_mbr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: >-
- linear-gradient(145deg, rgba(164,164,164,1) 0%,
- rgba(255,215,86,1) 100%
- thumb:
- - width: 3px
- - height: 30%
- - background: '#ffffff'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: >-
- linear-gradient(145deg, rgba(0,0,0,1) 0%,
- rgba(255,232,157,1) 100%)
- - type: custom:button-card
- entity: switch.light_switch_wr
- icon: mdi:hanger
- name: Wardrobe Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: conditional
- conditions:
- - condition: state
- entity: light.floor_led_wr
- state: 'off'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.floor_led_wr
- name: Wardrobe LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- - type: custom:my-slider-v2
- entity: light.floor_led_wr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: none
- thumb:
- - width: 3px
- - height: 30%
- - background: '#000000'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: none
- - type: conditional
- conditions:
- - condition: state
- entity: light.floor_led_wr
- state: 'on'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.floor_led_wr
- name: Wardrobe LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#ffffff'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#ffffff'
- - type: custom:my-slider-v2
- entity: light.floor_led_wr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: >-
- linear-gradient(145deg, rgba(164,164,164,1) 0%,
- rgba(255,215,86,1) 100%
- thumb:
- - width: 3px
- - height: 30%
- - background: '#ffffff'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: >-
- linear-gradient(145deg, rgba(0,0,0,1) 0%,
- rgba(255,232,157,1) 100%)
- - type: custom:button-card
- entity: switch.patio_switch_mbr
- icon: mdi:outdoor-lamp
- name: Patio Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:mushroom-title-card
- title: >-
- {% set windows_open = expand(states.binary_sensor.windows_mbr)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {% set doors_open =
- expand(states.binary_sensor.sliding_door_sensor_mbr_contact)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {% if windows_open > 0 and doors_open > 0 %}
- {{ 'Open Windows and Doors' if windows_open > 1 and doors_open > 1 else
- 'Open Window and Doors' if windows_open == 1 and doors_open > 1 else
- 'Open Windows and Door' if windows_open > 1 and doors_open == 1 else
- 'Open Window and Door' }}
- {% elif windows_open > 0 %}
- {{ 'Open Windows' if windows_open > 1 else 'Open Window' }}
- {% elif doors_open > 0 %}
- {{ 'Open Doors' if doors_open > 1 else 'Open Door' }}
- {% else %}
- {% endif %}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.sliding_door_sensor_mbr_contact
- state: 'on'
- chip:
- type: template
- content: >
- {{
- expand(states.binary_sensor.sliding_door_sensor_mbr_contact)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: >-
- {% set open_doors =
- expand(states.binary_sensor.sliding_door_sensor_mbr_contact)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'mdi:door-sliding-open' if open_doors > 0 else '' }}
- icon_color: red
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_mbr
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_mbr)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- cards: []
- icon: mdi:bed-king
- header:
- card:
- type: markdown
- content: |
- # Master Bedroom
- text_only: true
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- subview: true
- path: baby-room-details
- title: Baby Room Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.baby_room_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.baby_room_temperature') |
- float %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.baby_room_temperature
- - climate.baby_room
- - climate.heatpump
- variables:
- - states['climate.heat_pump'].state
- - states['climate.baby_room'].state
- - states['sensor.baby_room_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.baby_room_temperature
- name: Baby Room Temperature
- color: >-
- ${vars[0] === 'heat_cool' || vars[1] === 'heat' ? 'red'
- :
- (vars[0] === 'heat_cool' || vars[1] === 'cool' ? '#12c8da' :
- (vars[0] === 'heat_cool' || vars[1] === 'fan_cool' ? '#029688' :
- (vars[2] < 16 ? '#CEB2F5' :
- (vars[2] < 18 ? '#5EBDEE' :
- (vars[2] < 22 ? '#9cc8b8' :
- (vars[2] < 24 ? '#e7b562' :
- (vars[2] < 27 ? '#FF564B' : '#99332d')))))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.baby_room
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - 'off'
- - heat_cool
- show_temperature_control: true
- tap_action:
- action: toggle
- - type: custom:mushroom-title-card
- title: Lights
- - type: custom:button-card
- entity: switch.light_switch_br
- icon: mdi:light-recessed
- name: Room Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: conditional
- conditions:
- - condition: state
- entity: light.ava_bed_led_br
- state: 'off'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.ava_bed_led_br
- name: Ava Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- - type: custom:my-slider-v2
- entity: light.ava_bed_led_br
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: none
- thumb:
- - width: 3px
- - height: 30%
- - background: '#000000'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: none
- - type: conditional
- conditions:
- - condition: state
- entity: light.ava_bed_led_br
- state: 'on'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.ava_bed_led_br
- name: Ava Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#ffffff'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#ffffff'
- - type: custom:my-slider-v2
- entity: light.ava_bed_led_br
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: >-
- linear-gradient(145deg, rgba(164,164,164,1) 0%,
- rgba(255,215,86,1) 100%
- thumb:
- - width: 3px
- - height: 30%
- - background: '#ffffff'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: >-
- linear-gradient(145deg, rgba(0,0,0,1) 0%,
- rgba(255,232,157,1) 100%)
- - type: conditional
- conditions:
- - condition: state
- entity: light.iyla_bed_led_br
- state: 'off'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.iyla_bed_led_br
- name: Iyla Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- - type: custom:my-slider-v2
- entity: light.iyla_bed_led_br
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: none
- thumb:
- - width: 3px
- - height: 30%
- - background: '#000000'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: none
- - type: conditional
- conditions:
- - condition: state
- entity: light.iyla_bed_led_br
- state: 'on'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.iyla_bed_led_br
- name: Iyla Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#ffffff'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#ffffff'
- - type: custom:my-slider-v2
- entity: light.iyla_bed_led_br
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: >-
- linear-gradient(145deg, rgba(164,164,164,1) 0%,
- rgba(255,215,86,1) 100%
- thumb:
- - width: 3px
- - height: 30%
- - background: '#ffffff'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: >-
- linear-gradient(145deg, rgba(0,0,0,1) 0%,
- rgba(255,232,157,1) 100%)
- - type: custom:mushroom-title-card
- title: |-
- {% set open_windows = expand(states.binary_sensor.windows_br)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'Window Open' if open_windows == 1 else 'Windows Open' }}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_br
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_br)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- cards: []
- icon: mdi:baby-carriage
- header:
- card:
- type: markdown
- content: >-
- # Baby Room
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {% endif %}
- text_only: true
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- subview: true
- path: single-guest-room-details
- title: Single Guest Room Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.single_guest_room_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp =
- states('sensor.single_guest_room_temperature') | float %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.single_guest_room_temperature
- - climate.single_guest_room
- - climate.heatpump
- variables:
- - states['climate.heat_pump'].state
- - states['climate.single_guest_room'].state
- - states['sensor.single_guest_room_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.single_guest_room_temperature
- name: Single Guest Room Temperature
- color: >-
- ${vars[0] === 'heat_cool' || vars[1] === 'heat' ? 'red'
- :
- (vars[0] === 'heat_cool' || vars[1] === 'cool' ? '#12c8da' :
- (vars[0] === 'heat_cool' || vars[1] === 'fan_cool' ? '#029688' :
- (vars[2] < 16 ? '#CEB2F5' :
- (vars[2] < 18 ? '#5EBDEE' :
- (vars[2] < 22 ? '#9cc8b8' :
- (vars[2] < 24 ? '#e7b562' :
- (vars[2] < 27 ? '#FF564B' : '#99332d')))))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.single_guest_room
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - 'off'
- - heat_cool
- show_temperature_control: true
- tap_action:
- action: toggle
- - type: custom:mushroom-title-card
- title: Lights
- - type: custom:button-card
- entity: switch.light_switch_sgr
- icon: mdi:light-recessed
- name: Room Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: conditional
- conditions:
- - condition: state
- entity: light.bed_led_sgr
- state: 'off'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.bed_led_sgr
- name: Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- - type: custom:my-slider-v2
- entity: light.bed_led_sgr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: none
- thumb:
- - width: 3px
- - height: 30%
- - background: '#000000'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: none
- - type: conditional
- conditions:
- - condition: state
- entity: light.bed_led_sgr
- state: 'on'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.bed_led_sgr
- name: Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#ffffff'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#ffffff'
- - type: custom:my-slider-v2
- entity: light.bed_led_sgr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: >-
- linear-gradient(145deg, rgba(164,164,164,1) 0%,
- rgba(255,215,86,1) 100%
- thumb:
- - width: 3px
- - height: 30%
- - background: '#ffffff'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: >-
- linear-gradient(145deg, rgba(0,0,0,1) 0%,
- rgba(255,232,157,1) 100%)
- - type: custom:mushroom-title-card
- title: |-
- {% set open_windows = expand(states.binary_sensor.windows_sgr)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'Window Open' if open_windows == 1 else 'Windows Open' }}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_sgr
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_sgr)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- cards: []
- icon: mdi:account-plus
- header:
- card:
- type: markdown
- text_only: true
- content: >-
- # Single Guest Room
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {% endif %}
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- subview: true
- path: multiple-guest-room-details
- title: Multiple Guest Room Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.multiple_guest_room_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp =
- states('sensor.multiple_guest_room_temperature') | float
- %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.multiple_guest_room_temperature
- - climate.multiple_guest_room
- - climate.heatpump
- variables:
- - states['climate.heat_pump'].state
- - states['climate.multiple_guest_room'].state
- - states['sensor.multiple_guest_room_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.multiple_guest_room_temperature
- name: Multiple Guest Room Temperature
- color: >-
- ${vars[0] === 'heat_cool' || vars[1] === 'heat' ? 'red'
- :
- (vars[0] === 'heat_cool' || vars[1] === 'cool' ? '#12c8da' :
- (vars[0] === 'heat_cool' || vars[1] === 'fan_cool' ? '#029688' :
- (vars[2] < 16 ? '#CEB2F5' :
- (vars[2] < 18 ? '#5EBDEE' :
- (vars[2] < 22 ? '#9cc8b8' :
- (vars[2] < 24 ? '#e7b562' :
- (vars[2] < 27 ? '#FF564B' : '#99332d')))))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.multiple_guest_room
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - 'off'
- - heat_cool
- show_temperature_control: true
- tap_action:
- action: toggle
- - type: custom:mushroom-title-card
- title: Lights
- - type: custom:button-card
- entity: switch.light_switch_mgr
- icon: mdi:light-recessed
- name: Room Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 16px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: conditional
- conditions:
- - condition: state
- entity: light.bed_led_mgr
- state: 'off'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.bed_led_mgr
- name: Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#000000'
- - type: custom:my-slider-v2
- entity: light.bed_led_mgr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: none
- thumb:
- - width: 3px
- - height: 30%
- - background: '#000000'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: none
- - type: conditional
- conditions:
- - condition: state
- entity: light.bed_led_mgr
- state: 'on'
- card:
- type: vertical-stack
- cards:
- - type: custom:button-card
- entity: light.bed_led_mgr
- name: Bed LED
- tap_action:
- action: none
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: none
- - height: 75px
- - position: absolute
- - z-index: 1
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#ffffff'
- name:
- - justify-self: start
- - font-size: 14px
- - font-weight: 400
- - color: '#ffffff'
- - type: custom:my-slider-v2
- entity: light.bed_led_mgr
- allowTapping: false
- allowSliding: true
- styles:
- container:
- - border-radius: 30px
- card:
- - margin-top: '-8px'
- - height: 75px
- progress:
- - background: >-
- linear-gradient(145deg, rgba(164,164,164,1) 0%,
- rgba(255,215,86,1) 100%
- thumb:
- - width: 3px
- - height: 30%
- - background: '#ffffff'
- - border-radius: 5px
- - top: 35%
- - margin-right: 12x
- track:
- - background: >-
- linear-gradient(145deg, rgba(0,0,0,1) 0%,
- rgba(255,232,157,1) 100%)
- - type: custom:mushroom-title-card
- title: |-
- {% set open_windows = expand(states.binary_sensor.windows_mgr)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'Window Open' if open_windows == 1 else 'Windows Open' }}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_mgr
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_mgr)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- cards: []
- icon: mdi:account-group
- header:
- card:
- type: markdown
- text_only: true
- content: >-
- # Multiple Guest Room
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {% endif %}
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- subview: true
- path: office-room-details
- title: Office Room Details
- sections:
- - type: grid
- cards:
- - type: custom:vertical-stack-in-card
- cards:
- - square: false
- type: grid
- cards:
- - type: custom:mushroom-template-card
- entity: sensor.office_room_temperature
- primary: |
- {{ states(entity) | round(1) }}°C
- secondary: |
- {{ state_attr(entity,'friendly_name') }}
- icon: mdi:thermometer
- icon_color: >
- {% set temp = states('sensor.office_room_temperature') |
- float %}
- {% if temp < 16 %} #CEB2F5
- {% elif temp < 18 %} #5EBDEE
- {% elif temp < 22 %} #9cc8b8
- {% elif temp < 24 %} #e7b562
- {% elif temp < 27 %} #FF564B
- {% else %} #99332d
- {% endif %}
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- columns: 1
- - type: custom:config-template-card
- entities:
- - sensor.office_room_temperature
- - climate.office_room
- - climate.heatpump
- variables:
- - states['climate.heat_pump'].state
- - states['climate.office_room'].state
- - states['sensor.office_room_temperature'].state
- card:
- type: custom:mini-graph-card
- entities:
- - entity: sensor.office_room_temperature
- name: Office Room Temperature
- color: >-
- ${vars[0] === 'heat_cool' || vars[1] === 'heat' ? 'red'
- :
- (vars[0] === 'heat_cool' || vars[1] === 'cool' ? '#12c8da' :
- (vars[0] === 'heat_cool' || vars[1] === 'fan_cool' ? '#029688' :
- (vars[2] < 16 ? '#CEB2F5' :
- (vars[2] < 18 ? '#5EBDEE' :
- (vars[2] < 22 ? '#9cc8b8' :
- (vars[2] < 24 ? '#e7b562' :
- (vars[2] < 27 ? '#FF564B' : '#99332d')))))))}
- hours_to_show: 24
- line_width: 3
- font_size: 50
- animate: true
- height: 50
- show:
- name: false
- icon: false
- state: false
- legend: false
- fill: fade
- - type: horizontal-stack
- cards:
- - type: custom:mushroom-climate-card
- entity: climate.office_room
- primary_info: none
- secondary_info: none
- icon_type: none
- hvac_modes:
- - 'off'
- - heat_cool
- show_temperature_control: true
- tap_action:
- action: toggle
- - type: custom:mushroom-title-card
- title: Lights
- - type: custom:button-card
- entity: switch.light_switch_or
- icon: mdi:light-recessed
- name: Room Light
- tap_action:
- action: toggle
- styles:
- grid:
- - grid-template-columns: 64px 1fr
- - grid-template-areas: '" i n "'
- card:
- - background: null
- - height: 75px
- img_cell:
- - width: 22px
- icon:
- - width: 22px
- - color: '#000000'
- name:
- - justify-self: start
- - font-size: 16px
- - font-weight: 400
- - color: '#000000'
- state:
- - value: 'on'
- styles:
- card:
- - background: '#ffec8e'
- - type: custom:mushroom-title-card
- title: |-
- {% set open_windows = expand(states.binary_sensor.windows_mgr)
- | selectattr('state', 'eq', 'on')
- | list | count %}
- {{ 'Window Open' if open_windows == 1 else 'Windows Open' }}
- - type: custom:mushroom-chips-card
- chips:
- - type: conditional
- conditions:
- - condition: state
- entity: binary_sensor.windows_or
- state: 'on'
- chip:
- type: template
- content: |
- {{ expand(states.binary_sensor.windows_or)
- | selectattr('state', 'eq', 'on')
- | map(attribute='name')
- | join(', ') }}
- icon: mdi:window-open
- icon_color: orange
- visibility:
- - condition: state
- entity: binary_sensor.windows_or
- state: 'on'
- cards: []
- icon: mdi:desktop-tower-monitor
- header:
- card:
- type: markdown
- text_only: true
- content: >-
- # Office Room
- {% set time = now().hour %}
- {% if time < 19 %}
- **Here is how it feels like today:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_0')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_0')
- }}°C.
- {% else %}
- **Here is how it feels like tomorrow:**
- 🌡️ 🔺High of {{ states('sensor.home_realfeel_temperature_max_day_1')
- }}°C, 🔻Low of {{ states('sensor.home_realfeel_temperature_min_day_1')
- }}°C.
- {% endif %}
- layout: responsive
- badges_position: top
- badges:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/room
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: sections
- max_columns: 4
- title: Security - Garage
- path: security-garage
- icon: mdi:cctv
- subview: true
- sections:
- - type: grid
- cards:
- - type: custom:mushroom-chips-card
- alignment: start
- chips:
- - type: template
- tap_action:
- action: navigate
- navigation_path: /mobile-light/overview
- icon: mdi:arrow-left
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: custom:mushroom-title-card
- title: Camera
- subtitle: ''
- - type: custom:webrtc-camera
- entity: camera.garage_camera_clear
- mode: webrtc
- muted: true
- - type: custom:mushroom-chips-card
- chips:
- - type: entity
- entity: button.garage_camera_ptz_left
- content_info: name
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:arrow-left
- name: Pan Left
- - type: entity
- entity: button.garage_camera_ptz_stop
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
- icon: mdi:stop
- content_info: none
- - type: entity
- entity: button.garage_camera_ptz_right
- icon: mdi:arrow-right
- name: Pan Right
- content_info: name
- tap_action:
- action: toggle
- hold_action:
- action: none
- double_tap_action:
- action: none
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement