According to the documentation of the MQTT in node, the subscription can be an array of strings. So something like
[ "abcd/#" , "defg/#" ] as a subscription should be valid.
However if any topic include an MQTT wildcard
+ within an array I have the "you've done something wrong" red triangle on the node.
If I use the dynamic subscription and push the same array using
msg.topic (with the action being subscribe) everyone is happy.
Any reason why I can't have such an array directly in the node?
In the help text it says under dynamic subscription
These only apply when the node has been configured for dynamic subscriptions.
So i would read that as you can use an array of string for dynamic subscriptions only.
I get your point the array is described in the dynamic section. So, maybe, that is the intention for the "static" configuration to accept only a single topic...
However, an array without wildcards in the "topic" field works.
So, it is a bit of both
Array in static works, but no wildcard.
That is not doing what you think.
No, the static input is a single string topic. It is not parsed to be an array or anything except a string. WYSTIWTBITTST (What You Subscribe To Is What The Broker Is Told To Subscribe To)
[ "abcd/#" , "defg/#" ] is shown as invalid is because
# must be the last item in a topic path.
So in my example, it is in fact listening to a topic including the opening [ and the closing ] altogether and consider this "array" as one string?
That is correct. you are subscribing to exactly 1 topic - the topic you entered whether that includessquare brackets, commas or not