Architecture
Élise OS is the product. Home Assistant is an internal integration engine, Zigbee2MQTT a radio adapter and Mosquitto a private transport. None of the three is exposed in the family’s experience.
The path of an event
Section titled “The path of an event”Zigbee sensors ── Zigbee adapter ── Zigbee2MQTT ──┐ Mosquitto ── Home Assistant ── Élise BridgeMatter · Wi-Fi · BLE · Z-Wave ──────────────────────────────┘ │ normalised events (MQTT QoS 1) │ Élise Core ── PostgreSQL + transactional queue │ │ REST + SSE Worker ── Élise AI │ │ Caregiver space · mobile · TV Minimal push notifications
RTSP / ONVIF cameras ── go2rtc (separate media plane) ── ticketed WebRTC ── Caregiver space- A sensor changes state. Home Assistant receives it through its integration (Zigbee2MQTT for Zigbee).
- The Élise bridge, a Home Assistant integration, maps the entity to an Élise capability and publishes a normalised, minimised event over authenticated MQTT.
- Élise Core stores the observation, immutable and idempotent: a replayed event creates no duplicate.
- Deferred jobs (analysis, notifications, webhooks) go through a transactional queue in the database, run by the Worker. They resume after a restart.
- Élise AI computes an anomaly score from features supplied by the Worker. Core decides, after its own checks, whether to raise an alert.
Domains
Section titled “Domains”- Identity: local users, hashed passwords, sessions, roles.
- Household: home, resident, caregivers, rooms, devices.
- Sensing: capability mappings, sensor health, observations.
- Media: encrypted camera registry, viewing tickets, privacy mode, alert images.
- Routines: calibration, models, anomaly evaluations.
- Alerts: rules, policy gates, lifecycle, notifications.
- Care coordination: journal, visits, appointments.
- Platform: configuration, audit, retention, backups, health.
The deployment is a modular monolith plus one isolated Python learning service. Élise AI can neither read the home bus nor create an alert.
Compatibility
Section titled “Compatibility”Every device exposed by Home Assistant is accepted. Each entity is classified as validated, recognised, partial or unsupported. Home Assistant and Zigbee2MQTT versions are pinned; the bridge is tested against the pinned Home Assistant release and its predecessor before every upgrade.
Tech stack
Section titled “Tech stack”| Role | Component |
|---|---|
| System | Ubuntu Server 24.04 LTS |
| Containers | Docker Compose, signed ARM64 and AMD64 images |
| Integration | Home Assistant, Zigbee2MQTT |
| Bus | Mosquitto (MQTT) |
| Database | PostgreSQL |
| Core, Worker, Dashboard | TypeScript, Node.js |
| Learning | Python, FastAPI, Isolation Forest |
| Cameras | go2rtc, WebRTC |
| Mobile | React Native, Expo |
| Remote access | Tailscale |
