Official Support for HTD is coming!

I haven’t seen the volume getting stuck issue, but I have noticed (heard) that I can decrease the volume beyond 1%, resulting in it being set to 100%.

I’m glad to see official support and am looking forward to the upcoming features.

I’m curious to see how others configure their dashboards for their various sources and zones. Currently, I have a couple of Raspberry Pi with DAC hats running headless plexamp and a WiiM Pro. The Pi are controlled via the plexamp app on our phones and the WiiM Pro through Music Assistant. The zone’s source is set via Home Assistant. The setup works, but feels clunky and I’d like to streamline it a bit more.

Sure, sorry about the delay ( working on grants for poor rural areas has gotten insanely difficult the last couple of weeks )

also known as the HTDNET LYNC server.

it’s a IP ↔ Serial gateway device.

But I think I am just going give your code a shot and see what happens.

Hi All -

I have released 2.0.0-rc.1. This integration definitely seems to be stable and I’m really happy with the results! I’ve fixed the volume issues on the Lync and I’ve also made it possible such that if you click on the + or - increments, it will properly add or remove 1 from HTD’s volume (out of 60).

@cazwax - I think this integration should work for your device but I’d like for you to tell me for sure. Can I ask you to please try configuring a manual connection to the IP of your device and use port 10001?

Thanks all for your support!

2 Likes

Thank you so much for doing this. I was using a USB-Serial cable from my server to control my MCA66 previously. Using code written by ChatGPT… it technically worked, but this will work much much better!

Just filed an issue on the git repo. your mute property is simply toggling mute from it’s current state despite what the desired state is. You chould check the current state against the desired state before calling async_toggle_mute()

It’s currently creating issues where if mute is specified, in the desired state it will toggle from it’s current state no matter what.

Example:

zone is muted: False

set state Muted: False

mute will become true

Updated my local code to the following to prove it fixes the issue.

    async def async_mute_volume(self, mute):
        if mute != self.zone_info.mute:
            await self.client.async_toggle_mute(self.zone)

Do you want to apply fix yourself or want a PR?

1 Like

I got a notification this morning that Integrations found a new device on my network (“We have discovered new devices on your network”). It is the same Lync 6 that I integrated several days ago at the same IP address. Integrations wants to install the same version of the integration (v2.0.0-rc.1). I could just ignore the message, but if I do I hope that I will not be getting reminders repeatedly. Why would the integration fail to recognize that it is already installed? Should I uninstall and then reinstall?

Even stranger: If I activate a zone on my desktop, the icon does not change, but the zone does activate. If I click the icon again, the zone does not go off. However, activating the zone on my desktop does cause the icon to change color when I view HA on my phone, and there I can then turn off the zone. If I activate a zone on my phone, the icon on my desktop still does not respond.

I do not see an error message related to HTD in my home-assistant.log (unless firebase_messaging has something to do with HTD). I will try restarting my system. No change, although I no longer have a notification that Integrations found a new device.

Back to normal. I did nothing other than a Home Assistant Core update 2 hours ago (to 2025.3.1).

I don’t know that this will work for your selected tools, but perhaps it produces some ideas.

I have chosen to keep the manual controls very light and simple and produce automations to handle at least initial kick off to reduce friction and make it easier for the family to use.

I use Bubble Card quite a bit and have this audio icon in the dashboard of each room, which in this case, you can think of as a zone:
image
That button opens this window:


If the zone was on, you would see HTD controls where is says “Computer Room”. The items below trigger full automations. In these two cases, one turns on my current Spotify playlist and the other, my sons. More specifically, it turns on the zone, sets the initial volume, set the zone to a chromecast audio device, then casts the users current Spotify playlist to that chromecast audio device.

So with one button press it turns everything on and starts playing the desired music in the zone. Once that users music is playing in that room, a Spotify control shows up as well, in that same screen. So you can control everything from there without ever leaving HomeAssistant.

In other rooms, I have created automations where you can choose a specific playlist rather than just the current playlist, and more users as well.

Anyway, probably not exactly what you were looking for, but maybe it provides some ideas.

3 Likes

Hey All -

I’m sorry, I’ve been a little MIA focusing on version 2.1 to fully support what this integration did in the past, ordering and naming of sources. Hopefully I can release a preview of this in the coming weeks.

@kingfetty is correct about mute, I am just blindly toggling mute without doing any sort of check. This is actually legacy behavior from the prior MCA only integration. I’ll fix this up and release another 2.0 RC with that fix. I’ll try and shoot for that today.

Thanks everyone!

2 Likes

Also, sources are just being imported as generic source XX and not the real names. I had written a plugin for HomeSeer to control HTD a while back. I can dig up that code if you want the algorithm to get the zone and source names.

1 Like

Hi; it’s not responding on that port.
I do get the WGWSLI_GW interface from port 80