[
{
"id": "ab16e708.7973e8",
"type": "subflow",
"name": "Decimal to Byte",
"info": "# Decimal to Byte\r\nThe node accepts any decimal number as number, string, comma separated string with decimal values, arrays or objects as `msg.payload`. \r\nIf strings can not be converted into numbers the whole string, object, array will be ignored.\r\nFlot numbers will be converted to integers. \r\n\r\nThe output will always be a string, representing each number as a string, representing each byte with 2 characters (i.e. 8 ==> '08').\r\n\r\nPrefixes can be added by consecutive change nodes. Using a hashtag ('#'), follwed by 3 bytes will be detected in the debug window as color code.\r\n\r\n\r\n# Dezimal nach Byte\r\nDie Node akzeptiert jede Dezimalzahl als Zahl, String, durch Kommas getrennte Zahlen als String/Zeichenkette, Array oder Objekt als `msg.payload`.\r\n\r\nWenn ein String nicht in eine Zahl umgewandelt werden kann, wird die gesamte Eingabe ignoriert. Fließkommazahlen werden in Ganzzahlen/Integerwerte umgewandelt. \r\n\r\nDie Ausgabe ist immer ein String/Zeichenkette. Jede Dezimalzahl wird als Zeichenkette ausgegeben, wobei jedes Byte mit 2 Zeichen dargestellt wird (z.Bsp. 8 ==> '08'). \r\n\r\nPräfixe müssen durch nachfolgende Change-Nodes selbst vorangestellt werden. Stellt man einer Bytefolge von 3 Zahlen ein Hashtag ('#') voran, wird dieser im Debug-Fenster bereits als Farbcode interpretiert.",
"category": "",
"in": [
{
"x": 60,
"y": 160,
"wires": [
{
"id": "da75483e.1f9f18"
}
]
}
],
"out": [
{
"x": 1300,
"y": 80,
"wires": [
{
"id": "1a81a4c8.b8095b",
"port": 0
},
{
"id": "4b071cab.37d0c4",
"port": 0
},
{
"id": "65fca19a.41ef9",
"port": 0
}
]
}
],
"env": [],
"color": "#E2D96E",
"icon": "node-red/hash.svg"
},
{
"id": "1a81a4c8.b8095b",
"type": "function",
"z": "ab16e708.7973e8",
"name": "to HEX String Byte Format",
"func": "if (typeof(msg.payload) === \"string\"){\n msg.payload = Number(msg.payload);\n if (isNaN(msg.payload) ) return null;\n}\nmsg.payload=Math.floor(msg.payload);\nmsg.payload= (msg.payload.toString(16)).toUpperCase();\nif ((msg.payload).length%2 > 0) msg.payload = '0' + msg.payload;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 520,
"y": 80,
"wires": [
[]
]
},
{
"id": "da75483e.1f9f18",
"type": "switch",
"z": "ab16e708.7973e8",
"name": "",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "istype",
"v": "number",
"vt": "number"
},
{
"t": "istype",
"v": "string",
"vt": "string"
},
{
"t": "istype",
"v": "array",
"vt": "array"
},
{
"t": "istype",
"v": "object",
"vt": "object"
}
],
"checkall": "true",
"repair": false,
"outputs": 4,
"x": 190,
"y": 160,
"wires": [
[
"1a81a4c8.b8095b"
],
[
"4349febf.96d86"
],
[
"fabf9af5.c72b38"
],
[
"fabf9af5.c72b38"
]
]
},
{
"id": "4349febf.96d86",
"type": "split",
"z": "ab16e708.7973e8",
"name": "",
"splt": ",",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 380,
"y": 140,
"wires": [
[
"370c9cd2.a93664"
]
]
},
{
"id": "370c9cd2.a93664",
"type": "function",
"z": "ab16e708.7973e8",
"name": "to HEX String Byte Format",
"func": "if (typeof(msg.payload) === \"string\"){\n msg.payload = Number(msg.payload);\n if (isNaN(msg.payload) ) return null;\n}\nmsg.payload=Math.floor(msg.payload);\nmsg.payload= (msg.payload.toString(16)).toUpperCase();\nif ((msg.payload).length%2 > 0) msg.payload = '0' + msg.payload;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 600,
"y": 140,
"wires": [
[
"c3312bd6.16ea18"
]
]
},
{
"id": "c3312bd6.16ea18",
"type": "join",
"z": "ab16e708.7973e8",
"name": "",
"mode": "auto",
"build": "string",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "",
"joinerType": "str",
"accumulate": false,
"timeout": "",
"count": "",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "",
"reduceFixup": "",
"x": 810,
"y": 140,
"wires": [
[
"4b071cab.37d0c4"
]
]
},
{
"id": "fabf9af5.c72b38",
"type": "split",
"z": "ab16e708.7973e8",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 380,
"y": 180,
"wires": [
[
"2c13cf5c.73981"
]
]
},
{
"id": "2c13cf5c.73981",
"type": "function",
"z": "ab16e708.7973e8",
"name": "to HEX String Byte Format",
"func": "if (typeof(msg.payload) === \"string\"){\n msg.payload = Number(msg.payload);\n if (isNaN(msg.payload) ) return null;\n}\nmsg.payload=Math.floor(msg.payload);\nmsg.payload= (msg.payload.toString(16)).toUpperCase();\nif ((msg.payload).length%2 > 0) msg.payload = '0' + msg.payload;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 600,
"y": 180,
"wires": [
[
"63d1eccf.a09034"
]
]
},
{
"id": "63d1eccf.a09034",
"type": "join",
"z": "ab16e708.7973e8",
"name": "",
"mode": "auto",
"build": "string",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "",
"joinerType": "str",
"accumulate": false,
"timeout": "",
"count": "",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "num",
"reduceFixup": "",
"x": 810,
"y": 180,
"wires": [
[
"19ca6af6.1e37c5"
]
]
},
{
"id": "4b071cab.37d0c4",
"type": "change",
"z": "ab16e708.7973e8",
"name": "",
"rules": [
{
"t": "change",
"p": "payload",
"pt": "msg",
"from": ",",
"fromt": "str",
"to": "",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1000,
"y": 140,
"wires": [
[]
]
},
{
"id": "19ca6af6.1e37c5",
"type": "split",
"z": "ab16e708.7973e8",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 960,
"y": 180,
"wires": [
[
"65fca19a.41ef9"
]
]
},
{
"id": "65fca19a.41ef9",
"type": "join",
"z": "ab16e708.7973e8",
"name": "",
"mode": "custom",
"build": "string",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "",
"joinerType": "str",
"accumulate": false,
"timeout": "",
"count": "",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "",
"reduceFixup": "",
"x": 1110,
"y": 180,
"wires": [
[]
]
},
{
"id": "2191832.9e0d37c",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "1040403",
"payloadType": "num",
"x": 2120,
"y": 3600,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "9b87093.1e4b4f8",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "1040403",
"payloadType": "str",
"x": 2120,
"y": 3640,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "6862064f.d059e8",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "104,04,03",
"payloadType": "str",
"x": 2120,
"y": 3680,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "4470c439.42ae6c",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "255,0,255",
"payloadType": "str",
"x": 2120,
"y": 3760,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "a612a150.79fa",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "Hallo",
"payloadType": "str",
"x": 2130,
"y": 3560,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "a807801e.86536",
"type": "inject",
"z": "6e170384.60c96c",
"name": "[2,6,99]",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[2,6,99]",
"payloadType": "jsonata",
"x": 2130,
"y": 3800,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "3ee98195.e48d4e",
"type": "inject",
"z": "6e170384.60c96c",
"name": "['ab','cd',99]",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "['ab','cd',99]",
"payloadType": "jsonata",
"x": 2110,
"y": 3840,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "69d5b78b.9a1348",
"type": "inject",
"z": "6e170384.60c96c",
"name": "[99]",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[99]",
"payloadType": "jsonata",
"x": 2130,
"y": 3880,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "620be0a5.46383",
"type": "inject",
"z": "6e170384.60c96c",
"name": "[99,'255']",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[99,'255']",
"payloadType": "jsonata",
"x": 2120,
"y": 3920,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "81373293.b970d",
"type": "inject",
"z": "6e170384.60c96c",
"name": "[99,'ef']",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "[99,'ef']",
"payloadType": "jsonata",
"x": 2130,
"y": 3960,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "a41dba5d.037848",
"type": "inject",
"z": "6e170384.60c96c",
"name": "{\"Rot\":255,\"Grün\":255,\"Blau\":0}",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"Rot\":255,\"Grün\":0,\"Blau\":255}",
"payloadType": "json",
"x": 2050,
"y": 4000,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "a2229b55.07ef38",
"type": "inject",
"z": "6e170384.60c96c",
"name": "{\"Rot\":255,\"Grün\":\"128\",\"Blau\":0}",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"Rot\":255,\"Grün\":\"128\",\"Blau\":0}",
"payloadType": "json",
"x": 2050,
"y": 4040,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "8455c0a1.f7aab",
"type": "inject",
"z": "6e170384.60c96c",
"name": "{\"Rot\":255,\"Grün\":\"gh\",\"Blau\":0}",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"Rot\":255,\"Grün\":\"gh\",\"Blau\":0}",
"payloadType": "json",
"x": 2050,
"y": 4080,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "bdc50d1b.f93bd",
"type": "inject",
"z": "6e170384.60c96c",
"name": "\"11806311026742\"",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "11806311026742",
"payloadType": "str",
"x": 2090,
"y": 3720,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "aa69cddf.3210e",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "15.6",
"payloadType": "str",
"x": 2130,
"y": 3520,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "f5cea9b4.72e1a8",
"type": "inject",
"z": "6e170384.60c96c",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "15.6",
"payloadType": "num",
"x": 2130,
"y": 3480,
"wires": [
[
"333333a7.cfa17c"
]
]
},
{
"id": "333333a7.cfa17c",
"type": "subflow:ab16e708.7973e8",
"z": "6e170384.60c96c",
"name": "",
"env": [],
"x": 2600,
"y": 3840,
"wires": [
[
"5fb9015.fbd98",
"7af82e5f.719f4",
"f4d59886.753238"
]
]
},
{
"id": "7af82e5f.719f4",
"type": "change",
"z": "6e170384.60c96c",
"name": "Präfix 0x",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'0x' & payload",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2790,
"y": 3880,
"wires": [
[
"5fb9015.fbd98"
]
]
},
{
"id": "f4d59886.753238",
"type": "change",
"z": "6e170384.60c96c",
"name": "Präfix #",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "'#' & payload",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 2800,
"y": 3920,
"wires": [
[
"5fb9015.fbd98"
]
]
},
{
"id": "5fb9015.fbd98",
"type": "debug",
"z": "6e170384.60c96c",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 2990,
"y": 3840,
"wires": []
}
]