Hi, ich schaue mir das auch an und habe winzige Anpassungen (bzw. Vorschläge, dies in Post 1 in das Script einzubauen)
- alle Datenpunkte als const, also auch den Verbrauchszähler, z.B.
/** Datenpunkt für den aktuell gemessene Akku Ladungzustand in % */
const AKTUELLER_AKKULADEZUSTAND = 'alias.0.MSA-000000000000.q_soc'; // q = aus quick
/** Datenpunkt für den aktuell gemessene Verbrauch plus=Überschuss/Einspeisung minus=Verbrauch/Kauf*/
const VERBRAUCHSZAEHLER = '0_userdata.0.Blockly.ShellyEmu.Power-Total-Raw';
- neben "laden" und "entladen" gibt es noch "standby" als Status des Akku, wenn er voll ist. Dies könnte auch bei der Loganzeige verwendet werden, da ein Akku > SOC_Ladeschwelle nicht mehr geladen wird.
const akkuSOC = getState(AKTUELLER_AKKULADEZUSTAND).val;
const istAkkuVoll = akkuSOC > SOC_LADESTOPP; // grösser als Ladestopp bedeutet Akku voll
-
die internen Werte könnten auch optional als iobroker-Werte gespeichert werden, dann kann man sie auch in Grafen verwenden, eventuell in einstellbarem Zeitraster, um nicht zuviele Punkte in die DB zu schreiben
-
eine Variable zum einfachen Pausieren der Regelung, etwa um Akkuswapping bei mehreren Akkus zu verhindern
Ansonsten vielen Dank für deine Mühe, läuft schon ganz gut, mal auf Erfahrungen warten
cu
Harvey