Using Node Red to control the relays on multiplus1

I am trying to use node red to control the relays on a Multiplus1 the can be triggered by time of day & SOC, this is to control a water heater using the solar array.

Any help would be appreciated .

Thanks Chris

If you have a Cerbo for monitoring your system which is connected to VRM, there is a gentleman in NZ who writes these programs. He has done a few for the NZ Victron distributors and quite a few private clients. He does this as part of his job, charges per hour and provides a good service and backup.

He has just done something very similar for our clients boat using battery state of charge and some other parameters on a lithium system.

I don’t know if this will help. It is based on VRLA rather than Lithium. I use the Bulk/Absorption/Float state of the of the Solar chargers rather than the SOC%.
There is a manual override also. I use an SSR relay rather than an electromagnetic contactor and monitor the SSR heat sink temperature.

[
    {
        "id": "09f193279e87f963",
        "type": "tab",
        "label": "Absorption Relay Trigger",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "efd24cb7f2dcf7de",
        "type": "victron-input-solarcharger",
        "z": "09f193279e87f963",
        "service": "com.victronenergy.solarcharger/288",
        "path": "/State",
        "serviceObj": {
            "service": "com.victronenergy.solarcharger/288",
            "name": "Solar Trina Panel",
            "communityTag": "solarcharger"
        },
        "pathObj": {
            "path": "/State",
            "type": "enum",
            "name": "Charge state",
            "enum": {
                "0": "Off",
                "2": "Fault",
                "3": "Bulk",
                "4": "Absorption",
                "5": "Float",
                "6": "Storage",
                "7": "Equalize",
                "245": "Off",
                "247": "Equalize",
                "252": "External Control"
            }
        },
        "name": "TR C/State",
        "onlyChanges": false,
        "roundValues": "no",
        "rateLimit": "2",
        "outputs": 1,
        "conditionalMode": false,
        "outputTrue": "true",
        "outputFalse": "false",
        "debounce": "2000",
        "x": 80,
        "y": 40,
        "wires": [
            [
                "3aa4465902983b86"
            ]
        ]
    },
    {
        "id": "54c771e5b3a741de",
        "type": "victron-output-relay",
        "z": "09f193279e87f963",
        "service": "com.victronenergy.system/0",
        "path": "/Relay/1/State",
        "serviceObj": {
            "service": "com.victronenergy.system/0",
            "name": "Venus device"
        },
        "pathObj": {
            "path": "/Relay/1/State",
            "type": "enum",
            "name": "Venus relay 2 state",
            "enum": {
                "0": "Open",
                "1": "Closed"
            },
            "mode": "both"
        },
        "initial": 0,
        "name": "GX Relay2",
        "onlyChanges": false,
        "roundValues": "no",
        "rateLimit": 0,
        "outputs": 0,
        "conditionalMode": false,
        "condition1Operator": ">",
        "condition2Enabled": false,
        "condition2Service": "",
        "condition2Path": "",
        "condition2Operator": ">",
        "logicOperator": "AND",
        "outputTrue": "true",
        "outputFalse": "false",
        "outputOnChange": false,
        "debounce": 2000,
        "x": 730,
        "y": 520,
        "wires": []
    },
    {
        "id": "4d2ad28c3b4486d4",
        "type": "debug",
        "z": "09f193279e87f963",
        "name": "AbsVoltTemp debug",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 620,
        "y": 200,
        "wires": []
    },
    {
        "id": "3fc571a974b7f7c7",
        "type": "victron-input-battery",
        "z": "09f193279e87f963",
        "service": "com.victronenergy.battery/279",
        "path": "/Dc/0/Temperature",
        "serviceObj": {
            "service": "com.victronenergy.battery/279",
            "name": "Shunt Yuasa 533ah",
            "communityTag": "battery"
        },
        "pathObj": {
            "path": "/Dc/0/Temperature",
            "type": "float",
            "name": "Battery temperature (°C)"
        },
        "name": "Shunt Temp",
        "onlyChanges": false,
        "roundValues": "no",
        "rateLimit": "2",
        "outputs": 1,
        "conditionalMode": false,
        "outputTrue": "true",
        "outputFalse": "false",
        "debounce": "2000",
        "x": 90,
        "y": 220,
        "wires": [
            [
                "d70b09f208325fe6",
                "55e013630bfba5e2"
            ]
        ]
    },
    {
        "id": "55e013630bfba5e2",
        "type": "change",
        "z": "09f193279e87f963",
        "name": " Absorption Voltage Temp Adj.",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "35",
                "fromt": "num",
                "to": "56.952",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "34",
                "fromt": "num",
                "to": "57.0168",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "33",
                "fromt": "num",
                "to": "57.0816",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "32",
                "fromt": "num",
                "to": "57.1464",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "31",
                "fromt": "num",
                "to": "57.2112",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "30",
                "fromt": "num",
                "to": "57.276",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "29",
                "fromt": "num",
                "to": "57.3408",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "28",
                "fromt": "num",
                "to": "57.4056",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "27",
                "fromt": "num",
                "to": "57.4704",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "26",
                "fromt": "num",
                "to": "57.5352",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "25",
                "fromt": "num",
                "to": "57.6",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "24",
                "fromt": "num",
                "to": "57.6648",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "23",
                "fromt": "num",
                "to": "57.7296",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "22",
                "fromt": "num",
                "to": "57.7944",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "21",
                "fromt": "num",
                "to": "57.8592",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "20",
                "fromt": "num",
                "to": "57.924",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "19",
                "fromt": "num",
                "to": "57.9888",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "18",
                "fromt": "num",
                "to": "58.0536",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "17",
                "fromt": "num",
                "to": "58.1184",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "16",
                "fromt": "num",
                "to": "58.1832",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "15",
                "fromt": "num",
                "to": "58.248",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "14",
                "fromt": "num",
                "to": "58.3128",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "13",
                "fromt": "num",
                "to": "58.3776",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "12",
                "fromt": "num",
                "to": "58.4424",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "11",
                "fromt": "num",
                "to": "58.5072",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "10",
                "fromt": "num",
                "to": "58.572",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "9",
                "fromt": "num",
                "to": "58.6368",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "8",
                "fromt": "num",
                "to": "58.7016",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "7",
                "fromt": "num",
                "to": "58.7664",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "6",
                "fromt": "num",
                "to": "58.8312",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "5",
                "fromt": "num",
                "to": "58.896",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "4",
                "fromt": "num",
                "to": "58.9608",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "3",
                "fromt": "num",
                "to": "59.0256",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "num",
                "to": "59.0904",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "num",
                "to": "59.1552",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "num",
                "to": "59.22",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 350,
        "y": 160,
        "wires": [
            [
                "4d2ad28c3b4486d4",
                "77507bf9233a26cf"
            ]
        ]
    },
    {
        "id": "c75b1c5af0d8310e",
        "type": "function",
        "z": "09f193279e87f963",
        "name": "Excess Absorb(5V)/Float(2.5V)",
        "func": "'use Strict';\nlet state = flow.get('state') || 0;\nlet voltage = flow.get('voltage') || 0;\nlet abstempvolt = flow.get('abstempvolt')  || 0;\nlet floattempvolt = flow.get('floattempvolt') || 0;\nlet controla = voltage - (abstempvolt - 5.0);\nlet controlb = voltage - (floattempvolt - 2.5);    \nlet duskDawnHours = flow.get('duskDawnHours') || 0;\n    // duskDawnHours is set in BigTimer Node to operate between set hours after\n    //dawn (2 Hours) and before dusk (1.5 hours)\nlet ssrOveride = flow.get('ssrOveride') || 0;\n    // ssrOveride allows the manual override of the excess solar function to \n    // to either be closed or open if needed\n\nif (state === 4 \n    && controla > 0 \n    && duskDawnHours === 1 \n    && ssrOveride === 1)\n    {\n    msg.payload = 1;\n} \nelse\nif (state === 5 \n    && controlb > 0 \n    && duskDawnHours === 1 \n    && ssrOveride === 1)\n    {\n    msg.payload = 1;\n}\nelse {\n    msg.payload = 0;\n}\n\nreturn msg;",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 450,
        "y": 520,
        "wires": [
            [
                "54c771e5b3a741de",
                "4766233118e86eda"
            ]
        ]
    },
    {
        "id": "d70b09f208325fe6",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "Float Voltage Temp Adjustment",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "35",
                "fromt": "num",
                "to": "54.522",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "34",
                "fromt": "num",
                "to": "54.6168",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "33",
                "fromt": "num",
                "to": "54.6816",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "32",
                "fromt": "num",
                "to": "54.7464",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "31",
                "fromt": "num",
                "to": "54.8112",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "30",
                "fromt": "num",
                "to": "54.876",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "29",
                "fromt": "num",
                "to": "54.9408",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "28",
                "fromt": "num",
                "to": "55.0056",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "27",
                "fromt": "num",
                "to": "55.0704",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "26",
                "fromt": "num",
                "to": "55.1352",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "25",
                "fromt": "num",
                "to": "55.2",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "24",
                "fromt": "num",
                "to": "55.2648",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "23",
                "fromt": "num",
                "to": "55.3296",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "22",
                "fromt": "num",
                "to": "55.3944",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "21",
                "fromt": "num",
                "to": "55.4592",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "20",
                "fromt": "num",
                "to": "55.524",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "19",
                "fromt": "num",
                "to": "55.5888",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "18",
                "fromt": "num",
                "to": "55.6536",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "17",
                "fromt": "num",
                "to": "55.7184",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "16",
                "fromt": "num",
                "to": "55.7832",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "15",
                "fromt": "num",
                "to": "55.848",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "14",
                "fromt": "num",
                "to": "55.9128",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "13",
                "fromt": "num",
                "to": "55.9776",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "12",
                "fromt": "num",
                "to": "56.0424",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "11",
                "fromt": "num",
                "to": "56.1072",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "10",
                "fromt": "num",
                "to": "56.172",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "9",
                "fromt": "num",
                "to": "56.2368",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "8",
                "fromt": "num",
                "to": "56.3016",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "7",
                "fromt": "num",
                "to": "56.3664",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "6",
                "fromt": "num",
                "to": "56.4312",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "5",
                "fromt": "num",
                "to": "56.496",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "4",
                "fromt": "num",
                "to": "56.5608",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "3",
                "fromt": "num",
                "to": "56.6256",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "num",
                "to": "56.6904",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "num",
                "to": "56.7552",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "num",
                "to": "56.82",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 350,
        "y": 280,
        "wires": [
            [
                "23db4689d782af3b",
                "f79a71a1d299254b"
            ]
        ]
    },
    {
        "id": "23db4689d782af3b",
        "type": "debug",
        "z": "09f193279e87f963",
        "name": "FloatVoltAdj debug",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 610,
        "y": 320,
        "wires": []
    },
    {
        "id": "bf5ed7c5332d9077",
        "type": "victron-input-battery",
        "z": "09f193279e87f963",
        "service": "com.victronenergy.battery/279",
        "path": "/Dc/0/Voltage",
        "serviceObj": {
            "service": "com.victronenergy.battery/279",
            "name": "Shunt Yuasa 533ah",
            "communityTag": "battery"
        },
        "pathObj": {
            "path": "/Dc/0/Voltage",
            "type": "float",
            "name": "Battery voltage (V)"
        },
        "name": "Shunt Volts",
        "onlyChanges": false,
        "roundValues": "2",
        "rateLimit": "2",
        "outputs": 1,
        "conditionalMode": false,
        "outputTrue": "true",
        "outputFalse": "false",
        "debounce": "2000",
        "x": 90,
        "y": 100,
        "wires": [
            [
                "06c01ca8695077a8"
            ]
        ]
    },
    {
        "id": "3aa4465902983b86",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "state",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 590,
        "y": 40,
        "wires": [
            []
        ]
    },
    {
        "id": "06c01ca8695077a8",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "set flow.voltage",
        "rules": [
            {
                "t": "set",
                "p": "voltage",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 600,
        "y": 100,
        "wires": [
            []
        ]
    },
    {
        "id": "77507bf9233a26cf",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "abstempvolt",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 620,
        "y": 160,
        "wires": [
            []
        ]
    },
    {
        "id": "f79a71a1d299254b",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "floattempvolt",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 620,
        "y": 280,
        "wires": [
            []
        ]
    },
    {
        "id": "54826942e1266cfb",
        "type": "inject",
        "z": "09f193279e87f963",
        "name": "Timer set to seconds (1)",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "1",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 150,
        "y": 520,
        "wires": [
            [
                "c75b1c5af0d8310e"
            ]
        ]
    },
    {
        "id": "6268848edecd53f9",
        "type": "bigtimer",
        "z": "09f193279e87f963",
        "outtopic": "",
        "outpayload1": "1",
        "outpayload2": "0",
        "name": "Big Timer Dusk/Dawn w/Offset",
        "comment": "",
        "lat": "-33.69896697998047",
        "lon": "150.3176727294922",
        "starttime": "5003",
        "endtime": "5004",
        "starttime2": "0",
        "endtime2": 0,
        "startoff": "210",
        "endoff": "-210",
        "startoff2": 0,
        "endoff2": 0,
        "offs": 0,
        "outtext1": "",
        "outtext2": "",
        "timeout": "",
        "sun": true,
        "mon": true,
        "tue": true,
        "wed": true,
        "thu": true,
        "fri": true,
        "sat": true,
        "jan": true,
        "feb": true,
        "mar": true,
        "apr": true,
        "may": true,
        "jun": true,
        "jul": true,
        "aug": true,
        "sep": true,
        "oct": true,
        "nov": true,
        "dec": true,
        "day1": 0,
        "month1": 0,
        "day2": 0,
        "month2": 0,
        "day3": 0,
        "month3": 0,
        "day4": 0,
        "month4": 0,
        "day5": 0,
        "month5": 0,
        "day6": 0,
        "month6": 0,
        "day7": 0,
        "month7": 0,
        "day8": 0,
        "month8": 0,
        "day9": 0,
        "month9": 0,
        "day10": 0,
        "month10": 0,
        "day11": 0,
        "month11": 0,
        "day12": 0,
        "month12": 0,
        "d1": 0,
        "w1": 0,
        "d2": 0,
        "w2": 0,
        "d3": 0,
        "w3": 0,
        "d4": 0,
        "w4": 0,
        "d5": 0,
        "w5": 0,
        "d6": 0,
        "w6": 0,
        "xday1": 0,
        "xmonth1": 0,
        "xday2": 0,
        "xmonth2": 0,
        "xday3": 0,
        "xmonth3": 0,
        "xday4": 0,
        "xmonth4": 0,
        "xday5": 0,
        "xmonth5": 0,
        "xday6": 0,
        "xmonth6": 0,
        "xday7": 0,
        "xmonth7": 0,
        "xday8": 0,
        "xmonth8": 0,
        "xday9": 0,
        "xmonth9": 0,
        "xday10": 0,
        "xmonth10": 0,
        "xday11": 0,
        "xmonth11": 0,
        "xday12": 0,
        "xmonth12": 0,
        "xd1": 0,
        "xw1": 0,
        "xd2": 0,
        "xw2": 0,
        "xd3": 0,
        "xw3": 0,
        "xd4": 0,
        "xw4": 0,
        "xd5": 0,
        "xw5": 0,
        "xd6": 0,
        "xw6": 0,
        "suspend": false,
        "random": false,
        "randon1": false,
        "randoff1": false,
        "randon2": false,
        "randoff2": false,
        "repeat": false,
        "atstart": false,
        "odd": false,
        "even": false,
        "x": 150,
        "y": 380,
        "wires": [
            [],
            [
                "f4ca2163d6442fde"
            ],
            []
        ]
    },
    {
        "id": "f4ca2163d6442fde",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "duskDawnHours",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 430,
        "y": 380,
        "wires": [
            [
                "fe89b151daf52a84"
            ]
        ]
    },
    {
        "id": "672270a8c3a60803",
        "type": "change",
        "z": "09f193279e87f963",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "ssrOveride",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 410,
        "y": 460,
        "wires": [
            []
        ]
    },
    {
        "id": "a9b454a3ea915f39",
        "type": "ui-dropdown",
        "z": "09f193279e87f963",
        "group": "c49274d0b17748bc",
        "name": "Relay 2 Overide Drop Down",
        "label": "Relay 2 Overide",
        "tooltip": "",
        "order": 18,
        "width": "2",
        "height": "1",
        "passthru": false,
        "multiple": false,
        "chips": false,
        "clearable": false,
        "options": [
            {
                "label": "(0) Open- Inactive",
                "value": 0,
                "type": "num"
            },
            {
                "label": "(1) Closed - Active",
                "value": 1,
                "type": "num"
            }
        ],
        "payload": "",
        "topic": "topic",
        "topicType": "msg",
        "className": "",
        "typeIsComboBox": false,
        "msgTrigger": "onChange",
        "x": 140,
        "y": 460,
        "wires": [
            [
                "672270a8c3a60803"
            ]
        ]
    },
    {
        "id": "fe89b151daf52a84",
        "type": "debug",
        "z": "09f193279e87f963",
        "name": "debug 1",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 660,
        "y": 380,
        "wires": []
    },
    {
        "id": "4766233118e86eda",
        "type": "debug",
        "z": "09f193279e87f963",
        "name": "debug 3",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 720,
        "y": 580,
        "wires": []
    },
    {
        "id": "c49274d0b17748bc",
        "type": "ui-group",
        "name": "Charging Output",
        "page": "f53f88767e2e84fc",
        "width": "12",
        "height": "1",
        "order": 1,
        "showTitle": true,
        "className": "",
        "visible": true,
        "disabled": "false",
        "groupType": "default"
    },
    {
        "id": "f53f88767e2e84fc",
        "type": "ui-page",
        "name": "Mistral Energy Data",
        "ui": "194b8f6ad33886a6",
        "path": "/page2",
        "icon": "home",
        "layout": "grid",
        "theme": "4c2ef03dbf63e1b9",
        "breakpoints": [
            {
                "name": "Default",
                "px": "0",
                "cols": "3"
            },
            {
                "name": "Tablet",
                "px": "576",
                "cols": "6"
            },
            {
                "name": "Small Desktop",
                "px": "768",
                "cols": "9"
            },
            {
                "name": "Desktop",
                "px": "1024",
                "cols": "12"
            }
        ],
        "order": 1,
        "className": "",
        "visible": "true",
        "disabled": "false"
    },
    {
        "id": "194b8f6ad33886a6",
        "type": "ui-base",
        "name": "My Dashboard",
        "path": "/dashboard",
        "appIcon": "",
        "includeClientData": true,
        "acceptsClientConfig": [
            "ui-notification",
            "ui-control"
        ],
        "showPathInSidebar": false,
        "headerContent": "page",
        "navigationStyle": "default",
        "titleBarStyle": "default",
        "showReconnectNotification": true,
        "notificationDisplayTime": 1,
        "showDisconnectNotification": true,
        "allowInstall": false
    },
    {
        "id": "4c2ef03dbf63e1b9",
        "type": "ui-theme",
        "name": "Default Theme",
        "colors": {
            "surface": "#94e3fe",
            "primary": "#0056d6",
            "bgPage": "#000000",
            "groupBg": "#000000",
            "groupOutline": "#791a3e"
        },
        "sizes": {
            "density": "default",
            "pagePadding": "12px",
            "groupGap": "12px",
            "groupBorderRadius": "4px",
            "widgetGap": "12px"
        }
    },
    {
        "id": "d29aee9e7e48e6ae",
        "type": "global-config",
        "env": [],
        "modules": {
            "@victronenergy/node-red-contrib-victron": "1.6.64",
            "node-red-contrib-bigtimer": "2.8.6",
            "@flowfuse/node-red-dashboard": "1.30.2"
        }
    }
]

Thank you