Home Control Assistant Newsletter for March 28 2021

Have you looked over the version 17 release notes? Lots of changes that you can incorporate into your designs right away. Easy upgrade.

Looking for answers to the most common questions about HCA? Check out our
Frequently Asked Questions page.
Ant vs Elephant, round 2
As I wrote last week, I have looked a bit at the “Elephant” automation systems of RTI, URC, and Control4 which have excellent A/V integration. I wanted to see what I could do with HCA – the “ant” - and Sonos. First some background.

Sidebar: I’m sure that many of you are seriously into music and all the things one can do with acquiring and listening. Music never really was much in my life, but I like an audio background while I work sometimes. I will carefully avoid mentioning what I like so no one can make fun of me.

I’ve had a small amount of Sonos gear in my home for quite a while. I find it works well. I just have two areas that each have their own speaker. For a long time I just used Pandora but as my internet speed has gotten worse and worse (Starlink please come save me!) I finally took some action and added a networked drive and loaded many hours of audio on it. I got out some of my old CDs and stored them there plus a short spate of binge buying on Amazon Music to get some downloads. At least that stops the endless “Connection to Pandora lost” messages. Next, I wanted to build some sort of interface for my new HCA control panel that would let me select the speaker and start a playlist. 

The online library has a Sonos package and there is a technical note on its use. I’ve updated it with many new changes. The main addition was to add a music display that is “auto configuring”. It contains a tile for each speaker – up to 4 – and each playlist – up to 8. A tap on a speaker selects it and a tap on a playlist tile starts it. This technique I used for this display is what I want to talk about.

I could have created a tiled display with only the tiles needed for my speakers and playlists and connected each tile to a program that would select a speaker or start a playlist. But what fun would that be? Also, it wouldn’t at all be useful to anyone else. Since a program can enumerate all the speakers and playlists, from what Sonos reported I assigned the speaker name to speaker tiles, and assigned the playlist name as the tile label on playlist tiles. Because of this auto configuring, when I create a new playlist or buy a new speaker I don’t need to change any HCA programs. But what about the unused tiles? Here is where the cleverness resides. All I needed to do for the unused speaker tiles – which are text tiles –is to set their tile and text colors to the page background color and  set the text to “”. For the playlist tiles – image tiles – I set the tile color to the page background color, the tile label to “”, and assign to the tile an image file which is just a solid rectangle of the page background color. Hey Presto! and the tile disappears.

The one tiny thing to remember is that HCA thinks that the tile is still there so it reacts to a tap. Any programs that are connected to the tiles must account for this and do nothing in this case.

Now about those programs. When you create a program one of the V17 changes is that HCA builds a bit more into the program when it is created. HCA knows what parameters are provided for some events and adds the necessary parameters they receive. For a tile tap program it receives the tile name, tile label, and an indication if the tap was short or long. Because this is an “auto configuring system” this information presented a problem.

The tile names must be something generic – playlist1, playlist2, musicOutput1, musicOutput2 etc - so that programs could configure the tiles from what Sonos provided. In the case of the playlist tiles, the label could hold the playlist name, but the speaker tiles have no labels. This means that once the tile tap program starts it may not have sufficient information from the parameters alone to know what to do.  Because of this I created programs to determine the speaker’s name from the name of a speaker tile, and the reverse – to determine the tile name from a speaker name. Similar for playlists. I did this by adding tags to those programs during the initialize process where I get info on speakers and playlists from Sonos.

Wrapping up now, the question remains: did I produce something of the quality of Control4 and the others? Well, no of course not. For one thing these programs control Sonos but don’t receive events from Sonos so you can’t see what song is playing. Also the other nice features like skips and favorites are not available – they could be added although I elected not to at this time. But I’m OK with all that! What I wanted was to be able to select a speaker and load a playlist and that works great so I’m happy. It even looks nice as I did some screen grabs from the Sonos app and have nice looking playlist image tiles. This is also auto configuring All I need do is to place an image file with the same name as the playlist in my design images folder and it is used.

Remember that HCA was never designed to be able to integrate Sonos for control and to have a UI for music. All that was added using HCA programs. Most importantly, if you want to take what I have done and improve it or adapt it to your uses, it’s all available. Just download from the library and use as is or make it your own.

Library Updates
Several package updates were made to the library a few days ago including the updated Sonos package as described above. There were also updates to the Auto Annotate, Venstar, Ecobee, Weather Underground, and Hubitat packages.

The Venstar and Hubitat packages were updated by users and thanks to them! I’m particularly pleased that the Hubitat package now includes support for Hubitat managed thermostats.

A few important notes! A while back there was an unfortunate bug. The goal of the library was that HCA would detect if a program previously imported from the library was modified or not. That made it possible to update programs when you import a new version and warn before that update if they were modified locally. Unfortunately, this didn’t work. All fixed now but the problem remains in the data saved in your design file. When updating a package several possible things may happen. It may not update your existing programs but duplicate all the programs in the package. Or it could say that a program was modified when it wasn’t.

The bottom line here: Always treat updating your design from the library as something you should proceeded with using care. That means: Make a backup of your design file before you start.

Because of its complexity, the new Hubitat package is marked as beta and you will not see it in the library listing unless you add the extra feature code “LIBBETA”. This will not be necessary after the next HCA release when it will list the “official” and “beta” packages and let you choose between them.


When was the last time you made a backup of your HCA design? Not a month goes by without at least one tale of woe from a HCA user. Please use the "Design Backup Assistant" on the Tools ribbon category. The work you save will be your own.

Want to take the next step in automation? Want to get started with Amazon Alexa and Google Assistant and control HCA by voice commands? Even if you are a long-time user of HCA, the Getting Started guides have all the info you need on client-server, mobile applications, DDNS, and voice assistants.

All of the
Getting Started Guides are available on the support website.
Copyright © 2021 Advanced Quonset Technology, Inc, All rights reserved.

Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.

Email Marketing Powered by Mailchimp