Nulleinspeisung PV mit Node-Red

Hi Sebastian,
bin mit der Vorlage von euch auch in Versuchung gekommen und habe den Code ein bisschen angepasst.
Theoretisch wird in meiner Version nur der Wert weiter gegeben, wenn auch eine Änderung stattgefunden hat.
Bei der anderen Idee, nur Änderungen zu senden, wenn diese eine +/-10%ige VerĂ€nderung zum letzten gespeicherten Wert haben, bin ich noch am tĂŒfteln


// Maximale und kleinste Leistung des Wechselrichters in Watt
var minPower = 10; // >0 bewirkt ein nich komplett herunterfahren des WR, d.H. er startet schneller
var maxPower = 800;

// Maximaler Eigenverbrauch in Watt
var minWatts = 10;

// Aktuelle Leistung vom eHZ
var ehzPower = msg.payload;

// Die aktuelle Leistung oder die Maximalleistung
var power = context.get('power') || maxPower;

// Funktion zum Begrenzen des Werts zwischen minPower und maxPower
/**
* @param {number} value
* @param {number} min
* @param {number} max
*/
function clamp(value, min, max) {
    return Math.min(Math.max(value, min), max);
}

// Wenn der aktuelle Wert ehzPower kleiner minWatts ist und grĂ¶ĂŸer 0, dann wird er einfach weitergegeben
if ((ehzPower <= minWatts) && (ehzPower > 0)) {
    return null;
}

// Wenn der aktuelle Wert ehzPower kleiner als minWatts ist
if (ehzPower < minWatts) {
    var newPower = clamp(power - Math.abs(ehzPower), minPower, maxPower); // HinzufĂŒgen des positiven Werts zum aktuellen Wert 

    if (power != newPower) { // Nur nei Änderung weiter geben
        context.set('power', newPower); // Speichern des neuen Werts
        msg.payload = newPower; // Aktualisieren der Nachricht
        return msg;
    }
}

// Wenn der aktuelle Wert ehzPower grĂ¶ĂŸer als minWatts ist
if (ehzPower > minWatts) {
    var newPower = clamp(power + Math.abs(ehzPower), minPower, maxPower); // Subtrahieren des Werts vom aktuellen Wert
    
    if (power != newPower) { // Nur nei Änderung weiter geben
        context.set('power', newPower); // Speichern des neuen Werts
        msg.payload = newPower; // Aktualisieren der Nachricht
        return msg;
    }
}

Erst einmal vielen Dank. Ich habe heute getĂŒftelt und etwas zusammen geschustert, dass tatsĂ€chlich eine Nulleinspeisung macht (wenn auch wackelig).Ist wahrscheinlich etwas umstĂ€ndlich, da ich mit globalen Variablen gearbeitet habe. Wird aus ZeitgrĂŒnden noch etwas dauern bis ich Dein Skript ausprobieren kann. Werde es aber noch tun.

Gibt es eigentlich eine Liste mit Wechselrichtern, die “regelbar” sind?
Oder habt ihr Tipps und VorschlÀge?

Viele GrĂŒĂŸe

Hallo Sebastian,
so nun habe ich nach meinem Urlaub auch wieder Zeit zu tĂŒfteln. Also vielen Dank nochmal. Ich habe Deinen Flow ausprobiert und auch ein paar Änderungen vorgenommen. Das Problem mit den 3 Ausgaben aus dem Shelly habe ich gelöst indem ich den Flow aufgetrennt habe und den Shelly Leistungswert als globale Variable gespeichert habe. Den Wert ziehe ich mir dann in dem Berechnungsnode wieder rein.

Im Prinzip hat das ganze auch funktioniert, aber doch sehr wackelig. Das heißt der Wechselrichter schwingt immer bzw. immer wieder. Manchmal bleibt er stabil und dann wandert er wieder weg. Ich vermute, dass das Problem bei der Ansteuerung ĂŒber die Ahoy-dtu zu finden ist. Manchmal werden die gesendeten Werte nicht gut ĂŒbernommen. DarĂŒber hinaus muss ich von Zeit zu Zeit die Ahoy oder auch den WR neu starten. Insgesamt lĂ€uft das ganze nicht stabil.

Bei Deinem Flow habe ich mich gefragt wozu die beiden Schleifen hinter dem Switch eigentlich benötigt werden. Reicht es nicht aus hinter dem Switch nur die Verbindung zum “WR MQTT” zu haben? Dann wĂŒrde der WR nur angesprochen wenn der entsprechende Wert auch aus dem Switch kommt.

Bei den kleinen WR gibt’s z.B von Soyo Source welche, fĂŒr die der Bavarian Super GUI eine prima Anleitung auf YouTube hat

Ja das ist mir leider auch schon aufgefallen. Ich denke es liegt daran, das zu oft neu Werte errechnet und gesendet werden.
Ich muss mir da noch was ĂŒberlegen wie ich das feiner einstelle
eventuell auch anderes berechnen lasse.

Du meinst

Powerlimit 1W
Und
Powerlimit 600W?

Im alles schon mal BISSCHEN Stabiler laufen zu lassen. Wenn die beiden Blockaden nicht da wĂ€ren, wĂŒrde er, bei entsprechender Wert Änderung, immer 1 oder 600 erneut Senden. So nur einmal und erst, wenn der Mittlere Einstellweg ausgewĂ€hlt wird, werden die Blockaden Resetet. Entlastet schon mal Stark dir Ahoy DTU.

Hallo, ich hab auch sehr wenig Ahnung vom Programmieren und wollte das Flow ĂŒbernehmen, allerdings habe ich keinen Shelly, sondern erhalte die aktuellen StromzĂ€hler-Daten via MQTT.
Beim Import des Flows fehlt mir die api-current-state, scheint was mit Home-Assistant zu tun haben. Ist das dringend nötig? Die Berechnung mĂŒsste doch auch so funktionieren, ich hab ja den aktuellen StromzĂ€hler wert.
Wenn ich alles so nutze kommt immer 600 als Ergebnis, egal ob power +=msg.payload oder ohne plus.

Also: ich wĂŒrde gern bei StromzĂ€hler positiv, den Wert einspeisen mit dem Hoymiles, bis es auf 0 oder ±10 geregelt wird. Der Hoymiles hĂ€ngt an einem 48V-Akku und Nulleinspeisung ist quasi fĂŒr die Nacht gedacht.
Vielleicht hat jemand eine Idee

Hallo,
ich habe den Flow von @usekevin mal so angepasst, das 2 gleiche Wechselrichter angesteuert werden können. Die Berechnung fĂŒr das WR Limit habe ich so gelassen wie usekevin das gelöst hat. Meiner Meinung ist das so ausreichend.
Ich habe nur den MQTT - Ausgang kopiert und dort die Seriennummer des 2. WR eingetragen.
In der zusĂ€tzlich hinzugefĂŒgten Funktion-Node wird der msg.payload von “Leistung alle Phasen”
halbiert und auf ganze Zahlen gerundet

Hier der Code fĂŒr die Funktion-Node “Anzahl WR = 2”

// Payload wird halbiert (* 0.5)
// da die Leistung auf 2 gleiche WR aufgeteilt wird
// Am Ende wird der Payload auf ganze Zahlen gerundet,
// damit nicht stÀndig im Kommabereich nachgeregelt wird

msg.payload = parseFloat((msg.payload * 0.5).toFixed(0));
return msg;

Ich wollte hier noch den gesamten Flow in einer Zeile darstellen, weis aber leider nicht wie das geht.
Vielleicht kann mir das jemand erklÀren.

FrĂŒh morgens, wenn noch nicht viel Strom “Leistung alle Phasen” benötigt wird und die Solarproduktion auch noch nicht viel hergibt, werden die WR in ihrer Leistung begrenzt, was eigentlich nicht nötig wĂ€re, da sie ja schon durch die fehlende Sonne begrenzt werden.
Ich suche noch nach einer Funktion wie ich die msg.payload von “Leistung alle Phasen” so anpassen kann, dass nur heruntergeregelt wird wenn das sein muss.
Hilfe wĂŒrde ich gern annehmen, ansonsten muss ich halt alleine friemeln.
Ich bin ganz neu bei HomeAssistant und das hier ist meine erste Umsetzung einer Automation.

@Sebastian

wenn du nach der Berechnung fĂŒr das WR-Limit eine “Filter-Node” einfĂŒgst, dann kannst du dieses Problem ganz einfach lösen. Der Wert wird erst weitergegeben, wenn er sich um die eingestellte Differenz Ă€ndert.

So wird die Filter-Node konfiguriert:
grafik

Bei mir sieht das dann so aus:

Danke fĂŒr den Beitrag. Das ganze funktioniert soweit gut, nur wie gut findet das der Wechselrichter, wenn dauernd am Powerlimit geregelt wird? Schadet das dem GerĂ€t auf Dauer? Habt ihr da Infos?

@Phir0n
Auch wenn glauben nicht wissen ist, ich glaube das es nicht schadet. Bei der originalen DTU von Hoymiles kann man ebenso eine Nulleinspeisung einstellen. Da muss auch stÀndig nachgeregelt werden.
Du kannst ja die Anzahl der Nachregelungen eingrenzen.

Inspiriert durch eure BemĂŒhungen habe ich mir das Ganze mal fĂŒr mein System angepasst und noch eine Zeitsteuerung zugefĂŒgt um keinen unnötigen Traffic zu generieren.
Ich habe den IR Lese-Schreibkopf von Hichi an meinem ZĂ€hler und hole mir von dort den aktuellen Stromverbrauch.
Da mein Hoymiles die gesendeten Werte nur als Prozent interpretiert und ich nicht genau weiß wie dem Wert ein “W” zugefĂŒgt wird (geht wohl mit der Change Node?) habe ich ĂŒber die Skalieren Funktion den Wertebereich angepasst. Das geht bestimmt irgendwie besser aber fĂŒr mich ist das erst mal OK.

Hallo,
ich hĂ€tte auch Interesse deine super Idee in die Tat umzusetzen, ich habe als Voraussetzung einen Shelly 3EM verbaut und einen Growatt 600 mit modifizierten Wifi X stick, damit kann ich ĂŒberschieberegler die Leistung begrenzen.Das wĂŒrde ich natĂŒrlich auch gerne zur Nulleinspeisung nutzen, vielleicht kann mir jemand erklĂ€ren was ich tun muß? Das wĂ€re super klasse, ich speise leider viel zu viel ein.

gruß Tobias

Genau, bei mir lÀuft die AhoyDTU.
Der Tipp mit dem AnhĂ€ngen des “W” direkt in der Berechnungs-Node ist ja dann doch einfacher als gedacht. Danke dafĂŒr.

@LuckyLuke magst du deine Einstellung fĂŒr deine Zeitssteuerung teilen? Ich nehme an du lĂ€sst damit die Regelung in der Nacht ausfallen?

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

das ist ein senosor von der openDTU

@conty1337

Herzlich willkommen hier im HA-Forum! :slight_smile:

Das ist garnicht mal so doof mit den 100 Watt weil die ja immer irgendwo gezogen werden. Mein WR regelt auch nur bis 1 Watt runter. Bei mir hat sich der WR einfach manchmal aufgehangen und musste ihn neustarten. Aber das mit den 100 Watt werde ich mal einstellen

Hi Kompi,
ich stelle den Flow mal hier ein, die Zeitsteuerung ist da integriert.
Da in den ersten 2 Stunden nach Sonnenaufgang eh - noch nichts - und 30 Min vor Sonnenuntergang - nichts mehr - zu regeln ist habe ich diese Zeit ebenfalls ausgesteuert. Das ist aber von der Ausrichtung der Module abhÀngig und sollte daher angepasst werden.

[{"id":"83c54f1550d63038","type":"mqtt out","z":"19b6398bd502d7e7","name":"WR MQTT","topic":"ahoydtu/ctrl/limit/0","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"87b2d138566ff5cc","x":1670,"y":200,"wires":[]},{"id":"86356772be602420","type":"inject","z":"19b6398bd502d7e7","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":200,"wires":[["5bc35f0271e66b95"]]},{"id":"07d1b57cc9e46b0e","type":"function","z":"19b6398bd502d7e7","name":"Berechnung fĂŒr WR Limit","func":"// MAX generation of the inverter Watts\nvar maxPower = 600;\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,"noerr":0,"initialize":"","finalize":"","libs":[],"x":990,"y":200,"wires":[["f1a3a32a659cfb2c","c220bfe55d02f5e3"]]},{"id":"688fb2cb8b313789","type":"api-current-state","z":"19b6398bd502d7e7","name":"Aktueller Verbrauch in W","server":"0a28569977689d6f","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.tasmota_sml_curr_w","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":670,"y":200,"wires":[["07d1b57cc9e46b0e","65115d1daa50b100"]]},{"id":"f1a3a32a659cfb2c","type":"rbe","z":"19b6398bd502d7e7","name":"entprellen","func":"deadband","gap":"30","start":"","inout":"in","septopics":false,"property":"payload","topi":"topic","x":1200,"y":200,"wires":[["6ed2ddc6b9a61226","e148afa4d63a5693"]]},{"id":"c220bfe55d02f5e3","type":"debug","z":"19b6398bd502d7e7","name":"Berechnung","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1210,"y":320,"wires":[]},{"id":"65115d1daa50b100","type":"debug","z":"19b6398bd502d7e7","name":"Verbrauch akt.","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":900,"y":300,"wires":[]},{"id":"5bc35f0271e66b95","type":"time-range-switch","z":"19b6398bd502d7e7","name":"Zeitsteuerung","lat":"52.1","lon":"11.2","startTime":"sunrise","endTime":"sunset","startOffset":"120","endOffset":"-30","x":360,"y":200,"wires":[["688fb2cb8b313789"],[]]},{"id":"6ed2ddc6b9a61226","type":"debug","z":"19b6398bd502d7e7","name":"Entprellen","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1450,"y":300,"wires":[]},{"id":"e148afa4d63a5693","type":"range","z":"19b6398bd502d7e7","minin":"0","maxin":"600","minout":"8","maxout":"100","action":"scale","round":true,"property":"payload","name":"Ändern auf Prozent","x":1450,"y":200,"wires":[["266566d28a086ce5","83c54f1550d63038"]]},{"id":"266566d28a086ce5","type":"debug","z":"19b6398bd502d7e7","name":"Auf Prozent","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1670,"y":320,"wires":[]},{"id":"87b2d138566ff5cc","type":"mqtt-broker","name":"","broker":"192.168.178.75","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":"","credentials":{"user":"","password":""}},{"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,"credentials":{}}]
2 „GefĂ€llt mir“

@LuckyLuke @conty1337
Danke fĂŒrs teilen :slight_smile:
Ich denke da ist was fĂŒr meinen Flow zum Verbessern dabei.
Ich nutze OpenDTU und lasse direkt in Watt regeln. Das dass lĂ€nger braucht als in % kann ich nicht bestĂ€tigen. Wenn der WR sich “aufhĂ€ngt” liegts aus meiner Sicht an einer zu hĂ€ufigen Nachregelung.

@Kompi
ja das hab ich mir auch am schluss gedacht das wenn er zu oft regeln muss sich aufhĂ€ngt. Habe es am anfang bei jedem mehr bzw minderverbrauch wechseln lassen wenn er die 10% ĂŒberschritten hat. Dann habe ich es mit den zwei kombiniert das er alle 10 sec schaut ob sich was geĂ€ndert hat und ob es ±10% sind, seitdem lĂ€uft es tadellos und stabil