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

Bonsoir
Une petite remarque sur la gestion du reveil et des heures de permanence.
Mon fils a un prof absent pour sa première heure demain matin suivi d’une heure de permanence.
Le sensor next_alarm est configuré pour 9h15 au lieu de 10h05 (45 minutes avant le premier cours) : « permanence » n’est pas considéré comme une heure off ?
Pas d’inquiétude, il sera réveillé bien avant 9h15 :smiley:


Bonsoir,

Je suis allé voir de plus près. J’ai deux enfants dans le même établissement mais les notes ne semblent pas se charger tout à fait avec la même syntaxe.

Pour lui, la carte affiche bien les notes :

Pour lui, la carte n’affiche rien :

La différence semble être en termes d’apostrophes. Même établissement, même compte pronote pourtant.

Une idée ?

Merci !

Bonjour,
Je viens de voir ue j’ai aussi ce « exceed maximum size of 16384 bytes » erreur. Comment fixer ça?

Hello,
je viens de changer mon mot de passe Pronote et je ne vois pas comment le faire dans l’intégration HA… Je dois supprimer puis recommencer de 0 ?

Tu peux le modifier dans ce fichier [your config]/.storage

finalement j’ai supprimé le compte puis je l’ai refait et tout s’est bien remis. Merci qd mm

Un grand merci aux devs. Ca fonctionne parfaitement.

1 « J'aime »

Bonsoir à tous,

Je suis entrain d’essayer de créer des sensors mais je suis perdu dans la rédaction du code. je souhaite le placer dans configuration.yaml.

Une fois le code placé dans le dossier, j’essaie de vérifier la config yaml mais ca tourne en rond et cela ne valide rien…
J’ai vu que vers la fin 2023, il y à eu une modification dans la façon de créer des sensors et je me demande si je n’ai pas fait un mélange des 2…

J’apprends au fil de l’eau et je ne maitrise pas tout, loin de la…

sensor:
  - platform: template
      - sensors:"dernière mise à jour de pronote"
        unique_id:sensor.derniere_mise_a_jour_de_pronote
        icon:"mdi:update"
        state:"{{ state_attr('sensor.pronote_lemarie_jarno_math_o','updated_at').strftime('%d-%m-%Y à %H:%M') }}"
        
sensor:
  - platform: template
      - sensors:"début des cours de matheo - demain"
        unique_id:sensor.debut_des_cours_de_matheo_demain
        icon:"mdi:clock-time-five-outline"
        state:>-            
                {% if state_attr('sensor.pronote_lemarie_jarno_math_o_timetable_tomorrow', 'day_start_at') is defined %}
                    {{state_attr('sensor.pronote_lemarie_jarno_math_o_timetable_tomorrow', 'day-start-at').strftime('%H:%M')}}
                {% else %}
                    Pas cours
                {% endif %}   
            
sensor:
  - platform: template
      - sensors:"debut des cours de matheo - aujourd'hui"
        unique_id:sensor.debut_des_cours_de_matheo_aujourd_hui
        icon:"mdi:clock-time-five-outline"
        state:>-            
                {% if state_attr('sensor.pronote_lemarie_jarno_math_o_timetable_today', 'day_start_at') is defined %}
                    {{state_attr('sensor.pronote_lemarie_jarno_math_o_timetable_today', 'day-start-at').strftime('%H:%M')}}
                {% else %}
                    Pas cours
                {% endif %}

Merci par avance pour votre aide

Merci, c’est niquel.

Bonsoir,
J’arrive pas à optimiser les notifications de cours annulées. Je reçois les email avec notif de cours annulé même quand le cours a un remplacement avec un autre prof à la même heure.
Voici un example d’un tel cours:

updated_at: "2024-04-17T21:45:56.270367+00:00"
lessons:
  - start_at: "2024-04-18T08:00:00"
    end_at: "2024-04-18T09:00:00"
    start_time: "08:00"
    end_time: "09:00"
    lesson: FRANCAIS
    classroom: D108
    canceled: true
    status: Prof. absent
    background_color: "#4576BA"
    teacher_name: LEVY C.
    teacher_names:
      - LEVY C.
    classrooms:
      - D108
    outing: false
    memo: null
    group_name: null
    group_names: []
    exempted: false
    virtual_classrooms: []
    num: 439
    detention: false
    test: false
    is_morning: true
    is_afternoon: false
  - start_at: "2024-04-18T08:00:00"
    end_at: "2024-04-18T09:00:00"
    start_time: "08:00"
    end_time: "09:00"
    lesson: FRANCAIS
    classroom: D108
    canceled: false
    status: null
    background_color: "#4576BA"
    teacher_name: GAIEB M.
    teacher_names:
      - GAIEB M.
    classrooms:
      - D108
    outing: false
    memo: null
    group_name: null
    group_names: []
    exempted: false
    virtual_classrooms: []
    num: 1263
    detention: false
    test: false
    is_morning: true
    is_afternoon: false

L’automatisation:

alias: Pronote Prof Absent Aujourd'hui
description: Pronote Paul notif emploi du temps aujoud'hui
trigger:
  - platform: state
    entity_id:
      - sensor.pronote_eleve_paul_timetable_today
    attribute: canceled_lessons_counter
    to: null
condition:
  - condition: template
    value_template: >
      {% set items =
      state_attr('sensor.pronote_eleve_paul_timetable_today', 'lessons') %}

      {{ true if items | selectattr('canceled', '==', true) | list or items |
      selectattr('canceled', '==', false) | selectattr('status', '!=', none) |
      list else false }}
  - condition: not
    conditions:
      - condition: state
        entity_id: sensor.pronote_eleve_paul_timetable_today
        state: "0"
action:
  - service: notify.alertes_email
    data:
      target:
        - 1@gmail.com
        - 2@gmail.com
        - 3@gmail.com
      title: Cours annulé(s) pour Paul aujourd'hui
      message: >-
        {% set items =
        state_attr('sensor.pronote_eleve_paul_timetable_today','lessons')
        %} {%- for item in items  -%}
          {%- if item.canceled == True -%}
            Cours {{ item.lesson }} avec {{ item.teacher_name }} -- {{ item.status }}, aujourd'hui {{ item.start_time }} à {{ item.end_time}}{{"\n"}}
          {%- endif -%}
          {%- if item.canceled == false and item.status != None -%}
            Cours {{ item.lesson }} avec {{ item.teacher_name }} -- {{ item.status }} le {{as_timestamp(item.start_at) | int | timestamp_custom('%d/%m/%Y', true)}} de {{ item.start_time }} à {{ item.end_time}}{{"\n"}}
          {%- endif -%}      
        {%- endfor -%}
mode: single

J’ai essayé avec Gemini, Copilot, ChatGPT-4 mais ils sont pas capable de régler ça. Est-ce quelq’un a réussis ça?

Bonjour à tous !
Petite proposition qui serait pas mal dans le futur. Avoir la possibilité de ressaisir le mot de passe Pronote depuis la page d’intégration HA.
J’ai du dernièrement changer le mot de passe parent pour l’un de mes 2 enfants, j’ai été obligé de supprimé sa configuration et de la rajouter avec le nouveau mot de passe.
Voilà, rien de bloquant, mais ça serait un petit plus sympa.
Bonne fin de journée !
Rém’s

2 « J'aime »

Bientôt la rentrée scolaire pour notre zone…

On va donc réactiver l’intégration pronote, mais aussi l’automatisation pour rebooter HA quand la RAM augmente :wink:

@delphiki tu disais avoir des pistes pour cette fuite mémoire…

  • ça en est où?
  • on peut t’aider d’une quelconque façon?
    par exemple en béta-testant? perso je suis plus bêta que testeur… :rofl: mais si je peux apporter ma pierre…

Bonjour,
Est ce que cette intégréation marche seulement pour les établissements français?
On utilise aussi pronote en Suisse et j’ai une erreur inconnue lorsque je veux ajouter un compte via QRcode.

Et chez moi on désactive car les vacances commencent. La RAM a direct cessée d’augmenter.
C’est vraiment mon seul soucis avec HA à ce jour.
Je suis certain que @delphiki fait ce qu’il peut, j’ai tellement hâte qu’il trouve… !

Je fais suite à mon message, j’ai réussi a créer le sensor « dernière mise à jour de pronote » non pas en passant par configuration YAML mais en créant un template dans paramètre, appareil et service.
Ce sensor fonctionne niquel, j’ai donc fais pareil pour les 2 autres, mais quelque chose ne doit pas être correct dans la partie state car cela ne fonctionne pas. Je continue de chercher et je ne dis pas non à un peu d’aide. Merci

C’est bon, ça fonctionne ^^ Maintenant je me colle au réveil, Il faut juste que je comprenne comment faire en sorte que HA récupère les infos d’ALEXA…

Hors sujet, mais pour cette partie afin de récupérer ces infos c’est avec Alexa Media Player

1 « J'aime »

Merci @herveaurel , je viens justement de l’installer après avoir lu tes infos sur ton github.
Maintenant à la suite ^^

1 « J'aime »

Bonjour @theveninjeremy
Oui, ça marche aussi depuis l’étranger : je l’utilise pour une école française à Mexico.

1 « J'aime »

Merci de l’info.
Est ce que tu pourrais regarder comment est ton adresse URL?est ce que ça ressemble à:
https://[id of your school].index-education.net/pronote/…"}

dans mon cas j’ai : https://pronote.rpn.ch/[id of your school]/mobile.parents.html