Wallbox Ladestärke kontinuierlich erhöhen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Wallbox Ladestärke kontinuierlich erhöhen

Beitrag von mcdandrew »

Ich habe für unser E-Auto eine Phoenix Contact Ladesteuerung im Einsatz, via Modbus kann ich diese ansteuern und u.a. die Ladestärke stufenlos ab 6A erhöhen.
Meine Idee ist nun folgende....

Nach dem Openhab erkennt, dass das Fahrzeug angesteckt wird mit dem Laden begonnen, dabei möchte ich folgendes umsetzen.

Beginne mit 6A und erhöhe alle 3 Minuten um 2A bis zur Maximalleistung von 16A

Die Umsetzung mittels "Thread::sleep" wäre sich unsauber....gibt es eine andere schicke Möglichkeit? :D

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Wallbox Ladestärke kontinuierlich erhöhen

Beitrag von udo1toni »

Also, prinzipiell wirst Du so etwas suchen:

Code: Alles auswählen

var Timer tChargeCurrent = null

rule "Ladestrom erhöhen"
when
    Item chargeCar changed
then
    tChargeCurrent?.cancel
    if(chargeCar.state != ON) {
        chargeCarCurrent.sendCommand(6)
        return;
    }
    tChargeCurrent = createTimer(now.plusMinutes(3),[|
        if(chargeCarCurrent.state < 16) {
            chargeCarCurrent.sendCommand((chargeCarCurrent.state as Number).intValue + 2)
            tChargeCurrent.reschedule(now.plusMinutes(3))
        }
    ])
end
chargeCar ist das Item, welches meldet, wenn das Auto zum Laden angeschlossen wird.
chargeCarCurrent ist das Item, welches den Strom in Ampere einstellt.
tChargeCurrent ist eine Timer Variable, die einen Zeiger auf einen Timer bereitstellt. Wenn das Item chargeCar seinen Status wechselt, wird ein eventuell vorhandener Timer gecancelt. Ist der Status nicht ON, so wird der Ladestrom auf 6 Ampere eingestellt und die Rule anschließend beendet.
Ist der Status ON, so wird stattdessen der Timer gestartet und die Rule wird beendet.
Läuft der Timer ab, so wird der Ladestrom um 2 Ampere erhöht und der Timer erneut aktiviert, allerdings nur unter der Voraussetzung, dass der Ladestrom noch nicht die 16 Ampere erreicht hat.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Wallbox Ladestärke kontinuierlich erhöhen

Beitrag von mcdandrew »

Super vielen Dank....leider kann ich es frühestens morgen testen. Aber ich gebe Rückmeldung.
Hier der schon einmal der Code

input100 = ist der Status der Ladestation (65=Ladekabel nicht angeschlossen, 66=Ladekabel angeschlossen, 67=Fahrzeug lädt)
holding300 = Register zur Festlegung der Ladestärke
lademodus: 0 = Sofort Laden, 1= PV Überschuss

Code: Alles auswählen

var Timer tChargeCurrent = null

rule "Ladestrom erhöhen"
when
    Item input100 changed from 65 to 66
then
	//Lademodus: 0 = Sofort Laden
	if(lademodus.state == 0)
	{
    		tChargeCurrent?.cancel
    		if(input100.state != 66) 
		{
        		holding300.sendCommand(6)
        		coil400.sendCommand(ON) //Ladefreigabe erteilen
           		return;
    		}
    		tChargeCurrent = createTimer(now.plusMinutes(3),[|
        	if(holding300.state < 16) 
			{
            			holding300.sendCommand((holding300.state as Number).intValue + 2)
            			tChargeCurrent.reschedule(now.plusMinutes(3))
        	}
    		])
    	}
    	//Wenn Lademodus = PV Überschuss und Überschuss > 1500W (~6A)
    	else if(lademodus == 1 && pv_ueberschuss.state > 1500)
    	{
    		holding300.sendCommand(6)
    		coil400.sendCommand(ON) //Ladefreigabe erteilen    		
    	}
end
Wenn in einigen Wochen unsere PV Anlage installiert ist muss das ganze noch erweitert werden.
Dann soll mit einem Switch zwischen "Sofort Laden" und "PV Überschuss" gewählt werden können.

Wobei bei PV Überschuss sich die Ladestation je nach Überschussleistung langsam an das möglich maximum herantasten soll.
Meinem Verständnis nach benötige ich dann eine weitere Rule welche bei eventuelle Überschussleistung größer 500W triggert und um 2A erhöht. Dies aber nur wenn aktuell ein Fahrzeug lädt (input100.state == 67)
Dabei möchte ich aber eine Mindestlaufzeit hinterlegen um ein ständiges Triggern des Schütz zu vermeiden sobald bspw. eine Wolke kommt.
Wurde das Laden mal gestartet, darf erst nach 30 Minuten gestoppt werden.
Diese Zeit wird wieder auf t+30 gesetzt, falls der Ladestrom erhöht wird.
Wurde das Laden mal gestoppt, ebenfalls erst dann das Laden wieder starten, wenn t+30 vergangen ist.

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Wallbox Ladestärke kontinuierlich erhöhen

Beitrag von mcdandrew »

Super vielen Dank....leider kann ich es frühestens morgen testen. Aber ich gebe Rückmeldung.
Hier der schon einmal der Code
Die Rule funktioniert wie gewünscht
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Maggi
Beiträge: 27
Registriert: 22. Okt 2019 20:09
Wohnort: Hanau

Re: Wallbox Ladestärke kontinuierlich erhöhen

Beitrag von Maggi »

mcdandrew hat geschrieben: 16. Apr 2021 18:51
Super vielen Dank....leider kann ich es frühestens morgen testen. Aber ich gebe Rückmeldung.
Hier der schon einmal der Code
Die Rule funktioniert wie gewünscht
Dein Anlage läuft ja sicherlich jetzt schon eine Weile. Wie hast du deine Regelung jetzt angepasst und funktioniert wie gewünscht?
Ein paar Screenshots von den Einstellungen deiner Modbuseinstellungen für die Abfrage der Register wären auch super.

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Wallbox Ladestärke kontinuierlich erhöhen

Beitrag von mcdandrew »

Ich habe mir eine neue Wallbox angeschafft da die Phoenix Steuerung nicht zu überzeugen war die Werte sauber auszulesen. Immer wieder Verbindungsabbrüche die sich nur mit einem Reset beheben ließen.

Antworten