[FEMS] Auto per Wallbox nicht aus Speicher laden

Was bedeutet denn für dich “auf evcs power einstelle” ?

Grüße

Hei,

habe den controller so angepasst:

protected static int calculateRequiredPower(int essPower, int gridPower, int evcsPower) {
		return gridPower + essPower - evcsPower;
	}

Und in der “run methode” gebe ich hier einfach das evcs mit und fertig.

/*
		 * Calculates required charge/discharge power
		 */
		var calculatedPower = calculateRequiredPower(//
				this.ess.getActivePower().getOrError(), //
				this.meter.getActivePower().getOrError(), //
				this.evcs.getActivePower().getOrError());

Vermutlich muss man hier noch diverse Anpassungen vornehmen, damit PV überschuss auch berücksichtigt wird, aber sonst entspricht das genau der Anforderung des Threads :smiley:

Beste Grüße
Beton

Und was ist, wenn keine evcsPower vorhanden ist?

Servus,

guter Einwand!

So sollts gehen:

if(this.evcs.getStatus().getName() == "Charging") {
			/*
			 * Calculates required charge/discharge power
			 */
			var calculatedPower = calculateRequiredPower(
					this.ess.getActivePower().getOrError(),
					this.meter.getActivePower().getOrError(),
					this.evcs.getActivePower().getOrError());

			/*
			 * set result
			 */
			this.ess.setActivePowerEqualsWithPid(calculatedPower);
			this.ess.setReactivePowerEquals(0);
		}
		else {
			/*
			 * Calculates required charge/discharge power
			 */
			var calculatedPower = calculateRequiredPower(
					this.ess.getActivePower().getOrError(),
					this.meter.getActivePower().getOrError(),
					0);

			/*
			 * set result
			 */
			this.ess.setActivePowerEqualsWithPid(calculatedPower);
			this.ess.setReactivePowerEquals(0);
		}

Beste Grüße
Beton

so is es schöner oder?

evcsPower = 0;
		
		if(this.evcs.getStatus().getName() == "Charging") {
			evcsPower = this.evcs.getActivePower().getOrError();
		}
			/*
			 * Calculates required charge/discharge power
			 */
			var calculatedPower = calculateRequiredPower(
					this.ess.getActivePower().getOrError(),
					this.meter.getActivePower().getOrError(),
					evcsPower);

			/*
			 * set result
			 */
			this.ess.setActivePowerEqualsWithPid(calculatedPower);
			this.ess.setReactivePowerEquals(0);