<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 27. Sep 2017, at 22:48, F. S. <<a href="mailto:mailing3000@googlemail.com" class="">mailing3000@googlemail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="auto" class=""><div class="">Hallo Andreas,<div dir="auto" class="">das sieht toll aus.</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">kurze Frage:</div><div dir="auto" class="">Wieso ist charge = Lieferung und discharge = Bezug?</div><div dir="auto" class="">Ich hätte gedacht, dass wenn der Speicher lädt, Energie bezogen (besser import) und beim entladen exportiert wird.</div><div dir="auto" class="">Ob die Ladeeneggie vom Netz oder PV kommt, ist ja erstmal zweitrangig.</div></div></div></div></blockquote><div><br class=""></div>Die “lieferung” und “bezug” sind die öffentlichen Namen der entsprechenden Kanäle- an der Stelle könnten auch UUIDs stehen. Bei mir heissen die ebenso.</div><div><br class=""></div><div>Warum die Zuordnung:</div><div><br class=""></div><div>Lieferung=Einspeisung= das womit ein den Speicher nach EV laden könnte.</div><div>Bezug=Netzbezug= das was ich durch eine Speicherentladung (=discharge) ersetzen könnte. Mehr als Bezug lässt sich nicht entladen da es dafür in meinem Heimnetz keine Abnehmer gibt.</div><div><br class=""></div><div>Für den Speicher sind das dann charge/discharge, egtl. eher max_charge und max_discharge.</div><div><br class=""></div><div>Ich habe jetzt auch noch alternative Kanäle (Charge Not Used und Discharge Not Delivered) die jeweils anzeigen was davon jeweils nicht der Speicher übernimmt. In erweiterter Konfiguration so, vielleicht werden die Namen dadurch klarer:</div><div><br class=""></div><div><div><span class="Apple-tab-span" style="white-space:pre">         </span>/*</div><div><span class="Apple-tab-span" style="white-space:pre">           </span> * Input UUIDs</div><div><span class="Apple-tab-span" style="white-space:pre">               </span> */</div><div><span class="Apple-tab-span" style="white-space:pre">          </span>"charge": "lieferung",</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>"discharge": "bezug",</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>/*</div><div><span class="Apple-tab-span" style="white-space:pre">           </span> * Additional channel properties</div><div><span class="Apple-tab-span" style="white-space:pre">             </span> */</div><div><span class="Apple-tab-span" style="white-space:pre">          </span>"properties": {</div><div><span class="Apple-tab-span" style="white-space:pre">                    </span>"charge": {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>"title": "Laden"</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>"discharge": {</div><div><span class="Apple-tab-span" style="white-space:pre">                             </span>"title": "Entladen"</div><div><span class="Apple-tab-span" style="white-space:pre">                      </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>"not used": {</div><div><span class="Apple-tab-span" style="white-space:pre">                              </span>"title": "Restlieferung"</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>"not delivered": {</div><div><span class="Apple-tab-span" style="white-space:pre">                         </span>"title": "Restbezug"</div><div><span class="Apple-tab-span" style="white-space:pre">                     </span>},</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>"level": {</div><div><span class="Apple-tab-span" style="white-space:pre">                         </span>"title": "Ladestand"</div><div><span class="Apple-tab-span" style="white-space:pre">                     </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>}</div></div><div><br class=""></div><div>Ich denke über die Namen von dem ganzen Kram wäre eh nochmal zureden…</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="auto" class=""><div class=""><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Die Bezeichnungen Import/Export passen m.E. besser zum viel verwendeten SDM630-Modbuszähler.</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Auch ich habe gerade sehr wenig Zeit zum Testen, baue allerdings in der wenigen Freizeit meinen ersten LiIon-Speicher auf.</div><div dir="auto" class="">Danach gern.</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">VG Frank S.</div></div></div></div></blockquote><div><br class=""></div><div>Viele Grüße, Andreas</div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="auto" class=""><div class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">Am 27.09.2017 21:13 schrieb "Andreas Goetz" <<a href="mailto:cpuidle@gmail.com" class="">cpuidle@gmail.com</a>>:<br type="attribution" class=""><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div style="word-wrap:break-word" class="">Servus,<div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 20. Sep 2017, at 22:20, Andreas Goetz <<a href="mailto:cpuidle@gmail.com" target="_blank" class="">cpuidle@gmail.com</a>> wrote:</div><br class="m_5802566359862550358Apple-interchange-newline"><div class=""><div style="word-wrap:break-word" class="">...<br class=""><div class=""><br class=""></div><div class="">Ich habs jetzt geschafft den Speicher nicht nur im Json API abzufragen sondern auch im Frontend zum Leben zu erwecken. Unten simulierter Speicherstand für einen 10kWh Speicher der mittels Überschuss und Netzbezug be- und entladen (minimale Entladetiefe 10%) wird:</div><div class=""><br class=""></div><div class=""><span id="m_5802566359862550358cid:99B75EAB-2327-49CB-9FC6-7B46CDC82C5F" class=""><Screen Shot 2017-09-20 at 22.11.38.png></span></div><div class=""><br class=""></div><div class="">Man sieht schön dass 9kWh nutzbar bei mir reichen um einen ganzen Tag zu überbrücken- allerdings muss ich noch ein paar Parameter einbauen, z.B. für die maximale Lade- und Entladeleistung.</div><div class=""><br class=""></div><div class="">Das ist allerdings immer noch zu fies zusammen gehackt als dass ich es veröffentlichen könnte- aber es wird….</div></div></div></blockquote><div class=""><br class=""></div></div>Ich greife das Thema mal wieder auf da ich mich testbarem Code mit großen Schritte nähere.</div><div class=""><br class=""></div><div class="">Hier mal ein neues Beispiel: simulierter Ladestand des Speichers (“Level”), ursprünglicher Netzbezug (“Bezug”) und letztlich verbleibender Netzbezug (“Not delivered”) den der Speicher nicht liefern kann:</div><div class=""><br class=""></div><div class=""><span id="cid:0B93269D-1CFC-4D34-B6DB-6A336E295E5C@t-mobile.de"><Screen Shot 2017-09-27 at 21.07.16.png></span></div><div class=""><br class=""></div><div class="">Der Speicher als solcher wird in etc/blocks.json deklariert:</div><div class=""><br class=""></div><div class=""><div class="">{</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap"> </span>"battery": {</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">          </span>"type": "battery",</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">          </span>"capacity": 10000,</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">            </span>"minlevel": 0.1,</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">              </span>"maxlevel": 1.0,</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">              </span>"efficiency": 0.9,</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">            </span>// "maxcharge": 1000,</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">         </span>// "maxdischarge": 1000,</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">              </span>"charge": "lieferung",</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">              </span>"discharge": "bezug"</div><div class=""><span class="m_5802566359862550358Apple-tab-span" style="white-space:pre-wrap">        </span>}</div><div class="">}</div></div><div class=""><br class=""></div><div class="">Das naive Modell erklärt sich direkt aus den Parametern: Kapazität, Effizienz (2x- laden und entladen), maximale Lade- und Entladeleistung und das wars. Aus den Parametern wird automatisch eine Gruppe erstellt die alle relevanten Ein/Ausgangsdaten enthält.</div><div class=""><br class=""></div><div class="">Im Prinzip gibts damit jetzt testbaren Code. Wenn von Interesse bitte melden.</div><div class=""><br class=""></div><div class="">Viele Grüße, Andreas</div><div class=""><br class=""></div></div></div></blockquote></div><br class=""></div></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>