Actions ignored during charging session
Closed this issue · 10 comments
Hi
I would like to balance the electrical consumption by regulating the charging power while charging the car. However, I'm facing some issues:
When no car is connected to the charging station, the 'set current' action functions correctly. The charging station adopts the set current, and if I set a delay time, I can see (in my case) the entity "sensor.keba_p30_time_until_planned_current_is_set" counting down. Once the delay time elapses, "sensor.keba_p30_set_current" adopts the preset current, which seems to be working correctly.
However, as soon as a car starts charging, the previously set current reverts back to its maximum value. After this, it is no longer possible to reduce the current. If I attempt to use the set current action (which uses the underlying UDP command currtime), the delay timer counts down for a few seconds, but before the timer reaches 0s the current is reset already back to its maximum value and the timer stops counting. I don't think it's only this action that has an issue but something more in general, because the start and stop commands also seem to be either ignored or overridden during a charging session. If I try to stop the session, charging stops for approximately 2 seconds and then resumes.
This issue occurs with various car brands, so it doesn't seem to be caused by a specific car. And I already tried with 'failsafe mode' on and off, no difference.
- Using custom_component version 3.0.3 in Home Assistant version 2024.11.1.
- Charging station: Keba P30, firmware version 3.10.53, with SolarEdge branding.
Does anyone have tips on how I can better troubleshoot where the resetting/overwriting during charging comes from, or has anyone experienced similar problems and already found an explanation or solution for this?
Thank you in advance!
It works perfectly for me.
@VLWilliam If it working if you send the udp commands directly during a charging process? I would try to find out if it is caused by the charging station or by the home assistant integration
@VLWilliam Another idea: some charging stations have a swtich as input to authorize the charging process. If you say, even when you stop it, it restarts again, maybe the switch input is activated all the time?
Hello, same problem here. Until a few days ago, everything was working fine, but now during charging, I can't change the amperage or stop the charging process. Actually, the commands are successful, but after a few seconds, they are overridden by something. Here are the log lines:
2024-12-24 15:05:01,585 [Actor-LogEventActorImpl-0] DEBUG (0:79 logEvent) - LogEvt: Event time: [2024-12-24 15:05:01,518] [24828377] amp pulse changed : 15000
2024-12-24 15:05:01,593 [EventLoopThread-1735050323323] INFO (EventLoopActivator:673 logRuleName) - RULE [24828377] ---IF StatusUpdateEvt and existing socket THEN update existing socket and cleanup.---
2024-12-24 15:05:03,466 [Actor-LogEventActorImpl-0] DEBUG (0:79 logEvent) - LogEvt: Event time: [2024-12-24 15:05:03,450] [24828377] timed ENA condition met: 25000
I'm going crazy!
@dannerph, Thank you for taking a look at the issue.
- Do you have a suggestion on how I can best send a UPD command and troubleshoot it afterwards?
- The DIP switch for UDP on DSW1 is enabled (D1.3 - “Activate SmartHome Interface via UDP”). D1.1 and D1.2 for external input [X1] and output [X2] are disabled and not wired. As described in the documentation "KeContact P20 / P30 Installation manual (for the specialist)" - Section 4.6.
I can download the diagnostic logs from the web interface, but unfortunately, I don’t get much wiser from the logs. Are there things I should pay attention to or that might contain interesting information?
The charging station seems to receive (for example, the stop command), as the charging session stopped for a few seconds. But resumed back automatically. Same for changing the charging current.
The charging station seems to receive commands (for example, the stop command), as the charging session stops for a few seconds but then resumes automatically. The same happens when changing the charging current.
@VLWilliam Is the Keba charging station connected to a solar management system? If so, what brand do you have? I'm trying to understand if the issue might be coming from that. I tried sniffing the UDP commands between the charging station and Home Assistant, but I didn’t find anything unusual. I also tried turning off Home Assistant and sending the UDP commands manually, but it behaved the same way.
@lorenzolaiti, the charging station is indeed connected to a SolarEdge SE10K inverter. The charging station itself is also 'branded' as SolarEdge, but under the cover, it is a Keba P30. It could indeed be that the inverter is overwriting the UDP commands each time. In my case each charging session is also started with an RFID badge (configured in the SolarEdge app).
With the inverter itself, I have a valid Modbus connection based on the solaredge-modbus-multi integration. Unfortunately, there is not yet an integration for charging stations. I had hoped to make this possible via this Keba integration. Reading out the data is working fine, but the commands are still an issue at the moment.
@VLWilliam The common points are the integration for reading data from the inverter and the brand of the inverter (even though I have a different model, but still SolarEdge). I tried turning off Home Assistant and sending UDP commands directly, and the behavior is the same, so I would rule out an issue with the integrations.
The things that could be done are:
• Update the charging station. I see that mine is version .14, while the latest release is .18. Are you also on this version?
• Try disconnecting the OCPP connection with SolarEdge.
Have you already tried either of these two attempts?
@lorenzolaiti, My charging station has software version 1.17.1. Disconnecting the OCPP is not an option in my case, as I would like to continue using some functionalities of SolarEdge (such as history and RFID badges, etc.).
What I have tried is using Modbus TCP instead of UDP communication in Python. The same issue occurs here as well. So, it is not UDP related. With an ugly fix I found out that sending the stop command 3 times every 3 seconds, the command is not reversed anymore.
for i in range(3):
set_charging_station_state(client, 0) # Disable charging station
time.sleep(3)
I still need to complete and improve the script, but as a first test, it looks like it works.
Ok, it seems that some external source is changing the state of your charging station. That is nothing I can fix in the integration of Home Assistant. I will close this issue now.