Photos: https://imgur.com/a/3fQOhay - I can only embed one photo since I am a new member.
Thought I would share some progress updates on a remodel project I hope will one day be finished! This is going to be a long post, so TL;DR: first:
I’m using the Atios SmartCore to integrate DALI2 tunable lighting into Home Assistant, paired with ESP32-based controls using Forbes & Lomax buttons and 0–10V rotary dimmers. With ~80+ GPIOs across keypads and motion sensors, I built a commissioning tool to streamline setup. The SmartCore made DALI integration with Home Assistant easy, and the Atios team was very helpful when I had issues.
A little more organized but will cut a lot of the extra cable once everything is wired up.
Longer: (like really long; maybe a few of you nerds will read this )
This project started more as a spec/ investment project, then turned into my wife saying, “I think we should live here.” This meant my more straightforward plan of nice quality light fixtures and basic RA3 controls morphed into more advanced automation that I enjoy in my own home but would not necessarily do for a third party. My background is that I started in theatrical lighting design, which morphed more into digital imaging and workflow system design in the film industry. I also still do some lighting design and consulting work, but generally for commercial projects. I like to use myself as a guinea pig to learn and test new things that I can apply to my other work projects. Mainly, I am a lighting nerd at heart. Posting from a new account because I don’t want to dox myself with photos of my home. Moving into and remodeling my new place, I had a few priorities:
- I wanted to use Home Assistant for automation control.
- I wanted tunable lighting throughout the house but also wanted to elevate the fixtures beyond what Hue offers in terms of the ceiling aesthetics and quality of light output.
- I expected to use Lutron RA3 keypads for wall control of scenes and any conventional lighting loads but that changed (my wife had other plans; she wanted Forbes & Lomax push buttons, which are effectively just attractive wired contact closures).
- Integrate a lot of motion sensors throughout the house. I am using wired sensors by Faradite. These are also basically contact closures that close on motion and open when no motion is detected.
After exploring the tunable lighting options, I landed on DMF DALI2 tunable fixtures. These offer some great features (1,800 - 4,000k CCT, 0.1% dimming, different lens options with adjustable focusing) and a price point below their next closest competitors (Ketra, Rania, Lucifer, etc.).
Since I knew I was committing to DALI, I could also use various DALI2 drivers/ dimmers for things like LED tape and conventional lighting loads.
I considered using Lutron Lumaris tape for the LED tape, but the bedroom closet uses A LOT of tape, and it was frankly just too expensive. I also thought about using Hue light strips, which I have done in the past, soldering extensions where needed, but I didn’t really want to deal with it for this project, and figuring out the millwork logistics with the wiring was an additional consideration. I ended up going with tunable tape from Environmental Lights, which has good output and matches the DMF fixtures really well. I am using DALI LED controllers from a company called MiBoxer. I think it will be discontinued soon, but it seems to work well.
For conventional lighting loads such as wall sconces, etc., I am using DALI line-voltage dimmers with warm dimming bulbs from EmeryAllen.
To keep with the panelized control theme, I was able to use the relays built into the SmartCore to control on/ off loads such as bathroom exhaust fans, mirror defog, etc.
The challenge was integrating DALI with Home Assistant in a relatively easy way. Thankfully, I found a product called the Atios SmartCore that, in addition to many other features, acts as a DALI gateway and creates Apple HomeKit lighting entities for the various light fixtures and groups. I can then use the HomeKit integration in Home Assistant to control all of these entities. It works great and took about 5 minutes to get up and running. Below are some notes for more advanced functionality, but I was pleasantly surprised that something just worked. (I have no affiliation with Atios; I bought their product at full price, and I appreciate that people are making devices like this for a relatively niche use, so I do want to support them. They have spent A LOT of time with me both before I purchased and after, often helping me troubleshoot issues that have nothing to do with their product.)
Again, I had originally planned to use RA3 keypads and dimmers for our wall controls. Our house is older, and the designer (my wife) felt the switch work that Forbes & Lomax offered was a better fit in terms of design. Though it made my life exponentially harder and our budget to increase (explode), I agree with her; they do look better for our specific house. Her other priority was she really wanted a rotary-style knob that could dim the lights in a very analog way. I also agree with her on this and frankly consider it the holy grail - smooth, native-style dimming within a more complex automation environment such as Home Assistant. I had never been able to achieve this until figuring it out on this project.
The Forbes & Lomax controls consist of scene buttons that are just simply momentary push buttons. They offer both line voltage and 0-10v dimmers. This means I have to run low-voltage wiring to each switch location. I used either one or two sets of 6-conductor wire per switch location. For push-buttons, you can have five buttons + common on six conductors. I did pre-wire all the lighting to the boxes as well so you could revert everything to normal light switches without tearing all the walls open. The push buttons are obviously pretty easy to integrate. In fact, you can wire them directly into the Atios SmartCore and assign that input to a DALI address, which gives you push dimming, etc. It works great. That said, I needed many more inputs than the 12 on the SmartCore. ESP32s with MCP expansion boards offered a lot of GPIO for little money.
I also needed to figure out how to use the 0-10v dimmers as control inputs for my DALI lights. The 0-10v dimmers are only two wires; there is no wiper pin. So, to use them with the ADCs on the ESP32, I used a resistor between the GPIO pin and the ground. The software I made that runs on the ESP32 uses noise filtering to avoid flooding Home Assistant with commands. There is adjustable gamma to tune the dimming curve for optimal dimming response as well. The input is assigned to a Home Assistant light entity, and it works great. Very responsive dimming that feels analog.
With the large number of contact inputs between the keypads and motion sensors, I was concerned about how I would keep track of the various inputs and then how much work it would take to create each Home Assistant entity and update the code running on the ESP32s. I decided to build a commissioning tool that I am pretty happy with.
Basically, I start the installation with commissioning firmware running on the ESP32s. This firmware hosts a simple webpage that lists every input on the board and its current status. After wiring everything, all I have to do is walk to the various control points with my phone, push a keypad button, and watch which input changes. I can then name the input whatever I want (e.g., Bedroom Natural Scene, Bedroom Bright, etc) on that same page. When I am done, there is a commission button that, when pressed, will create all the YAML code for the entities and new ESP32 code that maps the input to the appropriate Home Assistant entity that was just created. This probably took longer than just trying to keep track of my inputs, but I figure if I ever do this again, it will be a very useful tool.
I was hoping to make a post when the project was completed, but I realized that won’t be for a long time haha, so I thought I would share my progress. This post is already too long, but hopefully, I can share the finished project that also goes through the networking, motorized drapes, and distributed AV stuff.
A few quirks to be aware of:
- I like to use longer transitions/ fades for circadian lighting automations. If you are used to Lutron dimmers, Hue bulbs, etc., you can do this easily with Home Assistant by setting the transition time. DALI supports long fade times, but the transition time attribute in Home Assistant will not translate. The only way I was able to achieve this was by sending a WebSocket command to the SmartCore with the DALI-specific sequence of commands to change the fade time. I do this in Home Assistant with a Python script and Pyscript add-on. I am sure there is a better way to do this; if anyone has other suggestions, I am all ears. Maybe Atios will add the ability to send advanced DALI commands in the future. They could maybe emulate a virtual accessory that, when turned “on” triggers the command you pre-define?
- There is no way to set the color temperature range of your fixture for the HomeKit light entities that the SmartCore creates via the GUI. There is a pretty easy fix: you just download the JSON config file, change the values, and re-upload it into the SmartCore.
- There are some products by Lunatone that use eDALI and some proprietary commands that are not currently supported by the SmartCore. They may be adding support, which would be great as there are a number of useful DALI accessories they make that are not currently supported.
- DALI bus power supplies and different voltage thresholds for DALI communication can differ between manufacturers. Due to the number of devices on my DALI loop, I need to use an external power supply. I had weird issues with the DMF fixtures dropping from my network when I added one. This was difficult to troubleshoot, and the Atios guys spent a lot of time trying to help me troubleshoot. Ultimately, DMF suggested adding a resistor to the output of the external power supply, which solved the issue, thankfully. Both companies were very helpful in getting it working.
- I am based in the US, and though DALI is somewhat common, especially in commercial projects, it is far less common here than in other countries. Thus, sourcing materials can have longer lead times. KNX supply has been pretty fast, and I have also had good luck with eBay.
This is a long post. It is worth noting that this project is not done; we are in the middle of it, so the wiring may change some, but it will get a bit neater. It will never be that clean because the plan sort of evolved as I was putting the components together. If I were to start over, I don’t think I would change all that much, but I haven’t lived with the system yet. I definitely would have used something like Industrial Shields industrial PLC-style ESP32s instead of my mess of DIN rail terminal blocks that take up a lot more space.
You could also have gone fully Lutron HomeWorks for a nice panelized lighting system, and they also support DALI. For me, it is just too expensive, and I knew I would be using Home Assistant for automation/ conditional logic. If the budget allows, HomeWorks + Ketra would be extremely good, but I would also be extremely broke! The DMF fixtures are very nice; I love being able to dim to .1% for things like a nightlight, etc.