UNPKG

@iseeberg79/battery-usage-optimization-nodes

Version:
122 lines (119 loc) 4.78 kB
<script type="text/javascript"> RED.nodes.registerType('@iseeberg79/DetermineBatteryMode', { category : 'function', color : '#a6bbcf', defaults : { name : { value : "" }, enableGridchargeThreshold : { value : 50 }, disableGridchargeThreshold : { value : 80 }, batteryCapacity : { value : 10000 }, minsoc : { value : 10 }, maxsoc : { value : 90 }, efficiency : { value : 80 }, priceLimit : { value : 0.25 }, }, inputs : 1, outputs : 3, icon : "file.png", label : function() { return this.name || "Determine Battery Mode"; }, outputLabels: ["Battery Mode", "Last Grid Charge Price", "Full Message"] }); </script> <script type="text/x-red" data-template-name="@iseeberg79/DetermineBatteryMode"> <div class="form-row"> <label for="node-input-name">Name</label> <input type="text" id="node-input-name" placeholder="Name" class="input-typed"/> </div> <div class="form-row"> <label for="node-input-enableGridchargeThreshold">Enable Grid Charge Threshold (%)</label> <input type="number" id="node-input-enableGridchargeThreshold" placeholder="50" class="input-typed"/> </div> <div class="form-row"> <label for="node-input-disableGridchargeThreshold">Disable Grid Charge Threshold (%)</label> <input type="number" id="node-input-disableGridchargeThreshold" placeholder="80" class="input-typed"/> </div> <div class="form-row"> <label for="node-input-batteryCapacity">Battery Capacity (Wh)</label> <input type="number" id="node-input-batteryCapacity" placeholder="10000" class="input-typed"/> </div> <div class="form-row"> <label for="node-input-minsoc">Minimum State of Charge (%)</label> <input type="number" id="node-input-minsoc" placeholder="10" class="input-typed"/> </div> <div class="form-row"> <label for="node-input-maxsoc">Maximum State of Charge (%)</label> <input type="number" id="node-input-maxsoc" placeholder="90" class="input-typed"/> </div> <div class="form-row"> <label for="node-input-efficiency">Efficiency (%)</label> <input type="number" id="node-input-efficiency" placeholder="80" class="input-typed"/> </div> <!-- <div class="form-row">--> <!-- <label for="node-input-priceLimit">Price Limit</label>--> <!-- <input type="number" id="node-input-priceLimit" placeholder="0.25" class="input-typed"/>--> <!-- </div>--> </script> <script type="text/x-red" data-help-name="@iseeberg79/DetermineBatteryMode"> <p>Dieser Node ermöglicht die Bestimmung des Batteriemodus, häufig ausführen (minütlich?)</p> <p><b>Inputs:</b></p> <ul> <li><b>optimize</b> - Optimierung des Batteriemodus, errechnet</li> <li><b>enableGridcharge</b> - Aktivierung der Netzladung, errechnet</li> </ul> <ul> <li><b>enableGridchargeThreshold</b> - Schwellenwert zum Aktivieren der Netzladung</li> <li><b>disableGridchargeThreshold</b> - Schwellenwert zum Deaktivieren der Netzladung</li> <li><b>batteryCapacity</b> - Batteriekapazität</li> <li><b>efficiency</b> - Effizienz</li> <li><b>feedin</b> - Einspeisevergütung</li> <li><b>minsoc</b> - Batterielevel für Zurücksetzung des Netzladungspreises (min)</li> <li><b>maxsoc</b> - Batterielevel für Zurücksetzung des Netzladungspreises (max)</li> <li><b>estimator</b> - überschreibt die interne Berechnung des Batteriemodus (Array mit start, mode)</li> </ul> <ul> <li><b>price</b> - aktueller Strompreis</li> <li><b>average</b> - durchschnittlicher Strompreis</li> <li><b>lastGridchargePrice</b> - letzter Ladepreis des Batteriespeichers</li> <li><b>minimum</b> - minimaler Strompreis</li> <li><b>soc</b> - aktueller Ladestand der Hausbatterie</li> <li><b>energy_req</b> - geschätzter Haushaltsverbrauch</li> <li><b>pvforecast</b> - geschätzte PV-Erzeugung</li> </ul> <p><b>Beispiel für eine Estimator-Nachricht:</b></p> <pre> { "batteryModes": [ {"start": "2025-01-26T20:00:00+01:00", ..., "mode": "normal"}, {"start": "2025-01-27T02:00:00+01:00", ..., "mode": "charge"}, {"start": "2025-01-27T06:00:00+01:00", ..., "mode": "hold"}, {"start": "2025-01-27T12:00:00+01:00", ..., "mode": "hold"} ] } </pre> <p><b>Outputs:</b></p> <ul> <li><b>Output 1</b> - der berechnete Batteriemodus</li> <li><b>Output 2</b> - der letzte Ladepreis des Batteriespeichers</li> <li><b>Output 3</b> - die Originalnachricht mit allen Parametern (debug)</li> </ul> </script>