This work as expected:
Example flow with the current Websocket node:
[{"id":"2fa00c98ec58c282","type":"subflow","name":"ntfy publish","info":"","category":"","in":[{"x":60,"y":80,"wires":[{"id":"f5615ba774f12910"}]}],"out":[{"x":800,"y":80,"wires":[{"id":"93bf5eeaec8ee2c9","port":0}]}],"env":[{"name":"server","type":"str","value":"https://ntfy.sh"},{"name":"topic","type":"str","value":""},{"name":"title","type":"str","value":""},{"name":"priority","type":"str","value":"3","ui":{"type":"select","opts":{"opts":[{"l":{"de":"Max priority"},"v":"5"},{"l":{"de":"High priority"},"v":"4"},{"l":{"de":"Default priority"},"v":"3"},{"l":{"de":"Low priority"},"v":"2"},{"l":{"de":"Min priority"},"v":"1"}]}}},{"name":"tags","type":"str","value":""}],"meta":{},"color":"#5eead4","icon":"font-awesome/fa-file-code-o","status":{"x":800,"y":140,"wires":[{"id":"c48d9f5358654b76","port":0}]}},{"id":"93bf5eeaec8ee2c9","type":"http request","z":"2fa00c98ec58c282","name":"","method":"POST","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":450,"y":80,"wires":[["c48d9f5358654b76"]]},{"id":"f5615ba774f12910","type":"function","z":"2fa00c98ec58c282","name":"headers + url","func":"let server = msg.server || env.get(\"server\");\nlet topic = msg.topic || env.get(\"topic\");\nlet title = msg.title || env.get(\"title\");\nlet priority = msg.priority || env.get(\"priority\") || 3\nlet tags = msg.tags || env.get(\"tags\") || ''\n\nlet headers = {\n 'Title': title,\n 'Priority': priority,\n 'Tags': tags\n}\n\n\nmsg.headers = headers\n\n\nmsg.url = server + \"/\" + topic\n\nreturn msg;\n\n\n\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":240,"y":80,"wires":[["93bf5eeaec8ee2c9"]]},{"id":"c48d9f5358654b76","type":"change","z":"2fa00c98ec58c282","name":"statusCode","rules":[{"t":"set","p":"payload","pt":"msg","to":"statusCode","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":140,"wires":[[]]},{"id":"ecdb97541723a1e3","type":"inject","z":"527fe7341bb5fe46","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"\"Test notification from node-red at \" & $now()\t","payloadType":"jsonata","x":170,"y":280,"wires":[["e07909ce6f1faea4"]]},{"id":"035b96386fe1697e","type":"debug","z":"527fe7341bb5fe46","name":"debug 12","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":580,"y":280,"wires":[]},{"id":"e07909ce6f1faea4","type":"subflow:2fa00c98ec58c282","z":"527fe7341bb5fe46","name":"ntfy publish","env":[{"name":"topic","value":"Change-Me","type":"str"},{"name":"title","value":"test","type":"str"},{"name":"priority","value":"5","type":"str"},{"name":"tags","value":"+1","type":"str"},{"name":"Title","value":"Test","type":"str"},{"name":"Priority","value":"5","type":"str"}],"x":370,"y":280,"wires":[["035b96386fe1697e"]]},{"id":"6858cd8fd8908d02","type":"websocket in","z":"527fe7341bb5fe46","name":"ntfy","server":"","client":"879565134ff524f5","x":150,"y":360,"wires":[["17e6d8b516ce1040"]]},{"id":"4e06a51da8bc0dc0","type":"debug","z":"527fe7341bb5fe46","name":"debug 19","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload.message","statusType":"msg","x":460,"y":360,"wires":[]},{"id":"17e6d8b516ce1040","type":"json","z":"527fe7341bb5fe46","name":"","property":"payload","action":"","pretty":false,"x":310,"y":360,"wires":[["4e06a51da8bc0dc0"]]},{"id":"879565134ff524f5","type":"websocket-client","path":"wss://ntfy.sh/Change_me/ws","tls":"","wholemsg":"false","hb":"0","subprotocol":""}]
But when i have a list of topics which i want to subscribe, i have to fiddle it manually into the Websocket node, because it has a configuration node.
So i need a node which inputs a url and then connect a Websocket to it.