[
    {
        "id": "5e07f5eeeb2a969b",
        "type": "tab",
        "label": "流程 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "9c26fa2f19e2b556",
        "type": "function",
        "z": "5e07f5eeeb2a969b",
        "name": "hex to base64",
        "func": "var input = msg.payload;\nvar base64 = Buffer.from(input, 'hex').toString('base64');\nmsg.payload = base64;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 220,
        "y": 160,
        "wires": [
            [
                "075bc9172a4c6570",
                "3601a98894805fbe"
            ]
        ]
    },
    {
        "id": "ee0480c81e66d657",
        "type": "function",
        "z": "5e07f5eeeb2a969b",
        "name": "function 4",
        "func": "var bytes = msg.payload[\"uplink_message\"]\nvar data = msg.payload[\"out\"]\nvar mode = (parseInt(data.substring(12, 14), 16) & 0x7C) >> 2;\nif (mode != 2)\n{\nvar bat = (parseInt(data.substring(0,4),16)&0x3FFF)/1000;\nvar TempC1 = (parseFloat(parseInt(data.substring(4, 8),16)/10).toFixed(2));\nvar ADC_CH0V = (parseInt(data.substring(8, 12), 16) ) / 1000;\nvar Digital_IStatus = (parseInt((data.substring(8, 12),16) & 0x02))?\"H\":\"L\"; \n\nif (mode != 6) {\n\n    var EXTI_Trigger = ((parseInt(data.substring(12, 14), 16) & 0x01))? \"TRUE\" : \"FALSE\";\n\n    var Door_status = ((parseInt(data.substring(12, 14), 16) & 0x80))? \"CLOSE\" : \"OPEN\";\n\n}\n}\nif (mode == 0) {\n\n    var Work_mode = \"IIC\";\n\n    if ((parseInt(data.substring(18, 22), 16)) == 0){\n\n        var Illum = (parseInt(data.substring(8, 12), 16));\n\n    }\n\n    else {\n\n        var TempC_SHT = parseFloat(((parseInt(data.substring(14, 18), 16)) / 10).toFixed(2));\n\n        var Hum_SHT = parseFloat((((parseInt(data.substring(18, 22), 16))) / 10).toFixed(1));\n\n    }\n    \n}\n\nelse if (mode == 1) {\n\n    var Work_mode = \" Distance\";\n\n    var Distance_cm = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(1));\n\n    if (((parseInt(data.substring(18, 22), 16))) != 65535){\n\n        var Distance_signal_strength = parseFloat(((parseInt(data.substring(18, 22), 16))).toFixed(0));\n\n    }\n\n}\n\nelse if (mode == 2) {\n\n    var Work_mode = \" 3ADC\";\n\n    var BatV = (parseInt(data.substring(18, 22), 16)) / 10;\n\n    var ADC_CH0V = ((parseInt(data.substring(0, 4), 16))) / 1000;\n\n    var ADC_CH1V = ((parseInt(data.substring(4, 8), 16))) / 1000;\n\n    var ADC_CH4V = ((parseInt(data.substring(8, 12), 16))) / 1000;\n\n    var Digital_IStatus = ((parseInt(data.substring(12, 14), 16)) & 0x02) ? \"H\" : \"L\";\n\n    var EXTI_Trigger = ((parseInt(data.substring(12, 14), 16)) & 0x01) ? \"TRUE\" : \"FALSE\";\n\n    var Door_status = ((parseInt(data.substring(13, 14), 16)) & 0x80) ? \"CLOSE\" : \"OPEN\";\n\n    if ((parseInt(data.substring(18, 22), 16) === 0)) {\n\n        var Illum = ((parseInt(data.substring(14, 18), 16)));\n\n    }\n\n    else {\n\n        var TempC_SHT = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(2));\n\n        var Hum_SHT = parseFloat((((parseInt(data.substring(18, 24), 16))) / 10).toFixed(1));\n\n    }\n\n}\n\nelse if (mode == 3) {\n\n    var Work_mode = \"3DS18B20\";\n\n    var TempC2 = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(2));\n\n    var TempC3 = parseFloat((((parseInt(data.substring(18, 24), 16))) / 10).toFixed(1));\n\n\n\n}\n\nelse if (mode == 4) {\n\n    var Work_mode = \"Weight\";\n\n    var Weight = ((parseInt(data.substring(14, 18), 16)));\n\n}\n\nelse if (mode == 5) {\n\n    var Work_mode = \"Count\";\n\n    var Count = ((parseInt(data.substring(14, 22), 16)));\n\n}\n\n\n\nvar b = { payload: bat }, c = { payload: TempC1 }, d = { payload: ADC_CH0V }, e = { payload: Digital_IStatus }, f = { payload: EXTI_Trigger }, g = { payload: Door_status }, j = { payload: TempC_SHT }, s = { payload: Hum_SHT }, k = { payload: Work_mode };\nreturn [b,c,d,e,f,g,j,k,s];",
        "outputs": 9,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 660,
        "y": 300,
        "wires": [
            [
                "fd22b92d2b8de0fb"
            ],
            [
                "3307256a4e1ea53a"
            ],
            [
                "a3fd8302ec399e31"
            ],
            [
                "c7d1f63ff5f0026a"
            ],
            [
                "159967056da52706"
            ],
            [
                "a21581a41adc1714"
            ],
            [
                "7bb78b78445ac9e3"
            ],
            [
                "0364752170ed6228"
            ],
            [
                "65293155d71d54b9"
            ]
        ]
    },
    {
        "id": "e763b293d42dbdd5",
        "type": "change",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "Data: (HEX:)",
                "fromt": "str",
                "to": "",
                "tot": "str"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": " ",
                "fromt": "str",
                "to": "",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 420,
        "y": 60,
        "wires": [
            [
                "9c26fa2f19e2b556",
                "416a930e89291528"
            ]
        ]
    },
    {
        "id": "075bc9172a4c6570",
        "type": "lorawan-packet-decrypt-nwkey-appkey",
        "z": "5e07f5eeeb2a969b",
        "name": "FFFFF111",
        "nsw": "CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA",
        "asw": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC",
        "x": 510,
        "y": 160,
        "wires": [
            [
                "ee0480c81e66d657"
            ]
        ]
    },
    {
        "id": "13dc77a4e2bb4f72",
        "type": "serial in",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "serial": "bb1c0e81fd51fa9e",
        "x": 190,
        "y": 60,
        "wires": [
            [
                "e763b293d42dbdd5"
            ]
        ]
    },
    {
        "id": "3307256a4e1ea53a",
        "type": "ui_chart",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "group": "c1fddd37879528e5",
        "order": 1,
        "width": 0,
        "height": 0,
        "label": "TempC1",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "3600",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "outputs": 1,
        "useDifferentColor": false,
        "className": "",
        "x": 940,
        "y": 160,
        "wires": [
            []
        ]
    },
    {
        "id": "a3fd8302ec399e31",
        "type": "ui_chart",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "group": "6d46fdae9f413f7b",
        "order": 1,
        "width": 0,
        "height": 0,
        "label": "ADC_CH0V",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "3600",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "outputs": 1,
        "useDifferentColor": false,
        "className": "",
        "x": 950,
        "y": 200,
        "wires": [
            []
        ]
    },
    {
        "id": "fd22b92d2b8de0fb",
        "type": "ui_chart",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "group": "bb5657c2a8c290a3",
        "order": 1,
        "width": 0,
        "height": 0,
        "label": "BatV",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "3600",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "outputs": 1,
        "useDifferentColor": false,
        "className": "",
        "x": 930,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "c7d1f63ff5f0026a",
        "type": "ui_text",
        "z": "5e07f5eeeb2a969b",
        "group": "528e965cef294158",
        "order": 0,
        "width": "6",
        "height": "4",
        "name": "",
        "label": "Digital_IStatus",
        "format": "{{msg.payload}}",
        "layout": "col-center",
        "className": "",
        "x": 960,
        "y": 240,
        "wires": []
    },
    {
        "id": "159967056da52706",
        "type": "ui_text",
        "z": "5e07f5eeeb2a969b",
        "group": "5e615e3edb5999a0",
        "order": 0,
        "width": "6",
        "height": "4",
        "name": "",
        "label": "EXTI_Trigger",
        "format": "{{msg.payload}}",
        "layout": "col-center",
        "className": "",
        "x": 950,
        "y": 280,
        "wires": []
    },
    {
        "id": "7bb78b78445ac9e3",
        "type": "ui_chart",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "group": "5f7fec85295a7f7c",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "TempC_SHT",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "3600",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "outputs": 1,
        "useDifferentColor": false,
        "className": "",
        "x": 950,
        "y": 360,
        "wires": [
            []
        ]
    },
    {
        "id": "0364752170ed6228",
        "type": "ui_text",
        "z": "5e07f5eeeb2a969b",
        "group": "3cb616f18674c42a",
        "order": 0,
        "width": "6",
        "height": "4",
        "name": "",
        "label": "Work_mode",
        "format": "{{msg.payload}}",
        "layout": "col-center",
        "className": "",
        "x": 950,
        "y": 400,
        "wires": []
    },
    {
        "id": "65293155d71d54b9",
        "type": "ui_chart",
        "z": "5e07f5eeeb2a969b",
        "name": "",
        "group": "bb2e35e7a931c198",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "Hum_SHT",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "3600",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "outputs": 1,
        "useDifferentColor": false,
        "className": "",
        "x": 950,
        "y": 440,
        "wires": [
            []
        ]
    },
    {
        "id": "a21581a41adc1714",
        "type": "ui_text",
        "z": "5e07f5eeeb2a969b",
        "group": "9109ae41eee353df",
        "order": 0,
        "width": "6",
        "height": "4",
        "name": "",
        "label": "Door_status",
        "format": "{{msg.payload}}",
        "layout": "col-center",
        "className": "",
        "x": 950,
        "y": 320,
        "wires": []
    },
    {
        "id": "416a930e89291528",
        "type": "debug",
        "z": "5e07f5eeeb2a969b",
        "name": "debug 2",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 660,
        "y": 60,
        "wires": []
    },
    {
        "id": "3601a98894805fbe",
        "type": "debug",
        "z": "5e07f5eeeb2a969b",
        "name": "debug 3",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 380,
        "y": 240,
        "wires": []
    },
    {
        "id": "bb1c0e81fd51fa9e",
        "type": "serial-port",
        "serialport": "/dev/ttyUSB0",
        "serialbaud": "9600",
        "databits": "8",
        "parity": "none",
        "stopbits": "1",
        "waitfor": "",
        "dtr": "none",
        "rts": "none",
        "cts": "none",
        "dsr": "none",
        "newline": "\\n",
        "bin": "false",
        "out": "char",
        "addchar": "\\r\\n",
        "responsetimeout": "10000"
    },
    {
        "id": "c1fddd37879528e5",
        "type": "ui_group",
        "name": "BatV",
        "tab": "abb98f80600a5448",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "6d46fdae9f413f7b",
        "type": "ui_group",
        "name": "ADC_CH0V",
        "tab": "abb98f80600a5448",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "bb5657c2a8c290a3",
        "type": "ui_group",
        "name": "BatV",
        "tab": "abb98f80600a5448",
        "order": 3,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "528e965cef294158",
        "type": "ui_group",
        "name": "Digital_IStatus",
        "tab": "abb98f80600a5448",
        "order": 4,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "5e615e3edb5999a0",
        "type": "ui_group",
        "name": "EXTI_Trigger",
        "tab": "abb98f80600a5448",
        "order": 5,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "5f7fec85295a7f7c",
        "type": "ui_group",
        "name": "TempC_SHT",
        "tab": "abb98f80600a5448",
        "order": 6,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "3cb616f18674c42a",
        "type": "ui_group",
        "name": "Work_mode",
        "tab": "abb98f80600a5448",
        "order": 7,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "bb2e35e7a931c198",
        "type": "ui_group",
        "name": "Hum_SHT",
        "tab": "abb98f80600a5448",
        "order": 8,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "9109ae41eee353df",
        "type": "ui_group",
        "name": "Door_status",
        "tab": "abb98f80600a5448",
        "order": 9,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "abb98f80600a5448",
        "type": "ui_tab",
        "name": "LSN50v2 S31",
        "icon": "LSN50v2 S31",
        "disabled": false,
        "hidden": false
    }
]