Hello everyone,
I present to you a new external integration for Gladys: PRONOTE.
It displays in Gladys the grades, homework, schedule, absences, and unread messages of your children (or your own student account). This allows, for example:
- to be notified when a new grade is posted;
- to announce the day’s homework every morning;
- to know the day before if a class is canceled.
Source code: GitHub - prohand/gladys-pronote: Gladys external integration to connect pronote in Gladys · GitHub
What the Integration Does
Devices
- One device per student:
- overall average;
- homework to do;
- homework for the next school day;
- absences and lateness of the period;
- next class;
- time of the first class of the next school day;
- last grade.
- One device for the account: number of unread messages.
- A parent account creates one device per child.
Scene Triggers
- A new grade is published
- A new homework is given
- A class is canceled
- An absence or lateness is recorded
Each trigger can be limited to one child and provides variables (subject, grade, date, etc.).
Scene Actions
- Read PRONOTE now
- Get a student’s day (today, tomorrow, or next school day): number of classes, time of the first class, canceled subjects, list of homework ready to be read aloud.
Widgets
- PRONOTE Student: average, homework, absences, next class, last grade, unread messages.
- PRONOTE Schedule: the day’s classes, with canceled classes and tests marked.
Installation
- Gladys 5.1 minimum.
- Install PRONOTE from the Gladys integrations store.
- In the configuration, enter:
- the address of your PRONOTE space (e.g.,
https://0123456a.index-education.net/pronote/); - the type of account (student or parent);
- your username and password.
- the address of your PRONOTE space (e.g.,
- Click Test Connection, then create the devices.
Are you using an ENT?
If you log in to PRONOTE via an ENT, you don’t have a PRONOTE password. Use the Log in with a QR code button:
- On PRONOTE on computer, open the menu next to your name, then QR code for the mobile app.
- Choose a 4-digit code.
- Scan the QR code with the phone’s camera and copy the displayed text (it starts with
{"jeton"). - Paste this text in Gladys with the 4-digit code.
The QR code is only valid for a few minutes.
Full documentation (FR / EN / DE / ES): gladys-pronote/docs/fr.md at main · prohand/gladys-pronote · GitHub
Example Scene
Every weekday at 07:00 → Get a student’s day (next school day) → Say: « First class at {{first_lesson}}. Homework: {{homework_text}} »
Or simpler:
A new grade is published (child: Léa) → Send a message: « New grade in {{triggerEvent.data.subject}}: {{triggerEvent.data.grade_label}} »
Security and Data
- The password remains in Gladys’ secret configuration and is never written in the logs.
- After the first connection, the integration uses a session token, like the PRONOTE mobile app.
- The data stays with you: nothing is sent anywhere except to your Gladys.
- PRONOTE is read every 15 minutes by default (adjustable), to avoid overloading the school’s server.
- If PRONOTE refuses the password, the integration stops trying to avoid the IP address being blocked.
Known Limitations
- Parent account with multiple children: the schedule is correct for each child. For grades, homework, and absences, PRONOTE may return the data of the child selected by default. If two children display the same grades, let me know: using each child’s student account bypasses the problem.
- Teacher accounts are not supported.
- PRONOTE does not send notifications: a new grade appears in Gladys at most after the refresh interval.
Your Feedback
This is a first version. Each school configures PRONOTE a bit differently, so your feedback is precious:
- type of account (student / parent, ENT or not);
- what works, what doesn’t work;
- the messages displayed by Test Connection.
For bugs, you can open an issue on GitHub or reply here. Remember to remove names and personal information from screenshots and logs.
This integration is not affiliated with Index Éducation. It relies on the free library pawnote.
Thanks in advance for your tests! ![]()