Schönen guten Tag,
Ich benutze folgendes
Home Assistant, Open DTU, Hoymile HMS-1600,Sunlit Speicher, Power Opti und DWD Wetter Daten,
Nach Wochenlangen ausprobieren und immer wieder bearbeiten des Flow habe ich diesen nun so eingestellt wie ich es gerne hÀtte. Sonnenauf+untergang - wetterdaten(Bewölkung) - Strom verbrauch - Berechnung - Prozent - MQTT
Als erstes habe ich den Sunlit Speicher mit Hilfe der Open DTU und des WR von 1-100% und Netzeinspeisung Favorisieren eingestellt. Wichtig ist das der WR und die DTU in der Sunlit app verbleiben auch wenn beide GerĂ€te anschlieĂend Offline sind durch umstellung auf Home Assistent.
Danach kann man das Mqtt in der Open DTU umstellen, da der Sunlit diese nutz zur Komunikation mit der App, dem WR und der Open DTU.
Der Power opti war fĂŒr mich die einfachste art alle daten vom StromzĂ€hler abzugreifen da er nur aufgesteckt wird. allerdings muss man den PowerOpti in der configuration.yaml einrichten da nur dort eine genaue sekunden einstellung möglich ist.
Danach sollte es recht simpel sein alle parameter einzustellen und den DWD wetterdienst zu Nodered hinzuzufĂŒgen.
Ich hoffe ich kann damit einigen helfen
[{"id":"dbfa6af1983bd618","type":"tab","label":"Nulleinspeisung","disabled":false,"info":"","env":[]},{"id":"ee8242ba85a2ca71","type":"inject","z":"dbfa6af1983bd618","name":"alle 12 sekunden","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"12","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":150,"y":400,"wires":[["89bb06a8e64a2022","1eae3fb7ecbd2dca"]]},{"id":"c270eaa0aaec58cd","type":"rbe","z":"dbfa6af1983bd618","name":"entprellen","func":"deadband","gap":"50","start":"","inout":"in","septopics":true,"property":"payload","topi":"topic","x":1480,"y":600,"wires":[["2ab55eb7d3cab6ba"]]},{"id":"89bb06a8e64a2022","type":"time-range-switch","z":"dbfa6af1983bd618","name":"Tag Einspeisung","lat":"51.6204969","lon":"12.2730150","startTime":"sunrise","endTime":"sunset","startOffset":"150","endOffset":"-120","x":300,"y":540,"wires":[["309fa92214a2025d"],[]]},{"id":"1eae3fb7ecbd2dca","type":"time-range-switch","z":"dbfa6af1983bd618","name":"Nacht Einspeisung","lat":"51.6204969","lon":"12.2730150","startTime":"sunset","endTime":"sunrise","startOffset":"-120","endOffset":"150","x":990,"y":400,"wires":[["0e854072295707e1"],[]],"icon":"node-red/switch.svg"},{"id":"80b74d0f703a60d2","type":"function","z":"dbfa6af1983bd618","name":"Berechnung fĂŒr WR Nacht","func":"// MAX generation of the inverter Watts\nvar maxPower = 400;\n\n// Get current power limit or default\nvar power = context.get('power') || maxPower;\npower += msg.payload;\n\n// clamp power between 0 and max\nif (power > maxPower) power = maxPower;\nif (power < 0) power = 1;\n\n\n// store current powerlimit and update message\ncontext.set('power', power);\nmsg.payload = power;\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":1710,"y":480,"wires":[["386cf7fb5db74575","5d084d0b36f5cd93"]]},{"id":"386cf7fb5db74575","type":"debug","z":"dbfa6af1983bd618","name":"wie viel watt kommt raus?","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1970,"y":400,"wires":[]},{"id":"0e854072295707e1","type":"api-current-state","z":"dbfa6af1983bd618","name":"Aktueller Verbrauch in W","server":"0a28569977689d6f","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.strom_aktuell","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"seconds","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1250,"y":480,"wires":[["fec801ef041e8e78","16fcab064e0780d2"]]},{"id":"fec801ef041e8e78","type":"debug","z":"dbfa6af1983bd618","name":"Verbrauch akt.","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1500,"y":400,"wires":[]},{"id":"9be61481843cdc40","type":"mqtt out","z":"dbfa6af1983bd618","name":"WR MQTT","topic":"WR/116494606864/cmd/limit_nonpersistent_relative","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9eefe9c92eb3326b","x":2230,"y":540,"wires":[]},{"id":"5d084d0b36f5cd93","type":"range","z":"dbfa6af1983bd618","minin":"0","maxin":"1600","minout":"0","maxout":"100","action":"scale","round":true,"property":"payload","name":"Ăndern auf Prozent","x":1990,"y":540,"wires":[["9be61481843cdc40","899a25024eb75952"]]},{"id":"899a25024eb75952","type":"debug","z":"dbfa6af1983bd618","name":"Prozent","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":2220,"y":620,"wires":[]},{"id":"309fa92214a2025d","type":"dwdweather","z":"dbfa6af1983bd618","name":"","mosmixStation":"K3362","lookAheadHours":"0","additionalFields":"N05,Nl,Nm,Neff,SunD1","omitMessageOnStart":true,"repeat":"300","topic":"","x":530,"y":540,"wires":[["2e032962034ff3e3","f17b4a11103057cf","2fc133a9664547f0"]]},{"id":"2e032962034ff3e3","type":"switch","z":"dbfa6af1983bd618","name":"Bedeckungsgrad (2-7 km) ","property":"payload.Nm","propertyType":"msg","rules":[{"t":"gt","v":"50","vt":"str"},{"t":"lte","v":"50","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":770,"y":540,"wires":[["703fff21ced2a876"],["691af6eddf5d2734"]]},{"id":"703fff21ced2a876","type":"change","z":"dbfa6af1983bd618","name":"Schlechtwetter","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":480,"wires":[["0e854072295707e1"]]},{"id":"691af6eddf5d2734","type":"change","z":"dbfa6af1983bd618","name":"Gutes wetter","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":600,"wires":[["6dd916074b4a1434"]]},{"id":"f17b4a11103057cf","type":"debug","z":"dbfa6af1983bd618","name":"Bedeckung","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload.Nm","targetType":"msg","statusVal":"payload.N","statusType":"auto","x":730,"y":460,"wires":[]},{"id":"2fc133a9664547f0","type":"debug","z":"dbfa6af1983bd618","name":"wetter","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":620,"wires":[]},{"id":"1f673b42f42a4887","type":"debug","z":"dbfa6af1983bd618","name":"wie viel watt kommt raus?","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1970,"y":680,"wires":[]},{"id":"2ab55eb7d3cab6ba","type":"function","z":"dbfa6af1983bd618","name":"Berechnung fĂŒr WR Tag","func":"// MAX generation of the inverter Watts\nvar maxPower = 1600;\n\n// Get current power limit or default\nvar power = context.get('power') || maxPower;\npower += msg.payload;\n\n// clamp power between 0 and max\nif (power > maxPower) power = maxPower;\nif (power < 50) power = 51;\n\n\n// store current powerlimit and update message\ncontext.set('power', power);\nmsg.payload = power;\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":1710,"y":600,"wires":[["1f673b42f42a4887","5d084d0b36f5cd93"]]},{"id":"6dd916074b4a1434","type":"api-current-state","z":"dbfa6af1983bd618","name":"Aktueller Verbrauch in W","server":"0a28569977689d6f","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.strom_aktuell","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"seconds","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1250,"y":600,"wires":[["c270eaa0aaec58cd","9708707472172c9b"]]},{"id":"16fcab064e0780d2","type":"rbe","z":"dbfa6af1983bd618","name":"entprellen","func":"deadband","gap":"30","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":1480,"y":480,"wires":[["80b74d0f703a60d2"]]},{"id":"9708707472172c9b","type":"debug","z":"dbfa6af1983bd618","name":"Verbrauch akt.","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1500,"y":680,"wires":[]},{"id":"0a28569977689d6f","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"5","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":": ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"default","statusTimeFormat":"h:m","enableGlobalContextStore":false},{"id":"9eefe9c92eb3326b","type":"mqtt-broker","name":"WR","broker":"192.168.2.209","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]