Announcement

Collapse
No announcement yet.

Monoprice 6 zone amplifier

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    If you were in Canada I'd ship you one of my keypads, I don't use them and they are just collecting dust. I'd have tossed them out but I was hoping to find a project for them or their parts in the future.

    Comment


      #17
      Originally posted by LCrawfo View Post
      If you were in Canada I'd ship you one of my keypads, I don't use them and they are just collecting dust. I'd have tossed them out but I was hoping to find a project for them or their parts in the future.
      I would be interested in trying to work something out, I sent you a PM.
      HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

      Comment


        #18
        I'm thinking of using my keypads because they glow blue just like my jasco zwave switches. I think it might look pretty sweet with everything in one multi-gang plate.

        Back to our regularly scheduled program:

        In between barbequing some chicken and drinking some beer I hooked up the rs232 port to my homeseer server and tried the script posted by steveng (big thank you!) and it works like a champ. It looks like the amp does reply, here is my log:

        May-09 4:49:14 PM Audio Received:<11MU00 #

        May-09 4:49:13 PM Audio Sending: <11MU00

        May-09 4:49:13 PM Audio Port Open - Sending Data

        May-09 4:49:13 PM Audio Main() Called - Attempting To Open

        May-09 4:49:13 PM Event Running script in background: C:/Program Files (x86)/HomeSeer HS3/scripts/MonopriceAmp.vb

        May-09 4:49:13 PM Event Event Trigger "Test Events Monoprice amp on"

        May-09 4:49:13 PM Event Event Test Events Monoprice amp on triggered by the event page 'Run' button.


        I think even though this should be a plugin I'm going to expand on the script to pass in parameters such as:

        Z1ON
        or
        Z1Vol20

        so that there is only 1 script that you can call with a "target"-"command" kind of philosophy.
        https://forums.homeseer.com/forum/de...plifier-plugin

        Comment


          #19
          Just wanted to throw it out there, i have pretty much all scripts written, just never threw it into a plugin, I created scripts to create devices and have back end scripts that get status every hour and also reset it if power goes out (it turns all the volumes up to 35 if power goes out (ouch).

          Anyway here is a screen shot of mine (This is 1 zone, I have 6 zones ruinning), let me know if I can help

          I had a power outage today @5:30 or so and it reset bass, source and volume once power was restored

          Scripts I have
          Create devices (6 zones)
          Get status (hourly based on event)
          Reset for power outage (based on event)
          Change PA/Power/Source/Volume/Bass/Treble (with voice, Device list, HSTouch)

          I also have scripts/events written for announcements (Homeseer speak) that will turn on a zone PA, change source and speak - 7:00 every morning Jarvis (my systems name) comes on and greets us with today's weather and the turns on music in the bathroom then at 7:45 he tells us to have a great day and shuts it off.

          Let me know if I can help

          Thanks,
          Steven
          Attached Files

          Comment


            #20
            Originally posted by happnatious1 View Post
            ...
            I think even though this should be a plugin I'm going to expand on the script to pass in parameters such as:

            Z1ON
            or
            Z1Vol20

            so that there is only 1 script that you can call with a "target"-"command" kind of philosophy.
            If you go that route include a device parameter too (in case you ever want to add a 2nd or 3rd amp)

            Comment


              #21
              Originally posted by steveng View Post
              Scripts I have
              Create devices (6 zones)
              Get status (hourly based on event)
              Reset for power outage (based on event)
              Change PA/Power/Source/Volume/Bass/Treble (with voice, Device list, HSTouch)

              I also have scripts/events written for announcements (Homeseer speak) that will turn on a zone PA, change source and speak - 7:00 every morning Jarvis (my systems name) comes on and greets us with today's weather and the turns on music in the bathroom then at 7:45 he tells us to have a great day and shuts it off.
              That's pretty slick, I don't use announced events really... but I'm dabbling with them, my issue is the misses doesn't like them - but I figure if I can find the right balance between useful and entertaining then I'll be able to slide more of them into the home's events.

              You don't have a device for mute I noticed.

              I haven't had a power failure, but I'm going to have to simulate one and see what the AMP does, right now I have them on a UPS (more for protection from surges than anything else - and to shut everything down when the power does fail, should happen a few times this summer with wind storms).

              I would love to see what scripts you have created.

              Comment


                #22
                I have my amp plugged into an appliance module and when I power it back up the zones are in the off state, when I turn a zone on it remembers the last volume level it was at. They must have updated the firmware or something.
                https://forums.homeseer.com/forum/de...plifier-plugin

                Comment


                  #23
                  Since were talking about this... has anyone used the DT (do not disturb) setting, and if so for what?

                  Comment


                    #24
                    Originally posted by happnatious1 View Post



                    I think even though this should be a plugin I'm going to expand on the script to pass in parameters such as:

                    Z1ON
                    or
                    Z1Vol20

                    so that there is only 1 script that you can call with a "target"-"command" kind of philosophy.
                    I have my amp working with basic commands. Let me know if you want me to test any of your scripts.

                    Marco

                    Comment


                      #25
                      Originally posted by steveng View Post
                      Just wanted to throw it out there, i have pretty much all scripts written, just never threw it into a plugin, I created scripts to create devices and have back end scripts that get status every hour and also reset it if power goes out (it turns all the volumes up to 35 if power goes out (ouch).

                      Anyway here is a screen shot of mine (This is 1 zone, I have 6 zones ruinning), let me know if I can help

                      I had a power outage today @5:30 or so and it reset bass, source and volume once power was restored

                      Scripts I have
                      Create devices (6 zones)
                      Get status (hourly based on event)
                      Reset for power outage (based on event)
                      Change PA/Power/Source/Volume/Bass/Treble (with voice, Device list, HSTouch)

                      I also have scripts/events written for announcements (Homeseer speak) that will turn on a zone PA, change source and speak - 7:00 every morning Jarvis (my systems name) comes on and greets us with today's weather and the turns on music in the bathroom then at 7:45 he tells us to have a great day and shuts it off.

                      Let me know if I can help

                      Thanks,
                      Steven
                      I have never integrated mine with HomeSeer, but your approach is something I would definitely be interested in, especially the HomeSeer speak aspect.
                      HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

                      Comment


                        #26
                        Now if only someone would write one for my Yamaha AV amp!

                        Comment


                          #27
                          Which Yamaha receiver do you have, my buddy has a couple newer models that He wanted me to look at if they support rs232 I might at least script something up for them.

                          Comment


                            #28
                            Interesting
                            I have a CX-A5000. It does have an RS232 as well as a web interface.

                            Comment


                              #29
                              I have a couple of RXA-3000s and an RXA-2000, same controls as the CXA-5000 above. They can be controlled by RS-232 or by IP. IP control can be through their own web page with any browser, but they also must have an API, since they have a control app that works across the line.
                              HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

                              Comment


                                #30
                                Here's what I got for a script so far: (not fully tested)

                                Code:
                                'Send Parameters in the form target|command|value ie. z1|volume|20
                                'targets: a1,a2,a3, z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14,z15,z16,z17,z18.
                                'commands: power,volume, mute, dnd(do not disturb),balance, treble, bass, source.
                                'value: on, off, volume 00-38, treble/base 00-14, balance 00-20
                                'Don't forget to set the com port
                                
                                Imports System.Threading
                                Imports System.IO.Ports
                                Imports System.Object
                                Imports System.Text
                                Public COMPort As New SerialPort()
                                
                                Public Sub Main(ByVal parm as Object)
                                
                                Dim tcArray(2) As String
                                tcArray = parm.ToString.Split("|")
                                Dim target As String = tcArray(0)
                                Dim command As String = tcArray(1)
                                Dim value As String = tcArray(2)
                                
                                hs.writelog("Monoprice Amp", "Script called with: "& target & "|" & command & "|" & value)
                                
                                Dim tcString = "" 'this is what will eventually be sent to the com port
                                Dim tcStringBuilder As New StringBuilder("<") 'start building tcString
                                
                                Select Case target           'Select Target
                                Case "a1"
                                tcStringBuilder.Append ("10")
                                Case "a2"
                                tcStringBuilder.Append ("20")
                                Case "a3"
                                tcStringBuilder.Append ("30")
                                Case "z1"
                                tcStringBuilder.Append ("11")
                                Case "z2"
                                tcStringBuilder.Append ("12")
                                Case "z3"
                                tcStringBuilder.Append ("13")
                                Case "z4"
                                tcStringBuilder.Append ("14")
                                Case "z5"
                                tcStringBuilder.Append ("15")
                                Case "z6"
                                tcStringBuilder.Append ("16")
                                Case "z7"
                                tcStringBuilder.Append ("21")
                                Case "z8"
                                tcStringBuilder.Append ("22")
                                Case "z9"
                                tcStringBuilder.Append ("23")
                                Case "z10"
                                tcStringBuilder.Append ("24")
                                Case "z11"
                                tcStringBuilder.Append ("25")
                                Case "z12"
                                tcStringBuilder.Append ("26")
                                Case "z13"
                                tcStringBuilder.Append ("31")
                                Case "z14"
                                tcStringBuilder.Append ("32")
                                Case "z15"
                                tcStringBuilder.Append ("33")
                                Case "z16"
                                tcStringBuilder.Append ("34")
                                Case "z17"
                                tcStringBuilder.Append ("35")
                                Case "z18"
                                tcStringBuilder.Append ("36")
                                
                                Case Else
                                hs.writelog("Monoprice Amp", "Target not found: " & target)
                                End Select
                                
                                Select Case command
                                Case "power"
                                tcStringBuilder.Append ("PR")
                                Case "mute"
                                tcStringBuilder.Append ("MU")
                                Case "volume"
                                tcStringBuilder.Append ("VO")
                                Case "dnd"
                                tcStringBuilder.Append ("DT")
                                Case "treble"
                                tcStringBuilder.Append ("TR")
                                Case "bass"
                                tcStringBuilder.Append ("BS")
                                Case "balance"
                                tcStringBuilder.Append ("BL")
                                Case "source"
                                tcStringBuilder.Append ("CH")
                                
                                Case Else
                                hs.writelog("Monoprice Amp", "Command not found: " & command)
                                End Select
                                
                                Select Case value
                                Case "on"
                                tcStringBuilder.Append ("01")
                                case "off"
                                tcStringBuilder.Append ("00")
                                
                                Case Else
                                tcStringBuilder.Append (value)
                                End Select
                                
                                
                                tcString = tcStringBuilder.ToString()
                                
                                Dim Com as Object
                                Dim rxBuff as String
                                rxBuff = ""
                                
                                COMPort.PortName = "COM5"
                                COMPort.BaudRate = 9600
                                COMPort.Parity = System.IO.Ports.Parity.None
                                COMPort.DataBits = 8
                                COMPort.StopBits = System.IO.Ports.StopBits.One
                                Comport.ReadTimeout = 1000
                                 
                                If COMPort.IsOpen = False Then 
                                 COMPort.Open() 
                                End If
                                 
                                Com = tcString & vbCr
                                 
                                hs.writelog("Audio", "Sending: " & Com)
                                 
                                COMPort.Write(Com)
                                
                                System.Threading.Thread.Sleep(600)
                                
                                'Reading the com port:
                                rxBuff = (COMPort.ReadExisting)
                                
                                If rxBuff <> "" Then
                                hs.writelog("Audio", "Received:" & rxBuff)
                                rxBuff = ""
                                End If
                                
                                COMPort.close()
                                 
                                End Sub
                                Attached Files
                                Last edited by happnatious1; May 11, 2015, 03:34 PM.
                                https://forums.homeseer.com/forum/de...plifier-plugin

                                Comment

                                Working...
                                X