Hi Julian,
I can't reproduce this.
Here I have a node subscribed to +/+/$homie
and a node subscribed to +/b/$homie
When I publish to a/b/$homie
I see both nodes receive the message.
[{"id":"fe3d0902.971a58","type":"inject","z":"683f0662.e6d798","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":360,"y":320,"wires":[["ef4eae89.c5447"]]},{"id":"a1656b27.2292e8","type":"mqtt in","z":"683f0662.e6d798","name":"","topic":"+/+/$homie","qos":"2","datatype":"auto","broker":"8db984ef.0e77e8","x":350,"y":100,"wires":[["3d3ace8e.2ade72"]]},{"id":"3d3ace8e.2ade72","type":"debug","z":"683f0662.e6d798","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":560,"y":100,"wires":[]},{"id":"539a1f25.cede7","type":"mqtt in","z":"683f0662.e6d798","name":"","topic":"+/b/$homie","qos":"2","datatype":"auto","broker":"8db984ef.0e77e8","x":350,"y":180,"wires":[["5d7eed7.e838814"]]},{"id":"5d7eed7.e838814","type":"debug","z":"683f0662.e6d798","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":550,"y":180,"wires":[]},{"id":"ef4eae89.c5447","type":"mqtt out","z":"683f0662.e6d798","name":"","topic":"a/b/$homie","qos":"","retain":"","broker":"8db984ef.0e77e8","x":550,"y":320,"wires":[]},{"id":"8db984ef.0e77e8","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
I've tried various combinations of topic strings - some using $
, some not (just incase it was confusing the regex the nodes use). All work as expected.