# ADR-0117: Time, Time Zone, and Clock Semantics (Read-Only Panel Time)

Status: Accepted

## Context

The E27 panel maintains its system time autonomously by synchronizing with the
vendor cloud infrastructure. Timekeeping is therefore centralized and
authoritative at the panel level.

Allowing external clients to modify panel time or time zone would risk:
- conflicting time sources
- incorrect timestamps for alarms, logs, and automation
- divergence from cloud-managed behavior

Home Assistant commonly manages time-sensitive automations and schedules, but
must respect the panel’s authority over its own clock.

## Decision

Time and time zone on the E27 panel are treated as read-only from the
Home Assistant integration.

1. The integration may read and display panel time and related metadata
   (e.g., firmware-reported local time, UTC offset if exposed).

2. The integration must not attempt to:
   - set panel time
   - set panel date
   - modify time zone or daylight-saving settings

3. All Home Assistant scheduling, automation timing, and history tracking
   operate independently using Home Assistant’s own clock.

4. Any time-related data read from the panel is treated as informational and
   observational only.

## Rationale

This approach:
- aligns with vendor-defined panel behavior
- avoids conflicting time authorities
- simplifies integration responsibilities
- ensures panel-generated events remain consistent with cloud services

By explicitly declaring time as read-only, we prevent future contributors from
introducing unsupported or harmful behavior.

## Consequences

- The library may expose panel time fields for diagnostics or display.
- No HA service or entity exists to modify panel time or time zone.
- Time discrepancies are treated as informational issues, not actionable
  integration faults.

## Scope / Non-Goals

- Does not define formatting or localization of displayed time.
- Does not synchronize Home Assistant time to the panel.
- Does not attempt to correct panel time drift.

## References

- E27 API documentation (time management behavior)
- Home Assistant core time and scheduling model
