Could you share a screenshot of that theme maybe?
Sorry, a screenshot of what part exactly? Iāve been testing this feature with HKI Custom Dark out of the box, I didnāt want to bring more variables into the picture.
Np, so, you are saying that every time you restart it resets the theme to default?
That might be the case if you do not set this:
as it will reload the theme set there at the start. So if you donāt have the custom dark theme selected here but the default skin it will always revert to that on startup (not sure if this is actually what you mean though).
No, at this point restarts are happening with the proper theme. I did have to enable the setting you showed above on my Android phone after logging into the same account, however.
Well, if you still have the automation you mentioned earlier then this could be a reason for that.
Youād be correct, but the automation was deleted, and itās being reproduced on two different HA systems.
This is an image of my friendās settings, heās trying to automatically use the Light custom theme, and he has to manually enable the setting on his device. Now this seems to be exactly what that note is saying, but he also has themes set to backend-selected on that device, see below:
If this is working as intended, please disregard. Itās not a big issue, just a little extra work for us when deploying on new devices. The important thing was the correct theme being set on reboot, which was the major pain point.
Actually, the screenshot doesnāt show what theme he has set. The theme shown in the screenshot only works if the āactualā HA theme is set first.
It is the very first card of the theme settings page, but it is minimized.
The yellow arrow sets the theme, the red arrow selects which custom theme to edit. HKI comes with two customizable themes, but they must be set as the main theme first. By default it will use the HKI default theme.
Default settings shown below.
When this is set to default, the settings past the yellow arrow wont work.
Yes, Iām sorry if Iām not being clear. Thatās exactly the setting that I was asking it about: Does that have to be set for every new device? That seems to be the case, from what I can tell.
Well no, the first setting (yellow arrow) needs to be set once globally.
The red arrow does nothing, it only chooses which theme you want to edit. Changing that setting does nothing but change some cards on the settings page. It will also automatically choose light and dark based on sunset. But then again, that has nothing to do with the set theme. Only the settings from the yellow arrow will change the theme.
Yes, Iām talking about the settings that the yellow arrow points towards. You say they need to be set once globally, but that doesnāt seem to be the case, because Iām having to enable that specific setting on new devices.
That is virtually impossible thoughā¦ I think it is really odd. Which is even weirder is that that specific setting has been there since HKI 1.0 and that is years ago. I have never heard anyone saying something like this before so I really wonder what causes this for you.
Was it a clean install? Did you install other cards besides the ones required? Do you have other dashboards installed (e.g. minimalist ui or dwains dashboard?)
Sorry for all the questions, but if it happens on 1 computer you might say it is a coincidence, on multiple computers it is a pattern so I will try to do a clean install later today and see what that does.
Hello, does anybody here have experience creating more complex layouts with the layout-card addon? Iām trying to get things to appear using the custom:layout-card type, which is supposed to let you get cards within cards, but I canāt seem to figure out exactly where to slot it in in the YAML. The layout-card documentation shows UI elements being added with the
cards
option, but HKI seems to prefer the
addons
option. Would both of these work?
This is what I have currently:
myview:
title: greeting
show_in_navbar: true
show_in_menu: false
icon: mdi:fan-chevron-down
layout:
layout_type: custom:grid-layout
layout:
grid-template-columns: 33% 33% 33%
grid-template-areas: |
"left center right"
addons:
layout-card:
type: custom:layout-card
view_layout:
grid-area: center
I havenāt tested it with other dashboards but Dwains Dashboard. The latter has a specific function he wrote so that these two dashboards could function together (prior to HKI 3 this was not possible). I dont think that other devs would really care to recreate such functionality. Though mushroom cards shouldnāt affect anything as those are just cards and can be used with HKI without a problem.
Minimalist UI however, I donāt think it is possible to run HKI and this simultaneously (at least if, from what Iāve heard, it is any similar to Dwains Dashboard then it wonāt work out of the box.
Crazy problem here:
When I try to add the alarm control panel popup. Like in your demo configuration
buttons:
- icon: "mdi:shield-lock-open"
value: "disarmed"
name: "Disarmed"
color: "#FFF"
icon_color: "rgb(50,205,50)"
service: alarm_control_panel.alarm_disarm
service_data:
entity_id: alarm_control_panel.home_alarm
code: !secret alarm_code
The Dashboard will have an error and not render anymore.
I could isolate the issue to the Alarm Code. When I try to set the code via secret variable it didnāt work,
When add the code directly, everything works well.
After installing the stable HA 2022.7 version this also occurs for me now, they might have changed something there. I should probably go and read the change notes XD.
Please show the error that is shown in the logs, I am guessing that you have skipped the secrets.yaml part of the installation.
I have a secrets.yaml with this variable placed on config root.
looks like
Alarm_code: 1234
alarm_code: 1234
Logger: homeassistant.components.websocket_api.http.connection
Source: util/yaml/loader.py:244
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 13:54:12 (1 occurrences)
Last logged: 13:54:12
[139696642934912] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/lovelace/websocket.py", line 30, in send_with_error_handling
result = await func(hass, connection, msg, config)
File "/usr/src/homeassistant/homeassistant/components/lovelace/websocket.py", line 72, in websocket_lovelace_config
return await config.async_load(msg["force"])
File "/usr/src/homeassistant/homeassistant/components/lovelace/dashboard.py", line 186, in async_load
is_updated, config = await self.hass.async_add_executor_job(
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/lovelace/dashboard.py", line 205, in _load_config
config = load_yaml(self.path, Secrets(Path(self.hass.config.config_dir)))
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 155, in load_yaml
return parse_yaml(conf_file, secrets)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 168, in parse_yaml
return _parse_yaml(SafeLoader, content, secrets)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 198, in _parse_yaml
yaml.load(content, Loader=lambda stream: loader(stream, secrets))
File "/usr/local/lib/python3.10/site-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 51, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 55, in construct_document
data = self.construct_object(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 325, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 155, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 246, in _include_yaml
return _add_reference(load_yaml(fname, loader.secrets), loader, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 155, in load_yaml
return parse_yaml(conf_file, secrets)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 168, in parse_yaml
return _parse_yaml(SafeLoader, content, secrets)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 198, in _parse_yaml
yaml.load(content, Loader=lambda stream: loader(stream, secrets))
File "/usr/local/lib/python3.10/site-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 51, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 55, in construct_document
data = self.construct_object(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 325, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 155, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 325, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 155, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 325, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 155, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 356, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 408, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 129, in construct_sequence
return [self.construct_object(child, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 129, in <listcomp>
return [self.construct_object(child, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 325, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 155, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 246, in _include_yaml
return _add_reference(load_yaml(fname, loader.secrets), loader, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 155, in load_yaml
return parse_yaml(conf_file, secrets)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 168, in parse_yaml
return _parse_yaml(SafeLoader, content, secrets)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 198, in _parse_yaml
yaml.load(content, Loader=lambda stream: loader(stream, secrets))
File "/usr/local/lib/python3.10/site-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 51, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 55, in construct_document
data = self.construct_object(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 356, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 408, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 129, in construct_sequence
return [self.construct_object(child, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 129, in <listcomp>
return [self.construct_object(child, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 325, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 155, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.10/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 244, in _include_yaml
fname = os.path.join(os.path.dirname(loader.get_name()), node.value)
File "/usr/local/lib/python3.10/posixpath.py", line 90, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/local/lib/python3.10/genericpath.py", line 152, in _check_arg_types
raise TypeError(f'{funcname}() argument must be str, bytes, or '
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'list'
hey thanks for all your hard work on this, its great and getting to grips with it,
a few questions though
1 this
(ignore I missed out typo on thermostats title)
but I want to stack stuff like this (custom:vertical stack) but still use 3 collumns on the page, tried a few things and failed.
another thing is can I use states to customise icons show (that are not home assistant default) obviously not for lights, but for things like blinds and windows etc.
To the first question, be a bit clearer on what you want.
The second question is yes, you can use different icons per state.
thanks for the reply bud, the first one is basically is there a way to say have the sensors display next to the thermostats in a row I have adjusted to show what I mean
is there a way to make these just go in a row, or is it not possible (so say a mixture of thermostats, sensors, go in a row of 3, so thermostat, thermostat, sensor then on the next row sensor sensor button ect
worked the second part out now its ok
icon: phu:ikea-blind-closed
state:
- value: open
icon: phu:ikea-blind-open
hope you can make a tilt option, I failed to show anything but undfined on any card even in my own theme before for the venician lolā¦ even the cover pop up on it does not allow udjustment