CCA Online Tools

🚪 Window Contacts & Ventilation

📖 CCA Handbook › Blueprint section: Contact Sensors for Ventilation

Settings if the feature ‘💨 - Ventilation Mode — React to open/tilted windows, prevent lockout’ has been activated above.
All these settings are optional.

On this page: 🚪 Contact Sensor For Open Window (Full Ventilation) · 💨 Contact Sensor For Tilted Window (Partial Ventilation) · 💨 Lockout protection for window tilted · 💨 Ventilation Configuration · 🕛 Contact Trigger Delay · 🕛 Contact Sensor Status Delay


🚪 Contact Sensor For Open Window (Full Ventilation)

🧩 Input: contact_window_opened

Contact sensor of a door or window handle for detecting total opening. If this sensor switches to on/true, the cover is fully opened — to the Open Position, or to the 💨 Full Ventilation Position if configured. At the same time, a lockout protection is always activated. The cover is not closed and the sun shading is not activated when the contact is open.

Further descriptions

It must be a binary two-way contact sensor. If a three-way sensor is available, it must be converted to a binary two-way sensor using a template sensor. See also the following posts in the forum.

Important note: Please do not enter the same sensor in both fields for the contact sensors. This does not work and leads to strange situations.

If the sensor has no status — typical for a battery-powered contact after a restart of your hub, which only reports again when the window is next moved — the automation continues with the last known window status. It deliberately does not treat the window as closed, because that could lower the cover onto an open window. So while the last known status was open or tilted, the automation waits and the cover holds its position; everything resumes as soon as the sensor reports again.


💨 Contact Sensor For Tilted Window (Partial Ventilation)

🧩 Input: contact_window_tilted

The contact sensor is required for the partial ventilation mode. If the contact changes to on/true, the cover is moved to the ventilation position. The prerequisite is that the cover is already closed. After the status changes to off/false, the close position is activated again. The same applies in the shading-out situation.

Further descriptions

It must be a binary two-way contact sensor. If a three-way sensor is available, it must be converted to a binary two-way sensor using a template sensor. See also the following posts in the forum.

Important note: Please do not enter the same sensor in both fields for the contact sensors. This does not work and leads to strange situations.

If the sensor has no status — typical for a battery-powered contact after a restart of your hub, which only reports again when the window is next moved — the automation continues with the last known window status. It deliberately does not treat the window as closed, because that could lower the cover onto an open window. So while the last known status was open or tilted, the automation waits and the cover holds its position; everything resumes as soon as the sensor reports again.


💨 Lockout protection for window tilted

🧩 Input: lockout_tilted_options

For the tilted window (or door, of course), you can individually specify where a lockout protection should be used.


💨 Ventilation Configuration

🧩 Input: auto_ventilate_options

Various different ventilation options.

Further descriptions


🕛 Contact Trigger Delay

🧩 Input: contact_delay_trigger · Default: 2

How many seconds must the status of the contact sensors be valid for the automation to trigger? ⚠️ Race Condition Protection: If you have multiple contact sensors (e.g., window sensor + lock sensor) that can change simultaneously, increase this value to prevent race conditions. Symptoms of race conditions: - Cover closes despite lockout sensor being active - Check Home Assistant logs for “max_exceeded: warning” messages - If you see these warnings frequently, increase this delay


🕛 Contact Sensor Status Delay

🧩 Input: contact_delay_status · Default: 3

How long should the automation wait after a contact sensor trigger before re-evaluating all sensor states? This delay is applied inside the contact sensor handling. After the delay, CCA reads the live state of all contact sensors — so the final decision (return to open / close / shading) reflects the actual situation at that moment, not the state at trigger time.

When to increase this value:

⚠️ Race Condition: Window closed + Resident off in quick succession: If contact_window_opened and the resident sensor are turned off within milliseconds of each other, CCA may still see the resident as present at trigger time and incorrectly close the cover. Setting this delay to 0.5–1 second gives the resident sensor enough time to settle before CCA makes its routing decision.


⬅️ Handbook index · Previous: ☀️ Sun Elevation · Next: 🌤️ Sun Shading