Homekit Infused 5 (HKI) v2023.1.3

That is indeed what is supposed to happen, though you can define in the notifications if you want the icon to spin or not.

cool. getting to grips with this.
one final question for now: how do we get the logged in user in the goodday message. looking in the browsermod attributes but couldnā€™t see it. any thoughts? maybe using the new feature in Custom Header?

Well, the header I use is just an entities card (which you probably have figured out already)

So CH isnā€™t used in there. However you could put the logged in user at the bottom in the footer, as that is the actual ā€œrealā€ header (or create a state-switch in the place of the ā€œfakeā€ header and make it use the logged-in user as its state)

Edit: sorry if I canā€™t answer straight away, it is because I am at work.

Edit2: btw yes I told you that Iā€™d use browser mod for it, but after extensive testing it didnā€™t make the cut. Why? Well, it requires people to set up deviceIDā€™s which change after a cache clear or device/browser switch which made it unreliable to use permanently. However with the newly released (2 hours ago) CH I might be able to create something that does do that.

Also you asked how it is supposed to look, well I will add videos tonight (it takes time to create decent videos srry).
But this is my current header:

Notifications are supposed to scroll automatically (and they can also be swiped on). Because they are essentially button-cards you could add actions to them if you desire. (So pressing a notification could either trigger a scene/automation/switch or even a popup card).

Just as a note to everyone installing this.

Do NOT comment anything out from the global_config.yaml file and DONā€™T remove any of those lines. Put in a fake entity or leave it the way it is. Commenting out entries will break the setup!!

If you want to remove elements on a view, do it on the view itself and not in global config!

Edit: thanks everyone for testing this. I have a list of issues that I will address in the next update (I will roll the fixes within a few hours)

1 Like

What are the 3 dots in the bottom left supposed to do? They arenā€™t working for me and I also couldnā€™t find where that was setup to investigate.
Thanks for all your hard workā€¦ I was getting discouraged at first trying to transfer some things from my old setup, but now that I am over that initial ā€œhow does this work nowā€ Iā€™m making progress and I can already see this has reduced an amazing amount of code, even when duplicating things from my previous setup. Great work!

The three dots should not be seen if you have copied my files. They are actually the original 3 dots found on the top in the header. But as I use the header as a footer it has moved to the bottom. To remove the 3 dots you will need to hide it with Custom Header (see my CH file for an example).

Well actually, after speaking with some people that have already tried my config. It is relatively easy to set it up. And almost all views will work immediately after filling in the 2 provided files. No need to separately configure popup cards, views, buttons etc. It will all be done automatically.

However the current version has some issues which I will address very soon (read within a few hours). They are minor issues but might make installing this a bit harder.

Edit: sorry this is an error on my part, I forgot to hide the three dots (I replaced it with a welcome message on my personal setup). I will address this issue as well.

Ok so Iā€™ve been playing with this all day and thereā€™s a lot to love, but overall it seems to be causing me some issues.

My automations are taking longer to run (eg it takes a few seconds for lights to come on after motion is detected, lights in the lounge take a few extra seconds to dim when I start watching something on Plex, automation which sends a me snapshot when the door opens misses the mark) and also the interface makes my iPhone run hot and burn through the battery.

Iā€™m running hass.io on a rPi 3B, which has been fine with a very basic Lovelace interface for more than six months, these problems have only started since I set up HKI today. Iā€™m surprised a GUI has had such an effect on automations that are running even when the GUI isnā€™t being displayed. I think Iā€™m gonna have to roll back to my earlier version.

Is there anything you can suggest, or is it just down to my underpowered hardware?

Ah yes, well. There are 2 problems with this setup (which I am aware of btw). The interface is pretty heavy! It has to do a lot of work to render the interface and is more apparent on older devices than on new ones (e.g. my wifes iphone xs has no issues running this, my own iphone x will run hot after leaving it open for too long).

It is something I might need to take a look at and/or cut back on the custom cards (which all are rendered in the frontend and thus needing more power from the device it runs on, but honestly I couldnā€™t tell if it was a single card that causes this or the entirety of all cards together. I might do some testing in the upcoming weeks). Though I know about this problem and I wish I knew where to start.

The other problem you face with automations is something I canā€™t reproduce as I use pretty powerful hardware to run HA (well not really, but way too powerful just for HA). The major problem of this is as follows: HKI does a lot of work through the backend (to firstly reduce the load on the frontend, and secondly it is used to render the icons, names and all that stuff automatically). The only way I could fix this is to create it entirely on the frontend. I could do this, but that would make configuring the setup a lot harder for people to use as they will need to define their stuff manually whereas now I can use groups, automations and template sensors.

Templating comes at a high cost in terms of power usage and processing power (at least I think). The faster your devices are, the less trouble youā€™ll have. Also note that running something like Plex will have a major hit on your rpi as well as that is pretty processor heavy (I also use plex and even my processor isnā€™t powerful enough for what I want it to do).

Remember, I am not a programmer, so I could be terribly wrong!!!

Conclusion: I only have a solution for the being slow part. And that would be to get more adequate hardware (something I will advise everyone wanting to get serious with HA). The other issue thoughā€¦ I do not know (yet) but if I do I will surely resolve that.

Though: it will work absolutely fine if you donā€™t run it for long sessions (if you want to go and test/edit views etc. I can advise you to use either Chrome or Firefox and use the mobile dev tools ctrl+shift+M for firefox or F12>ctrl+shift+M on chrome)

I will go after this and try to find what exactly is causing this, but my guess is: templates (Which Thomas Loven always warns people for not to template too much as it comes at a cost). Obviously I could hardcode all the stuff like I did before, however that takes away the purpose of having an easy to setup and easy to use setup. In my personal case this is not a major issue as I never use the app longer than needed, but it is something I will need to look at.

Yeah I figured the rPi was going to be the issue. I only use it for HA (Plex server is on a more powerful machine for transcoding etc) and I donā€™t really want to get new hardware just for this since it worked fine until today, so I think what Iā€™ll do it roll back to my snapshot from this morning and try to integrate the bits I like from your amazing project without using templates.

Great work on this, it really is a work of art! Very pretty to look at, very clever code and great work on the documentation so far. Thank you!

Well thank you, as a bartender it might not be the best code youā€™ll find here. But I am trying my best. You might want to take a look at my older versions (pre 1.0) which can also be found on my repo and is mostly done through the frontend.

Sidenote though: I had the heating issue with those versions as well (but then again my phone has always been quite defective!)

Hi everybody.
Working on the migration to HKI V1 (lots of work to do as my entities are not called as yours jimz011, so I have to update a lot of views, templates etc).

I have a question about imap. Is someone succeeded in set it with a gmail account ? I always have this message in log and of course, no entity created
Platform imap not ready yet. Retrying in 180 seconds.

Any idea ?

Well, if you want the setup to be like mine you donā€™t have to edit any of the preprogrammed views (only the 2 files mentioned in the docs) however ofc if you want to customize it you can and you have all the freedom there.

I will push out some fixes in an hour or so. Updating should be relatively simple with my provided instructions.

Regarding the imap sensor, do you use mine or the official one? If you downloaded my modified version from my repo it might not work with gmail as I have modified it to work with outlook/hotmail (which the core version does not do). However if the core one doesnā€™t work for you it wouldnā€™t hurt trying the modified one on my repo (I donā€™t use gmail, so I havenā€™t tested that)

I will keep my entity names as I have too many, so I have to update your views and templates. For example legacy_popup_cards contains your person entities, so have to update it.

Iā€™m using the core version (I tried yours with the same result). It could possibly comes from my 2 steps validation on my gmail account but Iā€™m not sure and I havenā€™t find any ressources on google.

Thanks for your job by the way ! Thereā€™s a lot of good stuff in your setup :slight_smile:

Ah yes, legacy popup_cards is one thing that wasnā€™t easy to do. I wish I could automate it like the views. Btw, you donā€™t need to put in entities like lights, switches, thermostat, sensors and binary_sensors. This is all handled by the template itself. The popup card for lights and devices and such is preprogrammed and the right entity will always be chosen. Though it also means that youā€™ll be stuck with the popup card I created.

Though obviously you can change whatever you want. I just wanted to mention that if installed and you fill in the 2 files provided (groups first, global_config last) then the following views will work out of the box without any editing of views and/or popup cards. The things that will work automatically are the following

  views:
    climate
    lights
    devices
    security
    alarm panel
    frontpage
    weather
    battery
    location
    menu
    about
    test
    vacuum (depending if you did install the extra automations/code from the optional folder)
    waze traffic
    laundry room
    themes
    cleaning

If all is right, these views should all work with just filling in those 2 files I mentioned above.

Also, the following popup cards should work when you filled in that file:

    light and switch popups (rgb/color_temp/switch)
    thermostat popups
    all popups within the weather and vacuum views
    all sensors and binary sensors popups
    all frontpage popups

Essentially what this means is by filling just those 2 files (nothing else and no editing of other files) you will get all of these elements working. The legacy popup cards are meant for cards that canā€™t do a service_call and only have a more-info window when pressed upon. In all other cases I have replaced popup cards with browser-mod which simply does a service-call (and thus use the same template for each button, sensor, thermostat etc etc.)

Ofc this is not a requirement and you can edit the setup just as much as you want as I wanted it to be a thing of 2 worlds (easy to setup/use for people that donā€™t want to edit a ton of views, but modular enough to have it customized).

Okay thatā€™s good to read :slight_smile: I will probably have less work than I thought :slight_smile:

For Imap with Gmail I made it work. It was because I have two step validation on my account. In that case you have to generate an ā€œapplication passwordā€. Itā€™s a different password that gives access to your account. Itā€™s possible to do that in the Security panel on your google account page. Than in your secrets.yaml you can just paste this password instead of your google account password :slight_smile:

Itā€™s time going to bed now :slight_smile:

Thanks Jimz011 !

@jimz011 i have finally after almost 24 hours and numerous shouting matches at the screen got things up and running, as stated though there is a couple of weird things coming up that i will probably seek your assistance on, biggest bug bear is the lights button doesnā€™t open (May be because my lights are actually switches?!?) and the customizer integration keeps crashing my HA.

I do however have a bit of feedback from my experience that may be useful to others;

  • The customize.yaml file has Font Awesome icons in it, maybe for your github would be best sticking to the MDI icons as its a whole other number of steps to add in the Font Awesome

  • I kept losing my front end view when i first made the changes, turns out in the configuration.yaml you cant have default_config: and default: has to be one or the otherā€¦ who would know lol

  • If anyone is using a NEST thermostat warn them against doing a fresh install as currently they cannot be added as an integration into HA. If you already have it all good, but if its removed for whatever reason you wont be able to add it back in until Google resolves the problem.

  • When people are ā€˜Not Homeā€™ it no longer greys out the picture on the landing page, it was a nice feature though i suppose personal taste. (sure i could copy the old code)

  • You used to have a notifications.yaml file in the lovelace folder, has this been replaced with /templates/frontpage_header.yaml ? Wasnā€™t clear on that

  • There seems to be an issue with the Themes, during a Check config i get the errors shown below, remove the theme files and the configuration comes back valid

Invalid config for [frontend]: expected a dictionary for dictionary value @ data['frontend']['themes']['accent-color']. Got 'var(--md-teal-A400)'
expected a dictionary for dictionary value @ data['frontend']['themes']['area-color-off']. Got 'white'
expected a dictionary for dictionary value @ data['frontend']['themes']['area-color-on']. Got 'Gray'
expected a dictionary for dictionary value @ data['frontend']['themes']['background-image']. Got 'center / cover no-repeat url("/local/images/wallpapers/valentine-test1.jpg") fixed'
expected a dictionary for dictionary value @ data['frontend']['themes']['border-radius']. Got '12px'
expected a dictionary for dictionary value @ data['frontend']['themes']['box-shadow']. Got '2px 2px 2px 0px rgba(0,0,0,0.75)'
expected a dictionary for dictionary value @ data['frontend']['themes']['button-card-light-color']. Got 'var(--primary-color)'
expected a dictionary for dictionary value @ data['frontend']['themes']['button-card-light-color-no-temperature']. Got 'var(--primary-color)'
expected a dictionary for dictionary value @ data['frontend']['themes']['card-background-color']. Got 'rgba(100, 100, 100, 1.0)'
expected a dictionary for dictionary value @ data['frontend']['themes']['card-color-off']. Got 'linear-gradient(to bottom right, #e0e0e0, #910039)'
expected a dictionary for dictionary value @ data['frontend']['themes']['card-color-on']. Got 'rgba(255, 255, 255, 1.0)'

All in all though, awesome work, awesome product ā€¦ for an Alpha its pretty good.

If you donā€™t mind i am happy to feedback any issues i face as i progress ?

Hi @andrew.vint, thank you for your feedback (it is always appreciated). I will try to answer all the questions to satisfaction.

  1. the customize.yaml file is actually an example file and should not be copied. It is meant as an example so that people know how they can create their own version. The examples will be removed from the master branch so that people will no longer face that problem. I can put in an mdi variant in there if desired. But seeing people donā€™t have my specific entities, they would need to do it themselves anyways.

  2. default_config: and default: are not allowed together no. This is actually not something caused by my setup, but just the way HA handles it since a bunch of versions ago. I ask people to use default_config because a lot of times people donā€™t keep up with the HA updates (which I totally understand) and fall behind in stuff that has become the default for months and thus might miss some basic domains like person or mobile_app just because they have an old config. Default config basically replaces all of the following config within configuration.yaml (https://www.home-assistant.io/integrations/default_config/). These domains are now all loaded by just having this single line (it is no longer needed to define them separately in configuration.yaml).
    For that reason my documentation also recommends you to do this on a clean install (because that will eliminate these kind of human error as they will have all the latest and greatest stuff). E.g. If you set your location in the UI instead of in configuration.yaml you can change the home location without ever restarting HA. (might not sound useful, but it is if you have an RV) it also protects you from privacy issues with sharing your configuration.yaml with others (yes you could do it with secrets, but this way is simply better imho)

  3. NEST indeed has the problem that you canā€™t re-add them if you delete them (though they can be restored from a snapshot). I can mention this in the docs and will add that. I do wonder how many people do not know this actually?

  4. When people are not home triggering a gray picture was actually never the way it should work XD. For me it never was grayed out when not home (yes it was intentional, like you said itā€™s about taste). If you did happen to get it to become gray you might have had it configured wrongly (which happened to pan out nicely for you :stuck_out_tongue:)

  5. The notifications are moved to the /lovelace/notifications/notifications.yaml location.

  6. I answered you on the themes privately already.

@Scoobydoofus I have searched 2 nights for the overheating problem.

I think I have found it, it is related to css in my themes. Disabling the themes stops overheating it. I will address this issue (but it might require me to redo and overthink how to theme it again)

2 Likes

Hi Jim,

I finished all preparations beside one thing that i had issue with.

i get error about the customizer:
screenshot 1


when i check the config i get the error:

which part did i missed?

Thank you,

You would need the following custom-component (I should probably add this link in the documentation, my bad)