Skip to content

Instantly share code, notes, and snippets.

@EverythingSmartHome
Created April 6, 2022 13:13
Show Gist options
  • Save EverythingSmartHome/814bc87e83dcff1c06fffa3095b95b3f to your computer and use it in GitHub Desktop.
Save EverythingSmartHome/814bc87e83dcff1c06fffa3095b95b3f to your computer and use it in GitHub Desktop.
Home Assistant Mushroom card templates
#Showing the state of a temperature in a template card:
{{ states('sensor.your_temperature_sensor') }}
#Change the colour of the light depending on status:
{% if is_state('light.your_light', 'on') %}
orange
{% endif %}
#Welcome template:
{% set time = now().hour %}
{% if (time >= 18) %}
Good Evening, {{user}}!
{% elif (time >= 12) %}
Good Afternoon, {{user}}!
{% elif (time >= 5) %}
Good Morning, {{user}}!
{% else %}
Hello, {{user}}!
{% endif %}
@ma-si
Copy link

ma-si commented Feb 11, 2024

How would I go about adding the date after each day of my subtitle addition to the Welcome Screen template. I am not sure how to get that added in.

I added this in the secondary information field since I am always forgetting the date 😅

{% set time = now().weekday() %}
{% if (time >= 0) %}
Today is Monday, {{ now().date()}}
{% elif (time >= 1) %}
Today is Tuesday, {{ now().date()}}
{% elif (time >= 2) %}
Today is Wednesday, {{ now().date()}}
{% elif (time >= 3) %}
Today is Thursday, {{ now().date()}}
{% elif (time >= 4) %}
Today is Friday, {{ now().date()}}
{% elif (time >= 5) %}
Today is Saturday, {{ now().date()}}
{% elif (time >= 6) %}
Today is Sunday, {{ now().date()}}
{% else %}
Today is fudged....
{% endif %}

image

THANK YOU SO MUCH!

now() is python date object so you can use formatting.

{% set current_datetime = now() -%}
Today is {{ current_datetime.strftime("%A") }}, {{ current_datetime.date()}}

@stoniwankenobii this way will be easier ;)

@dos1973 you can use formatting

now().strftime("%d.%m.%Y")

@stoniwankenobii
Copy link

YOU'RE A WIZARD HARRY

@yellowdre
Copy link

can someone please give detail instruction how to creat the light counter card

@TrialMaster
Copy link

What is required to have the dashboard format correctly on a tablet or desktop?

@Octavian1973
Copy link

Hello everybody!

I added this in the secondary information field since I am always forgetting the date 😉

{% set time = now().weekday() %}
{% if (time == 0) %}
Today is Monday, {{ now().strftime("%d.%m.%Y")}}
{% elif (time == 1) %}
Today is Tuesday, {{ now().strftime("%d.%m.%Y")}}
{% elif (time == 2) %}
Today is Wednesday, {{ now().strftime("%d.%m.%Y")}}
{% elif (time == 3) %}
Today is Thursday, {{ now().strftime("%d.%m.%Y")}}
{% elif (time == 4) %}
Today is Friday, {{ now().strftime("%d.%m.%Y")}}
{% elif (time == 5) %}
Today is Saturday, {{ now().strftime("%d.%m.%Y")}}
{% elif (time == 6) %}
Today is Sunday, {{ now().strftime("%d.%m.%Y")}}
{% else %}
Today is the lucky day...
{% endif %}

000

@oliverlinsenmaier
Copy link

oliverlinsenmaier commented Aug 2, 2024

I can't get the secondary information to work with the temperature. The same is true for the icon color, when the light is on... Can anybody send me their YAML for that part?

@artkrzy
Copy link

artkrzy commented Nov 28, 2024

How did you do the light count near the beginning of the main card setup?

Try this {% set domain = 'light' %} {% set lightsOnCount = states[domain] | selectattr( 'state', 'eq', 'on') | list | count %} {{lightsOnCount}}

You can do this with any kind of domain, media_player, cameras and so on.

Is there a way to use categories as domain? I have smart switches for the lights and several smart plugs (which are also in domain switch), so when I do the count against domain switch - it does add up plugs and switches.

Thanks in advance

@oliverlinsenmaier
Copy link

I use the following helper values: Powerplugs, Lights on, window shutters, window/doors, room temperature, Sonos active.

This is my configuration yaml:

- sensor:
      - name: "Steckdosen an"
        unique_id: poweroutlets_turned_on
        icon: mdi:power-socket-eu
        state: |
          {{ states.light 
            | rejectattr('attributes.entity_id', 'defined') 
            | selectattr('entity_id', 'in',  ['light.aussensteckdose', 'light.steckdose_balkon', 'light.steckdose_dachterrasse'])
            | rejectattr('attributes.is_hue_group', 'true') 
            | selectattr('state', 'eq', 'on') 
            | reject('search', 'screen')
            | reject('search', 'segment')            
            | list
            | count }}
            
  - sensor:
      - name: "Lampen an"
        unique_id: lights_turned_on
        icon: mdi:window-shutter-open
        state: |
          {{ label_entities("lamp") | select('is_state', 'on') | list | count }}
            
  - sensor:
      - name: "Rollläden oben"
        unique_id: rollos_oben
        icon: mdi:window-shutter-closed
        state: | 
          {{ states.cover | selectattr('state', 'eq', 'open') | reject('search', 'motor') | reject('search', 'markise') | list | count + states.cover | selectattr('state', 'eq', 'opening') | reject('search', 'motor') | reject('search', 'markise') | list | count + states.cover | selectattr('state', 'eq', 'closing') | reject('search', 'motor') | reject('search', 'markise') | list | count }}
            
  - sensor:
      - name: "Offene Fenster/Türen"
        unique_id: open_window_count
        icon: mdi:window-open-variant
        state: | 
          {{ states.binary_sensor | selectattr('attributes.device_class', 'eq', 'door') | selectattr('state', 'eq', 'on') | reject('search', 'ev6') | reject('search', 'gruppe')  | list | count +
             states.binary_sensor | selectattr('attributes.device_class', 'eq', 'window') | selectattr('state', 'eq', 'on') | reject('search', 'ev6') | reject('search', 'gruppe')  | list | count }}
             
  - sensor:
      - name: "RTR in Betrieb"
        unique_id: active_rtr_count
        icon: mdi:thermometer-lines
        state: | 
          {{ states.climate | selectattr('state', 'eq', 'heat_cool') | reject('search', 'ev6') | reject('search', 'gruppe') | list | count }}
          
  - sensor:
      - name: "Badheizkörper in Betrieb"
        unique_id: active_badheizkorper
        icon: mdi:heating-coil
        state: | 
          {{ states.light | selectattr('state', 'eq', 'on') | selectattr('entity_id', 'in',  ['light.badheizkorper_og', 'light.badheizkorper_dg']) | list | count }}
          

  - sensor:
      - name: "Sonos in Betrieb"
        unique_id: active_media_count
        icon: mdi:music
        state: | 
          {{ states.media_player | selectattr('state', 'eq', 'playing') | reject('search', 'ev6') | reject('search', 'gruppe')  | list | count }}

@danewhitfield
Copy link

Old thread, not sure if anyone is interested but if like myself you have setup your full name on HA then it might be worth using (either directly or as a helper):

{{ user.split()[0] }}

Looks cleaner with just the first name and fits better.

@domingosedu
Copy link

domingosedu commented Apr 21, 2025

I have this code below which is working fine, but I want to make the icon in orange every time that any of these 4 lights below turns on.
light.banheiro_suite_interruptor_iluminacao_interruptor_1
light.banheiro_suite_interruptor_iluminacao_interruptor_2
light.banheiro_suite_interruptor_iluminacao_interruptor_3
light.banheiro_suite_interruptor_iluminacao_interruptor_4

{% if is_state('light.banheiro_suite_interruptor_iluminacao_interruptor_1','on')
%} orange
{% endif %}

Does anybody know how to ADD the "OR" clause on this sintax?

@danewhitfield
Copy link

I have this code below which is working fine, but I want to make the icon in orange every time that any of these 4 lights below turns on. light.banheiro_suite_interruptor_iluminacao_interruptor_1 light.banheiro_suite_interruptor_iluminacao_interruptor_2 light.banheiro_suite_interruptor_iluminacao_interruptor_3 light.banheiro_suite_interruptor_iluminacao_interruptor_4

{% if is_state('light.banheiro_suite_interruptor_iluminacao_interruptor_1','on') %} orange {% endif %}

Does anybody know how to ADD the "OR" clause on this sintax?

{% if is_state('light.banheiro_suite_interruptor_iluminacao_interruptor_1','on')
   or is_state('light.light_2','on')
   or is_state('light.light_3','on')
   or is_state('light.light_4','on')
%} orange
{% endif %}

@domingosedu
Copy link

domingosedu commented Apr 21, 2025

Many thanks @danewhitfield for your assistance! You rock! :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment