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
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