Skip to main content

Solaris Shade and Harvest Module

The Solaris module on Aida Controller automates daylight harvesting (sensor-driven dim) and glare control (sun-aware shade positioning) using facility zones. It complements time-based Circadian lighting and fixed schedules — Solaris runs continuously and reacts to ambient light sensors and solar geometry.

Overview

This module provides:

  • Daylight harvesting — closed-loop dim from interior ALS toward a lux setpoint, with a smooth rate-limited ramp; open-loop fallback from sun position when sensors are unavailable
  • Glare control — shade position from solar elevation/azimuth vs façade orientation, adjusted by cloud cover
  • Cloud cover for glare — from a rooftop daylight sensor when available, otherwise optional Open-Meteo weather, otherwise an assumed overcast day
  • Facility zone scopingharvest, glare, shading, rooftop, and optional lighting zone types with per-zone tunables
  • Setpoint training — guided multi-point ALS capture so closed-loop harvest knows how much lux changes when dim changes
  • Manual override — same timed/latched model as Circadian; harvest and glare skip suspended targets
  • Status and Setup tabs — live metrics, test time, rooftop lux test input, and module configuration
  • Preview charts — simulated harvest and glare curves for the day
  • Automation integration — builtin tasks solaris-harvest and solaris-glare

:::note PoE nodes and BACnet PoE lighting nodes do not speak BACnet directly. Solaris drives cluster-level dim and shade on the controller; northbound BACnet exports (if enabled) reflect aggregated zone state. See BACnet/IP Server for BMS integration. :::

How it works

LoopWhat drives itWhat it controls
HarvestInterior ALS readings (debounced) + 1 min backup tick; dims move toward target at a configurable % per secondElectric dim in harvest / lighting zones
GlareSun position every ~5 min, plus cloud cover from rooftop lux, weather, or an assumed valueShade position in glare / shading zones

Harvest in plain terms

  1. Sensors report how bright the room is (lux).
  2. Solaris compares that to the zone setpoint.
  3. If training provided a sensitivity (how many lux change per 1% dim), Solaris nudges the target dim up or down from the current harvest dim — it does not jump from full output every time.
  4. Physical dim ramps toward that target (default about 2% per second) so the room can settle between adjustments.
  5. If ALS stops arriving, closed-loop harvest can fall back to open-loop (sun on the façade) after the ALS timeout, then resume closed loop when lux returns.

Glare and cloud cover in plain terms

  1. Solaris knows where the sun is relative to each façade (from site location and zone orientation).
  2. Cloud cover softens how aggressively shades close on a sunny-looking geometry:
    • Rooftop illuminance (preferred) — measured exterior lux compared with estimated clear sky illuminance for this place and time
    • Open-Meteo Weather — when weather-enhanced glare is enabled and no fresh rooftop reading is available
    • Assumed 100% — when neither rooftop nor weather is available
  3. The Status tab shows Clear sky illuminance, Rooftop illuminance, and Cloud Cover: N% (method).

Prerequisites

Before enabling Solaris, ensure you have:

  • Aida Controller 2.0 installed and commissioned
  • Facility zones created with the correct types and cluster/device membership
  • Harvest zones: fixtures with dim control; closed loop needs at least one ALS-capable device in the zone
  • Glare / shading zones: shade actuators (INX/Core shades, Somfy PoE motors, etc.)
  • Rooftop zone (recommended for local cloud cover): an exterior / rooftop daylight sensor linked to a zone of type Rooftop
  • Site location in Settings → System (latitude, longitude, timezone) — required for glare and for clear-sky illuminance
  • Operator access to edit modules, facility zones, and automation tasks

Setup process

Step 1: Set site location

  1. Go to Settings → System.
  2. Set Latitude, Longitude, and Timezone.
  3. Save preferences.

Glare, clear-sky illuminance, and open-loop harvest all use this location. Closed-loop harvest uses interior ALS; it still benefits from correct timezone for active hours.

Step 2: Create facility zones

Solaris scope is defined primarily through Facility → Zones.

Zone typePurpose
HarvestDaylight harvesting — interior ALS-driven dim
GlareFaçade/window groups for anti-glare shade
ShadingGeneral automated shade (may overlap glare)
RooftopExterior daylight sensor — feeds global illuminance for glare cloud cover on all glare zones
LightingOptional harvest targets that share fixtures with Circadian

For each zone:

  1. Create or open the zone under Facility → Zones.
  2. Set the zone type.
  3. Link clusters and/or devices that belong in the zone.
  4. For harvest, glare, and shading zones, open the Solaris panel on the zone detail page and configure tunables (see Zone tunables).
  5. For a Rooftop zone, link only the exterior daylight sensor (or its cluster). You do not set harvest/glare façade tunables on rooftop zones — light events from members become site-wide rooftop illuminance.

:::tip Rooftop vs room ALS Use interior room sensors for harvest. Use a true exterior / rooftop sensor for the Rooftop zone. Room ALS includes electric light and furniture effects and will not produce a reliable outdoor cloud-cover estimate. :::

Step 3: Configure zone tunables

Per-zone settings override module defaults when present.

Harvest (harvest / lighting zones)

FieldDescription
ModeClosed loop (ALS setpoint), Open loop (sun-based), or Disabled
Setpoint luxTarget ambient level for closed loop (typical 300–750 lux); often filled by training
Dim min / maxAllowed dim range (%)
Dim change rateHow fast dim may move toward the target (% per second; default 2)
GainAutomation authority 0–100 (how strongly corrections apply)
Response step %Used only for the simpler ratio fallback when sensitivity was not trained

Glare (glare / shading zones)

FieldDescription
ModeOpen loop or Disabled (shade from sun geometry + site cloud cover)
Orientation (°)Façade azimuth — 0 = north, 90 = east, 180 = south
Shade min / maxAllowed shade range for automation
Min elevation (°)Ignore sun below this elevation
GainAutomation authority for shade moves

Step 4: Train harvest setpoint (closed loop)

For closed-loop harvest zones, train so Solaris learns both the setpoint and how lux responds to dim:

  1. Go to Modules → Solaris → Setup.
  2. Confirm harvest zones in scope use closed loop mode.
  3. Click Train set point (or force-restart if a session is stuck).
  4. The controller closes shades in glare zones in scope, then steps harvest lights through 100% → 50% → 0% (when multi-point sensitivity is enabled), waiting for settle and a fresh ALS reading at each step.
  5. When training completes, each zone stores setpoint lux and sensitivity (lux change per 1% dim). Those values appear on status and on the zone’s Solaris panel.

If multi-point harvest sensitivity is turned off in module settings, training captures a single 100% reading for setpoint only and uses the simpler ratio control law.

:::tip When to retrain Retrain after major layout changes, new glazing, furniture moves that block sensors, or when closed-loop dim consistently misses the visual target. :::

Step 5: Enable and configure the Solaris module

  1. Open Modules → Solaris.
  2. Toggle the module Enabled.
  3. On the Setup tab, enable Harvest and/or Glare.
  4. Set module-level defaults (used when a zone omits a field):
SectionWhat to set
HarvestDefault setpoint, dim min/max, dim change rate, gain, ALS fallback timeout, multi-point sensitivity
GlareShade min/max; optional Weather-enhanced glare (Open-Meteo cloud cover)
RuntimeSensor debounce, reconcile intervals, active hours / days
Manual overrideEnabled + auto-resume timeout (same family as Circadian)
TargetsZones recommended — leave empty to include all harvest/glare/shading zones of those types
  1. Click Save.

Step 6: Verify automation tasks

Under Automation → Tasks, confirm these builtin tasks are enabled:

TaskTypical intervalRole
solaris-harvest1 minBackup harvest reconcile if ALS events were missed
solaris-glare5 minShade position update from sun and cloud cover

You do not need to configure sensor-triggered harvest or rooftop-triggered glare separately — the controller queues those when light events arrive.

Step 7: Verify on the Status tab

  1. Open Modules → Solaris → Status.
  2. Confirm Harvest shows commanded / target dim and ALS lux when closed loop is active.
  3. Confirm Glare shows shade open % and sun elevation/azimuth when coordinates are set.
  4. Review Clear sky illuminance, Rooftop illuminance, and Cloud Cover: N% (…) — the method should read Rooftop Illuminance when a rooftop reading is active, or Open-Meteo Weather when weather-enhanced glare is supplying cover.
  5. Optionally enter a Rooftop illuminance value and click Set to simulate cloud cover during commissioning (use Clear to remove the test value).
  6. Use a simulated clock time if you need to force sun position for testing; Apply runs harvest/glare for that time without waiting for the next automation tick. Realtime returns to live clock.
  7. Check Active manual overrides and Automation → Logs for applied vs skipped targets.

Zone tunables vs module defaults

LayerWhereWhat
GlobalSettings → SystemLat/lng, timezone
ZoneFacility → Zone detail → SolarisOrientation, harvest mode/setpoint/rate, glare limits
Rooftop zoneFacility → ZonesMembership only — sensor that reports exterior lux
ModuleModules → Solaris → SetupDefaults, scope, weather option, active hours, training options
AutomationAutomation → TasksBuiltin tasks (normally leave enabled)

Prefer zone-level setpoints and orientations for room-specific tuning; use module defaults for site-wide baselines.

Manual override

Solaris uses the same override contract as Circadian.

Lights and shades (INX events)

Status shownEventsEffect
Paused (off)off, vac, and fl (or dim/shade) at 0% — using end level when present and under 101, otherwise startAutomation skips those targets until on / mot / up / down / s1s3 / level > 0%
Paused (timed)on, mot, up, down, s1s3, and fl / dim / shade at > 0% (same start/end rule)Automation skips for the override timeout; also clears paused-off

ALS / light sensor readings do not create an override — they drive harvest (unless the zone is already under a light override; then ALS is ignored until override ends).

While a harvest override is active, Solaris holds the last harvest dim and waits for a fresh ALS sample after resume before applying the control law again.

Shade jogs from Control (up/down/stop without a level) also create a timed pause for glare and clear paused-off.

The Active manual overrides table lists suspended targets with mode, resume time, and reason. You can clear all overrides from the Status tab when you have permission.

Coordinating with Circadian

ModuleControlsBest practice
CircadianCCT + dim vs timeInterior zones, tunable-white fixtures
Solaris harvestDim vs ALSPerimeter / daylit zones with sensors
Solaris glareShade vs sun + cloud coverFaçade zones with blinds

Avoid assigning Circadian and Solaris harvest to the same fixtures unless you intend them to share authority. Separate facility zones so operators can reason about which algorithm owns each space.

Monitoring and troubleshooting

Status tab readings

ReadingMeaning
Harvest dim / targetCommanded dim and control-law target (target may lead while dim ramps)
ALS luxInterior sensor level used for closed-loop harvest
ALS fallbackOpen-loop harvest is active because fresh ALS stopped arriving
Glare shade %Average shade open position across glare scope
Clear sky illuminanceEstimated outdoor lux if the sky were clear right now
Rooftop illuminanceLatest exterior lux (sensor or test input)
Cloud CoverPercent and method — Rooftop Illuminance, Open-Meteo Weather, or Assumed

Common issues

Harvest does not dim

  • Zone type must be Harvest or Lighting and included in module scope.
  • Closed loop needs ALS events — confirm sensors report light levels in device or event history.
  • Check Active manual overrides for timed pause or latched off.
  • Confirm gain is greater than 0 and harvest mode is not Disabled.
  • If dim moves too slowly or too fast, adjust dim change rate on the zone or module defaults.
  • Retrain if sensitivity was never captured and behavior feels wrong.

Glare shades do not move

  • Site latitude/longitude must be set.
  • Zone needs type Glare or Shading with shade actuators linked.
  • Confirm sun elevation exceeds min elevation for the zone and the sun is on that façade.
  • Check shade manual override in the active suspends table.
  • On heavily cloudy assumptions (100% assumed or high weather cloud cover), shades may stay more open than on a clear day — that is expected.

Cloud cover stuck on Assumed or Weather

  • Create a Rooftop zone and link the exterior sensor; confirm light events from that sensor appear on the controller.
  • Or enter a test rooftop lux on the Status tab to verify shade response during commissioning.
  • Enable Weather-enhanced glare only if you want Open-Meteo as the fallback when rooftop lux is missing.

Train setpoint fails or times out

  • Ensure at least one closed-loop harvest zone is in scope.
  • Glare zones in scope should have shade actuators so training can close them.
  • Wait for the settle countdown; training needs a fresh ALS reading after each dim step.
  • Use Train again to force-restart a stuck session.

Harvest and Circadian both change the same lights

  • Narrow scope so only one module targets those clusters, or disable harvest on overlapping zones.

Somfy PoE shades in glare zones

  • Standalone Somfy PoE motors participate in glare apply when they are members of linked glare/shading zones. INX/Core-proxy shades use the normal shade path. Both are supported.

Automation logs

Inspect Automation → Logs for solaris-harvest and solaris-glare runs:

  • Skipped because of manual override — expected when someone is using Control or a wall station
  • No applied targets — check scope, sensors, sun on façade, or suspends
  • Lux and cloud cover in run details — useful when tuning setpoint, gain, and weather vs rooftop