Now a few weeks since our Solarinstallation became active we had a few days of fog and complete cloud cover so not much power was produced. As we have a situation where Power from the grid is cheaper between 22:00 and 06:00 I looked if exploiting that makes any sense.
- Price difference between High and low Tariff is 30%
- Highest Efficiency of the Multiplus II 48/5000 is 92.8% at 1390W
- Estimated efficiency of LiFePo Chemistry 98%
Resulting in a loss of the ac-dc–ac conversion of about 15.6%.
So utilizing the battery to shift usage from High to Low tariff results in a discount of 14.4%
Yes I’m neglecting any wear of the Battery but that gets to complicated to my liking and the thing was cheap and is there anyway so let’s use it.
Folowing is my Dokumentation feel free to use & adapt at your own Risk.
Regards
Henk
[
{
"id": "dbbbec33cb9743e6",
"type": "group",
"z": "2d8be6620eb9dc50",
"style": {
"stroke": "#999999",
"stroke-opacity": "1",
"fill": "none",
"fill-opacity": "1",
"label": true,
"label-position": "nw",
"color": "#a4a4a4"
},
"nodes": [
"b92645f2591b9d4b",
"79853fa81fbb1f58",
"7552d028831bdf80",
"9c1e66168d12d416",
"92da385b50f821f6",
"c30bec2801fcaa59",
"b6182473e16d5188",
"9773fa67f3c60e0c",
"6bcebfbccda6f348",
"bea11a8e0dbfb90a",
"e76dce5d6191fc21",
"74f77571682984f5",
"173fc5ca4d44c51e",
"64b1fd8fef479e30",
"5092b827e0639d02",
"79ecf7a22f855120"
],
"x": 14,
"y": 19,
"w": 972,
"h": 622
},
{
"id": "b92645f2591b9d4b",
"type": "victron-output-ess",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"service": "com.victronenergy.settings",
"path": "/Settings/CGwacs/BatteryLife/Schedule/Charge/0/Soc",
"serviceObj": {
"service": "com.victronenergy.settings",
"name": "Venus settings"
},
"pathObj": {
"path": "/Settings/CGwacs/BatteryLife/Schedule/Charge/0/Soc",
"type": "integer",
"name": "Schedule 1: State of charge (%)",
"writable": true
},
"name": "",
"onlyChanges": false,
"x": 780,
"y": 480,
"wires": []
},
{
"id": "79853fa81fbb1f58",
"type": "function",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Store SOC_now",
"func": "flow.set('SOC_now', msg.payload);\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 520,
"y": 100,
"wires": [
[]
]
},
{
"id": "7552d028831bdf80",
"type": "victron-input-battery",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"service": "com.victronenergy.battery/512",
"path": "/Soc",
"serviceObj": {
"service": "com.victronenergy.battery/512",
"name": "GobelPower"
},
"pathObj": {
"path": "/Soc",
"type": "float",
"name": "State of charge (%)"
},
"initial": "",
"name": "",
"onlyChanges": false,
"roundValues": "1",
"x": 170,
"y": 100,
"wires": [
[
"79853fa81fbb1f58"
]
]
},
{
"id": "9c1e66168d12d416",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Insert your actual State Of Charge Source here",
"info": "",
"x": 220,
"y": 60,
"wires": []
},
{
"id": "92da385b50f821f6",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "At 01:00 set the Desired SOC at Start High Tarif as Target in Charge Schedule 1.",
"info": "",
"x": 320,
"y": 440,
"wires": []
},
{
"id": "c30bec2801fcaa59",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Trigger 01:00 all days but mondays",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "00 01 * * 2,3,4,5,6,0",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "0",
"payloadType": "num",
"x": 200,
"y": 480,
"wires": [
[
"5092b827e0639d02"
]
]
},
{
"id": "b6182473e16d5188",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Trigger at 01:00 mondays",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "00 01 * * 1",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "100",
"payloadType": "num",
"x": 180,
"y": 600,
"wires": [
[
"5092b827e0639d02"
]
]
},
{
"id": "9773fa67f3c60e0c",
"type": "victron-output-ess",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"service": "com.victronenergy.settings",
"path": "/Settings/CGwacs/BatteryLife/MinimumSocLimit",
"serviceObj": {
"service": "com.victronenergy.settings",
"name": "Venus settings"
},
"pathObj": {
"path": "/Settings/CGwacs/BatteryLife/MinimumSocLimit",
"type": "integer",
"name": "Minimum Discharge SOC (%)",
"writable": true
},
"name": "",
"onlyChanges": false,
"x": 760,
"y": 280,
"wires": []
},
{
"id": "6bcebfbccda6f348",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Read the actual SOC 1 minute before Low Tariff starts and set that as Minimum Discharge SOC limit",
"info": "",
"x": 380,
"y": 200,
"wires": []
},
{
"id": "bea11a8e0dbfb90a",
"type": "function",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "get SOC_now",
"func": "msg.payload = flow.get('SOC_now') || 20;\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 340,
"y": 240,
"wires": [
[
"9773fa67f3c60e0c"
]
]
},
{
"id": "e76dce5d6191fc21",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Trigger 21:59",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "59 21 * * *",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 140,
"y": 240,
"wires": [
[
"bea11a8e0dbfb90a"
]
]
},
{
"id": "74f77571682984f5",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "As Low Tarif ends restore Minimum Discharge SOC limit",
"info": "",
"x": 240,
"y": 320,
"wires": []
},
{
"id": "173fc5ca4d44c51e",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "Trigger 06:00",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "59 21 * * *",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 140,
"y": 360,
"wires": [
[
"64b1fd8fef479e30"
]
]
},
{
"id": "64b1fd8fef479e30",
"type": "function",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "get SOC_Desired_Minimum",
"func": "//Output SOC_Desired_Minimum and fallback to 20% if not set.\nmsg.payload = flow.get('SOC_Desired_Minimum') || 20;\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 380,
"y": 360,
"wires": [
[
"9773fa67f3c60e0c"
]
]
},
{
"id": "5092b827e0639d02",
"type": "function",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "set Desired.SOC",
"func": "let desiredValue = flow.get('SOC_Desired_Start_High_Tarrif') || 50;\n\nif (msg.payload < desiredValue) {\n msg.payload = desiredValue;\n}\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 470,
"y": 480,
"wires": [
[
"b92645f2591b9d4b"
]
]
},
{
"id": "79ecf7a22f855120",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "dbbbec33cb9743e6",
"name": "On Mondays we want to start at 100%. resets the SOC calculation of the BMS. And happens to be Laundry day, so we need power early.",
"info": "",
"x": 490,
"y": 560,
"wires": []
},
{
"id": "c1f5e96a479f49bf",
"type": "group",
"z": "2d8be6620eb9dc50",
"style": {
"stroke": "#999999",
"stroke-opacity": "1",
"fill": "none",
"fill-opacity": "1",
"label": true,
"label-position": "nw",
"color": "#a4a4a4"
},
"nodes": [
"7c3c541fe9da0a57",
"c0e0db3fb59bf6d5",
"9ff1f48939d56412",
"70326dc62189482a",
"39e447656af2874e",
"eca3165b53295ab1",
"2cec9518188e4d86",
"818443851ec828b2",
"cd8a3aaddb82f6b7",
"38b4cc988f3c3b69",
"dd0c66cdb7f8339e",
"e0c710ec65654bed",
"df9aaf58f3491729",
"8ecf693ba0586a65",
"380edbd215f68522",
"d4eb8ba82e4fb79b",
"15c94b36023df26b",
"5c71cc094dc09947"
],
"x": 1014,
"y": 19,
"w": 872,
"h": 602
},
{
"id": "7c3c541fe9da0a57",
"type": "victron-input-ess",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"service": "com.victronenergy.settings",
"path": "/Settings/CGwacs/MaxChargePower",
"serviceObj": {
"service": "com.victronenergy.settings",
"name": "Venus settings"
},
"pathObj": {
"path": "/Settings/CGwacs/MaxChargePower",
"type": "integer",
"name": "Max charge power (W)",
"remarks": "<p>Not used with DVCC.</p>"
},
"initial": "",
"name": "",
"onlyChanges": false,
"x": 1710,
"y": 100,
"wires": [
[]
]
},
{
"id": "c0e0db3fb59bf6d5",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "00 12 * * *",
"once": true,
"onceDelay": "10",
"topic": "",
"payload": "4170",
"payloadType": "num",
"x": 1110,
"y": 100,
"wires": [
[
"9ff1f48939d56412"
]
]
},
{
"id": "9ff1f48939d56412",
"type": "victron-output-ess",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"service": "com.victronenergy.settings",
"path": "/Settings/CGwacs/MaxChargePower",
"serviceObj": {
"service": "com.victronenergy.settings",
"name": "Venus settings"
},
"pathObj": {
"path": "/Settings/CGwacs/MaxChargePower",
"type": "integer",
"name": "Max charge power (W)",
"writable": true,
"remarks": "<p>Not used with DVCC.</p>"
},
"name": "",
"onlyChanges": false,
"x": 1360,
"y": 100,
"wires": []
},
{
"id": "70326dc62189482a",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "Set Chargepower to 1390W per inverter (max. Efficency ac-dc) Note: 3 Fase System",
"info": "",
"x": 1330,
"y": 60,
"wires": []
},
{
"id": "39e447656af2874e",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "Check",
"info": "",
"x": 1690,
"y": 60,
"wires": []
},
{
"id": "eca3165b53295ab1",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "Select desired Minimum SOC limit",
"info": "",
"x": 1180,
"y": 180,
"wires": []
},
{
"id": "2cec9518188e4d86",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "20",
"payloadType": "num",
"x": 1110,
"y": 220,
"wires": [
[
"e0c710ec65654bed"
]
]
},
{
"id": "818443851ec828b2",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "40",
"payloadType": "num",
"x": 1110,
"y": 260,
"wires": [
[
"e0c710ec65654bed"
]
]
},
{
"id": "cd8a3aaddb82f6b7",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "60",
"payloadType": "num",
"x": 1110,
"y": 300,
"wires": [
[
"e0c710ec65654bed"
]
]
},
{
"id": "38b4cc988f3c3b69",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "80",
"payloadType": "num",
"x": 1110,
"y": 340,
"wires": [
[
"e0c710ec65654bed"
]
]
},
{
"id": "dd0c66cdb7f8339e",
"type": "victron-output-ess",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"service": "com.victronenergy.settings",
"path": "/Settings/CGwacs/BatteryLife/MinimumSocLimit",
"serviceObj": {
"service": "com.victronenergy.settings",
"name": "Venus settings"
},
"pathObj": {
"path": "/Settings/CGwacs/BatteryLife/MinimumSocLimit",
"type": "integer",
"name": "Minimum Discharge SOC (%)",
"writable": true
},
"name": "",
"onlyChanges": false,
"x": 1680,
"y": 220,
"wires": []
},
{
"id": "e0c710ec65654bed",
"type": "function",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "set SOC_Desired_Minimum",
"func": "flow.set('SOC_Desired_Minimum', msg.payload);\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1340,
"y": 220,
"wires": [
[
"dd0c66cdb7f8339e"
]
]
},
{
"id": "df9aaf58f3491729",
"type": "comment",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "Select Desired SOC at Start High Tarif",
"info": "",
"x": 1190,
"y": 420,
"wires": []
},
{
"id": "8ecf693ba0586a65",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "20",
"payloadType": "num",
"x": 1110,
"y": 460,
"wires": [
[
"5c71cc094dc09947"
]
]
},
{
"id": "380edbd215f68522",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "40",
"payloadType": "num",
"x": 1110,
"y": 500,
"wires": [
[
"5c71cc094dc09947"
]
]
},
{
"id": "d4eb8ba82e4fb79b",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "60",
"payloadType": "num",
"x": 1110,
"y": 540,
"wires": [
[
"5c71cc094dc09947"
]
]
},
{
"id": "15c94b36023df26b",
"type": "inject",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "80",
"payloadType": "num",
"x": 1110,
"y": 580,
"wires": [
[
"5c71cc094dc09947"
]
]
},
{
"id": "5c71cc094dc09947",
"type": "function",
"z": "2d8be6620eb9dc50",
"g": "c1f5e96a479f49bf",
"name": "set SOC_Desired_Start_High_Tarrif",
"func": "flow.set('SOC_Desired_Start_High_Tarrif', msg.payload);\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1380,
"y": 460,
"wires": [
[]
]
}
]