encodeDownlink and device data encapsulation in device profile

Sending downlink data from both www interface and MQTT works fine with specifying all non-payload parameters directly in requests or on GUI (like fPort, dev-eui).
Are there options to exclude dev_eui from MQTT request? dev_eui is already known from MQTT topic… Or there is reasoning for coding this parameter twice and checking that both are equal?
Codecs are part of device profile and setting fPort in encodeDownlink function would be pretty natural and will make payload praparation device independent. May be I missed ways to specify fPort somewhere in configuration?