1
[
    {
        "id": "b1c231ac6355c70b",
        "type": "group",
        "z": "234e3fb5fd1c4345",
        "style": {
            "stroke": "#2c4d57",
            "stroke-opacity": "1",
            "fill": "#002b36",
            "fill-opacity": "0.5",
            "label": true,
            "label-position": "nw",
            "color": "#839496"
        },
        "nodes": [
            "befae133e7e5b3b1",
            "a34fc69a013469aa",
            "5e8ee2a2b83575b9",
            "2a8fa8beb2df9eab",
            "6e2dd403333b5066",
            "0eb3cbb361f4dace",
            "844c468f52cb54f2",
            "1ebbda919261dd57",
            "d2a06754a7a0735b",
            "7bfd0636526696f9",
            "112f0f10662f4d74",
            "e2f230d43226333c",
            "8210923547f9a322",
            "1041f69c94b7b5d5",
            "199d916de7e0024b",
            "f183bca9e4fd5987",
            "5b5898eaa462dc21",
            "09281404a30c3747",
            "eda12f5e32113a32",
            "0acaba3442ca81a1",
            "b7bcd4518aecc938",
            "9265f0fed0da5402",
            "84737387a5440e83",
            "608a3d75f0f897ca",
            "d735bab09a11d8b7",
            "74878fb02de4ef4c",
            "be2245e57fb2769b"
        ],
        "x": 34,
        "y": 19,
        "w": 1072,
        "h": 342
    },
    {
        "id": "befae133e7e5b3b1",
        "type": "function",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "data",
        "func": "msg.payload = msg.payload;\nmsg.headers = {};\nmsg.headers['tags'] = 'wrench,car';\nmsg.headers['X-Title'] = 'Vehicle 1';\n\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 850,
        "y": 100,
        "wires": [
            [
                "a34fc69a013469aa"
            ]
        ]
    },
    {
        "id": "a34fc69a013469aa",
        "type": "http request",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "ntfy LubeLogger",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "ntfy.sh/LubeLoggerTopic",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "basic",
        "senderr": false,
        "headers": [],
        "x": 1000,
        "y": 100,
        "wires": [
            []
        ]
    },
    {
        "id": "5e8ee2a2b83575b9",
        "type": "split",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "",
        "splt": "\\n",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "property": "payload",
        "x": 270,
        "y": 100,
        "wires": [
            [
                "2a8fa8beb2df9eab"
            ]
        ]
    },
    {
        "id": "2a8fa8beb2df9eab",
        "type": "switch",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Filter",
        "property": "payload.urgency",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "PastDue",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "VeryUrgent",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "Urgent",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": true,
        "outputs": 3,
        "x": 390,
        "y": 100,
        "wires": [
            [
                "6e2dd403333b5066"
            ],
            [
                "844c468f52cb54f2"
            ],
            [
                "d2a06754a7a0735b"
            ]
        ]
    },
    {
        "id": "6e2dd403333b5066",
        "type": "template",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{{payload.description}} is past due!!\n\nDate: {{payload.dueDate}}\nMileage: {{payload.dueOdometer}}",
        "output": "str",
        "x": 540,
        "y": 60,
        "wires": [
            [
                "0eb3cbb361f4dace"
            ]
        ]
    },
    {
        "id": "0eb3cbb361f4dace",
        "type": "change",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Format",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "/",
                "fromt": "str",
                "to": "/",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 60,
        "wires": [
            [
                "befae133e7e5b3b1"
            ]
        ]
    },
    {
        "id": "844c468f52cb54f2",
        "type": "template",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{{payload.description}} is very urgent!!\n\nDate: {{payload.dueDate}}\nMileage: {{payload.dueOdometer}}",
        "output": "str",
        "x": 540,
        "y": 100,
        "wires": [
            [
                "1ebbda919261dd57"
            ]
        ]
    },
    {
        "id": "1ebbda919261dd57",
        "type": "change",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Format",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "/",
                "fromt": "str",
                "to": "/",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 100,
        "wires": [
            [
                "befae133e7e5b3b1"
            ]
        ]
    },
    {
        "id": "d2a06754a7a0735b",
        "type": "template",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{{payload.description}} is urgent!!\n\nDate: {{payload.dueDate}}\nMileage: {{payload.dueOdometer}}",
        "output": "str",
        "x": 540,
        "y": 140,
        "wires": [
            [
                "7bfd0636526696f9"
            ]
        ]
    },
    {
        "id": "7bfd0636526696f9",
        "type": "change",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Format",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "/",
                "fromt": "str",
                "to": "/",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 140,
        "wires": [
            [
                "befae133e7e5b3b1"
            ]
        ]
    },
    {
        "id": "112f0f10662f4d74",
        "type": "function",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "data",
        "func": "msg.payload = msg.payload;\nmsg.headers = {};\nmsg.headers['tags'] = 'wrench,car';\nmsg.headers['X-Title'] = 'Vehicle 2';\n\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 850,
        "y": 280,
        "wires": [
            [
                "e2f230d43226333c"
            ]
        ]
    },
    {
        "id": "e2f230d43226333c",
        "type": "http request",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "ntfy LubeLogger",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "ntfy.sh/LubeLoggerTopic",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "bearer",
        "senderr": false,
        "headers": [],
        "x": 1000,
        "y": 280,
        "wires": [
            []
        ]
    },
    {
        "id": "8210923547f9a322",
        "type": "split",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "",
        "splt": "\\n",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "property": "payload",
        "x": 270,
        "y": 280,
        "wires": [
            [
                "1041f69c94b7b5d5"
            ]
        ]
    },
    {
        "id": "1041f69c94b7b5d5",
        "type": "switch",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Filter",
        "property": "payload.urgency",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "PastDue",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "VeryUrgent",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "Urgent",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": true,
        "outputs": 3,
        "x": 390,
        "y": 280,
        "wires": [
            [
                "199d916de7e0024b"
            ],
            [
                "5b5898eaa462dc21"
            ],
            [
                "eda12f5e32113a32"
            ]
        ]
    },
    {
        "id": "199d916de7e0024b",
        "type": "template",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{{payload.description}} is past due!!\n\nDate: {{payload.dueDate}}\nMileage: {{payload.dueOdometer}}",
        "output": "str",
        "x": 540,
        "y": 240,
        "wires": [
            [
                "f183bca9e4fd5987"
            ]
        ]
    },
    {
        "id": "f183bca9e4fd5987",
        "type": "change",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Format",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "/",
                "fromt": "str",
                "to": "/",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 240,
        "wires": [
            [
                "112f0f10662f4d74"
            ]
        ]
    },
    {
        "id": "5b5898eaa462dc21",
        "type": "template",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{{payload.description}} is very urgent!!\n\nDate: {{payload.dueDate}}\nMileage: {{payload.dueOdometer}}",
        "output": "str",
        "x": 540,
        "y": 280,
        "wires": [
            [
                "09281404a30c3747"
            ]
        ]
    },
    {
        "id": "09281404a30c3747",
        "type": "change",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Format",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "/",
                "fromt": "str",
                "to": "/",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 280,
        "wires": [
            [
                "112f0f10662f4d74"
            ]
        ]
    },
    {
        "id": "eda12f5e32113a32",
        "type": "template",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Template",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{{payload.description}} is due!!\n\nDate: {{payload.dueDate}}\nMileage: {{payload.dueOdometer}}",
        "output": "str",
        "x": 540,
        "y": 320,
        "wires": [
            [
                "0acaba3442ca81a1"
            ]
        ]
    },
    {
        "id": "0acaba3442ca81a1",
        "type": "change",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Format",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "/",
                "fromt": "str",
                "to": "/",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 320,
        "wires": [
            [
                "112f0f10662f4d74"
            ]
        ]
    },
    {
        "id": "b7bcd4518aecc938",
        "type": "http request",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Vehicle 2",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "body",
        "url": "https://yourURL/api/vehicle/reminders?vehicleId=2",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "basic",
        "senderr": false,
        "headers": [],
        "x": 140,
        "y": 280,
        "wires": [
            [
                "8210923547f9a322"
            ]
        ]
    },
    {
        "id": "9265f0fed0da5402",
        "type": "inject",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Mon, Wed, Fri",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "00 08 * * 1,3,5",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 160,
        "y": 180,
        "wires": [
            [
                "84737387a5440e83"
            ]
        ]
    },
    {
        "id": "84737387a5440e83",
        "type": "time-range-switch",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Time filter",
        "lat": "",
        "lon": "",
        "startTime": "07:30",
        "endTime": "09:31",
        "startOffset": 0,
        "endOffset": 0,
        "x": 320,
        "y": 180,
        "wires": [
            [
                "608a3d75f0f897ca"
            ],
            []
        ],
        "info": "This just filters messages from the previous node, which fires any time there's a restart or \"Deploy\" of Node-RED."
    },
    {
        "id": "608a3d75f0f897ca",
        "type": "link out",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "link out 27",
        "mode": "link",
        "links": [
            "be2245e57fb2769b",
            "d735bab09a11d8b7"
        ],
        "x": 415,
        "y": 180,
        "wires": []
    },
    {
        "id": "d735bab09a11d8b7",
        "type": "link in",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "link in 23",
        "links": [
            "608a3d75f0f897ca"
        ],
        "x": 85,
        "y": 240,
        "wires": [
            [
                "b7bcd4518aecc938"
            ]
        ]
    },
    {
        "id": "74878fb02de4ef4c",
        "type": "http request",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "Vehicle 1",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "body",
        "url": "https://yourURL/api/vehicle/reminders?vehicleId=1",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "basic",
        "senderr": false,
        "headers": [],
        "x": 140,
        "y": 100,
        "wires": [
            [
                "5e8ee2a2b83575b9"
            ]
        ]
    },
    {
        "id": "be2245e57fb2769b",
        "type": "link in",
        "z": "234e3fb5fd1c4345",
        "g": "b1c231ac6355c70b",
        "name": "link in 24",
        "links": [
            "608a3d75f0f897ca"
        ],
        "x": 85,
        "y": 140,
        "wires": [
            [
                "74878fb02de4ef4c"
            ]
        ]
    }
]

For immediate assistance, please email our customer support: [email protected]

Download RAW File