Pronote est très répandu en france ! c’est un outils en ligne pour les collégiens et lycéens qui leur permet de voir leur emploi du temps, leur note et leur devoirs.
Et bien j’arrive après quelques longues heures passées à régler automatiquement tous les soirs le réveil de mes enfants en fonction de l’emploi du temps du lendemain (et croyez-moi ça changer tous les jours au lycée donc c’est bien pratique)
Je peux aussi leur envoyer une notification mobile quand ils ont une nouvelle note mais aussi quand un cours est annulé !
Et ce n’est que le début ! (La suite : bloquer la PlayStation tant que tous les devoirs ne sont pas cochés fait dans Pronote ! )
Nb : les réveils sont en faites des enceintes connectés Google sur lesquels j’ai ajouté un réveil réglable dans HA
Tout ça est dispo sur un tutoriel sur Github :
Nouveautés (27/03/2022) :
Ajout des absences pour le trimestre en cours - merci à @sosordinet pour sa contribution
Ajout des modalités pour la connexion via un ENT
Ajout de la gestion des compte parent - il est possible d’utiliser les comptes Pronote des parents et plus celui uniquement de son enfant (dont on connait pas nécessairement le mot de passe) - merci @Elekrea !
Malgré que je n’ai plus d’enfants qui vont à l’école, je trouve que c’est une bonne idée .
Par contre pas sur que les enfants vont apprécier le blocage de la playstation , d’un autre côté il y a encore des devoirs ?
Bon, j’avance, mais je suis bloque.
A l’execution du script, erreur sur les dernieres lignes du pronote.py. Il n’aime pas les doubles underscore autours de location et file
2022-01-29 13:33:51 ERROR (SyncWorker_6) [homeassistant.components.python_script] Error loading script pronote.py: Line 128: "__location__" is an invalid variable name because it starts with "_", Line 128: "__file__" is an invalid variable name because it starts with "_", Line 129: "__location__" is an invalid variable name because it starts with "_"
2022-01-29 13:33:55 ERROR (SyncWorker_5) [homeassistant.components.python_script] Error loading script pronote.py: Line 128: "__location__" is an invalid variable name because it starts with "_", Line 128: "__file__" is an invalid variable name because it starts with "_", Line 129: "__location__" is an invalid variable name because it starts with "_"
Bravo pour l’avancement !
ah ok pour le nom de variable : et bien tu peux renommer la variable sans les underscore
Je vais corriger le script et enlever les « __ » > c’est fait !
toujours une erreur avec les doubles underscore file
Logger: homeassistant.components.python_script
Source: components/python_script/__init__.py:154
Integration: Python Scripts (documentation, issues)
First occurred: 15:23:10 (1 occurrences)
Last logged: 15:23:10
Error loading script pronote.py: Line 128: "__file__" is an invalid variable name because it starts with "_"
Et quand j’enleve les double underscore autours de file, nouvelle erreur
Logger: homeassistant.components.python_script.pronote.py
Source: components/python_script/__init__.py:222
Integration: Python Scripts (documentation, issues)
First occurred: 15:25:14 (1 occurrences)
Last logged: 15:25:14
Error executing script: __import__ not found
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/python_script/__init__.py", line 222, in execute
exec(compiled.code, restricted_globals)
File "pronote.py", line 1, in <module>
ImportError: __import__ not found
On remplace par les logins et mot de passe d’accès à pronote. Ensuite on modifie les deux occurrences par le prénom de l’enfant c’est ça?
Ne faut il pas une url particulière propre à l’établissement?
Merci d’avance de tes lumières
eleve="demo" #changer avec le nom de son enfant
prefix_url = "demo" #changer par le prefix de l'url de votre Pronote qui se forme comme ça https://PREFIX.index-education.net/pronote/eleve.html?login=true
username="demonstration" # c'est le nom d'utilisateur de votre enfant dans pronote
password="pronotevs" : # le mot de passe du compte de votre enfant
Mais il faut connaitre l’adresse complète de son Pronote :
Exemple : https://0750362l.index-education.net/pronote/eleve.html?login=true
Alors le prefix_url = « 0750362l »
Mais mon conseil c’est déjà :
d’essayer de se connecter à Pronote via une url du type https://PREFIX.index-education.net/pronote/eleve.html?login=true et le login et pass de son enfant
de faire tourner la premiere fois le script avec le compte de démo
nom de l’enfant : il sert juste pour le nom du fichier json - donc éviter les accents
les variables a modifier :
eleve="demo" #changer avec le nom de son enfant
prefix_url = "demo" #changer par le prefix de l'url de votre Pronote qui se forme comme ça https://PREFIX.index-education.net/pronote/eleve.html?login=true
username="demonstration" # c'est le nom d'utilisateur de votre enfant dans pronote
password="pronotevs" : # le mot de passe du compte de votre enfant
oui ! a lancer depuis linux
idem pour la crontab
il faut python sur votre linux et ne pas oublier d’ajouter les module os, date et pronotepy à python
via des commande du type :
pip install os
pip install pronotepy
pip install date
a priori oui !
python3 vient avec pip3
il suffit d’essayer en tapant pip3 tout seul
nb : pour comprendre un minimum, pip sert à installer des lib ou module dépendant dans python
Mes fils ne souhaitant pas me donner leur mot de passe (dans l’absolu ils ont raison), on peut modifier très légèrement le script python pour passer par l’authentification parent au lieu d’élève, et si plusieurs élèves, il ne faut pas oublier de sélectionner le bon.
Voila les lignes :
#Connection à Pronote
client = pronotepy.ParentClient('https://'+prefix_url+'.index-education.net/pronote/parent.html?login=true', username, password)
#Si on est bien connecté
if client.logged_in:
client.set_child('Nom + Prénom de l élève')
Bonjour,
Comme beaucoup de grand parents, nous utilisons Pronote tous les mercredis et le reste de la semaine on s’amuse avec Home Assistant
J’aimerai bien utiliser cette méthode pour remonter les informations (pour impressionner mes petits-enfants la semaine prochaine) mais je ne connais pas assez Pyton alors j’hésite a me lancer dans l’installation du script et du cronjob de peur de démolir mon installation HA.
Serait-il possible de détailler un peu la procédure pour installer ce script dans un dossier ; est-ce qu’il faut juste le copier dans le dossier avec Samba ?
Pour la crontab, j’ai besoin d’aide, je ne vois pas comment il faut procéder?
Pour le reste, je pense pouvoir me débrouiller.
Merci d’avance et félicitations pour ce travail, je progresse tous les jours grâce à vous.
Merci pour vos retours
Lancez-vous ! Aucun risque de démolir votre installation.
il suffit juste de savoir se connecter en ligne de commande sur le serveur en SSH.
Installer le script c’est le poser au bon endroit (d’ailleurs ça peut être n’importe ou mais il faudra adapter le chemin du fichier json qu’il génère.
Enfin, pour la contrab rien de bien compliqué
Oh merci ! c’es vrai je n’avais pas pensé au enfants qui ne veulent pas donner leur mot de passe.
D’ailleurs c’est vrai qu’il n’est pas nécessaire d’avoir un compte eleve ! tout est visible dans le compte parent.
As-tu testé ? cela fonctionne ? Toutes les données remonte dans HA ?
NB : il faudra un compte élève le jour ou on voudra que les enfants cocher leur devoir fait dans HA…mais on n’y est pas
Oui cela fonctionne parfaitement tout remonte dans home assistant, par contre il faut bien faire le set_child lorsque tu as plusieurs enfants, sinon tu n’as pas les bonnes notes