Pronote dans HA - les notes, devoirs, absences et emploi du temps des enfants

Je sais que certains méthodes automatisé sont interdits mais pronotepy n’est pas (encore) demandé d’arrêter.
J’avais un soucis avec agora06 et ils (baptiste) m’a sauvé, je lui a donné mes coordonnées pour tester, il faut faire confiance aussi … je continue avec l’avis d’ouvir un cas sur leur github.

NB…c’est pas vraiment « open data » car les données pronote contiennent tants des détails privés et a cause de ça je comprends qu’ils sont vigilante. Mais…au lieu de fermer pronote, mieux d’offir un API controllé.

@vingerha & @Embargo : en effet il existait une api (open source) pour pronote qui a été sommé d’arrêter et de retirer son développement - voir le détails ici
Mais, pronotepy développé en python (qui n’est pas une API) selon moi ne peut pas être arrêté - car il ne vient pas en concurrence du produit pronote - mais ça reste a voir…

Il y a un an que j’ai lu plusieurs posts sur ce sujet et j’ai compris que le gouvernment oppose une solution qui collecte des données de manière automatisé. Le " entrée" vers pronote n’est (était?) pas bien couvert contre les attaques non plus. Mais le comportement de demander/forcer de devs d’arrêter est absurde, ça ne marche que pour ceux qui sont en France…ailleurs intouchables

Merci pour vos précisions
Du coup, c’est fonctionnel ou non les accès à toutatice pour ac_rennes ?
Y a-t-il des bretons parmi nous qui pourraient me dire si ça fonctionne pour eux ? Et si oui, comment dois-je m’y prendre !
Bonne soirée

Exactement… je ne sais pas car je n’utilise pas et (pour la dernière fois) si t’as des soucis, ouvrir quelque chose sur github.

Bonsoir,
Pour les intéressés, dans pronote.py il faut ajouter les lignes suivante :
from pronotepy.ent import ac_rennes (à la ligne 14 par ex)
et
elif ent == « ac_rennes »:
ent = ac_rennes
entre 2 elif (à la ligne 42 par ex)

Tout d’abord merci à tous, avec tout vos posts j’ai réussi à me dépatouiller de tout ça, installer pip, régler python, card-mod, etc… Et tout fonctionne niquel, j’ai ma page toute belle avec les note, absences, emploi du temps. J’ai même réussi à mettre les notif nouvelle note sur nos trois téléphone, bref tout fonctionne impec sauf un truc.
L’automatisation pour être averti de l’annulation d’un cours, j’ai vérifié dans le json (coup de bol y’a un prof absent demain et vendredi, j’ai même pas eu a le modifier), elle apparait bien sur la carte « Emploi du temps de demain » mais impossible d’avoir une notif… Tout les sensors sont indiqués comme indisponible dans Entités mais si j’ai bien lu, c’est normal si il n’y a pas de changement sauf que là j’ai un changement dans le json (« annulation »: true,). J’avoue que je suis un peu perdu.

bonjour j’ai un petit souci avec le fichier lovelace.yaml, qui me cree une erreur

Bonjour,
Merci pour cet add-on. J’essais de le faire fonctionner sans succes pour le moment.
Mon installation est sur Home Assistant OS.
J’ai suivi les recommandation pour lancer le script via ssh. Cependant j’obtiens le message d’erreur suivant:

Erreur de connexion à Pronote (sans ENT) avec le compte élève - vérifier les paramètres
Traceback (most recent call last):
  File "/config/pyscript/pronote.py", line 94, in <module>
    if client.logged_in:
NameError: name 'client' is not defined

Mes paramètre dans le fichier config.ini me semble correct. username, password et préfix.
La ou j’ai un doute c’est sur le champ ENT.

oui j’ai le meme soucis manque dés dépendances

Bonjour,

J’ai les erreurs suivantes:

[core-ssh bin]$ /usr/bin/python3 /config/python_scripts/pronote.py
Erreur de connexion via l'ENT avec le compte parent - vérifier les paramètres
Traceback (most recent call last):
  File "/config/python_scripts/pronote.py", line 62, in <module>
    if client.logged_in:
NameError: name 'client' is not defined

J’ai dans les paramètres de config:
ent : « occitanie_montpellier »
eleve_nom_prenom = « NOM_Prenom »

Des idées ?

Il faut configurer l’ENT, comment tu ;l’a écrit, avec ou sans guillemets

Après mise à jour de l’intégration, toujours une erreur:

[core-ssh ~]$ /usr/bin/python3 /config/python_scripts/pronote.py
Erreur de connexion via l'ENT avec le compte parent - vérifier les paramètres
Traceback (most recent call last):
  File "/config/python_scripts/pronote.py", line 94, in <module>
    if client.logged_in:
NameError: name 'client' is not defined

Pour l’ENT est bien définie:

[defaut]
#prénom de votre enfant par exemple - ne sert que pour le nom du fichier json - pas d'espace - pas d'accent !! 
eleve_id = monenfant
#NOM Prénom de votre enfant - sert quand on se connecte avec un compte parent qui a plusieurs enfants !
eleve_nom_prenom = nomenfant prenomenfant
# sert au prefix de l'url https://PREFIX.index-education.net/pronote/
prefix_url = 0341388z
#eleve ou parent - si vous utlisez un compte parent ou eleve pour vous connecter 
type_compte = parent
#utlisateur pronote  - a remplacer par le nom d'utilisateur pronote de l'élève ou du parent si type_compte=parent
username = monusername
# mot de passe pronote - a remplacer par le mot de passe du compte de l'élève ou du parent si type_compte=parent
password = monmotdepasse
#A initialiser si connexion via ENT - avec le nom technique de l'ENT - exemple : ent=paris_classe_numerique
ent = occitanie_montpellier

Bonjour, depuis le 24 de novembre, je n’arrive plus a recuperer les notes et evaluations de mon enfant. En gros, je n’arrive plus a recuperer les notes (meme dans le JSON) depuis les notes du second trimestre.
Tout le reste fonctionne parfaitement (Emploi du temps, absence, devoirs…). Pour info, je n’ai pas de ENT (faisant partie de l’académie de Bordeaux).

Bonjour, j’ai le même soucis que toi @Plouf34.

Je ne suis pas parvenu à corriger le pb.

Pour info, j’héberge mon HA dans un container sur un NAS QNAP.

J’obtiens le message d’erreur suivant dans le log :

Traceback (most recent call last):
  File "/share/CACHEDEV1_DATA/Container/homeassistant/python_script/pronote2.py", line 7, in <module>
    import pronotepy
  File "/share/CACHEDEV1_DATA/.qpkg/Python3/python3/lib/python3.10/site-packages/pronotepy/__init__.py", line 11, in <module>
    from .dataClasses import *
  File "/share/CACHEDEV1_DATA/.qpkg/Python3/python3/lib/python3.10/site-packages/pronotepy/dataClasses.py", line 21, in <module>
    from autoslot import Slots  # type: ignore
ModuleNotFoundError: No module named 'autoslot'

J’ai eu le même problème, je pensais que ça venait du collège qui n’avait pas changé de période.
En attendant j’ai modifié le script comme
ceci :

    #Récupération des notes 
    #current_period ou periods[0 1 2]
    grades = client.periods[1].grades
    grades = sorted(grades, key=lambda grade: grade.date, reverse=True)

Bonjour à tous !

J’ai un petit soucis en installant le script :

python_scripts python /config/python_scripts/pronote.py
Traceback (most recent call last):
  File "/config/python_scripts/pronote.py", line 235, in <module>
    grades = client.current_period.grades
  File "/usr/lib/python3.10/site-packages/pronotepy/dataClasses.py", line 405, in grades
    grades = response["donneesSec"]["donnees"]["listeDevoirs"]["V"]
KeyError: 'listeDevoirs'

Est-ce que vous savez d’où pourrez venir le bug ?

Merci par avance pour vos réponses !

Ton enfant a probablement (?) pas de grades/notes mais est sous système ‹ couleurs › donc que ‹ evaluations ›.
Si le cas tu doit déactiver cette section et mettre des # pour chaque ligne

Par contre, comme ceci, il faut penser à modifier le script en 0 1 2 à chaque changement de trimestre?

Effectivement, cela fonctionne :thinking:

C’est quand même louche cette histoire.

Si ce n’est pas corrigé, il faudra donc modifier le code à chaque changement de trimestre …