Xantech / Dayton Audio / Sonance multi-zone amps

I removed/restarted and re-downloaded/restarted and still the same thing. The error refers to this file,

FileNotFoundError: [Errno 2] No such file or directory: ‘/usr/local/lib/python3.10/site-packages/pyxantech/series’

In terminal add-in, I don’t have a /usr/local/lib/python* . Do I need to install something else to get pyxantech? It was working for a few days when I first set it up.

Via hacs I installed Xantech/Dayton Audio/Sonance Multi-Zone Amp Control.
I managed to connect dax88 to home assistant. dax88 is connected with serial rs232 usb cable.
I added the following lines in configuration.yaml.

media_player:

  • platform: xantech
    type: dax88
    port: /dev/ttyUSB1
    zones:
    11:
    name: “Tuin”
    12:
    name: “TV eetkamer”
    13:
    name: “woonkamer 1”
    14:
    name: “woonkamer 2”
    15:
    name: “ZONE5”
    16:
    name: “ZONE6”
    17:
    name: “ZONE7”
    18:
    name: “ZONE8”
    sources:
    1:
    name: “input1”
    2:
    name: “input2”
    3:
    name: “Input3”
    4:
    name: “Input4”
    5:
    name: “tv eetkamer”
    6:
    name: “chromecast”
    7:
    name: “Input”
    8:
    name: "Wi-Fi

Currently I can zone on or off and adjust the volume.
How can I adjust input?

So excited, finally got the integration working! I had the same issue as @wr221
my steps

  1. comment out the xantech platform in the main configuration.yaml
  2. remove/reinstall the integration through HACS
  3. restart HA
  4. download the files from GitHub and replace the files in your HACS\Custom component folder.
  5. enable the xantech in configuration.yaml

I was next to my amp when it turned on, literally scared the crap out of me because I never thought I would get it working. I assumed I had some kind of issue in Docker also with the Serial connection. But everything worked perfectly after doing the above. Super excited to mess with this stuff tomorrow.
Hopefully this helps someone, I am not sure why the integration doesn’t work directly from Hacs.

I’ve released a new version (0.1.0) as of today that hopefully triggers HACS to pickup the latest dependencies. This includes no functionality change, but does include the black code formatting tool changes as well as manifest requires for he latest pyxantech version.

2 Likes

Thanks for all the work on this!

Im curious if anyone has run into this. im getting an error “failed to call service media_player/turn on” when trying to toggle a zone.

yaml config:

# Dayton DAX88
media_player:
  - platform: xantech
    type: dax88
    port: /dev/ttyUSB0
    zones:
      1:
        name: "Zone Bathroom"
      3:
        name: "Zone Kitchen"
      4:
        name: "Zone Hallway"
    sources:
      1:
        name: "Input Bathroom Audio"
      2:
        name: "Input Denon Zone 3"
      3:
        name: "Input Kitchen Audio"

entities card:

type: entities
entities:
  - entity: media_player.xantech8_bathroom
    group: true
    hide:
      controls: true
  - entity: media_player.xantech8_kitchen
    group: true
    hide:
      controls: true
  - entity: media_player.xantech8_hallway
    group: true
    hide:
      controls: true

any help would be appreciated.

Thanks!

edit: ls /dev/ttyUSB* shows /dev/ttyUSB0

The new version (0.1.0) resolved my issue; all is well again. Thanks!

I think your zones need to be 11-18 for DAX88/8 channel or 11-16 for monoprice/6 zone amps.
Replace the zone 1 3 4 with 11 13 14. Sources use 1 2 3 etc… As far as I can tell.

Anyone know how to address a second amp’s zones? That are not connected together but independently with 2 rs-232 connections…

1 Like

Not sure about 2 independent Dax’s bit I would think two Yaml entries with different names and different/dev/tty’s should work.

I have tried that a few ways but get errors.

I have this

media_player:
  - platform: xantech
    type: dax88
    port: socket://192.168.30.23:4999
    zones:                           
      11:
        name: "Kitchen - Dining"
      12:
        name: "Mia's Office"
      13:
        name: "Living Room"
      14:
        name: "Landing"
      15:
        name: "Patio"
      16:
        name: "Gazebo"
      17:
        name: "Out to Denon"
      18:
        name: "Out to DAX88-2"
    sources:
      5:
        name: "DAX88-1 Input"
      1:
        name: "Record Player"
      3:
        name: "Blank3"
      8:
        name: "WiFi"

  - platform: xantech
    type: dax88
    port: socket://192.168.30.26:4999
    zones:
      11: 
        name: "Enzo"
      12: 
        name: "Cello"
      13: 
        name: "nu1"
      14: 
        name: "nu2"
      15: 
        name: "Art Room"
      16: 
        name: "Master"
      17:
        name: "Livingroom Sub"
      18:
        name: "nu3"                

      
    sources:
      1:
        name: "DAX88-1"
      2:
        name: "Blank"

I have also tried using different zone numbering on the 30.26 IP and it still does not work.(21-28) I can see all the players in HA but get the call service error “failed to call service media_player/turn on”

The media players created by the 30.23 IP all work fine. I have confirmed that both ITachFlex rs-232 are configured the same. I feel like I’m just not using the right numbers to reference the channels when there are more than 1 amp.

I guess I do not understand. Are you trying to connect with IP or Rs232 to USB? You would not be using socket: for port.

That was it, thank you!!!

Yes I am connecting with IP with an iTach Flex with RS-232 adapter. So IP->RS-232.
The strange thing is I’ve done a few wipes of the config and start from scratch and now I get a few zones from each amp but still can’t get all zones form both amps. I’m using 11-18 for the first amp and 21-28 for the second. I understand that the zone ‘numbering format’ uses the first digit to represent the amp and second digit to represent the zone. Do you know if that is correct?

I do know that I did not put in all the code for multiple amps into what I donated to the community. Maybe that is missing in the config. Let me look at it but I do not own the code.

Likely that is it … look here:

and here:

The Dax88 looks like it is missing multiple units. You may want to post to Github for Rya to look at. I do not have multiple units so I only wrote and tested for one unit.

BUT … maybe not as it seems you have two independent units. That is what confuses me … if you try with only one and then the other … do they both work?

@kbrown01 @mikeyhenein Update, I got DAX88 working over RS232 to Ethernet converter.

2 Likes

Yes they both work when it is only one unit. If I uncomment the second unit, I will get random zones from each unit.

FYI if anyone else is trying to run multiple Dayton DAX88 amps with IP->RS232 I found a way to do it. I’ll briefly describe the method.

I basically renamed a second installation of xantech custom component to xantech2 and referenced that name in my config.yaml. Now I can control both units through home assistant.

I’ll try to include more details later. If anyone is interested DM me.

I just purchased a dax88 and have it setup with home assistant - I can power each zone on and off, control volume etc - How do I select wifi streaming options? I want to be able to select spotify for instance and stream to certain zones - sorry for the newbie questions

No question is bad. So first step, what does your media player YAML look like? You should post it here. Mine is like this:

- platform: xantech
  type: dax88
  port: /dev/ttyUSB0
  zones:
    11:
      name: "Kitchen"
    12:
      name: "Living Room"
    13:
      name: "Deck"
    14:
      name: "Hot Tub"
    15:
      name: "Patio"
    16:
      name: "Foyer"
    17:
      name: "Master"
    18:
      name: "Unused"
  sources:
    1:
      name: "Alexa"
    2:
      name: "MintyFresh"
    3:
      name: "Volumio"
    4:
      name: "PatioVizio"
    5:
      name: "Input 5"
    6:
      name: "Input 6"
    7:
      name: "Input 7"
    8:
      name: "WiFi"

So I have Zones 1-6 (output/speakers) defined as well as one of the two pass through zones (Zone 7) which is output to another Amp. I have 4 of the inputs defined for inputs and the catchall Zone 8 which is named “WiFi”.

Once we know what you have, we can help tell you how to do something in Home Assistant to play Spotify to your Wifi.

Eventually, we can get you to something like this:

1 Like

Can you post your code for this card.

If you are talking about my card in the post I can pull together the components. There is more than just the YAML for the card … there are automations/scripts as well as groups. I will try to do so soon and post it all to GITHUB.

I will note that the screen I shared uses Mushroom but I am not please with this implementation. I am going to revert most of this back to mini-media-player until mushroom decides to create a “true” media player widget. It lacks so much.

3 Likes