[ { "id": "0b6e2e1f06cf2f2d", "type": "tab", "label": "Flow 1", "disabled": false, "info": "", "env": [] }, { "id": "adeb18a71ee9489f", "type": "victron-output-vebus", "z": "0b6e2e1f06cf2f2d", "service": "com.victronenergy.vebus/276", "path": "/Ac/In/1/CurrentLimit", "serviceObj": { "service": "com.victronenergy.vebus/276", "name": "MultiPlus-II 24/3000/70-50 2x120V" }, "pathObj": { "path": "/Ac/In/1/CurrentLimit", "type": "float", "name": "Input 1 current limit (A)", "writable": true }, "name": "", "onlyChanges": false, "x": 1100, "y": 480, "wires": [] }, { "id": "fdba291317d71e8b", "type": "victron-output-vebus", "z": "0b6e2e1f06cf2f2d", "service": "com.victronenergy.vebus/276", "path": "/Ac/In/1/CurrentLimit", "serviceObj": { "service": "com.victronenergy.vebus/276", "name": "MultiPlus-II 24/3000/70-50 2x120V" }, "pathObj": { "path": "/Ac/In/1/CurrentLimit", "type": "float", "name": "Input 1 current limit (A)", "writable": true }, "name": "", "onlyChanges": false, "x": 1100, "y": 320, "wires": [] }, { "id": "e50d3c4e16a94afc", "type": "debug", "z": "0b6e2e1f06cf2f2d", "d": true, "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 820, "y": 3280, "wires": [] }, { "id": "4380db28bbd8f879", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "25", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 520, "y": 3280, "wires": [ [ "e50d3c4e16a94afc" ] ] }, { "id": "2ef0f4657388648c", "type": "inject", "z": "0b6e2e1f06cf2f2d", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "PresentValue", "payloadType": "flow", "x": 250, "y": 3280, "wires": [ [ "4380db28bbd8f879" ] ] }, { "id": "48b16b28e2bc29c2", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "Shore Power Setting", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1120, "y": 3240, "wires": [] }, { "id": "9b318646d0ca8c86", "type": "inject", "z": "0b6e2e1f06cf2f2d", "d": true, "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 210, "y": 3400, "wires": [ [ "8483d5ee8fd0cb06" ] ] }, { "id": "ea42961e1aaf383a", "type": "function", "z": "0b6e2e1f06cf2f2d", "name": "function 1", "func": "\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 200, "y": 3120, "wires": [ [ "43333fc22adc0b8e" ] ] }, { "id": "43333fc22adc0b8e", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "Generator State", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 460, "y": 3160, "wires": [] }, { "id": "e8dcd802d0cc5982", "type": "function", "z": "0b6e2e1f06cf2f2d", "name": "function 2", "func": "\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 740, "y": 3160, "wires": [ [ "48b16b28e2bc29c2" ] ] }, { "id": "8483d5ee8fd0cb06", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "15", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 3400, "wires": [ [ "49724a5a0360b04c" ] ] }, { "id": "49724a5a0360b04c", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "debug 3", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 780, "y": 3400, "wires": [] }, { "id": "dcbf98a43508dec6", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Generator State Running 10, Stopped 11", "info": "", "x": 220, "y": 280, "wires": [] }, { "id": "5c10d9edbcc73870", "type": "victron-input-digitalinput", "z": "0b6e2e1f06cf2f2d", "service": "com.victronenergy.digitalinput/1", "path": "/State", "serviceObj": { "service": "com.victronenergy.digitalinput/1", "name": "Generator" }, "pathObj": { "path": "/State", "type": "enum", "name": "Digital input state", "enum": { "0": "low", "1": "high", "2": "off", "3": "on", "4": "no", "5": "yes", "6": "open", "7": "closed", "8": "ok", "9": "alarm", "10": "running", "11": "stopped" } }, "initial": "", "name": "", "onlyChanges": true, "x": 200, "y": 320, "wires": [ [] ] }, { "id": "accb6256594c2f50", "type": "switch", "z": "0b6e2e1f06cf2f2d", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "10", "vt": "num" }, { "t": "eq", "v": "11", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 450, "y": 420, "wires": [ [ "1725332efb3ea4a8" ], [ "e264580cecc1194a" ] ] }, { "id": "1725332efb3ea4a8", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "Generator Running", "rules": [ { "t": "set", "p": "OrgShorePower", "pt": "flow", "to": "$flowContext(\"PresentShore\") ", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "30", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 550, "y": 320, "wires": [ [ "0ed2f51b14a8b9c6" ] ], "info": "This change node does two things. \n\n1) First, it sets the flow.OrgShorePower variable to the existing AC 1 input current limit in use when the generator starts.\n\nThe value is set using a $flowContext(\"PresentShore\") expresssion.\n\nDuring testing, you can add or subtract from the captured value to prove that the node is working by add the following $flowContext(\"PresentShore\") - 5. \n\nThe five can be replaced with any number." }, { "id": "585950e9bb96c997", "type": "inject", "z": "0b6e2e1f06cf2f2d", "name": "Set Gen Running 10", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "10", "payloadType": "num", "x": 170, "y": 420, "wires": [ [ "accb6256594c2f50", "4c549936308485e5" ] ] }, { "id": "fda453fd42f2b6a5", "type": "inject", "z": "0b6e2e1f06cf2f2d", "name": "Set Gen Stopped 11", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "11", "payloadType": "num", "x": 170, "y": 480, "wires": [ [ "accb6256594c2f50", "4c549936308485e5" ] ] }, { "id": "0ed2f51b14a8b9c6", "type": "delay", "z": "0b6e2e1f06cf2f2d", "name": "", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 740, "y": 320, "wires": [ [ "9f36b47f628ba5db", "fdba291317d71e8b" ] ] }, { "id": "4c549936308485e5", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "", "rules": [ { "t": "set", "p": "GeneratorState", "pt": "flow", "to": "payload", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "GeneratorState", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 440, "y": 600, "wires": [ [ "8e15652ad4637d5f" ] ] }, { "id": "8e15652ad4637d5f", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "Generator Run State Variable", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 800, "y": 600, "wires": [] }, { "id": "e264580cecc1194a", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "Generator Stopped", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "OrgShorePower", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 550, "y": 480, "wires": [ [ "c56ec74a48bddd43" ] ] }, { "id": "c56ec74a48bddd43", "type": "delay", "z": "0b6e2e1f06cf2f2d", "name": "", "pauseType": "delay", "timeout": ".5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 740, "y": 480, "wires": [ [ "27d698718fb158fc", "adeb18a71ee9489f" ] ] }, { "id": "9f36b47f628ba5db", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "Generator running current", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 990, "y": 380, "wires": [] }, { "id": "27d698718fb158fc", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "Shore Power AC1 Limit Returned", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1020, "y": 540, "wires": [] }, { "id": "f4087938dbc8dd03", "type": "victron-input-custom", "z": "0b6e2e1f06cf2f2d", "service": "com.victronenergy.vebus/276", "path": "/Ac/ActiveIn/CurrentLimit", "serviceObj": { "service": "com.victronenergy.vebus/276", "name": "MultiPlus-II 24/3000/70-50 2x120V (276)" }, "pathObj": { "path": "/Ac/ActiveIn/CurrentLimit", "name": "/Ac/ActiveIn/CurrentLimit", "type": "number" }, "name": "", "onlyChanges": true, "x": 320, "y": 140, "wires": [ [ "3ada7fda9aa626ee" ] ] }, { "id": "723f371aed1a2ada", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Present Current Limit.Set in the Inverters", "info": "This captures the AC 1 current limit that is presently set.", "x": 320, "y": 100, "wires": [] }, { "id": "a9b332defe382225", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "Present Inverter Current Limit", "rules": [ { "t": "set", "p": "PresentShore", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 950, "y": 140, "wires": [ [ "69d9860f5ff4ade0" ] ] }, { "id": "69d9860f5ff4ade0", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "PresentVal Input Limit", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1240, "y": 140, "wires": [] }, { "id": "3ada7fda9aa626ee", "type": "delay", "z": "0b6e2e1f06cf2f2d", "name": "", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 680, "y": 140, "wires": [ [ "a9b332defe382225" ] ] }, { "id": "147471ce3b19bbfd", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Present Shore Current Limit Variable", "info": "This variable is used to capture the AC 1 current limit when the Generator starts so that it can be replace after the generator runs.", "x": 940, "y": 100, "wires": [] }, { "id": "547d0beb442c4b6c", "type": "debug", "z": "0b6e2e1f06cf2f2d", "name": "Show that the OrgShorePower variable has been Initialized.", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 840, "y": 240, "wires": [] }, { "id": "f8c145ed65effb7e", "type": "inject", "z": "0b6e2e1f06cf2f2d", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "v": "", "vt": "num" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 230, "y": 240, "wires": [ [ "04e3c70a86e40b55" ] ] }, { "id": "04e3c70a86e40b55", "type": "change", "z": "0b6e2e1f06cf2f2d", "name": "", "rules": [ { "t": "set", "p": "OrgShorePower", "pt": "flow", "to": "15", "tot": "num" }, { "t": "set", "p": "payload", "pt": "msg", "to": "OrgShorePower", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 240, "wires": [ [ "547d0beb442c4b6c" ] ] }, { "id": "811b5b09cbdb3d30", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "For Stability", "info": "", "x": 690, "y": 100, "wires": [] }, { "id": "dea43eb195b7aaa3", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Initialize the OrgShorePower Variable", "info": "The Original Shore Power Variable is initialized to a value to prevent a programming sequence issue.", "x": 230, "y": 200, "wires": [] }, { "id": "fb5e7df5a3aad4aa", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "AC 1 current limit Input ", "info": "The desired AC 1 current limit when running on the Generator is input at this node.\n", "x": 1060, "y": 280, "wires": [] }, { "id": "ed5df6b3744df528", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Test Buttons.", "info": "", "x": 150, "y": 380, "wires": [] }, { "id": "f38c81d69a0c52b7", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "AC 1 current limit Input ", "info": "The desired AC 1 current limit when running on the Generator is input at this node.\n", "x": 1060, "y": 440, "wires": [] }, { "id": "1fef10f4beca4445", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Variable GeneratorState", "info": "This variable was created during development and left in for future use if needed.", "x": 460, "y": 560, "wires": [] }, { "id": "8d732f74e4a25055", "type": "comment", "z": "0b6e2e1f06cf2f2d", "name": "Set Generator Running Current", "info": "Open this Node and put in your generator current limit.\n\nFor testing, I set this to 30 because I was on a 30-amp service. \n\nDuring testing using the Test Buttons, you can actually see the Inverter AC 1 Input current limit change. ", "x": 550, "y": 280, "wires": [] } ]