@peterfido
Möchte eigentlich nicht, dass mein ganzes Script analysiert wird.
Das wird immer eine endlose Diskussion bei mir.
Hatte ich z.B. beim Thema „zyklische Routinen“
Hier mal der Teil, in dem die Meldungen erzeugt werden:
Aber wie gesagt, im Logfiles taucht ja alles richtig auf.
// ======================================
// Wallbox-Ansteuerung
// ( TEST 2, noch nicht fertig )
//
// zukünftige Funktionen:
// - erst Abfahren, dann Ausschalten
// - beim Laden Auto abgesteckt?
// ======================================
const zykWB = 2*1000; // Wallbox-Ansteuerung (> 1Sek)
setInterval(async function() {
// Status von WB holen
// -------------------
bZusRM = getState(preWB +".carConnected").val=="Charging"; // Auto lädt
var bAcsRM= getState(preWB +".AccessState").val=="Open"; // Zugriff frei
var bPh1 = getState(preWB +".amps1").val>0; // 1. Phase an
var bPh2 = getState(preWB +".amps2").val>0; // 2. Phase an
b3PhRM = bPh1 && bPh2; // 3-phasiges Laden
iLStromRM = getState(preWB +".amp").val; // Ladestrom
//console.info("RM Zus Strom Phasen: " +bZusRM +" " +iLStromRM +" " +b3PhRM);
// Wallbox ansteuern
// -----------------
if(iLZus==cZusAnlauf) { // ==== Anlauf? ====
if(!bAcsRM) { // Authent. Ein?
setState(preWB +".set_state", "acs;0"); // j: Authent. Ausschalten
if(iPhasen==1) // Phasen-Vorwahl
setState(preWB +".set_state", "psm;1"); // - 1phasig vorwählen
else
setState(preWB +".set_state", "psm;2"); // - 3phasig vorwählen
console.info("Anlauf: Authent. Aus, Phasenvorwahl");
}
else if(!bZusRM) { // Wallbox Aus?
setState(preWB +".set_state", "frc;0"); // j: Wallbox Einschalten
console.info("WB einschalten");
}
}
if(iLZus==cZusAus) { // ==== Ausschalten? ====
if(bZusRM) { // Wallbox Ein?
setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten
console.info("WB ausschalten");
}
else if(bAcsRM) { // Authent. Aus?
setState(preWB +".set_state", "acs;1"); // j: Authent. Ein
console.info("Authent. Ein");
}
}
if((iLZus==cZusPause) && bZusRM ) { // ==== Pause, WB Ein? ====
setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten
console.info("Pause einschalten");
}
if((iLZus!=cZusAus) && (iLStrom!=iLStromRM)) { // ==== Ladestrom ändern? ====
setState(preWB +".set_power", iLStrom); // j: Ladestrom zur WB
console.info("Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM);
}
if((iPhasen==1) && b3PhRM) { // ==== 3->1 Phasen? ====
setState(preWB +".set_state", "psm;1"); // auf 1phasig umschalten
console.info("auf 1-phasig umschalten");
console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM);
}
if((iPhasen==3) && !b3PhRM) { // ==== 1->3 Phasen? ====
setState(preWB +".set_state", "psm;2"); // auf 3phasig umschalten
console.info("auf 3-phasig umschalten");
console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM);
}
}, zykWB);