[Article] Intégration Pronote : cours, devoirs, notes, etc

D’ailleurs, quelqu’un aurait il une carte pour les punishments (retenues et exclusions) ?

Autre question… j’ai voulu créer un sensor qui calcule la moyenne générale. Le calcul fonctionne correctement… sauf que je viens de me rendre compte que le sensor n’a pas toutes les notes depuis le début du semestre, mais seulement les 10 dernières notes…
@delphiki , Y aurait il un moyen de toutes les avoirs?

- platform: template
  sensors:
    moyenne_samuel:
      friendly_name: "Moyenne de XXXXXX"
      value_template: >
        {% set ns = namespace(total_notes=0, total_coefficients=0) %}
        {% for grade in state_attr('sensor.pronote_xxxx_xxxx_grades', 'grades') %}
          {% set note_str = grade.grade | replace(',', '.') %}
          {% set note = note_str | float(0) %}
          {% set denominateur_str = grade.out_of | replace(',', '.') %}
          {% set denominateur = denominateur_str | float(0) %}
          {% set coefficient_str = grade.coefficient | replace(',', '.') %}
          {% set coefficient = coefficient_str | float(0) %}
          {% set ns.total_notes = ns.total_notes + (note * coefficient / denominateur) %}
          {% set ns.total_coefficients = ns.total_coefficients + coefficient %}
        {% endfor %}
        moyenne: {{ (ns.total_notes / ns.total_coefficients) * 20 | round(2) }}

Bonjour,

Et pourquoi vous baser, @Kri72, sur l’ensemble des Notes et non les moyennes ?
La moyenne des moyennes serait un exercice beaucoup plus efficient, non ?

En fait, tu as raison… j’ai fait le calcul manuel pour toutes les notes disponibles, et je ne retrouve pas la moyenne générale…
J’ai également fait l’essai avec la moyenne des moyennes. Ca a l’air de s’approcher.
Je pense que pour l’anglais et l’espanol, il y a une moyenne Oral et une moyenne écrite, et il faudrait dans les 2 cas faire la moyenne de ces 2 moyennes avant de faire la moyenne générale…
Le plus compliqué dans mon cas est la SVT. Au semestre précedent, il y avait 4 chapitres (qui vont avoir une moyenne chacun), s’exprimer / méthodes / attitudes / raisonner… Et je n’ai pas trouvé quel coefficient appliquer sur chacun d’eux pour retrouver la moyenne générale en SVT. :frowning:

Bonjours à tous,
@delphiki a publié un article qui reprend et synthétise l’intégration complète de Pronote.

Un grand merci à lui !!
Bonne lecture.

8 « J'aime »

Bonjour
Est possible d’avoir les " Homework "
comme ca

oui, comme ça :
image

type: custom:pronote-homework-card
entity: sensor.pronote_xxxxxxxx_homework
display_done_homework: true
reduce_done_homework: true
current_week_only: false
`

Bonjour @Kri72,

J’ai eu beau retourner la question dans tous les sens, effectivement sans connaitre les coefficients exacts appliqués aux différentes moyennes il vous sera impossible d’en sortir la moyenne générale.
Par chance pour ma part toutes les moyennes sont coefficient 1. Mais s’il n’y a que les 4 coefficients de SVT à déterminer vous pouvez peut-être les trouver de manière heuristique. Ou alors les demander directement au prof :wink:

Parce que même en modifiant l’intégration pour récupérer plus de 10 notes, celle-ci n’a aucunement conscience des périodes de notation donc vous aller vous retrouver avec toutes les notes depuis le début de l’année.
Pour info cette option est à modifier dans le fichier …/custom_components/pronote/const.py
Le nom des constantes est transparent.

Bon courage

Edit:
Voir aussi au niveau des langues si l’oral et l’écrit ont bien le même coefficient.

C’est quand même fou que sur un même territoire où on utilise tous les mêmes outils il y ait à constater tant de divergences sur la façon d’évaluer nos gamins et d’utiliser ces mêmes outils. On marche sur quoi déjà ?!

2 « J'aime »

Je ne comprends pas, je n’ai rien alors que l’appli android pronote en donne.

Bravo @delphiki c’est génial d’aller jusqu’au bout et de ne pas oublier la doc !! Top, bonne continuation

2 « J'aime »

Merci pour ce tuto
A bientôt

1 « J'aime »

Hello,

Est-ce que tu pourrais utiliser les balises pour mettre en forme le code stp ?

Sinon, pour afficher l’emploi du temps tu peux utiliser les cartes custom qui ont été faites pour ça : GitHub - delphiki/lovelace-pronote: Lovelace cards for the Pronote integration

Bonsoir,

Pas du tout au fait, comment on met la balise ?

Merci beaucoup

Un ENORME merci à @delphiki !!!
J’ai enfin pu réliser une carte en même pas 2min (alors que je lisais et relisais l’ensemble de tous les posts).
Merci pour tous ces développements géniaux : l’intégration, les cartes, etc. Quand on est aussi newbee que moi, c’est vraiment précieux !

3 « J'aime »

Bonjour Delphiki,

Un grand merci, cela fonctionne.
Bonne journée

1 « J'aime »

Bonjour à tous,

Je viens de me rendre compte que je n’ai plus de notifications pour les nouvelles notes depuis le 11 Mars.

En trigger, j’ai :

platform: event
event_type: pronote_event
event_data:
  type: new_grade
  child_name: DUCOBU Elève

Absolument rien n’a changé dans ma config pour Pronote. Donc, si ça fonctionnait avant, ça devrait aussi fonctionner maintenant.

Est-ce possible de voir dans HA l’historique des event de type pronote_event reçus ?

Merci d’avance pour votre aide
Rém’s

Hello,

Malheureusement à ma connaissance il n’y a pas de log des events.
Les notes ressortent bien dans les sensors ?

Oui j’ai vérifié dans la carte et le sensor, j’ai bien des nouvelles notes depuis le 11.

J’ai tout revalidé pour être sûr, je vais attendre la prochaine note pour voir.

Malheureusement, il me semblait bien que les event n’étaient loggées nul part. Ca pourrait aider pour le debugging !

J’ai presque la même chose, qui marche, mais sans filtrer sur le child_name. Je l’affiche ensuite dans la notif avec la syntaxe: title: Nouvelle note pour {{ trigger.event.data.child_name }} .

Mais si ça marchait avant il n’y a pas de raison…

alias: Pronote - notification nouvelle note
description: >-
  Notification smartphone parents en cas de nouvelle note sur le pronote d'un
  enfant
trigger:
  - platform: event
    event_type: pronote_event
    event_data:
      type: new_grade
action:
  - service: notify.mobile_app_smartphone_doudou
    data:
      message: >-
        {{ trigger.event.data.data.subject }} : {{
        trigger.event.data.data.grade_out_of }} ({{
        trigger.event.data.data.comment }})
      title: Nouvelle note pour {{ trigger.event.data.child_name }}
      data:
        clickAction: /lovelace-smartphone/pronote
        url: /lovelace-smartphone/pronote