v0.1.0 — First stable release
Sycamore School v0.1.0 🌳
First stable (non-beta) release. A native Home Assistant integration for the
Sycamore School platform —
it polls the Sycamore API and exposes each child's grades, homework/tests, missing
work, attendance, and the school lunch menu as first-class Home Assistant entities,
with one device per student. HACS-installable; configured entirely in the UI.
Highlights
- One device per student, so entities group cleanly.
- Per-class grades — letter grade as the sensor state, plus a numeric
%
sensor (long-term statistics/graphable) and anup/down/stabletrend. - Analytics, computed from data already fetched — grade average, lowest class,
next assignment, and next test (timestamp sensors for automations). - Homework calendar — every assignment/test on its due date,
[TEST]/[QUIZ]
labelled. - Missing work — a read-only to-do list plus a Has missing work binary sensor.
- Test within 24 hours binary sensor for "study tonight" automations.
- Upcoming work / Upcoming tests count sensors over a configurable focus window.
- Attendance sensor, and an optional Today's lunch sensor + Lunch calendar.
- Calendar sync — the
sycamore.sync_calendarservice mirrors assignments,
tests, and quizzes into a writable calendar (e.g. Google): it adds new work and
removes cancelled/changed items, only ever touching events it created. Configure
a per-child target calendar in the options and optionally auto-sync after
every refresh — two children can even share one calendar safely. - UI setup with automatic student discovery, a reauthentication flow, and
per-integration options (poll interval, focus window, feature toggles).
Requirements
- Home Assistant 2024.12.0 or newer.
- A Sycamore access token (My Organizer → Applications). A Family ID enables
automatic student discovery; a School ID enables the lunch sensor. Both optional.
Install
HACS (custom repository): add https://github.com/yieldhog/sycamore-ha as an
Integration, install, and restart. Manual: copy custom_components/sycamore/
into your config and restart. Then add the integration from
Settings → Devices & Services → Add Integration → Sycamore.
What's changed since v0.1.0b1
- Calendar sync service (
sycamore.sync_calendar) — self-cleaning mirror of
assignments/tests/quizzes into a calendar, with a per-student calendar mapping in
the options and opt-in auto-sync. Student-scoped tags let children share a calendar. - Analytics sensors — grade average, lowest class, next assignment, next test.
Notes
- Polling is capped at a 60-minute minimum (Sycamore data changes at most daily).
- The calendar sync deletes stale events on any calendar that supports deletion
(Google does); calendars without delete support get new events and log the rest.
Full documentation: see the README.