DMS Level Sync
Greetings...I have a system that has two DMS keypads controlling one zone of audio, and am trying to keep the levels in sync. I've tried a hard-coded SEND_LEVEL, as well as COMBINE_LEVELS with little luck. I don't fully know what goes on in the DMS Comm Module, but I am reading/writing to the virtual device....
For example
LEVEL_EVENT [myVirtual, level1]
{
SEND_LEVEL someOtherVirtual, level1, LEVEL.VALUE
}
From a combine level standpoint, I tried combining the virtual devices and the actual DMS device with a virtual level, but neither worked.
Thoughts, ideas and experiences appreciated...
Thanks...Sonny
For example
LEVEL_EVENT [myVirtual, level1]
{
SEND_LEVEL someOtherVirtual, level1, LEVEL.VALUE
}
From a combine level standpoint, I tried combining the virtual devices and the actual DMS device with a virtual level, but neither worked.
Thoughts, ideas and experiences appreciated...
Thanks...Sonny
0
Comments
You have to change pages.
I once came accross this but didn't have time to fix it by code.
There is a command which I haven't tested which should allow you to directly update the bargraph, or maybe refresh the page:
SEND_COMMAND<DEV>"?SET-
[<TITLE>,<SM#>,<SV#>,<SN#>,<SX#>,<SS#>]?"
Variables:
TITLE - title of page
SM# - Mode Number, BARGRAPH = 1, TEXT = 2,
TEMPERATURE = 3
SV# - Value, -255 to 255
SN# - Minimum, -255 to 255
SX# - Maximum, -255 to 255
SS# - Step, 0-100
Example String Return: "'SET-<SV#>',<CR>"
Please reply with the exact string you send to make it work
champ
Kevin D.
LEVEL_EVENT[DMS_LIVING,3] { IF (LEVEL.VALUE>0) { IF (!IGNORE_LEVEL) { CANCEL_WAIT 'IGNORE_LEVEL_WAIT2' IGNORE_LEVEL2=1 SEND_LEVEL DMS_MASTER_BED,3,V_PORCH_DMS WAIT 5 'IGNORE_LEVEL_WAIT2' IGNORE_LEVEL2=0 } V_PORCH=((V_PORCH_DMS*25)/10) CALL 'KNOX_VOL_SET' (OA_PORCH) } } LEVEL_EVENT[DMS_MASTER_BED,3] { IF (!IGNORE_LEVEL2) { CANCEL_WAIT 'IGNORE_LEVEL_WAIT' IGNORE_LEVEL=1 SEND_LEVEL DMS_LIVING,3,V_PORCH_MB_DMS WAIT 5 'IGNORE_LEVEL_WAIT' IGNORE_LEVEL=0 } }That command is actually the old way of doing DMS's, before Keypad Builder. You had to create all the menus in code!! So that command would just create a level page. A SEND_LEVEL / "'PAGE-(CURRENT)'" combo will refresh it. You basically send the new level and change pages to the same page.
Kevin D.
INTEGER AS8VOL1 //variable in which to store the level value
CREATE_LEVEL vdvAS8,1,AS8VOL1
BUTTON_EVENT[vdvDMS_Dining,101] //Volume Up
{
PUSH:
{
OFF[vdvAS8,3] //MUTE Off Zone First just in case it is muted
SEND_LEVEL vdvDMS_Dining,1,((AS8VOL1*100)/255)
WAIT 1
{
SEND_COMMAND vdvDMS_Dining, "'PAGE-Volume'"
}
}
}
// SENDS THE LEVEL TO THE AS8
LEVEL_EVENT [vdvDMS_Dining,1]
{
SEND_COMMAND vdvAS8, "'S1L',ITOA(LEVEL.VALUE),'%'"
}