Skip to content

v0.1.0 — First stable release

Choose a tag to compare

@yieldhog yieldhog released this 31 Jul 23:25
b42dece

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 an up/down/stable trend.
  • 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_calendar service 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.