To link EV charging schedules to KNX ETS programming, you map the charger’s group addresses for charging state, current limit, and enable/disable control into ETS, then use time-based logic or a logic block to activate those addresses within defined windows. The result is a fully automated charging routine that responds to time, energy availability, or tariff signals without manual intervention. The sections below unpack each layer of that process, from raw data points to runtime scheduling.
What KNX data points does an EV charger expose for scheduling?
A KNX-compatible EV charger typically exposes group addresses for charging enable/disable (a binary switch), charging current setpoint (a value in amperes), charging state feedback (idle, charging, error), and energy meter readings. These are the four data points that make automated scheduling possible inside KNX ETS programming.
The enable/disable address is the simplest lever: a 1-bit group address that starts or stops the charging session. The current setpoint address, usually a 1-byte or 2-byte value depending on the charger’s KNX implementation, lets you throttle power dynamically rather than simply switching the charger on or off. This distinction matters when you want to reduce charging speed during peak grid hours rather than interrupting the session entirely.
State feedback addresses are equally important for reliable scheduling. Without reading back the actual charging state, your ETS logic is effectively blind. A charger reporting “vehicle not connected” should suppress any scheduled start command, preventing error states from accumulating in the installation. Energy meter group addresses, where the charger provides them, feed into consumption tracking and can serve as inputs for dynamic logic later in the schedule chain.
How does KNX ETS programming translate charging windows into logic?
In KNX ETS programming, charging windows are implemented by linking time-triggered group address writes to the charger’s enable and current setpoint addresses. A time channel in the KNX device (or in a dedicated logic module) sends a predefined value to the charger’s group address at a scheduled time, opening or closing the charging window without user input.
The most straightforward approach uses the built-in time functions of a KNX timer or a programmable logic controller on the bus. You define a start time, an end time, and the value to send at each point. For example, at 23:00 the timer writes “1” to the enable address and sets the current setpoint to the maximum permitted value. At 06:00 it writes “0” to disable charging. This covers a fixed overnight window reliably.
Where the schedule needs more nuance, such as skipping weekends or adjusting for public holidays, ETS logic blocks or a connected controller handle the conditional branching that a simple timer cannot. The key principle remains the same: every charging window reduces to a sequence of timed group address writes, and ETS is the tool that defines when and what gets written.
How can dynamic energy pricing be wired into a KNX charging schedule?
Dynamic energy pricing is wired into a KNX charging schedule by feeding real-time tariff data into a controller or logic module that compares the current price against a threshold, then writes the appropriate charging current setpoint or enable command to the charger’s group address. This turns a fixed time schedule into a price-responsive one.
The KNX bus itself does not natively receive external data feeds, so the integration requires a gateway or controller with internet connectivity. The controller retrieves hourly pricing data, evaluates whether the current slot falls below the cost threshold defined by the user, and translates that decision into a group address write. When the price is low, the controller sends the maximum current setpoint. When the price exceeds the threshold, it reduces the setpoint or disables charging entirely.
This approach works alongside, not instead of, the ETS time schedule. The ETS program defines the outer window during which charging is permitted at all, and the dynamic pricing layer adjusts behaviour within that window. Combining both layers gives you schedule discipline from ETS and cost efficiency from live tariff data, without requiring manual changes to the ETS project every time prices shift.
What’s the difference between ETS scene-based and logic-block scheduling?
Scene-based scheduling in ETS sends a fixed set of group address values simultaneously when a scene is recalled, making it fast and simple but static. Logic-block scheduling evaluates conditions at runtime and can adapt its output based on inputs like time, sensor state, or external values, making it flexible but more complex to configure.
Scene-based scheduling
A KNX scene stores a snapshot of group address values and recalls them with a single command. For EV charging, a “Night Charging” scene might set the enable address to 1 and the current setpoint to 16A in one action. A timer triggers the scene at the scheduled time, and all linked devices respond instantly. This works well when the charging profile is consistent and does not need to vary based on external conditions.
Logic-block scheduling
Logic blocks, implemented either in ETS through compatible logic modules or in a connected controller, evaluate inputs before producing an output. A logic block for EV charging might check whether the vehicle is connected, whether solar production exceeds a threshold, and whether the current time falls within the permitted window, then calculate the appropriate current setpoint. The output changes dynamically as inputs change, which a scene cannot do. For installations where charging must respond to solar generation, grid feedback, or dynamic tariffs, logic-block scheduling is the right tool.
Why won’t a KNX EV charging schedule trigger reliably?
A KNX EV charging schedule fails to trigger reliably most often because of missing telegram initialisation after a bus power cycle, incorrect group address linking in ETS, or a charger that does not acknowledge incoming telegrams when no vehicle is connected. Each of these causes a different symptom but shares the same root: the logic assumes a known bus state that does not actually exist.
After a bus restart, KNX devices do not automatically know the current state of the installation. If your timer or logic block depends on reading the charger’s state feedback before sending a command, and that feedback address has never been written since the restart, the logic may stall or produce incorrect output. The fix is to configure initialisation telegrams that write known values to critical group addresses on bus recovery.
Group address linking errors in ETS are a common second cause. If the timer’s send address and the charger’s receive address are not bound to the same group address, telegrams are transmitted but never received. Always verify the group address assignments in ETS against the charger’s documentation, and use the ETS diagnostic bus monitor to confirm telegrams are actually reaching the charger during commissioning.
A third factor is charger firmware behaviour. Some KNX EV chargers ignore enable commands when no vehicle is plugged in, which is intentional, but this can appear as a scheduling failure during testing. Confirm the trigger is working by testing with a vehicle connected before concluding the schedule logic is broken.
How does a KNX controller app extend ETS charging schedules at runtime?
A KNX controller app extends ETS charging schedules at runtime by allowing users to adjust charging windows, modify current setpoints, and activate or override schedules directly from a smartphone or tablet without reopening ETS or recommissioning the installation. The controller sits on the KNX bus and translates app commands into group address writes, complementing the static logic defined in ETS.
ETS programming defines the rules, but day-to-day life rarely follows fixed rules. A user who needs a full charge by 07:00 instead of the usual 06:00 should not need an integrator to update the ETS project. A controller app solves this by exposing the charging schedule as an editable interface at runtime. The user adjusts the end time in the app, the controller recalculates the required start time based on the vehicle’s state of charge or a fixed assumption, and writes the updated schedule to the bus.
Advanced controller platforms also add planner and scripting functionality on top of ETS logic. Scripts can evaluate multiple conditions simultaneously, such as weather forecasts, dynamic tariff windows, and solar production predictions, and push the resulting charging plan to the bus without any ETS changes. This is where the gap between a commissioning tool and a live management platform becomes most visible.
How xxter Helps Professionals Integrate EV Charging with KNX
xxter bridges the gap between static KNX ETS programming and the dynamic, real-world demands of EV charging management. The xxter controller sits on the KNX bus and communicates directly with group addresses defined in ETS, while adding a runtime layer that ETS alone cannot provide.
- Smart Energy Manager (SEM): xxter’s SEM uses dynamic energy pricing, weather forecasts, and solar production data to adjust the charging current setpoint in real time, minimising grid consumption and reducing energy costs.
- Runtime schedule editing: Users modify charging windows and setpoints through the xxter app on any smartphone, tablet, or Windows device, without touching the ETS project.
- Scripts and triggers: Professionals can build conditional charging logic that responds to vehicle state, tariff thresholds, or time windows directly in the xxter interface.
- No subscription fees: The xxter app runs on as many devices as needed with no license costs, making it a practical tool for both installers and end users.
If you are commissioning a KNX installation that includes EV charging and want a platform that handles both the ETS integration and the live energy management layer, explore xxter’s KNX smart home products for professional KNX smart home projects. To discuss your specific installation requirements, get in touch with the xxter team directly.
