Here is a brief tutorial of how I got my HomeKit controlled lighting automated with Kaleidescape. My entire home runs on HomeKit and a few things in HomeBridge, and I was totally new to Home Assistant. I spent a few days hashing all this out, and I am posting this in the hope that it will help somebody else down the road. First of all, in my theater room, I have Leviton Decora Smart switches (Gen1, WiFi). A few hurdles to start with
1) Kaleidescape is not natively supported with HomeKit, i.e. you can't just add a Kaleidescape Strato into HomeKit.
2) There is no HomeBridge plugin for Kaleidescape, so I had to find another way
However, there is an excellent integration for Kaleidescape in Home Assistant. There is also a Home Assistant integration for Leviton Decora switches, but it relies on having your switches onboarded to the "My Leviton" app already. In my use case I use the My Leviton app in HomeKit only mode, so nothing is onboarded, and unfortunately, in newer versions of iOS, it seems impossible to successfully onboard gen1 hardware. Luckily, there is a HomeKit Bridge integration in Home Assistant I was able to leverage. Essentially what this means is that Home Assistant will talk to your Strato, and then via the HomeKit Bridge integration, it will talk to HomeKit, so you can create lighting automations in the native HomeKit Home app. Home Assistant is basically a bridge between the Kaleidescape and HomeKit.
Step 1: Deploy Home Assistant - Get a Home Assistant instance stood up. In my case, I deployed the OVA on VMware vCenter / ESXi. How you do this is up to you, and is out of the scope of this tutorial. I believe the "easy button" on this one is buy a Home Assistant Green, which is a small computer that has the Home Assistant software already installed and ready to go. Pretty much plug and play.
Step 2: Install necessary integrations. You want to install the Kaleidescape integration and the HomeKit Bridge integration. The Kaleidescape integration allows Home Assistant to talk to your Strato. The HomeKit Bridge integration allows you to essentially import anything from your Home Assistant setup into HomeKit, so you can then setup HomeKit automations to fire based on things in Home Assistant. If you have a Strato and a Terra server, when you setup the Kaleidescape integration, use the IP address of your Strato, as the integration speaks directly to that. If you have a Terra, and use the default of my-kaleidescape.local, it will fail because that will resolve to the Terra server, and the integration doesn't know what to do with that. Once you install the HomeKit Bridge integration, you need to add it to your HomeKit setup by scanning the QR code provided. The HomeKit Bridge should show up in your HomeKit setup as a bridge. You can also configure it to only expose what you want. In my case, I only allow the HomeKit Bridge integration to expose the helper switches, because that is really all I need.
Step 3: Configure Helpers - Configure helpers in Home Assistant. Helpers are essentially dummy switches that will be switched on / off by home assistant automations, depending on what is going on with your Strato (play, stop, credits, etc). These switches will be consumed by HomeKit, and will be the basis of your HomeKit automations later. Below, I configured 4 helpers of type "input boolean"
Step 4: Configure Automations - Now we setup the brains of all of this, the home assistant automations. Here is a summary of the automations I configured. "Kaleidescape Play" defines what we want to happen when the Strato starts playing content. "Kaleidescape Intermission" defines what we want to happen when the content location changes to "intermission". "Kaleidescape Credits" defines what we want to happen when the content location changes to "credits". "Kaleidescape Resume" defines what we want to happen if we move between pause and play, i.e. you are back from intermission. "Kaleidescape Stop" defines what we want to do when the movie ends / we press stop.
I put screen shots below of each individual automation configuration. Essentially, the automations will trigger the helper switches to go on and off. Since those helpers are visible in HomeKit, you will see the state of those switches change as they change in Home Assistant. Then, setup HomeKit scenes and automations that revolve around those switches going on. For example, in my setup, I have a HomeKit scene called "Theater Mode" that turns off all the lights in the the theater. I then created a HomeKit automation that says "When the Kaleidescape play switch goes ON, run the Theater Mode Scene". You define those on the HomeKit end
Happy movie watching!
Here are the detailed automations for each...
