A modern, UI-configurable integration that brings your Class Charts school timetable and homework tracking directly into Home Assistant.
- π¨βπ« Multi Pupil Support: During setup the integration creates separate sensors for each child.
- π Timetable Calendar: See lessons, teachers, and room numbers.
- π Homework Calendar: Track assignments and due dates.
- π Behaviour Tracking: Keep track of student conduct.
- π 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. |
| Show "No School | True |
Toggle to inject placeholder events on empty weekend days and holiday slots. |
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.
Behaviour Tracking
- Keep track of student conduct, achievements, and recent awards directly in your dashboard.Behaviour Balance: A net score sensor (Positive points minus Negative points).Total Points: A cumulative sensor for all positive points earned.Recent Activity Feed: Detailed logs of recent behaviour events, including the reason, the teacher involved, and the timestamp.Top Achievements: Automatically identifies and lists the most frequent reasons for positive awards.
| Entity ID | Description |
|---|---|
calendar.class_charts_[student_name]_timetable |
Your daily school timetable (Lessons, Rooms, Teachers). |
calendar.class_charts_[student_name]_homework |
Due dates for all assignments as calendar events. |
| Entity ID | Description |
|---|---|
sensor.class_charts_[student_name]_outstanding_homework |
Count of active homework. Includes a list in attributes. |
sensor.class_charts_[student_name]_homework_due |
Count of homework tasks due this week. |
sensor.class_charts_[student_name]_completed_homework |
Total number of tasks marked as completed. |
| Entity ID | Description |
|---|---|
sensor.class_charts_[student_name]_current_lesson |
The subject you should be in right now. |
sensor.class_charts_[student_name]_next_lesson |
The subject coming up next. |
| Entity ID | Friendly Name | Native State | Description |
|---|---|---|---|
sensor.class_charts_[student_name]_behaviour_balance |
Behavior Balance | int |
Net total score (Positive points minus Negative incidents). |
sensor.class_charts_[student_name]_behaviour_positive |
Behavior Positive | int |
Running total of all positive praise points earned. |
sensor.class_charts_[student_name]_behaviour_negative |
Behavior Negative | int |
Running total of all negative discipline/incident points. |
All behavior sensors expose the following diagnostic and historical data in their state attributes:
recent_activity(list): A collection of the 5 most recent behavior incidents or praise logs.
Use a Markdown Card to display your assignments beautifully:
## π Outstanding Homework
{% set items = state_attr('sensor.class_charts_[student_name]_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>This is a personal, open-source project and is completely unofficial. This integration is independently developed and maintained. It is not endorsed, supported, affiliated, or associated with Class Charts or its parent company, Edukey Education Ltd / Tes Global.
- Use at your own risk: This software is provided "as is" without any guarantees or warranties.
- No official support: Please do not contact Class Charts technical support regarding issues with this Home Assistant integration. If you find a bug or want to request a feature, please open an issue directly in this GitHub repository.
- Trademarks: All product names, logos, and brands are property of their respective owners.
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.



