//=============================Einstellungen/Konfiguration=====================================================
//Wo soll das Skript die neuen Objekte anlegen (Mit PV-Überschuss geladene Energy.... )
//Entprell Zeit, damit nicht mit jeder Wolke die Ladung unterbrochen wird
const ENTPRELL_ZEIT = 0.2; //Minuten
// Welche Leistung muss mindestens eingespeist werden, bevor das Skript das Laden (wieder) startet
const MINDEST_EINSPEISE_LEISTUNG = 1000; //Watt
// Wieiviel darf aus dem Netz bezogen werden, bevor die Ladung abgebrochen wird.
const MAXIMAL_NETZBEZUG = 100; //Watt
//Mit welcher Stromstärke soll das Laden begonnen werden
const START_STROMSTAERKE = 0; // A
//Mit welcher Stromstärke soll maximal geladen werden (Wird auch zum entladen des Hausakkus verwendet)
const MAX_STROMSTAERKE = 16; //A
//Soll Netzbezug im Rahmen der Stromstärkenregulierung vermieden werden?
//Wenn diese Option aktiviert ist wird die Stromstärke reduziert, sobald ein Strom aus dem Netz/AKku bezogen wird
const NETZBEZUG_VERMEIDEN = true; //true oder false
//IOBroker Objekt ID der Einspeiseleistung PV
let ID_EINSPEISE_LEISTUNG = "0_userdata.0.Energie.Energymeter.Wirkleistung.Einspeisung"; //Watt
//IObroker Objekt ID der Netzbezugsleistung PV
// Leer lassen falls es nur ein Objekt für Netzbezug und Einspeiseleistung gibt und in ID_Einspeiseleistung das Objekt eintragen
// Das Skript erzeugt automatisch 2 Status für Einspeiseleistung und Netzbezug
// Falls der Wert positiv ist, wird der Wert als Netzbezug gespeichert, falls negativ als Einspeisung
let ID_NETZBEZUG_LEISTUNG = "0_userdata.0.Energie.Energymeter.Wirkleistung.Bezug" ; //Watt
//IOBroker Objekt ID zum Tesla, generiert vom Tesla-Adatper (Root)
const ID_TSL = "tesla-motors.0.xxx";
//Breitengrad Koordinaten der Heimatadresse, somit greift das Skript nur Zuhause
const ZUHAUSE_LATITUDE = xxxx
//Längengard Koordinaten der Heimatadresse
const ZUHAUSE_LONGITUDE = xxx; //Längengrad Koordinaten
//Maximale Entfernung des Autos von Zuhause; Umkreis in dem das Skript greift
const ZUHAUSE_MAX_ENTFERNUNG = 0.5 ; //KM
//Loglevel des Scripts
const LOGLEVEL = "INFO" ; //INFO oder DEBUG
//Notifizierung per Telegramm aktivieren/deaktivieren <= Eine Telegram-Instanz muss in ioBroker eingerichtet sein
//Benachrichtigung über Start/Stopp der Ladung und Beendigung -> Wie viel Energy wurde per Überschuss geladen
const TELEGRAMM_NOTIFIZIERUNG = true; // true oder false
//Telegramm Notifizierung nur an einen einzelnen Nutzer (Leer lassen alle mit dem Bot verbundene Nutzer)
const TELEGRAMM_NUTZER = ""; // Nutzernamen oder ""
//Ist ein PV-Akku vorhanden? Wenn nein, sind alle folgenden Angaben obsolet
const PV_AKKU_VORHANDEN = true; //true oder false
//IOBroker ObjektID des Akkustands
const ID_PV_AKKU_SOC = "modbus.1.inputRegisters.30845_SOC";
// Ab welchem Akkustand des PV Akkus soll der Ladevorgang starten?
const PV_AKKU_START_SOC = 98; //%
// Ab welchem Akkustand des PV Akkus soll der Ladevorgang Stoppen?
const PV_AKKU_STOP_SOC = 95; //%
//Gibt es 2 getrennte Objekte für Akku laden und entladen? Wenn ja, diesen Wert auf false setzen und die Objekte
//für Laden und Entladen des Akkus als ID_EINSPEISE_LEISTUNG (Laden) und ID_NETZBEZUG_LEISTUNG(Entladen) setzen
const PV_AKKU_LEISTUNG_EINSTATUS = true; // true oder false
// Alles folgende ist nur notwendig, falls PV_AKKU_LEISTUNG_EINSTATUS = true
//IOBroker ObjektID PV-Akku Status
const ID_PV_AKKU_STAT = "modbus.1.inputRegisters.30955_Batteriestatus";
//Welchen Wert hat das Objekt ID_PV_AKKU_STATUS wenn der Akku entladen wird?
const PV_AKKU_STAT_ENTLADEN = "2293";`
Das Skript hat den Ladestrom auf 0 runter gefahren, hat das Laden aber nicht gestoppt.
Batterieentladung vermeiden ist auch aktiviert.
Der Status für Batterieentladung ist bei mir "2293" (Ist ein SMA Sunny Island)
Muss der Wert evtl ohne "" dort stehen?
Hier meine Konfiguration
`//=============================Tesla Ueberschussladen - TeslaChargejs========================================== //V 1.9.3 //Stand:02.05.2023
//=============================Einstellungen/Konfiguration===================================================== //Wo soll das Skript die neuen Objekte anlegen (Mit PV-Überschuss geladene Energy.... )
const ID_SKRIPT_OBJEKT_VERZEICHNIS = "0_userdata.0.TeslaChargejs";
//Entprell Zeit, damit nicht mit jeder Wolke die Ladung unterbrochen wird const ENTPRELL_ZEIT = 0.2; //Minuten
// Welche Leistung muss mindestens eingespeist werden, bevor das Skript das Laden (wieder) startet const MINDEST_EINSPEISE_LEISTUNG = 1000; //Watt
// Wieiviel darf aus dem Netz bezogen werden, bevor die Ladung abgebrochen wird. const MAXIMAL_NETZBEZUG = 100; //Watt
//Mit welcher Stromstärke soll das Laden begonnen werden const START_STROMSTAERKE = 0; // A
//Mit welcher Stromstärke soll maximal geladen werden (Wird auch zum entladen des Hausakkus verwendet) const MAX_STROMSTAERKE = 16; //A
//Soll Netzbezug im Rahmen der Stromstärkenregulierung vermieden werden? //Wenn diese Option aktiviert ist wird die Stromstärke reduziert, sobald ein Strom aus dem Netz/AKku bezogen wird const NETZBEZUG_VERMEIDEN = true; //true oder false
//IOBroker Objekt ID der Einspeiseleistung PV let ID_EINSPEISE_LEISTUNG = "0_userdata.0.Energie.Energymeter.Wirkleistung.Einspeisung"; //Watt
//IObroker Objekt ID der Netzbezugsleistung PV // Leer lassen falls es nur ein Objekt für Netzbezug und Einspeiseleistung gibt und in ID_Einspeiseleistung das Objekt eintragen // Das Skript erzeugt automatisch 2 Status für Einspeiseleistung und Netzbezug // Falls der Wert positiv ist, wird der Wert als Netzbezug gespeichert, falls negativ als Einspeisung let ID_NETZBEZUG_LEISTUNG = "0_userdata.0.Energie.Energymeter.Wirkleistung.Bezug" ; //Watt
//IOBroker Objekt ID zum Tesla, generiert vom Tesla-Adatper (Root) const ID_TSL = "tesla-motors.0.xxx";
//Breitengrad Koordinaten der Heimatadresse, somit greift das Skript nur Zuhause const ZUHAUSE_LATITUDE = xxxx
//Längengard Koordinaten der Heimatadresse const ZUHAUSE_LONGITUDE = xxx; //Längengrad Koordinaten
//Maximale Entfernung des Autos von Zuhause; Umkreis in dem das Skript greift const ZUHAUSE_MAX_ENTFERNUNG = 0.5 ; //KM
//Loglevel des Scripts const LOGLEVEL = "INFO" ; //INFO oder DEBUG
//Notifizierung per Telegramm aktivieren/deaktivieren <= Eine Telegram-Instanz muss in ioBroker eingerichtet sein //Benachrichtigung über Start/Stopp der Ladung und Beendigung -> Wie viel Energy wurde per Überschuss geladen const TELEGRAMM_NOTIFIZIERUNG = true; // true oder false
//Telegramm Notifizierung nur an einen einzelnen Nutzer (Leer lassen alle mit dem Bot verbundene Nutzer) const TELEGRAMM_NUTZER = ""; // Nutzernamen oder ""
//Ist ein PV-Akku vorhanden? Wenn nein, sind alle folgenden Angaben obsolet const PV_AKKU_VORHANDEN = true; //true oder false
//IOBroker ObjektID des Akkustands const ID_PV_AKKU_SOC = "modbus.1.inputRegisters.30845_SOC";
// Ab welchem Akkustand des PV Akkus soll der Ladevorgang starten? const PV_AKKU_START_SOC = 98; //%
// Ab welchem Akkustand des PV Akkus soll der Ladevorgang Stoppen? const PV_AKKU_STOP_SOC = 95; //%
//Gibt es 2 getrennte Objekte für Akku laden und entladen? Wenn ja, diesen Wert auf false setzen und die Objekte //für Laden und Entladen des Akkus als ID_EINSPEISE_LEISTUNG (Laden) und ID_NETZBEZUG_LEISTUNG(Entladen) setzen
const PV_AKKU_LEISTUNG_EINSTATUS = true; // true oder false
// Alles folgende ist nur notwendig, falls PV_AKKU_LEISTUNG_EINSTATUS = true //IOBroker ObjektID PV-Akku Status const ID_PV_AKKU_STAT = "modbus.1.inputRegisters.30955_Batteriestatus";
//Welchen Wert hat das Objekt ID_PV_AKKU_STATUS wenn der Akku entladen wird? const PV_AKKU_STAT_ENTLADEN = "2293";`
Ich vermute das liegt hier dran:
if(Netzbezug > MAXIMAL_NETZBEZUG && getState(ID_TSL_GET_AMPS).val < START_STROMSTAERKE)
Wenn die Start Stromstärke auf 0 steht, muss hier <= verwendet werden