A modern, UI-configurable integration that brings your Class Charts school timetable and homework tracking directly into Home Assistant.
- 📅Timetable Calendar: See lessons, teachers, and room numbers.
- 📅Homework Calendar: Track assignments and due dates.
- 📅 Native Calendar Support: Syncs your entire school timetable to the HA Calendar.
- ⚙️ UI Configuration: No YAML required. Setup and adjust settings directly in the UI.
- 📝 Homework Tracking: Detailed sensors for outstanding, completed, and total tasks.
- 👨🏫 Lesson Monitoring: Know exactly what lesson is on now and what's coming up next.
- 🔄 Adjustable Date Range: Sync 1 to 30 days of lessons via the "Configure" menu.
- ⚙️ Set Update Interval: Configure the data synchronization rate.
- Open HACS > Integrations.
- Click the three dots (top right) > Custom repositories.
- Paste your Repo URL:
https://github.com/skid88/Classcharts - Category: Integration.
- Download and Restart Home Assistant.
- Copy the
classchartsfolder to your/config/custom_components/directory. - Restart Home Assistant.
- Go to Settings > Devices & Services.
- Click Add Integration > Search for Class Charts.
- Enter your Email, Password, and Pupil ID.
- To change settings later, click Configure on the integration card.
This integration supports a dynamic Options Flow. You can adjust how the integration behaves at any time:
- Navigate to Settings > Devices & Services.
- Find Class Charts and click Configure.
| Option | Default | Description |
|---|---|---|
| Refresh Interval | 24 |
How often (in hours) the integration updates data from Class Charts. |
| Days to Fetch | 14 |
How many days into the future to look for events/homework. |
| Show Completed Homework | True |
Toggle to show/hide homework assignments marked as "Completed" in Class Charts. |
A daily view of school lessons.
- Summary: Subject Name
- Location: Room Number
- Description: Teacher Name
A view of all homework assignments.
- Summary: Subject and Assignment title.
- Description: Full task description (HTML formatting removed for readability).
- Filtering: Use the Configuration menu to hide completed tasks to keep your "To-Do" list clear.
| Entity ID | Description |
|---|---|
calendar.class_charts_timetable |
Your daily school timetable (Lessons, Rooms, Teachers). |
calendar.class_charts_homework |
Due dates for all assignments as calendar events. |
| Entity ID | Description |
|---|---|
sensor.outstanding_homework |
Count of active homework. Includes a list in attributes. |
sensor.homework_due |
Count of homework tasks due this week. |
sensor.completed_homework |
Total number of tasks marked as completed. |
| Entity ID | Description |
|---|---|
sensor.class_charts_current_lesson |
The subject you should be in right now. |
sensor.class_charts_next_lesson |
The subject coming up next. |
Use a Markdown Card to display your assignments beautifully:
## 📝 Outstanding Homework
{% set items = state_attr('sensor.outstanding_homework', 'homework_list') %}
{% if items %}
{% for hw in items %}
**{{ hw.title }}** ({{ hw.subject }})
*Due: {{ hw.due_date }}*
***
{% endfor %}
{% else %}
All caught up! 🎉
{% endif %}
<p style="text-align: center; color: #555; font-size: 0.8em;">
Last checked: {{ now().strftime('%H:%M') }}
</p>If you encounter any issues or have feature requests, please open an Issue on this repository.
This project is for personal use and is not an official Class Charts product.


