Repository navigation
Zones
Zone-based ventilation control for multi-room systems.
Zones let you control ventilation for individual rooms or areas independently. Instead of treating your entire home as one big space, you can:
- Monitor conditions per room (humidity, CO2, temperature)
- Open or close airflow to specific areas
- Prioritize ventilation where it's needed most
- Balance comfort and energy efficiency
Ramses Extras supports two types of zones:
Built-in zones from ORCON ventilation systems:
- Already configured in your FAN device
- Read-only monitoring (no direct control)
- Automatic operation based on built-in sensors
Add-on hardware valves for rooms not covered by native zones:
- Physical valves installed in ventilation ducts
- Full control (open/close/position)
- Connects via Home Assistant entities
┌──────────────────────────────────────────────────────────────┐
│ Your FAN Device │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Fan Speed Increased by Demand │ │
│ │ (High Speed) │ │
│ └──────────────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Bedroom │ │ Bathroom │ │ Office │ │
│ │ Valve │ │ Valve │ │ Valve │ │
│ │ (closed 50%) │ │ (open 100%) │ │ (closed 50%) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ Normal High Humidity Normal │
│ │
└──────────────────────────────────────────────────────────────┘
When a zone has demand (high humidity, high CO2, etc.):
- The fan speed increases first (based on control priority)
- The demanding zone's valve opens to allow more airflow
- Other zones may close slightly to direct airflow where needed
- When conditions normalize, fan speed returns to normal, then valves return to default
Zones automatically respond to fan speed changes:
- Fan speed increases first – Based on Humidity/CO2 Control demands
- Demanding zones open – Valves open to max position (e.g., 100%) to allow airflow
- Other zones may close – To direct airflow where needed, depending on their demand and current fan speed
- Priority system – If multiple zones demand airflow, priority determines response order
For controllable valves, you can set:
- Min position – Valve never fully closes (protects the FAN from backpressure)
- Max position – Valve maximum opening (use 100% on normal systems to reduce resistance)
Example values:
-
min_position: 15– Always allows 15% airflow -
max_position: 100– Full opening for normal systems
⚠️ WARNING: Never setmin_positionto 0%!A minimum position of 0% would allow the valve to fully close, cutting off all airflow to that zone. This can cause:
- FAN backpressure damage – The FAN must push air somewhere; blocking all outlets strains the motor
- Overheating – Restricted airflow can cause the FAN to overheat
- Premature wear – Operating against closed valves damages the ventilation system
Always set
min_positionto at least 10-15% to ensure minimal airflow and protect your FAN.
For custom valves (paired_valves type), you can configure advanced homing behavior via extra_config in the UI or YAML:
| Parameter | Type | Default | Description |
|---|---|---|---|
home_mode |
string | always |
When to home: always (every demand change), on_demand (only when needed), never
|
home_position |
int | 0 | Position to home to (0-100%) |
home_tolerance |
int | 2 | Tolerance in % for considering valve "at position" |
home_timeout_s |
float | 90 | Maximum seconds to wait for home operation |
home_poll_s |
float | 0.5 | Seconds between position checks during homing |
home_interval_s |
float | 0 | Seconds to wait between home and set operations |
invert_logic |
bool | false | Invert valve position logic (0=100%, 100%=0%) |
zones:
FANs:
"32:153289":
- zone_id: "bedroom"
type: "paired_valves"
enabled: true
inlet_valve_entity: "cover.bedroom_inlet"
outlet_valve_entity: "cover.bedroom_outlet"
min_position: 10
max_position: 100
extra_config:
home_mode: "always"
home_position: 0
home_tolerance: 2
home_timeout_s: 90
home_poll_s: 0.5
invert_logic: false-
always: Valve homes to
home_positionbefore every demand change (safest, ensures known starting point) -
on_demand: Only homes when valve needs to move significantly (based on
home_tolerance) - never: Skip homing entirely (fastest but may drift over time)
-
Shelly 2PM Gen3 valves: Use
home_mode: alwaysfor reliable position tracking -
Faster response: Use
on_demandwithhome_tolerance: 5to skip homing for small adjustments -
Testing/debugging: Use
nevertemporarily to isolate valve behavior -
Inverted valves: Set
invert_logic: trueif your valve reports 0% when fully open
Zones are configured as part of the zones feature section:
- Go to Settings → Devices & Services → Ramses Extras
- Click Configure
- Enable the zones feature for your FAN device
- Configure zones in the zones feature section
In the zones configuration:
zones:
FANs:
"32:153289":
- zone_id: "bathroom"
label: "Bathroom"
source_type: "orcon_native"
enabled: true
sensors:
temperature_entity: "sensor.bathroom_temp"
humidity_entity: "sensor.bathroom_humidity"
capabilities:
reports_position: true
controllable: falseIn the zones configuration:
zones:
FANs:
"32:153289":
- zone_id: "bedroom"
label: "Bedroom"
source_type: "custom_valve"
enabled: true
sensors:
temperature_entity: "sensor.bedroom_temp"
humidity_entity: "sensor.bedroom_humidity"
co2_entity: "sensor.bedroom_co2"
actuator:
kind: "shelly_2pm_gen3"
open_entity: "button.bedroom_valve_open"
close_entity: "button.bedroom_valve_close"
position_entity: "sensor.bedroom_valve_position"
min_position: 15 # Never set to 0! Protects FAN from backpressure
max_position: 100 # Use 100% on normal systems to reduce resistance
capabilities:
reports_position: true
controllable: trueWhen multiple zones demand airflow, priority determines which zones open first (when max_open_zones is limited):
actuator:
actuation_priority: 100 # Higher = more likely to be selected (default 100)Typical priority values:
- 100 (default) - Normal priority
- 150+ - High priority (bathrooms, critical areas)
- 50-99 - Lower priority (storage, less critical spaces)
To prevent overloading your FAN, limit how many zones can open simultaneously:
zones:
FANs:
"32:153289":
max_open_zones: 3 # Only 3 zones can be open at once
# ... zones ...When more zones demand than the limit, the highest-priority zones (by actuation_priority) are selected.
Zones create diagnostic entities for monitoring:
| Entity | Type | Purpose |
|---|---|---|
sensor.zone_{zone_id}_position_{device_id} |
Sensor | Current valve position (%) |
binary_sensor.zone_{zone_id}_demand_{device_id} |
Binary Sensor | Whether zone has active demand |
sensor.zone_{zone_id}_status_{device_id} |
Sensor | Zone state (open/closed/pending) |
The HVAC Fan Card shows zone information:
┌─────────────────────────┐
│ Zones: │
│ ● Bathroom: Open 85% │ ← Active demand
│ ○ Bedroom: Closed 15% │
│ ● Office: Open 90% │ ← Active demand
│ ○ Kitchen: Closed 15% │
└─────────────────────────┘
- ● – Zone is open with active demand
- ○ – Zone is closed or at minimum position
- Percentage shows current valve position
When Humidity or CO2 Control activates:
- The triggering zone is highlighted
- You can see which room caused the ventilation demand
Control zones via Home Assistant services (provided by Default Feature):
service: ramses_extras.set_zone_demand
data:
device_id: "32:153289"
zone_id: "bedroom"
has_demand: true # or falseservice: ramses_extras.clear_zone_demand
data:
device_id: "32:153289"
zone_id: "bedroom" # optional - omit to clear all zonesservice: ramses_extras.run_zone_actuation
data:
device_id: "32:153289"Directly control valve position (bypasses demand system):
service: ramses_extras.force_zone_ventilation
data:
device_id: "32:153289"
zone_id: "bedroom"
state: "on" # or "off", "open", "closed"- ORCON ventilation system with zone support
- No additional hardware needed
Per valve installation:
- Shelly 2PM Gen3 – Smart relay module
- Motorized damper – 24V or mains voltage duct valve
- Power supply – Appropriate for your damper
- Duct modification – Professional installation recommended
Note: Installation involves modifying ventilation ducts. Consult a professional if unsure.
Each bedroom has independent control:
- High CO2 in one bedroom → Fan speed increases, that valve opens to 100%, others may close to compensate
- Humidity in bathroom → Fan speed increases, bathroom valve opens, bedroom valves adjust
- Energy savings – Only ventilate rooms that need it, directed by valve positioning
Different needs throughout the day:
- Morning: Office zone open for CO2 control
- Evening: Living room zone prioritised
- Night: All bedroom zones monitored
Areas with different requirements:
- Kitchen – High humidity tolerance, separate zone
- Bedrooms – Strict CO2 limits
- Storage – Minimal ventilation needs
Use consistent, descriptive zone IDs:
-
bedroom_master– Master bedroom -
bedroom_guest– Guest bedroom -
bathroom_main– Main bathroom -
office– Home office -
kitchen– Kitchen area
Always set minimum positions for custom valves:
- Protects your FAN from backpressure
- Ensures some airflow even when "closed"
- Required minimum: 10-15% (never set to 0%)
⚠️ CRITICAL:min_position: 0will damage your FAN!Never allow valves to fully close. The FAN needs at least one path for air to flow, even when all zones are "closed." Without this safety margin, you risk motor damage and system failure.
Map the right sensors to each zone:
- Room sensors give accurate readings
- Don't use hallway sensors for bedroom zones
- Consider multiple sensors per zone for large rooms
After setup:
- Manually open/close each zone via services
- Verify valve responds correctly
- Check position reporting accuracy
- Test demand-driven actuation
Check:
- Actuator entities are correctly mapped
- Shelly device is online in Home Assistant
- Valve has power and is not mechanically stuck
Check:
- Position sensor entity exists (for custom valves)
- Entity is reporting valid values (0-100%)
- If using ORCON native zones: position may not be available (read-only)
Check:
-
max_open_zonessetting in configuration - Zone priorities are set appropriately
- Consider lowering the max if your FAN seems overloaded
Check:
- Area sensors are mapped to the zone
- Humidity/CO2 Control thresholds are set correctly
- Zone has
zone_idmatching the area sensor configuration
Planned zone improvements:
- Occupancy-aware control – Open zones only when rooms are occupied
- Manual zone override – Temporary manual control per zone
- Learned weighting – Optimize airflow based on actual performance
- Zone scheduling – Different behavior at different times of day
Back to: Home | Prev: CO2 Control | Next: Advanced Settings
- Feature Catalog
- CO2 Control
- Humidity Control (Balance)
- Temp Control (Bypass)
- FAN Configuration (Sensor Control)
- HVAC Fan Card
- Ramses Debugger
-
Device Simulator -
⚠️ Use only on dedicated system/container - Default Feature
- Hello World (Developer Example)