Node red flow to stop solaredge

Is there someone ho has a node red flow to stop the solaredge inverter when the price is negative?

if you can turn the inverter off by a digital input:

Digital is not possible, I would like to use sunspec

I’ve been researching this also quite a bit, but didn’t find any option to do this.

The dynamic limit will be overwritten by an internal target with dess enabled.

Conclusion for me now is either to make a cable (or use esp32 with relay outpout if you can’t put a cable in), or waiting for the dess automatisation which is announced here

just switch it of if you think you will get rich that way

maybe easier to have some fan heaters in the garden?

I have something with a virtual switch and check price. When price is lower than €-0.14 then solar edge limit to 100w, and charging battery. if price is + again it switch back to normal.

It works but maybe not the nice’s programming way.

[
  {
    "id": "flow1",
    "type": "tab",
    "label": "Flow",
    "disabled": false,
    "info": ""
  },
  {
    "id": "2a2f67e3140678ad",
    "type": "function",
    "z": "flow1",
    "name": "Set ESS = Keep Charged",
    "func": "msg.payload = 9;\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "libs": [],
    "x": 510,
    "y": 200,
    "wires": [["2215331bb14d6083"]]
  },
  {
    "id": "b8ecb2e1433d7709",
    "type": "function",
    "z": "flow1",
    "name": "Set ESS = Optimized",
    "func": "msg.payload = 10;\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "libs": [],
    "x": 510,
    "y": 260,
    "wires": [["2215331bb14d6083"]]
  },
  {
    "id": "38a3935b25831e56",
    "type": "trigger",
    "z": "flow1",
    "name": "Start 100 every 1s",
    "op1": "100",
    "op2": "",
    "op1type": "num",
    "op2type": "nul",
    "duration": "-1",
    "units": "s",
    "outputs": 1,
    "x": 510,
    "y": 230,
    "wires": [["2114ce81691a0b69"]]
  },
  {
    "id": "eee46bd95d2499de",
    "type": "function",
    "z": "flow1",
    "name": "Stop Trigger",
    "func": "msg.reset = true;\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "libs": [],
    "x": 510,
    "y": 300,
    "wires": [["38a3935b25831e56"]]
  },
  {
    "id": "2215331bb14d6083",
    "type": "debug",
    "z": "flow1",
    "name": "Battery state",
    "active": true,
    "tosidebar": true,
    "complete": "payload",
    "x": 780,
    "y": 230,
    "wires": []
  },
  {
    "id": "2114ce81691a0b69",
    "type": "debug",
    "z": "flow1",
    "name": "Solaredge power",
    "active": true,
    "tosidebar": true,
    "complete": "payload",
    "x": 780,
    "y": 180,
    "wires": []
  },
  {
    "id": "bc3cde607682a66f",
    "type": "switch",
    "z": "flow1",
    "name": "On/Off",
    "property": "payload",
    "propertyType": "msg",
    "rules": [
      { "t": "eq", "v": "1", "vt": "num" },
      { "t": "eq", "v": "0", "vt": "num" }
    ],
    "outputs": 2,
    "x": 270,
    "y": 230,
    "wires": [
      ["2a2f67e3140678ad", "38a3935b25831e56"],
      ["b8ecb2e1433d7709", "eee46bd95d2499de"]
    ]
  },
  {
    "id": "430d482fac2db2d5",
    "type": "function",
    "z": "flow1",
    "name": "Als Prijs onder -0.14",
    "func": "let prijs = Number(msg.payload);\nlet state = context.get(\"state\") || 0;\nif (prijs < -0.14) state = 1;\nif (prijs > -0.03) state = 0;\ncontext.set(\"state\", state);\nmsg.payload = state;\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "libs": [],
    "x": 510,
    "y": 340,
    "wires": [["8ce7870f17a80c6b"]]
  },
  {
    "id": "8ce7870f17a80c6b",
    "type": "debug",
    "z": "flow1",
    "name": "Aan / uit",
    "active": true,
    "tosidebar": true,
    "complete": "payload",
    "x": 780,
    "y": 340,
    "wires": []
  }
]

(moderated - to correct flow rendering. Just copy straight from nodered export else you end up with special characters and errors that break an import)

a wireless solution would be to add a Shelly 1 mini to the RRCR on the SolarEdge. If it’s in tyhe same subnet the Cerbo/Ekrano will pick it up and you can control it in node-red based on a flow .