diff --git a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.html b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.html index cf4015f2e..ecef71366 100644 --- a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.html +++ b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.html @@ -480,6 +480,7 @@ willRetain: {value:false}, willPayload: {value:""}, willMsg: { value: {}}, + userProps: { value: ""}, sessionExpiry: {value:0} }, credentials: { @@ -719,9 +720,13 @@ } if (v5) { - const userProps = $("#node-config-input-userProps").val().trim(); - if (userProps) { - this.userProps = userProps; + this.userProps = ""; + const userPropsType = $("#node-config-input-userProps").typedInput("type"); + if(userPropsType == "json") { + const userProps = $("#node-config-input-userProps").val(); + if (userProps && typeof userProps === "string") { + this.userProps = userProps.trim(); + } } this.birthMsg = saveV5Message("birth"); this.closeMsg = saveV5Message("close"); diff --git a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js index a026fdc29..1e8f8ce9c 100644 --- a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js +++ b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js @@ -415,8 +415,12 @@ module.exports = function(RED) { setIfHasProperty(opts, node, "topicAliasMaximum", init); setIfHasProperty(opts, node, "maximumPacketSize", init); setIfHasProperty(opts, node, "receiveMaximum", init); - setIfHasProperty(opts, node, "userProperties", init);//https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901116 - setIfHasProperty(opts, node, "userPropertiesType", init); + //https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901116 + if (hasProperty(opts, "userProperties")) { + node.userProperties = opts.userProperties; + } else if (hasProperty(opts, "userProps")) { + node.userProperties = opts.userProps; + } function createLWT(topic, payload, qos, retain, v5opts, v5SubPropName) { let message = undefined;