This will help:
Is it possible to have themes change automatically?
When I wake up before dawn it would be great to have the dark theme so my eyeballs aren’t burnt by the phone glare before I wake up properly. But after dawn the theme should go back to white background.
@j.assuncao, @bachoo786, @forsquirel, @DPB61: Here is my automation rule, based on changing an input select box manually and/or automatically. There are of course other ways of accomplishing this, but this works fine for me (and is pretty comprehensible).
Please note however that changing the theme in your configuration frontend UI overrides all of it. So better leave the frontend config (https://your.home.assistant/config/core) theme set to ‘backend-selected’.
frontend:
themes: !include configuration_themes.yaml # your themes go in this file, or directly below here
input_select:
hass_template:
name: Choose template
options:
- default
- day
- night
initial: day
icon: mdi:theme-light-dark
automation:
# IF: { input_select hass_template is changed by user OR home assistants boots up } THEN: { set theme to state given by input_select.hass_template }
- id: switch_hass_template
alias: switch_hass_template
trigger:
- platform: state
entity_id: input_select.hass_template
- platform: homeassistant
event: start
action:
- service: frontend.set_theme
data_template:
name: "{{ states.input_select.hass_template.state }}"
# IF: { sun.sun goes under horizon } THEN: { set theme to night mode }
- id: day_to_night_theme
alias: day_to_night_theme
trigger:
- platform: state
entity_id: sun.sun
from: 'above_horizon'
to: 'below_horizon'
action:
- service: input_select.select_option
data:
entity_id: input_select.hass_template
option: 'night'
# IF: { sun.sun is up } THEN: { set theme to day mode }
- id: night_to_day_theme
alias: night_to_day_theme
trigger:
- platform: state
entity_id: sun.sun
from: 'below_horizon'
to: 'above_horizon'
action:
- service: input_select.select_option
data:
entity_id: input_select.hass_template
option: 'day'
when you enable themes there’s a dropdown list under configuration > configuration.yaml scroll to the bottom.
again, select the theme you want to use to apply it.
Yes indeed much more elegant solution. I will change my code aswell. Thanks
thanks a lot I managed to get it working when I select a theme.
Sorry if this is a silly question but if you change the Theme to another color how do you get back to the “normal” default colors? Is it as simple as saying
frontend.set_theme
data:
name: 'default'`
or do I need to define the color values back to the original by defining a Theme called “default” ?
Oh yes, I see… Actually I don’t have any badges, so I forgot it in my themesetup… Thanks for letting me know
There’s already a ‘default’ theme selection that allows it to revert back to blue/white
These themes are bomb. Added a few to my setup. Thanks much for sharing!
Midnight is amazing
Hello all and thanks for all the nice themes you’ve created.
Is is possible to also increase the size of different elements, or perhaps there is a setting to magnify the whole UI by a factor of, let’s say, 1.3x?
It is possible to change also icons on the setting menu at left?
Here’s a script I use when working on groups, automations and themes so I don’t have to constantly restart HA. Just put script.reload somewhere where its easy to activate on your frontend.
reload:
sequence:
- service: automation.reload
- service: homeassistant.reload_core_config
- service: frontend.reload_themes
Hi @Jer78,
Sounds interesting, can you let me know where this would be placed, is it part of an automation, or is “reload” a component i haven’t heard of…
Assuming it get triggered as part of a input select or a button click?
Thanks
Put it in the script section.