Homekit Infused 5 (HKI) v2023.1.3

please check your custom header version in HACS. issue with custom header where pages start having their own life. After upgrading issue is resolved. you should be on 1.3.1 that version has been released yesterday.

If you still have issues after upgrading, please remove custom header first. restart HA and install it again. Apperently there are also issues with upgrading CH through HACS.

yes I have the updated version, but the problems persist … I proceed to uninstall and reinstall

ok it seems to work properly now

1 Like

Yes it was caused by CH. Hopefully I can push updates somewhere today. It will make the interface faster and lighter on older devices.

hi… I am trying set this up on a spare pi, I have used all your files, but all i get in HA is 404:Not found what am i doing wrong? is I remove the theme section from my configuration it will startup but the I wil get an error in lovelace saying UNKNOWN ERROR

Check your logs errors, you should have something wrong. I had a similar issue yesterday and it was just coming from an incompatible theme.

okay fixed the error 404: not found, now it starts up but i get a blank page saying UNKNOWN ERROR and this in the log

Seems like an error from lovelace_gen.
Could you send the bottom part of the error log?

here you go :slight_smile:

Can you post your complete log or send it to me in PM?

2020-01-27 19:53:31 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-01-27 19:53:31 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for browser_mod which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-01-27 19:53:33 WARNING (SyncWorker_18) [homeassistant.components.python_script] Folder python_scripts not found in configuration folder
2020-01-27 19:53:34 ERROR (MainThread) [homeassistant.setup] Setup failed for customizer: Integration not found.
2020-01-27 19:53:34 ERROR (MainThread) [homeassistant.setup] Setup failed for python_script: Integration failed to initialize.
2020-01-27 19:53:34 ERROR (MainThread) [homeassistant.setup] Setup failed for lovelace_gen: Integration not found.
2020-01-27 19:53:53 WARNING (MainThread) [homeassistant.setup] Setup of hassio is taking over 10 seconds.
2020-01-27 19:53:53 ERROR (MainThread) [homeassistant.components.hassio.handler] Timeout on /supervisor/ping request
2020-01-27 19:53:53 WARNING (MainThread) [homeassistant.components.hassio] Not connected with Hass.io / system to busy!
2020-01-27 19:53:54 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry for hacs
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 215, in async_setup
hass, self
File “/config/custom_components/hacs/init.py”, line 65, in async_setup_entry
startup_result = await hacs_startup(Hacs)
File “/config/custom_components/hacs/init.py”, line 101, in hacs_startup
lovelace_info = await system_health_info(hacs.hass)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 235, in system_health_info
return await hass.data[DOMAIN].async_get_info()
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 131, in async_get_info
config = await self.async_load(False)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 145, in async_load
self._load_config, force
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 164, in _load_config
config = load_yaml(fname)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 62, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File “/usr/local/lib/python3.7/site-packages/yaml/init.py”, line 114, in load
return loader.get_single_data()
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 43, in get_single_data
return self.construct_document(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 47, in construct_document
data = self.construct_object(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 117, in _include_yaml
return _add_reference(load_yaml(fname), loader, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 62, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File “/usr/local/lib/python3.7/site-packages/yaml/init.py”, line 114, in load
return loader.get_single_data()
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 43, in get_single_data
return self.construct_document(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 47, in construct_document
data = self.construct_object(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 227, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 399, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 122, in construct_sequence
for child in node.value]
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 122, in
for child in node.value]
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 115, in _include_yaml
fname = os.path.join(os.path.dirname(loader.name), node.value)
File “/usr/local/lib/python3.7/posixpath.py”, line 94, in join
genericpath._check_arg_types(‘join’, a, *p)
File “/usr/local/lib/python3.7/genericpath.py”, line 153, in _check_arg_types
(funcname, s.class.name)) from None
TypeError: join() argument must be str or bytes, not ‘list’
2020-01-27 19:53:54 ERROR (MainThread) [homeassistant.components.device_tracker] Unable to load /config/known_devices.yaml: Secret devicetracker_mattias not defined
2020-01-27 19:54:11 WARNING (MainThread) [homeassistant.components.switch] Setup of switch platform unifi is taking over 10 seconds.
2020-01-27 19:54:11 WARNING (MainThread) [homeassistant.components.device_tracker] Setup of device_tracker platform unifi is taking over 10 seconds.
2020-01-27 20:03:14 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for apple_tv which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-01-27 20:03:14 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2928621584] Error handling message: Unknown error
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py”, line 20, in _handle_async_response
await func(hass, connection, msg)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 187, in send_with_error_handling
result = await func(hass, connection, msg)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 212, in websocket_lovelace_config
return await hass.data[DOMAIN].async_load(msg[“force”])
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 145, in async_load
self._load_config, force
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 164, in _load_config
config = load_yaml(fname)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 62, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File “/usr/local/lib/python3.7/site-packages/yaml/init.py”, line 114, in load
return loader.get_single_data()
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 43, in get_single_data
return self.construct_document(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 47, in construct_document
data = self.construct_object(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 117, in _include_yaml
return _add_reference(load_yaml(fname), loader, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 62, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File “/usr/local/lib/python3.7/site-packages/yaml/init.py”, line 114, in load
return loader.get_single_data()
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 43, in get_single_data
return self.construct_document(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 47, in construct_document
data = self.construct_object(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 227, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 399, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 122, in construct_sequence
for child in node.value]
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 122, in
for child in node.value]
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 115, in _include_yaml
fname = os.path.join(os.path.dirname(loader.name), node.value)
File “/usr/local/lib/python3.7/posixpath.py”, line 94, in join
genericpath._check_arg_types(‘join’, a, *p)
File “/usr/local/lib/python3.7/genericpath.py”, line 153, in _check_arg_types
(funcname, s.class.name)) from None
TypeError: join() argument must be str or bytes, not ‘list’
2020-01-27 20:24:27 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2924805200] Error handling message: Unknown error
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py”, line 20, in _handle_async_response
await func(hass, connection, msg)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 187, in send_with_error_handling
result = await func(hass, connection, msg)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 212, in websocket_lovelace_config
return await hass.data[DOMAIN].async_load(msg[“force”])
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 145, in async_load
self._load_config, force
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/lovelace/init.py”, line 164, in _load_config
config = load_yaml(fname)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 62, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File “/usr/local/lib/python3.7/site-packages/yaml/init.py”, line 114, in load
return loader.get_single_data()
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 43, in get_single_data
return self.construct_document(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 47, in construct_document
data = self.construct_object(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 117, in _include_yaml
return _add_reference(load_yaml(fname), loader, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 62, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File “/usr/local/lib/python3.7/site-packages/yaml/init.py”, line 114, in load
return loader.get_single_data()
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 43, in get_single_data
return self.construct_document(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 47, in construct_document
data = self.construct_object(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 196, in _ordered_dict
nodes = loader.construct_pairs(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 227, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 399, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 122, in construct_sequence
for child in node.value]
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 122, in
for child in node.value]
File “/usr/local/lib/python3.7/site-packages/yaml/constructor.py”, line 92, in construct_object
data = constructor(self, node)
File “/usr/src/homeassistant/homeassistant/util/yaml/loader.py”, line 115, in _include_yaml
fname = os.path.join(os.path.dirname(loader.name), node.value)
File “/usr/local/lib/python3.7/posixpath.py”, line 94, in join
genericpath._check_arg_types(‘join’, a, *p)
File “/usr/local/lib/python3.7/genericpath.py”, line 153, in _check_arg_types
(funcname, s.class.name)) from None
TypeError: join() argument must be str or bytes, not ‘list’

Seems like you are trying to merge some files within a directory am I right?

Something with an !include_merge_dir_named or something like that am I correct?

To me it seems like you are trying to merge a named dir as a list.

problem solved :slight_smile: thank you :slight_smile:

1 Like

HKI 1.0 Beta released

Changes and fixes

  • fixed issue on the frontpage where clicking on the lights would not take you to the lights view
  • documentation is now up to date for HKI 1.0 beta
  • fixed the 3 dots shown in the footer
  • removed secrets from the global_config which could stop lovelace from loading
  • fixed an issue where a popup would open on other devices as well
  • removed a lot of unused code
  • removed unused addons
  • fixed an issue which would cause the device to heat up very fast (NO MORE HEATING!!)
  • done a lot of speed improvements (the config should be a LOT faster)
  • improved battery life drastically
  • rewrote many areas of CSS
  • fixed remote input_select not showing the correct name
  • added more global_config options
  • added new layouts for the frontpage as addons
  • split global_config up in multiple files to make addons possible
  • added more options to the frontpage
  • pressing a notification now takes you to a list of notifications by default, advanced users can take advantage of the more advance options popup cards can do.
  • merged frontpage notifications inside of the notifications.yaml file
  • the footer now shows the logged in user
  • popups no longer need input_booleans
  • input_booleans above replaced with swipe-card
  • many minor fixes

I had actually intended to move over completely with my header to CH, however I need exceptions to recreate this which made it highly unstable for use with the way I intend to show it. It works for a short period of time where it would bug, hang and reconnect/disconnect after changing to another view. After testing this for almost a week I consider it not usable in its current state and I will keep my custom header in place.
The header would load up faster with CH, but the actual view would take much much longer and sometimes you had to press 2 to 10 times before it would actually go to the desired view. I reverted to the original way I had introduced it last week and with the new fixes this setup should run very smooth on your device (given the device is not ancient ofc).

Enjoy!

All info below is only meant for users of the Alpha version. If you haven’t installed this yet you don’t need this information!
Note for users from the Alpha version:

  • if you made changes to views, please make a backup!
  • copy all the contents from the lovelace folder to your own (best would be to just delete your old one to make sure no things are left behind)
  • copy the global_config folder to the root of your install, your old file will no longer work properly, please convert your setup to the new style. If you have already done some work on this you can simply copy it over to the new files (BE CAREFUL, some items might have moved on or two rows, remember to keep the exact order!)
  • copy the /themes/ folder and copy it over your old ones (This is IMPORTANT)
  • change the path to your global_config folder inside of configuration.yaml to lovelace_gen: !include_dir_merge_named global_config/
  • you will not need to redo your groups! only the global_config will need to be redone, all the group files have remained unchanged!

Extra Note for 2 or 4 person households:
You can now choose which frontpage you want to use, you can choose between the following layouts:

  1. default (which is the 2 large photo’s and the smaller photo in the middle)
  2. 2-persons (this is 2 large photo’s without the middle photo)
  3. 4-persons (4 large photo’s)
  4. 4-persons (2 large and 2 smaller photo’s)

Please copy the correct frontpage from the addons view (you can find how to do this in the documentation which has been updated for this). In case of 4 persons you should also copy the fourth person input_select and automation (which are now default for new users) and you will need to fill in the global_config/addon folder.

1 Like

@Burningstone @jolly the beta should be much better on older devices. Heating, battery and speed issues all came from a single color I had set up in my themes. This has been fixed, it should no longer heat up, it should run relatively smooth and last longer in terms of battery life.

1 Like

Hi jimz011.
Can you tell which guilty color caused the heating issue ? I saw you removed css like card-color-on. Was it the issue ? How do you manage the button on color without this ? Directly in your templates ?

Thanks

1 Like

Well, I actually started to rewrite my css, and in the middle of the process I found the problem by accident.

It was actually the card-color-off colors (each theme had this problem and each theme used a lineair gradient on them).

I removed the gradient for a solid color and problems are gone. But since I had rewritten all my templates to just use the default colors (defined in themes).

If you have updated and find the frontpage icons missing, they have moved to the global_config. You can define all the icons for the frontpage in there.

Ok so it was a problem with gradient colors in CSS. Good to know :slight_smile:
Thank you for your reply.

Actually I have made big changes on HKI. I just keep your good stuff from the beta :slight_smile:

The 2 main differences I made are :

  • in global_config, I do not use arrays but objects. That makes global_config updatable without breaking the setup. I think you may consider this option as it make upgrade more smooth. For example, instead of
frontpage:
  ## Weather
  - Eindhoven
  - weather.dark_sky
  - person.stephanie
  - /local/images/stephanie_small.png # Location File Person 1 Left Photo
  - !secret email_sensor_stephanie 
  - sensor.reistijd_stephanie 
  - sensor.reistijd_stephanie_work
  - sensor.battery_level 

I use something like this :

 person_1:
  entity_id: person.stephanie
  image: /local/images/stephanie.png
  mail_sensor: sensor.gmail_stephanie_sensor
  travel_time_home: sensor.travel_time_stephanie_home
  travel_time_work: sensor.travel_time_stephanie_work
  phone_battery_level: sensor.stephanie_phone_battery_level

That can be used in views like this :
entity: {{ _global.person_1.entity_id }}
This way you can’t break your setup if you remove one property, and I think view code is more readable.

  • The second big changes is a more versatile button termplate, that replace all the button variant. As a developper, I know that code duplication is evil :slight_smile:
    The caveat is that button template is pretty big and sometimes needs more parameters to be used by views.
    Moreover, I massively use badge (called notification in your button templates) to display counters (as you), but also power, temperature, remaining time, costs etc. In my button template, each have its own property and owns its display behavior (color, icon etc).
    If you are interested in taht, I can send you my template.

By the way, I love this HKI :slight_smile: Thank you !

3 Likes

Hm yeah that is indeed very nice. I will look into rebuilding the global_config.

Yes you could send me the template if you want. That would be nice.

I’m glad you like it, I hope you like the improvements over the alpha version as well.

my lights popup doesn’t seem to work well


solved