Ich hab mich jetzt mal mit Blockly beschäftigt und schon etwas herumprobiert. Einige grundsätzliche Dinge sind mir noch nicht klar.
Hier erstmal meine Anfänge. Ich habe diese 3 Blöcke in einem Skript erstellt:
Block 1:
Block 2:
Block 3:
Zu Block 1:
Hier möchte ich einen Objekt ID als Schalter erstellen mit dem die PV Überschussladung erlaubt oder nicht erlaubt werden kann. So wie ich das verstanden habe vergibt man in dem Feld den Namen der Objekt ID. In meinem Fall sureplusChargingAllowed. Irgendwie kann man mit Punkten davor noch festlegen in welchem Ordner Die Objekt ID abgelegt wird. Was macht denn hier Sinn?
Unter Common hab ich leider nicht gefunden welcher String hier komplett rein muss weil das in den meisten Abbildungen immer abgeschnitten ist. Was muss denn hier rein. Irgendwas in der der Richtung, oder?
{"role":"button","type":"boolean","name":"...
Im 2. Block möchte ich den Schalter auf True setzen wenn das einphasige Ladekabel angesteckt ist und ein Knopf gedrückt wurde (evtl. Der RFID an der Wallbox aktiviert wurde oder über VIS ein Schalter gedrückt wurde)
Im 3. Block soll dann die Logik rein.
Wenn der Schalter sureplusChargingAllowed auf True steht wird alle 15 Sekunden der Überschüssige Strom berechnet. In meiner Sonnenbatterie wird die Leistunge für die PV Produktion und den Verbrauch im Haus für jede der 3 Phasen einzeln angegeben. Ich hab deshalb Variablen erstellt in denen über die Listenfunktion die 3 Werte aufsummiert werden. powerSureplus ist dann der Tatsächliche Überschuss der aktuell verfügbar ist.
Im Teilblock unter dem grünen wird dann daraus die Ampere-Stufe für den Charger berechnet. Über die fixe Variable powerSureplusBuffer wird sichergestellt, dass immer ein gewissen Puffer für evtl. Schwankungen vorhanden ist. Dann wird über die Formel I = P / U der Strom berechnet fürs Laden und dann über Abrunden auf ganzzahlige Ampere die Ampere für das laden gesetzt.
Grundsätzlich noch eine Frage. Macht es Sinn mehrere einzelne Blöcke in einem Skript zu haben? Werden die paralell abgearbeitet und immer wieder ausgeführt? Oder nur einmal ausgeführt?
Der dritte Block soll ja wenn das Skript läuft und der Schalter auf True ist permanent (alle 15 Sekunden) aktuallisiert werden. Ich glaub hier hab ich noch einen Denkfehler und weiß nicht genau wie ich das einbauen muss. Brauch ich dafür eine Schleife?
Da ich mich erst seit gestern mit Blockly beschäftige bin ich für jede Hilfe dankbar. Mein Güte sind das viele Fragen auf einmal...