Htd gw-sl1 / mc-66

First of all, thanks to EVERYONE who helped build this integration. This is AWESOME!

I have the integration installed and working great with the custom lovelace card @hikirsch suggested. The only issue I am having is the volume slider does not appear to send a signal to the MC-66 when you set the volume to exactly 100. If I set it to any other percentage, the unit responds immediately and sets the volume to the correct level (on the 0-60 scale). For some reason, only when setting the volume to max (100%), the MC-66 does not appear to receive the command.

Any suggestions?

EDIT: Just realized that if I use the MC app to set the level to max (60), the HA entities show 0 volume. Definitely something weird going on.

Thanks,
Ryan

If you try and set the volume to 100 things go wonky. Same thing if you go into the HTD app and try to set the volume to 60 and go back to HA it messes up.

Have you got the bsic functions working? i tried using your fork but its not powering on any zones

Yup, it’s all working on my Lync 12 system. Are there errors in the logs? Did you fix whatever that Dict issue was? I can’t remember it, but I think I made a note in the thread and tried to change it on Github, but I’ve never done that so I don’t know if what you downloaded had my change or not.

looks like its working now. i will test when i get home. is there a way to hide sources?

I wish there was a way to hide the sources.

what happens if you set them to “none” like inn the htd app

I figured out a solution for now.

image

Using Mini Media Player Card to hide the sources and put buttons that will trigger a source so that you can set which ones are visible.

type: custom:mini-media-player
entity: media_player.zone_1
hide:
  source: true
shortcuts:
  columns: 4
  buttons:
    - icon: mdi:bluetooth
      type: source
      id: Bluetooth
    - name: Sonos
      type: source
      id: Sonos
icon: mdi:bed-double-outline

Have to test if it works later. but it looks like it does right now.

Let me know if this works for you.

I got it to look like that, but not to switch sources. Do you have a script or something that these buttons are triggers?

My current approach is just to do on/off buttons.

Then when you long press on a button, this screen comes up:

Then the list of sources is there, and it’s not pretty.

Mini Media Player is how i got it done.

use this code.

type: custom:mini-media-player
entity: media_player.zone_1
hide:
  source: true
  play_pause: true
shortcuts:
  columns: 4
  buttons:
    - icon: mdi:bluetooth
      type: source
      id: Bluetooth
    - name: Sonos
      type: source
      id: Sonos
icon: mdi:bed-double-outline
  • Where entity is the zone entity.
  • Hide sets which features you want to hide. so I hide play pause because that doesn’t work and i hide the default sources
  • Shortcuts let you add buttons. and one of the button types allow you to select the source attribute of a media player entity.
  • Id is the exact spelling and capitalization as your source name. this will make the zone switch to that source when pressed.

Thank for your help regarding this thread. I’m brand new to hass. I added all files to the custom_components/htd_lync12 folder and inserted the yaml code in the configuration folder via [https://github.com/UngluedChalice/htd-lync12-home-assistant.] When I go to restart HASS I’m getting the following error message.

"Failed to restart Home Assistant

The system cannot restart because the configuration is not valid: Integration error: htd_lync12 - Integration ‘htd_lync12’ not found"

Does anyone know what I’m doing wrong? I’m using the visual studio code server to make changes.

Hi @UngluedChalice many thanks for the integration.

I have a question as to how you are connecting to the Lync12. Are you connecting a CAT6 to one of the Keypad Ports, or are you using the HTD?NET-Lync Server device?

If you connect to the Keypad Port, does this show up when you query your router, or use fing?

Thanks in advance.

I don’t have any keypads actually. I have the HTD GW-SL1, which I guess they no longer make and only offer a wireless version now?

There are 2 updates you need to make:

  1. Update the manifest.json file to add the Version:
{
    "domain": "htd_lync12",
    "name": "HTD Lync12 Series",
    "dependencies": [],
    "requirements": [],
    "version": "1.0.0"
}
  1. init.py (commenting out the Dict in line 8), just insert a # before the “, Dict” on line 8.

Thanks! I’ve never used Github like this before (I’ve only just copied from others) so I thought I made those changes, but hadn’t. Can you confirm they are updated now when you look at them and I didn’t just change them on my end?

The changes are there, thank you!.

On Line 8 of init.py you need to add the # before the comma,

“homeassistant.helpers.typing import ConfigType#, Dict”

I am using the same device. I get the connection refused error when trying to connect. Any advice?

2022-12-28 15:50:41.367 ERROR (MainThread) [homeassistant.components.media_player] Error while setting up htd_lync12 platform for media_player
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/htd_lync12/media_player.py", line 47, in setup_platform
entities.append(HtdDevice(k, client, sources, i + 1, zones[i]))
File "/config/custom_components/htd_lync12/media_player.py", line 59, in __init__
self.update()
File "/config/custom_components/htd_lync12/media_player.py", line 74, in update
self.zone_info = self.client.query_zone(self.zone)
File "/config/custom_components/htd_lync12/htd_lync12.py", line 172, in query_zone
return self.send_command(cmd, zone)
File "/config/custom_components/htd_lync12/htd_lync12.py", line 205, in send_command
mySocket.connect((self.ip_address, self.port))
ConnectionRefusedError: [Errno 111] Connection refused

Right now I can’t check if things are working or not as I’m in the middle of a re-wire of my network closet. But, I just rebooted and checked the logs and I have the same thing:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/htd_lync12/media_player.py", line 47, in setup_platform
    entities.append(HtdDevice(k, client, sources, i + 1, zones[i]))
  File "/config/custom_components/htd_lync12/media_player.py", line 59, in __init__
    self.update()
  File "/config/custom_components/htd_lync12/media_player.py", line 74, in update
    self.zone_info = self.client.query_zone(self.zone)
  File "/config/custom_components/htd_lync12/htd_lync12.py", line 172, in query_zone
    return self.send_command(cmd, zone)
  File "/config/custom_components/htd_lync12/htd_lync12.py", line 205, in send_command
    mySocket.connect((self.ip_address, self.port))
OSError: [Errno 113] Host is unreachable

I re-wired stuff so I needed to change the zones and I could NOT get Home Assistant to update the zones. So I would try to turn on the Living Room speakers and the Office Speakers would turn on.

Here’s what finally worked. Really just putting it here for someone who needs to change the wiring on the HTD unit so they can update HA more easily than me.

  1. Remove the Lync YAML from configuration.yaml
  2. Download and then delete all the files in the custom_components/htd_lync12 folder.
  3. Restart Home Assistant.
  4. Go into Entities and delete all the Entities associated with HTD Lync 12 integration.
  5. Restart Home Assistant.
  6. Go and delete any groups you made for speaker. (I had to refresh the page as it originally gave me the same error about not being able to delete.)
  7. Restart Home Assistant.
  8. Upload the files I downloaded earlier to the custom_components/htd_lync12 folder.
  9. Restart Home Assistant. If you don’t, you get a “configuration not found” kind of error.
  10. Update the configuration.yaml file.
  11. Restart Home Assistant.
  12. Go and re-create the groups and change the icons for all the media players back to what I had them.
  13. Go to bed.

Thanks for the update. My problem is that I am using an earlier version of the GW-SL1 and will need to upgrade.