Ich weià nicht was du benutzt ob du jetzt openDTU benutzt oder Ahoy, ich benztze openDTU und habe es so realisiert das wenn der WR Produziert dann auch der flow anfÀngt und es wird auch direkt in % umgerechnet. Weil bei der OpenDTU wenn man da Watt einstellt es bis zu 4 minuten dauern kann bis es im Interface angezeigt wird, mir kommt es auch so vor das es lÀnger dauert bis er die Watt einstellt als die %.
[{"id":"4d642ec7b6c49394","type":"tab","label":"Nulleinspeissung","disabled":false,"info":"","env":[]},{"id":"61d143d03d777520","type":"function","z":"4d642ec7b6c49394","name":"Berechnung fĂŒr WR Limit v4 26.03","func":"// Die aktuelle Leistung oder den Maximalleistung\nvar power = context.get('power') || 1;\n\n// Funktion zum Begrenzen des Werts zwischen 1 und maxPower\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\n\n// Wenn der aktuelle Wert zwischen -10 und 10 liegt, wird er einfach weitergegeben\nif (msg.payload >= -10 && msg.payload <= 10) {\n return null;\n}\n\n// Calculate percentage difference between current and previous value\nvar percentageDiff = Math.abs((msg.payload - power) / power) * 100;\n\n// Clamp power between 1 and max if percentage difference is greater than 10%\nif (percentageDiff > 10) {\n // Wenn der aktuelle Wert kleiner als -10 ist\n if (msg.payload < -10) {\n var newPower = clamp(power - Math.abs(msg.payload), 1, 600); // HinzufĂŒgen des positiven Werts zum aktuellen Wert\n context.set('power', newPower); // Speichern des neuen Werts\n msg.payload = newPower; // Aktualisieren der Nachricht\n return msg;\n }\n\n // Wenn der aktuelle Wert gröĂer als 10 ist\n if (msg.payload > 10) {\n var newPower = clamp(power + Math.abs(msg.payload), 1, 600); // Subtrahieren des Werts vom aktuellen Wert\n context.set('power', newPower); // Speichern des neuen Werts\n msg.payload = newPower; // Aktualisieren der Nachricht\n return msg;\n }\n}\n\n// Wenn die Abweichung kleiner als 10% ist, wird null zurĂŒckgegeben\nreturn null;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":920,"y":240,"wires":[["0509a804e427f487"]]},{"id":"0509a804e427f487","type":"switch","z":"4d642ec7b6c49394","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"btwn","v":"2","vt":"num","v2":"599","v2t":"num"},{"t":"eq","v":"600","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":1170,"y":240,"wires":[["5a09ad75e5cd58d3"],["8e86e667ea51129b","677fef3cee704e31","709628b5ed33da03"],["5a2a9a4463b0eebd"]]},{"id":"5a2a9a4463b0eebd","type":"trigger","z":"4d642ec7b6c49394","name":"Powerlimit 600 W","op1":"","op2":"0","op1type":"pay","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"reset","bytopic":"all","topic":"topic","outputs":1,"x":1430,"y":340,"wires":[["709628b5ed33da03"]]},{"id":"5a09ad75e5cd58d3","type":"trigger","z":"4d642ec7b6c49394","name":"Powerlimit 1 W","op1":"","op2":"0","op1type":"pay","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"reset","bytopic":"all","topic":"topic","outputs":1,"x":1420,"y":140,"wires":[["709628b5ed33da03"]]},{"id":"8e86e667ea51129b","type":"change","z":"4d642ec7b6c49394","name":"reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1390,"y":280,"wires":[["5a2a9a4463b0eebd"]]},{"id":"677fef3cee704e31","type":"change","z":"4d642ec7b6c49394","name":"reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1390,"y":200,"wires":[["5a09ad75e5cd58d3"]]},{"id":"6096afad13687976","type":"debug","z":"4d642ec7b6c49394","name":"debug 3","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1840,"y":300,"wires":[]},{"id":"ef6c3ce925d406a5","type":"mqtt out","z":"4d642ec7b6c49394","name":"WR MQTT","topic":"solar/114172219977/cmd/limit_nonpersistent_relative","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"87b2d138566ff5cc","x":1850,"y":180,"wires":[]},{"id":"c5e450638e7efcae","type":"inject","z":"4d642ec7b6c49394","name":"alle 10 sekunden","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"10","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":240,"wires":[["28c0c35059ec4f1b"]]},{"id":"ef154b6273019bbf","type":"api-current-state","z":"4d642ec7b6c49394","name":"Leistung alle Phasen","server":"529f4c9bb33f8e52","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.shelly_power_total","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":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":600,"y":240,"wires":[["61d143d03d777520"]]},{"id":"28c0c35059ec4f1b","type":"api-current-state","z":"4d642ec7b6c49394","name":"Wenn der WR Produziert","server":"529f4c9bb33f8e52","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.hoymiles_hm_600_producing","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":350,"y":240,"wires":[["ef154b6273019bbf"],[]]},{"id":"709628b5ed33da03","type":"range","z":"4d642ec7b6c49394","minin":"1","maxin":"600","minout":"1","maxout":"100","action":"scale","round":true,"property":"payload","name":"Umrechnen in %","x":1660,"y":240,"wires":[["ef6c3ce925d406a5","6096afad13687976"]]},{"id":"87b2d138566ff5cc","type":"mqtt-broker","name":"","broker":"10.0.0.121","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"529f4c9bb33f8e52","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":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":": ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"default","statusTimeFormat":"h:m","enableGlobalContextStore":true}]
![Producing](https://community.simon42.com/uploads/default/original/2X/3/3af790b43931a7ea0e50afc91d4d37717e289bef.png)
das ist ein senosor von der openDTU