I think the issue is that the split wants payload to be a JSON object, rather than a string.
I wrote this little demonstration test rig based on what @dceejay 's findings
{
"id": "3df7822c7506fec0",
"type": "inject",
"z": "60c7ee1b0aa52cb1",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "A String wrapped in Quotes",
"payload": "\"test\\ntesting\\ntested\"",
"payloadType": "str",
"x": 1740,
"y": 480,
"wires": [
[
"f483724e0e78e459"
]
]
},
{
"id": "db39f2a737442ad8",
"type": "split",
"z": "60c7ee1b0aa52cb1",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 1870,
"y": 580,
"wires": [
[
"4f82397f2dc39891"
]
]
},
{
"id": "4f82397f2dc39891",
"type": "debug",
"z": "60c7ee1b0aa52cb1",
"name": "debug 12",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 2020,
"y": 580,
"wires": []
},
{
"id": "4420f9ea1847302e",
"type": "json",
"z": "60c7ee1b0aa52cb1",
"name": "",
"property": "payload",
"action": "",
"pretty": true,
"x": 1730,
"y": 580,
"wires": [
[
"db39f2a737442ad8"
]
]
},
{
"id": "52a40740afcc5fee",
"type": "split",
"z": "60c7ee1b0aa52cb1",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 1730,
"y": 620,
"wires": [
[
"942da39989059ead"
]
]
},
{
"id": "942da39989059ead",
"type": "debug",
"z": "60c7ee1b0aa52cb1",
"name": "debug 13",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1880,
"y": 620,
"wires": []
},
{
"id": "9c89a946d80f6627",
"type": "link in",
"z": "60c7ee1b0aa52cb1",
"name": "link in 2",
"links": [
"f483724e0e78e459"
],
"x": 1625,
"y": 600,
"wires": [
[
"4420f9ea1847302e",
"52a40740afcc5fee"
]
]
},
{
"id": "b7d9d6194b240af0",
"type": "inject",
"z": "60c7ee1b0aa52cb1",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "a plain String",
"payload": "test\\ntesting\\ntested",
"payloadType": "str",
"x": 1730,
"y": 520,
"wires": [
[
"f483724e0e78e459"
]
]
},
{
"id": "cecc4ac40c754d19",
"type": "inject",
"z": "60c7ee1b0aa52cb1",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "\"Payload is a JSON Object of a String\"",
"payload": "\"test\\ntesting\\ntested\"",
"payloadType": "json",
"x": 1740,
"y": 440,
"wires": [
[
"f483724e0e78e459"
]
]
},
{
"id": "f483724e0e78e459",
"type": "link out",
"z": "60c7ee1b0aa52cb1",
"name": "link out 4",
"mode": "link",
"links": [
"9c89a946d80f6627"
],
"x": 1925,
"y": 480,
"wires": []
}
]
So it seems like the main issue is that the split node wants the payload to be a JSON object rather than a raw string.
You can see in my new test example how the 3 different types interact with the split node.