Smoke an DCC are not very friendly together!
Smoke units require a fairly large amperage to work and DCC decoders only handle small loads on the function outputs.
There is 3 basic ways to deal with this problem.
#1 Add a relay to the function output, down fall to this is it's on full or off no variables.
#2 Add a second decoder with the second decoders motor output controlling the smoke unit, The input power to the second decoder is controlled by a relay that is controlled by the first decoders function outputs.
#3 Add a optic isolator to the motor output of a decoder and use that to drive a transistor circuit to control the smoke box!