Home Assistant projects
All projects

Pronote Card

Lovelace card · Everyday
v1.2.0 · Nov 13, 2026 HA 2024.8.0+ Marketplace

Timetable, homework, grades and school life of your children from Pronote.

Cards for the school life of your children from Pronote, the software used by French schools: today's and the next school day's timetable, homework done or to do, grades and averages, absences and menus. One tab per student, found on their own.

Highlights

  • Several students, one tab each
  • Timetable with canceled and changed lessons standing out
  • Homework grouped by due day, done or to do
  • Latest grades and averages with the class average, its lowest and highest, and each grade's coefficient
  • Grades of the past terms, one button each
  • School life: absences, late arrivals, punishments, menu
  • Animated school picture following the day
  • Mini card with the next lesson and homework

Cards

pronote-cardpronote-mini-card
type: custom:pronote-card

Install

  1. 1Open the repository in the Marketplace with the Add to Marketplace button above, or addgithub.com/juju35/ha-pronote-card as a custom repository (category Dashboard).
  2. 2Download it from the Marketplace.
  3. 3Reload the browser and add the card from the dashboard editor.

Documentation

From the README

Features

Features

  • Two cards: a full Pronote Card (custom:pronote-card) and a compact Pronote Mini Card (custom:pronote-mini-card)
  • Several students (one Pronote account each, parent accounts included): one text tab per student, the header naming the one shown; or pick them with device / devices
  • Header icon in a tinted round badge, red when a lesson of the day is canceled, orange when one has changed; status chip with the homework still to do
  • Animated picture of the school, following the day: lesson going on, lesson canceled, homework to do, homework done (see Animations); beside it the lesson going on or the next one, the canceled and changed lessons still to come and the homework for the next school day
  • Timetable tab: today and the next school day, the lesson going on with a pulsing dot and its progress, past lessons dimmed, canceled lessons struck through in red, changed lessons in orange with Pronote's own status ("Teacher absent", "Room changed"…), tests, outings and detentions tagged, the lunch break between the morning and the afternoon, rooms and teachers
  • Homework tab: grouped by due day, a check circle for the homework done and an empty one for the homework to do, the subject in its Pronote color; a click opens the full text and the attachments in a popup at the top of the card
  • Grades tab: overall average of the period, latest grades on their own scale (out of 20, 10…) with their coefficient, the class average and the class min and max, averages per subject with a bar, the class marker and the class min and max, evaluations with their acquisition levels; period buttons to look back at a past term or semester (its overall average, grades and averages)
  • School life tab: counters (absences, late arrivals, punishments, unread information), absences and late arrivals justified or not, punishments, today's menu, the school's information with the unread ones marked
  • Collapsible sections (chevron to the right when folded, down when unfolded), folded back by a click elsewhere on the page
  • Mini card: next lesson, the changes of the day still to come and the homework for the next school day; the detail button (top right) switches it to the full card's content and back, a click anywhere outside the card brings the compact view back
  • Click any value to open its Home Assistant history (more-info dialog)
  • Visual editor in the dashboard UI for both cards (no YAML needed)
  • Light and dark mode, 22 languages (see Translations)
  • Single file, no external dependency

Supported integrations

Supported integrations

Integration What the cards show
Pronote (custom, pronote) — and its forks keeping the pronote domain Everything: class and school, today's / tomorrow's / next day's timetable, homework, grades, averages, overall average and period, evaluations, absences, late arrivals, punishments, menus, information and surveys

The cards read the sensors of the current period (lessons_today, lessons_tomorrow, lessons_next_day, homework, grades, averages, overall_average, evaluations, absences, delays, punishments, menus, information_and_surveys, class, current_period, periods). The Grades tab also reads the sensors the integration creates for the past terms or semesters (grades_period, averages_period, overall_average_period, evaluations_period, e.g. sensor.pronote_<student>_averages_trimestre_1): one button per past period, then the current one. The integration creates them only for the periods before the current one (none during the first term), and only when the school's periods are terms or semesters. The class min and max (min, max) and the coefficient (coefficient) are the attributes the integration gives on each grade and average (no coefficient per subject average: Pronote's averages do not carry one). Versions of the integration older than its translated entity names are recognized from their entity ids (sensor.pronote_<student>_timetable_today…). A sensor the integration does not create (menus at a school without a canteen, evaluations…) simply hides its part of the card.

Note

Pronote gives no way to tick a homework from Home Assistant: the cards show it as done or to do as Pronote reports it (ticked in the Pronote app).

Prerequisites

Prerequisites

Home Assistant 2024.8 or later, with the Pronote integration configured for at least one student.

Configuration

Configuration

Card types#

Card Type
Pronote Card custom:pronote-card
Pronote Mini Card custom:pronote-mini-card

Visual editor#

Edit a dashboard, click Add card and search for Pronote Card or Pronote Mini Card. All students are shown by default; pick some of them (full card) or one (mini card) in the list, choose the tabs and their order, the default tab, the sections folded by default, what to show, and the language. The preview updates live, and options left at their default are kept out of the generated YAML.

Minimal#

type: custom:pronote-card
type: custom:pronote-mini-card

Full options#

type: custom:pronote-card
devices:
  - Alex Moreau
  - Sam Moreau
tabs:
  - timetable
  - homework
  - grades
  - school_life
default_tab: timetable
show_title: true
show_subtitle: true
show_picture: true
show_room: true
show_teacher: true
show_canceled: true
show_done_homework: true
show_class_average: true
show_min_max: true
show_coefficient: true
show_periods: true
max_grades: 5
collapsed:
  - evaluations
  - information
language: fr
type: custom:pronote-mini-card
device: Alex Moreau
title: Alex
show_picture: true
show_room: true
zoom: true
language: fr

Options reference#

Option Card Default Description
device both All students One student: its name (the nickname set in the integration, its full name, or the device name Pronote - …) or its device id
devices both All students Several students, in the order of their tabs (set by the visual editor of the full card)
title both Student name Card title, when the card shows one student
show_title both true Show the title in the header (e.g. false under a section heading of your own)
show_subtitle both true Show the class and the school under the title
show_picture both true Show the animated picture of the school
show_room both true Show the rooms of the lessons
show_teacher full true Show the teachers of the lessons
show_canceled full true Show the canceled lessons in the timetable (they stay in the alerts beside the picture)
tabs full all four Tabs shown, in this order, among timetable, homework, grades and school_life (one tab only: no tab bar)
default_tab full timetable Tab shown when the card opens
show_done_homework full true Show the homework already done (checked) in the Homework tab
show_class_average full true Show the class average of each grade and the class marker on the averages
show_min_max full true Show the class min and max of each grade and of each subject average (when the integration gives them)
show_coefficient full true Show the coefficient of each grade, beside its date
show_periods full true Show the period buttons of the Grades tab (only when the integration has sensors for past periods)
max_grades full 5 Number of latest grades shown (the integration keeps 11)
collapsed full [evaluations, information] Sections folded by default, among grades, averages, evaluations, absences, delays, punishments, menus and information ([] to unfold everything). Click a section title (or Tab to it and press Enter or Space) to fold or unfold it; a click elsewhere on the page folds them back
zoom mini true Detail button at the top right of the mini card: it shows the full card's content (with the same options, so tabs, collapsed… can be set on the mini card too) and switches back to the compact view; a click outside the card also brings the compact view back. false removes the button
language both Auto Force language: fr, en, de, es, sr, sr-Latn, it, nl, pt, pl, ro, da, sv, bg, ru, uk, hu, sk, cs, sl, lv or el (auto-detects from HA settings)

Sidebar panel (optional)

Sidebar panel (optional)

The same bundle also holds a Pronote page for the sidebar. The cards never need it: add it only if you want it. It draws its own full-page layout (it does not embed the cards), with text tabs under the header: Today (the student, the lesson going on or the next one, the timetable, the homework for the next school day, the latest grades, the school life counters and the menu), Timetable (today and the next school day side by side), Homework, Grades and School life (laid out in columns). The tab is in the address (/pronote/homework), and with several students a button per student sits in the header (the one picked is remembered by the browser).

Declare it in configuration.yaml, pointing at the file the Marketplace installed, then restart Home Assistant:

panel_custom:
  - name: pronote-panel
    sidebar_title: Pronote
    sidebar_icon: mdi:school
    url_path: pronote
    module_url: /local/community/ha-pronote-card/pronote-card.js
    # require_admin: true   # to keep it for administrators
    config:                 # optional, the card options below
      devices: [Alex Moreau, Sam Moreau]
      default_tab: today    # today, timetable, homework, grades or school_life
      max_grades: 10        # 10 by default on the panel

config takes the options of the full card (device, devices, title, show_room, show_teacher, show_canceled, show_done_homework, show_class_average, show_min_max, show_coefficient, show_periods, show_picture, max_grades, language), plus default_tab, which can also be today. Sections are always unfolded on the panel.

How it works

How it works

The cards read the Home Assistant entity and device registries instead of entity ids: every entity of the pronote platform is matched by its translation_key and grouped by the device it belongs to, one device per student (Pronote - <name>). Entity ids can therefore be in any language or renamed without breaking the cards. The lessons, homework, grades and the rest come from the attributes of the sensors, as the integration writes them.

  • Next school day: the integration's lessons_next_day sensor (the next day with lessons, after a weekend or a holiday), else lessons_tomorrow. The timetable opens on today while a lesson is still to come, then on the next school day.
  • Canceled and changed lessons: a lesson Pronote marks as canceled is struck through in red; a lesson that is not canceled but has a Pronote status (room change, replacement, exceptional lesson…) is outlined in orange. The status text is Pronote's own, in the school's language.
  • Picture: lesson going on → class; else a canceled lesson still to come that day → canceled; else homework to do for the next school day → homework; else all of it done → done; else still.
  • Grades are compared out of 20 whatever their scale; Pronote's decimal comma is read and numbers are written in the card's language. A grade that is not a number (absent, exempted) is shown as Pronote gives it.

Support

Support

If you find this project useful, you can support its development:

Buy Me a Coffee

Changelog

CHANGELOG.md

1.2.0Nov 13, 2026Latest

Features

  • Class min and max on the Grades tab: under each grade (beside the class average) and under each subject average, as the Pronote integration gives them; show_min_max: false hides them (#7, suggested by @mielikki33).
  • Coefficient of each grade, beside its date; show_coefficient: false hides it (#7, suggested by @mielikki33).
  • Period buttons on the Grades tab: one per past term or semester, then the current period, to compare the overall average, the grades and the averages of the periods. They read the sensors the integration creates for the past periods (averages_period, overall_average_period, grades_period, evaluations_period), named after its "Periods" sensor; shown only when such sensors exist (none during the first term), show_periods: false hides them (#7, suggested by @mielikki33).

1.1.1Nov 13, 2026

Fixes

  • Folding back on a tap elsewhere now works on iOS (Safari and the companion app): a tap on something that is not clickable sent no click to the page, so what a click elsewhere folds (unfolded sections, the detailed view of the mini card, popups) stayed open. The press and the release are caught instead; a slider dragged out of the card and a scroll do not fold anything.
  • Leaving the card (another dashboard view, a conditional card hidden) brings it back in its default state.
  • A click could do nothing: Home Assistant updates the card several times a second, and a rewrite of the card between the press and the release replaced the element pressed, so that the click was lost. The card is no longer rewritten while a press is in progress; the pending update is drawn right after the click.
  • No focus ring after a mouse click or a tap: the focus is kept across updates only for the keyboard.

1.1.0Nov 13, 2026

Features

  • Sidebar panel (pronote-panel, optional, declared with panel_custom): a full-page Pronote view with text tabs (Today, Timetable, Homework, Grades, School life), the tab in the address, one button per student in the header, laid out in columns on wide screens. The cards stay independent of it.
  • Icon of the project (brand/icon.svg, icon.png, icon@2x.png): the cards' school glyph on a tile in their accent color, with an "A+" badge; shown at the top of the README and on the panel's Today tab.

1.0.0Nov 13, 2026

Features

  • Pronote Card (custom:pronote-card): header with the student, class and school, and a status chip (homework still to do); an animated picture of the school with the lesson going on or the next one, the canceled and changed lessons still to come and the homework for the next school day; then four text tabs:
    • Timetable: today or the next school day (Pronote's "next day" sensor), with the lesson going on (pulsing dot and progress bar), past lessons dimmed, canceled lessons struck through in red and changed lessons in orange with Pronote's status ("Teacher absent", "Room changed"…), tests, outings, detentions and the lunch break.
    • Homework: grouped by due day, done (checked) or to do, with the full text and the attachments in a popup at the top of the card.
    • Grades: overall average of the period, latest grades on their own scale with the class average, averages per subject with the class marker, evaluations with their acquisition levels.
    • School life: absences (justified or not), late arrivals, punishments, today's menu and the school's information (unread ones marked).
  • Pronote Mini Card (custom:pronote-mini-card): next lesson (or the one going on), the changes still to come and the homework for the next school day; detail button at the top right to switch to the full card.
  • Several students (several Pronote accounts): one text tab per student, or device / devices to pick them.
  • Picture animated by the state of the day: lesson going on, lesson canceled, homework to do, homework done; still otherwise and with the reduced-motion setting.
  • Collapsible sections folded back by a click elsewhere, visual editor for both cards, light and dark themes, 22 languages (English in the bundle, the others loaded on demand).