Growatt NOAH 2000 Output

Da der NOAH aktuell dazu neigt, bei einem Wert unter dem in der App definierten "mindest SoC" aus dem WLAN zu fliegen und besonders im Winter eine Mindestladung erhalten bleiben sollte habe ich mir folgenden Flow für Homeassistant/Node-RED gebastelt.

Funktionsweise

Auslesen des aktuellen SOC der Batterie Auslesen des aktuellen Batterie-Outputs Auslesen des aktuellen Verbrauchs anhand eines Shelly 3em Pro

Wenn der SOC des NOAH unter 50% ist -> 0W NOAH Output

Wenn der SOC des NOAH über 50% ist:

  • Wenn der aktuelle Wohnungs-Grundverbrauch < 50W liegt -> 0W NOAH Output
  • Wenn der aktuelle Wohnungs-Grundverbrauch zwischen 50 und 149 liegt -> 50W NOAH Output
  • Wenn der aktuelle Wohnungs-Grundverbrauch => 150 lieget -> 100W Output

Voraussetzung

In der App (Shinephone) Versorger zuerst einstellen und den Zeitraum auf eine Minute (z.B. Nachts) begrenzen. Sonst stellt die App immer wieder den Output zurück.

Konfiguration

  • Der Mindest Soc wird im Element "Switch 50%" festgelegt.
  • Die Grenzwerte des Wohnungs-Grundverbrauchs werden in "0/50/100" festgelegt
  • Der jeweilige W-Output betrifft die beiden letzten Nodes in einer Zeile
[{"id":"6ba40c3bfc8a9de7","type":"tab","label":"Wintermodus","disabled":false,"info":"","env":[]},{"id":"6304f178e51cb35d","type":"inject","z":"6ba40c3bfc8a9de7","name":"10sek","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"10","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":300,"wires":[["d3aac5cc87df813c"]]},{"id":"d3aac5cc87df813c","type":"api-current-state","z":"6ba40c3bfc8a9de7","name":"NOAH SoC","server":"8175b1a3.1eb15","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"gt","entity_id":"sensor.noah_2000_soc","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":270,"y":300,"wires":[["125b1e973b09b71e"]]},{"id":"125b1e973b09b71e","type":"switch","z":"6ba40c3bfc8a9de7","name":"Switch 50%","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"50","vt":"num"},{"t":"gte","v":"50","vt":"num"}],"checkall":"false","repair":false,"outputs":2,"x":450,"y":300,"wires":[["d46d2be89c2cd00a"],["fb3493adda9c816e","203b47602bd9a966"]]},{"id":"7973408ffa1d9bd2","type":"api-call-service","z":"6ba40c3bfc8a9de7","name":"Set Output 100W","server":"8175b1a3.1eb15","version":7,"debugenabled":false,"action":"number.set_value","floorId":[],"areaId":[],"deviceId":[],"entityId":["number.noah_2000_system_output_power"],"labelId":[],"data":"{\"value\": 100}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"50","valueType":"str"}],"queue":"none","blockInputOverrides":true,"domain":"number","service":"set_value","x":1692,"y":366,"wires":[[]]},{"id":"765b5906122dd3de","type":"api-call-service","z":"6ba40c3bfc8a9de7","name":"Set Output 0W","server":"8175b1a3.1eb15","version":7,"debugenabled":true,"action":"number.set_value","floorId":[],"areaId":[],"deviceId":[],"entityId":["number.noah_2000_system_output_power"],"labelId":[],"data":"{\"value\": 0}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"0","valueType":"str"}],"queue":"none","blockInputOverrides":true,"domain":"number","service":"set_value","x":1682,"y":246,"wires":[[]]},{"id":"40b0357fc6ba1c48","type":"api-current-state","z":"6ba40c3bfc8a9de7","name":"NOAH Current OutputW","server":"8175b1a3.1eb15","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"gt","entity_id":"number.noah_2000_system_output_power","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1252,"y":366,"wires":[["de38283dd7e093f7"]]},{"id":"de38283dd7e093f7","type":"switch","z":"6ba40c3bfc8a9de7","name":"Wenn Wert nicht 100","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"100","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1482,"y":366,"wires":[["7973408ffa1d9bd2"]]},{"id":"d46d2be89c2cd00a","type":"api-current-state","z":"6ba40c3bfc8a9de7","name":"NOAH Current OutputW","server":"8175b1a3.1eb15","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"gt","entity_id":"number.noah_2000_system_output_power","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1252,"y":246,"wires":[["2d8ad233773b5f01"]]},{"id":"2d8ad233773b5f01","type":"switch","z":"6ba40c3bfc8a9de7","name":"Wenn Wert nicht 0","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1472,"y":246,"wires":[["765b5906122dd3de"]]},{"id":"f873e9bcde8f8245","type":"comment","z":"6ba40c3bfc8a9de7","name":"NOAH im Winter nicht unter min-X%-SoC","info":"Output Fest auf 50W, solange über 50% SoC","x":160,"y":20,"wires":[]},{"id":"fb3493adda9c816e","type":"api-current-state","z":"6ba40c3bfc8a9de7","name":"Wohnung W","server":"8175b1a3.1eb15","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.shellypro3em_34987a46c32c_total_active_power","state_type":"str","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"netz","valueType":"str"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":710,"y":320,"wires":[["43281de93be0e30f"]]},{"id":"2c7313997b7a304e","type":"switch","z":"6ba40c3bfc8a9de7","name":"0/50/100","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"50","vt":"str"},{"t":"btwn","v":"50","vt":"num","v2":"149","v2t":"num"},{"t":"gte","v":"150","vt":"str"}],"checkall":"false","repair":false,"outputs":3,"x":1051,"y":313,"wires":[["d46d2be89c2cd00a"],["d7391bb983d9614d"],["40b0357fc6ba1c48"]]},{"id":"93c4d12f83235c8b","type":"api-call-service","z":"6ba40c3bfc8a9de7","name":"Set Output 50W","server":"8175b1a3.1eb15","version":7,"debugenabled":false,"action":"number.set_value","floorId":[],"areaId":[],"deviceId":[],"entityId":["number.noah_2000_system_output_power"],"labelId":[],"data":"{\"value\": 50}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"50","valueType":"str"}],"queue":"none","blockInputOverrides":true,"domain":"number","service":"set_value","x":1682,"y":306,"wires":[[]]},{"id":"814d83d93b227bca","type":"switch","z":"6ba40c3bfc8a9de7","name":"Wenn Wert nicht 50","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"50","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1472,"y":306,"wires":[["93c4d12f83235c8b"]]},{"id":"d7391bb983d9614d","type":"api-current-state","z":"6ba40c3bfc8a9de7","name":"NOAH Current OutputW","server":"8175b1a3.1eb15","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"gt","entity_id":"number.noah_2000_system_output_power","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1252,"y":306,"wires":[["814d83d93b227bca"]]},{"id":"43281de93be0e30f","type":"function","z":"6ba40c3bfc8a9de7","name":"Addition W","func":"\nif (msg.topic === \"netz\") context.set(\"netz\", msg.payload);\nif (msg.topic === \"pv\") context.set(\"pv\", msg.payload);\n\nvar pv = parseFloat(context.get(\"pv\") || 0);\nvar netz = parseFloat(context.get(\"netz\") || 0);\n\nmsg.payload = pv + netz;\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":901,"y":313,"wires":[["2c7313997b7a304e"]]},{"id":"203b47602bd9a966","type":"api-current-state","z":"6ba40c3bfc8a9de7","name":"NOAH Current OutputW","server":"8175b1a3.1eb15","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"gt","entity_id":"number.noah_2000_system_output_power","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"pv","valueType":"str"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":380,"wires":[["43281de93be0e30f"]]},{"id":"8175b1a3.1eb15","type":"server","name":"Home Assistant","addon":true}]

Flow Info

Created 3 months, 2 weeks ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • comment (x1)
  • function (x1)
  • inject (x1)
  • switch (x5)
Other

Tags

  • Growatt
  • NOAH
  • NOAH2000
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option