Monoprice Whole Home Audio controller 10761 success

I just got a few of these amps (Dayton DAX88) and was searching for the best way to integrate them with HA when I found your post :wink: Are the changes you made merged back into xantech? If not would you mind sharing how you made the changes? I noticed there are rs-232 codes in the back of the manual but my code writing skills are of the copy and paste nature so any help would be very appreciated.

Matt

If you want independent sources for all zones, and the ability to link them together in groups for playback, the DAX88 is really not the best option. Buy some used chromecast audio’s from ebay and stick them all as inputs to a simple multichannel amp like an HTD DMA-1240, or a Dayton MA1240a and just cast audio to the chromecasts. It works well with android and iOS, and Spotify works great with it.

Plus Home Assistant can use it easily for announcements, etc… Simple and high WAF based on my experience.

Well I don’t quite understand that. Yes the DAX88 has only one “WiFi” input but you can just stick the chomecast’s or alexa’s or wireless streamers into the DAX. You can set then set any zone to play any input and group them. I have all that in my app and my setup. But I guess that is exactly what you are saying now that I re-read all the thread.

I would also note that I think the Dayton Audio/Parts Express people are top notch. They contacted me personally and we spent several hours on phone to discuss my experience with the unit and things I would like to see. And I would note that included providing the ability to have multiple WiFi stream inputs (two or more).

As far as the sound and power, it is an awesome thing in my place which has 5 zones, 4 speakers covering 4000sqft indoors and outdoors plus pre-amp out in one zone to another zone with 7 speakers.

Yes I believe that all changes are merged into the Xantech code. You just need to configure the media_player YAML for it. 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"

Of course you would use your own Zones and Inputs.

Thanks!, Will be trying it out tonight.

The DAX88 is overkill if you want independent sources per zone, and the advantages of the chromecast + multichannel amp are pretty hard to beat:

  1. No zone switching in a separate amp - if you use casting, you select the destination zone and just audio in one single app - no app switching

  2. Only one volume control - you control the audio from the casting app - no app or keypads needed to set volume, and much easier when you are casting to a mutispeaker zone

  3. Easy airplay compatibility - after setting up chromecasts and amp, you can have home assistant turn all chomecast speaker and multispeaker zones into airplay zones using the aircast addon:Home Assistant Community Add-on: AirCast

  4. Easy streaming from the web by casting from chrome - sometimes you have high school football games or or web content you want to stream but don’t have support in spotify or a specific streaming app. If you can get audio fronm a website, you can stream it using casting

Spotify can talk to chomecast audios using cast too of course, but the flexibility provided by using casting and a simple multichannel amp is amazing, and a lot cheaper too! I wish the DAX88 support the cast protocol, but its a definite shortcoming of product. Russoiund now supports cast in their streaming amps, but they are much more expensive that chromecast audios and a “dumb” multichannel amp.

To each their own.

#1 … Note sure even what this description is. I have one app … Home Assistant, in which I can set what plays and where

#2 … That to me is a total negative, not a positive. I have say a group that includes speakers on my deck, backyard, front patio and foyer … and I can say turn with one click, turn on this “zone” playing Spotify. And then I want to turn up Deck, down front patio, etc. Not having separate volume control would be a huge negative, in fact unusable.

#4 I do with a simple wireless device which sends audio out from the back deck TV to a receiver into one of the Dax88 zones. It could have been done with casting but it was 100% unreliable, flaky sound, cut outs all the time. I do not know casting and all the nuances, but my home has a central cabinet with servers, router, phone system, all ethernet cabling, etc and it is located next to the wine cellar. The thick wall construction of the cellar and block/metal walls to outside just block things. I cannot get many things to reliably work … certainly forget bluetooth. I can use a Mac and airplay the screen to a local TV on the deck, but if I open chrome and try to cast it will freeze in 3 minutes and just stop.

On #1, my family (and kids) are used to using the native apps like spotify, youtube Music, etc… to play songs, share playlists etc… If you can get everyone in the family to use just HA for all their music, well, you have a much more trainable family than mine! Casting from the native app has a lot more functionality than HA does, at least right now. With myclan no way could I get them to give that up. My wife, I might be able to train - the kids, no way…

  1. I don’t think you understand what I meant. I build speaker groups in the Google home app, and then cast to the group from spotify, YTM, etc… You can control individual zones volume through the Google home app, but it’s so nice to be able to control volume while in the native app, and not have to switch to another app for volume control, or switching a specific source to to a speaker zone in a different app is nice and simple.

  2. That’s too bad about your experience with casting. Mine is very reliable, and I have full voice control of music etc… from my google hubs as well. All my chromecast audios are hardwired with ethernet though. People’s phones can start the stream, but the actual data transport runs all wired, and even with vlans (took some work) I have it very reliable.

Interested! Where would I find the code?

Which specific code? HACS has the code for Xantech/Dayton Audio/Sonance Amps, the specific repository is rsnodgrass/hass-xantech. See Xantech / Dayton Audio / Sonance multi-zone amps - Share your Projects! - Home Assistant Community (home-assistant.io)

If you mean my interface it’s “in-flux” right now. I was in process of converting everything to Mushroom interface and hit a few snags and am waiting for an update to the media player. Currently there is no Mushroom input select for media, so I guess I am building one and trying to decide best way.

2 Likes

I am a bit new to HA and have an old Xantech 8 zone. Is the goal to use the Monoprice integration to connect? I loaded the Xantech player package and got the monoprice integration to connect to my RS232 to IP (which shows entities, but doesnt trigger anything once set up in mini player). But I also see in these threads suggestions for manual code [for RS232 connection, sources, zones] to put into Config.yaml or in the Mediaplayer code. I used the monoprice integration, but also put code in my config file with test code below (which HA ignores).

#### xantech zone controller ####  
media_player:
  - platform: xantech
    type: xantech8
    port: socket://192.168.1.10:23/
    zones:
      11:
        name: Zone Kitchen
      13:
        name: Zone Hall
      14:
        name: Zone Master
    sources:
      1:
        name: Input Echo
      2:
        name: Input Phono
      3:
        name: Input TV

I am not a coder, so I haven’t yet found where in my Xantech folder files it comments to add such or calls the config file. Am I out in left field? Thanks for any clarity as I am struggling with the instructions.

1 Like

I’m liking your interface and was wondering if you are willing to share the code, so all the users of Xantech/Monoprice might be able to learn from that and use it as a jumping off point.

1 Like

I have been changing things a bit while rewriting everything for wallpanel also.
This weekend will be a good time for me to wrap it up and put on Github, I will post a message here after I do. As a sneak peek, here’s a screen shot:

You can now select zone and input independently … meaning I can select Spotify on Wifi and play on Deck and Hot Tub and Alexa/Pandora and play in Kitchen …

3 Likes

Sorry I have been delayed, got sidetracked with a fun project relative to this.
I have now added 1500 artist input select.
I have an Alexa jacked into one input on the Dax.
I can set either Pandora or Spotify and select an artist and play.

Through an automation it sends this …

service: media_player.play_media
data:
  media_content_type: custom
  media_content_id: >-
    Play {{ states('input_text.stereo_alexa_artist') }} from 
    {% if states('input_boolean.spotalexon') == 'on' %}
      Spotify 
    {% else %}
      Pandora 
    {% endif %}
    on Stereo Alexa
target:
  entity_id: media_player.stereo_alexa

I will post all the crazy sensor/automations on Github soon.

5 Likes

Im trying to install the integration. Where should I add my version of this code to? My assumption is at the bottom of configuration.yaml but that has not been working for me.
Thanks.

DO you mean the YAML used to specify type, zones, inputs?
I use includes so in my configuration.yaml I have:

media_player: !include media_player.yaml

And in the same directory I have media_player.yaml which includes 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"

Now, I have no idea what you have i terms of the type, connection, zone names, input names, etc. So you would need to change those to match what you have. I have a Dayton Audio DAX88 and hence in is a “xantech”, type “dax88” that is connected via USB to Serial cable.

Did you ever upload your setup to github?

Setup? It is lots of code (especially since I wrote the bass/treble/balance code) … as well as sensors and many other things. I would suggest you ask “how can I?” and I would be happy to help.

Hey @jhenkens , I know this thread is pretty old!

When you were discussing/building this solution for the monoprice I honestly didn’t know anything about esphome and have since started looking into it haha! The reason I have started looking into it is with the year of voice from home assistant I am looking to try and use my whole home audio as the “speakers” or media player aspect for the voice assist from within Home Assistant. Then from there I could have mics around the house and when using the wake word have the replies etc come out of the whole home audio monoprice amp (that is my theory anyway). I believe the way to do that would be to ultimately do exactly what you did using esphome to then make the device available as a media player.

Have you tried this by any chance or are you able to create the monoprice as a media player using your esphome solution?

Did you ever figure this out? I am currently dealing with this as I just got my system setup.