OH3 Monoprice Whole House Binding

Running OH 3 on a Pi 4

Using the monoprice whole house audio binding with limited success

zone power, volume, mute, and input selector work ok

But tone bass, and balance have no effect.

I have them set up as dimmer controls on the location card like this

I have a hunch that I need some sort of transformation or mapping for those sliders that are 0 in the center

Anyone have experience setting this up?

Thanks for any advice

Brian

Can you verify that the Balance, Treble and Bass controls work when using the BasicUI example from the readme?

I’ll have to set that up and test it.
I’ve only been using the MainUI

They are not working either
for instance, even though I defined the Bass in the sitemap from -7 to 7, the control only goes from 0 to 7
it appears the State metadata defines the range of the control, not the range parameters in the sitemap

watching the debug log it seems the only command for bass is 07 regardless of what the control is trying to send.

I realize this may not be clear.

Is there a better way to describe it?

A hint from @bartus says you should do the following when setting up the Bass, Treble and Balance items in OH3:

Blockquote
I had to add metadata to the item, i.e.
Default Standalone Widget = oh-knob-card
Default List Item Widget = oh-slider-item
Then, configure each to have:
Min = -7 (-10 for Balance)
Max = 7 (10 for Balance)
Step = 1
(for the slider, I also enabled “Display Scale” and set “Scale Steps” to 14 [20 for Balance])

Thanks for the hint.

I created Points in the Location cards and the dimmers were created with the correct scales, -7to7 and -10 to 10

However there is no provision in the metadata of these Items to 'Display Scale" and set “Scale Steps”
so apparently I need to create using those widgets instead?

The current symptom is when you select any positive value on the slider it always sends the mid-scale value to the device.

Example from the log:

18:03:29.806 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?16
18:03:29.829 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1600000000200707100200
18:03:29.832 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
18:03:29.835 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
18:03:31.649 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Treble' received command 5
18:03:31.658 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Treble' predicted to become 5
18:03:31.666 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got treble command 0 zone ZONE5
18:03:31.674 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15TR07
18:03:31.688 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Treble' changed from 2 to 5
18:03:31.688 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15TR07
18:03:31.697 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15TR07

So maybe “Scale Steps” is the answer?

I am not sure how to set that up in the item, but in any case it definitely looks like a configuration problem. The value 5 gets changed to 0 by the time it gets to the binding code. The treble value gets the tone offset of 7 added to it and the command gets sent to the device as <15TR07 (amp 1, zone 5, treble 07) which will display as Treble 0 on the keypad for zone 5.

A couple questions surrounding the ‘no match’ messages… I see that the commands being sent are reflected back and then ignored by the binding. I did not see that when I was developing the code. Are you using a serial over IP device and if so which one? Are you using the monoprice version of this amp? About how old is it?

Yeah, I wondered about the “no match” in the log.

Using a serial connection to the amp…it’s less than a year old.

It worked ok on my OH2.5 system, but I was using rule-based control. Crude but it worked.

The status messages coming back are being displayed in the log but that’s all.

I did a quick test setting up a a slider widget but get the same result. Any greater that 0 value is sent as just the mid-scale value

I deleted and re-created a couple of items and they initially configured as number and I change them to dimmer. As soon as I do the dimmer is created with the correct endpoints.

Maybe I should delete the whole Thing and start over.?

Interesting, there might be a variation on the firmware since yours is newer. Can you check one last thing? Try watching the log and messing with the volume, treble or whatever on one of the keypads. I am wondering if they actually implemented unsolicited updates on this thing. If so you would see a bunch ‘no match’ messages like 15TR07 and the last number would change with the keypad setting. If that were the case, I could set up the binding to process those instead of the current constant polling.

Back to your problem, I am not sure what to suggest next. I messed around with the Nuvo binding today (it has a similar setup for the treble, bass & balance channels) and tried to setup some Items to control them. But I couldn’t figure it out and gave up.

@bartus any ideas?

Funny you should ask about that…you might be on to something.

When I plug in any keypad the binding loses the communication with the amp and goes Offline. So I haven’t left any keypads connected.

I have used them briefly to make tone adjustments in a couple zones and then disconnected them, luckily the settings persist.

I’ll do some more testing with keypads and see if I can gather some log data.
Of course my old system ran fine with them connected.

Rechecked mine - definitely don’t get the same messages in the log you do @brianlay - only other thing I can think of - what build of OH3 are you running? I’ve been on 3.1.2159 for a while now, but I don’t recall seeing any issues with previous 3.0 milestones, either…

still on 3.0.0

Now on 3.1.0.M2 but the symptoms are still the same

Enabled TRACE logging and got some more data.

It appears my sliders for Treble, Bass, which appear as -7 to +7 and Balance -10 to +10 are scaled(?)in the binding to a decimal number between 0 and 1

21:00:23.459 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?11
21:00:23.467 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?12
21:00:23.472 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?11
21:00:23.470 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?13
21:00:23.477 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?11
21:00:23.480 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?14
21:00:23.491 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?15
21:00:23.499 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1100010000190707100200
21:00:23.498 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?16
21:00:23.507 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:00:23.511 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:00:23.515 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?12
21:00:23.517 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?12
21:00:23.533 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1200010000280709100200
21:00:23.539 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:00:23.542 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:00:23.547 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?13
21:00:23.549 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?13
21:00:23.568 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1300000000160707100100
21:00:23.573 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:00:23.576 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:00:23.581 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?14
21:00:23.585 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?14
21:00:23.602 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1400000000200707100600
21:00:23.607 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:00:23.610 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:00:23.614 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?15
21:00:23.615 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?15
21:00:23.636 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1500010000260707100200
21:00:23.640 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:00:23.642 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:00:23.644 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?16
21:00:23.646 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?16
21:00:23.671 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1600000000200707100200
21:00:23.675 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:00:23.677 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:00:35.846 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Bass' received command 3
21:00:35.853 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Bass' predicted to become 3
21:00:35.874 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Bass' changed from 0 to 3
21:00:35.882 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got bass command 0 zone ZONE5
21:00:35.890 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15BS07
21:00:35.894 [TRACE] [nternal.handler.MonopriceAudioHandler] - Command 0.03000000 from channel zone5#bass succeeded
21:00:35.903 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15BS07
21:00:35.907 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15BS07
21:00:50.817 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Bass' received command 5
21:00:50.821 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Bass' predicted to become 5
21:00:50.827 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Bass' changed from 3 to 5
21:00:50.837 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got bass command 0 zone ZONE5
21:00:50.843 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15BS07
21:00:50.848 [TRACE] [nternal.handler.MonopriceAudioHandler] - Command 0.05000000 from channel zone5#bass succeeded
21:00:50.858 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15BS07
21:00:50.863 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15BS07
21:00:56.866 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HVACMain_Temperature' changed from 73.0 °C to 63.5 °C
21:01:01.616 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Bass' received command 6
21:01:01.619 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Bass' predicted to become 6
21:01:01.625 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Bass' changed from 5 to 6
21:01:01.634 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got bass command 0 zone ZONE5
21:01:01.645 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15BS07
21:01:01.649 [TRACE] [nternal.handler.MonopriceAudioHandler] - Command 0.06000000 from channel zone5#bass succeeded
21:01:01.658 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15BS07
21:01:01.661 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15BS07
21:01:03.535 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Bass' received command 7
21:01:03.539 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Bass' predicted to become 7
21:01:03.545 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Bass' changed from 6 to 7
21:01:03.555 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got bass command 0 zone ZONE5
21:01:03.559 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15BS07
21:01:03.564 [TRACE] [nternal.handler.MonopriceAudioHandler] - Command 0.07000000 from channel zone5#bass succeeded
21:01:03.573 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15BS07
21:01:03.576 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15BS07
21:01:04.957 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Bass' received command 0
21:01:04.964 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Bass' predicted to become 0
21:01:04.972 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Bass' changed from 7 to 0
21:01:04.979 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got bass command 0 zone ZONE5
21:01:04.985 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15BS07
21:01:04.991 [TRACE] [nternal.handler.MonopriceAudioHandler] - Command 0.00000000 from channel zone5#bass succeeded
21:01:04.998 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15BS07
21:01:05.003 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15BS07
21:01:13.901 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'WholeHouseAmplifier_Zone5_Bass' received command 1
21:01:13.906 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'WholeHouseAmplifier_Zone5_Bass' predicted to become 1
21:01:13.956 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WholeHouseAmplifier_Zone5_Bass' changed from 0 to 1
21:01:13.959 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Got bass command 0 zone ZONE5
21:01:13.966 [DEBUG] [communication.MonopriceAudioConnector] - Send command <15BS07
21:01:13.975 [TRACE] [nternal.handler.MonopriceAudioHandler] - Command 0.01000000 from channel zone5#bass succeeded
21:01:13.984 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #<15BS07
21:01:13.988 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #<15BS07
21:01:23.507 [DEBUG] [nternal.handler.MonopriceAudioHandler] - Polling the controller for updated status...
21:01:23.515 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?11
21:01:23.520 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?12
21:01:23.524 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?13
21:01:23.529 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?14
21:01:23.533 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?11
21:01:23.533 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?15
21:01:23.537 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?11
21:01:23.540 [DEBUG] [communication.MonopriceAudioConnector] - Send command ?16
21:01:23.552 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1100010000190707100200
21:01:23.558 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:01:23.563 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:01:23.578 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?12
21:01:23.583 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?12
21:01:23.595 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1200010000280709100200
21:01:23.601 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:01:23.606 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:01:23.610 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?13
21:01:23.614 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?13
21:01:23.621 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1300000000160707100100
21:01:23.628 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:01:23.632 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:01:23.636 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?14
21:01:23.640 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?14
21:01:23.655 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1400000000200707100600
21:01:23.662 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:01:23.666 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:01:23.670 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?15
21:01:23.674 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?15
21:01:23.690 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1500010000260707100200
21:01:23.697 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:01:23.699 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:
21:01:23.702 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #?16
21:01:23.704 [DEBUG] [communication.MonopriceAudioConnector] - no match on message: #?16
21:01:23.724 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage: #>1600000000200707100200
21:01:23.726 [DEBUG] [communication.MonopriceAudioConnector] - handleIncomingMessage:
21:01:23.729 [DEBUG] [communication.MonopriceAudioConnector] - no match on message:

The thing is I didn’t configure any scaling, the sliders were simply created by the oh-location card

any thoughts @bartus @mlobstein ?

Sorry, I do not know. It still looks like the card in OH3 is only sending 0/1 to the binding(scaling problem?). Did you ever try hooking up a keypad and manipulating the settings that way? I would be curious to see of the card would display the right value if it came from the device. You can just connect a single keypad to the plug on the back of the amplifier using an regular CAT5 patch cable for testing purposes.

thanks I will try that.

Got side-tracked setting up a staging system to support testing

Just to close this out, I found the problem.

I had configured the Item as a Dimmer instead of a Number and that limited the number range to zero and above.
I believe the Items automatically came up as dimmers, not sure why